Skip to content

Resolve Obsidian review findings - #1

Merged
Yuriyagn merged 1 commit into
mainfrom
agent/resolve-obsidian-review
Aug 1, 2026
Merged

Resolve Obsidian review findings#1
Yuriyagn merged 1 commit into
mainfrom
agent/resolve-obsidian-review

Conversation

@Yuriyagn

@Yuriyagn Yuriyagn commented Aug 1, 2026

Copy link
Copy Markdown
Owner

What changed

  • migrate the settings tab to Obsidian 1.13 searchable setting definitions
  • replace deprecated and discouraged UI, timer, async event, and DOM patterns
  • make frontmatter and URL handling type-safe
  • remove the unused builtin-modules dependency
  • add the official Obsidian ESLint configuration to local and CI checks
  • add an English README overview and disclose local Vault enumeration
  • publish only supported Obsidian assets and generate GitHub build provenance attestations
  • bump the plugin version to 0.4.1 and the minimum Obsidian version to 1.13.0

Why

The Obsidian Community automated review reported one source error and several compatibility, safety, documentation, dependency, and release recommendations for 0.4.0. This change addresses every actionable source and release finding. Vault enumeration remains because it is required for user-triggered tag import, usage counts, and Vault-wide rename/delete operations; the behavior is now explicitly disclosed.

Validation

  • official eslint-plugin-obsidianmd rules: no warnings or errors
  • TypeScript type-check: passed
  • Vitest: 21/21 tests passed
  • coverage: 95.78% statements, 81.81% branches, 100% functions
  • release metadata verification: passed for 0.4.1
  • npm audit: 0 vulnerabilities
  • local production build and Vault deployment: verified by SHA-256 hashes

@Yuriyagn
Yuriyagn marked this pull request as ready for review August 1, 2026 11:31
Copilot AI review requested due to automatic review settings August 1, 2026 11:31
@Yuriyagn
Yuriyagn merged commit 20cecca into main Aug 1, 2026
2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses Obsidian Community automated review findings by modernizing the plugin to Obsidian 1.13 APIs, tightening type-safety around frontmatter/URL handling, improving UI compatibility patterns, and hardening release/CI tooling (ESLint + build provenance) for the 0.4.1 release.

Changes:

  • Migrates the settings tab to Obsidian 1.13 searchable setting definitions and bumps minAppVersion to 1.13.0 (release version 0.4.1).
  • Replaces deprecated UI/async patterns (specialized createDiv/createSpan helpers; void-handled async callbacks) and improves type-safety in tag/frontmatter operations.
  • Adds official Obsidian ESLint flat config and GitHub provenance attestations in the release workflow.

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
vitest.config.ts Adds a Node test setup file for consistent globals used by runtime code.
versions.json Updates plugin-to-min-Obsidian version mapping for 0.4.1.
tests/setup.ts Adds a minimal window shim for Node-based tests.
src/tag-registry.ts Tightens frontmatter access typing and safely reads cached frontmatter properties.
src/tag-manager-modal.ts Updates UI helpers and wraps async handlers to avoid unhandled promises.
src/suggestion-modal.ts Updates UI helpers to Obsidian-preferred element creation methods.
src/siliconflow.ts Uses window.URL/window.setTimeout APIs for better popout-window/DOM consistency.
src/settings.ts Migrates settings UI to Obsidian 1.13 searchable setting definitions and refactors actions into helpers.
README.md Adds an English overview and expands Vault access/privacy disclosure; updates dev/release notes.
README_EN.md Expands Vault access disclosure; updates dev/release notes.
package.json Bumps version to 0.4.1, removes unused dependency, adds ESLint tooling and lint script.
manifest.json Bumps version to 0.4.1 and raises minimum Obsidian version to 1.13.0.
eslint.config.mjs Introduces Obsidian-recommended ESLint flat config and TS project parsing.
CHANGELOG.md Adds 0.4.1 release notes describing the review-driven changes.
.github/workflows/release.yml Adds build provenance attestation and narrows published release assets.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread eslint.config.mjs
Comment on lines +1 to +20
import { defineConfig } from "eslint/config";
import obsidianmd from "eslint-plugin-obsidianmd";
import tseslint from "typescript-eslint";

export default defineConfig([
{
ignores: ["main.js", "release/**", "coverage/**", ".tmp/**", "node_modules/**"],
},
...obsidianmd.configs.recommended,
{
files: ["src/**/*.ts"],
languageOptions: {
parser: tseslint.parser,
parserOptions: {
project: "./tsconfig.json",
tsconfigRootDir: import.meta.dirname,
},
},
},
]);
Comment thread package.json
},
"scripts": {
"dev": "node esbuild.config.mjs",
"lint": "eslint \"src/**/*.ts\" package.json",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants