Skip to content

v0.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Jun 15:30
· 12 commits to main since this release
ce98367

scripta v0.6.0

v0.5.0 リリース後の内部品質改善ラウンド。ユーザー向け振る舞い変更はなく、内部 refactor 7 件を集約。zustand selector の useShallow 適用 (#206)、settings migration の versioned array 化 (#208)、2 モード e2e の振り分け基準明文化 (#207)、wikilink target query 経由の in-editor highlight (#225)、3 panel 共通 collapse hook の抽出 (#226)、scan store の race-prevention pattern factory 化 (#228)、backlink scan の producer-side trim による render-time allocation 削減 (#227) を実施。

ダウンロード

各 OS の配布物は 未署名(コード署名・公証なし、v0.2.0 / v0.3.0 / v0.4.0 / v0.5.0 と同方針)。

OS アーキテクチャ ファイル
macOS Apple Silicon scripta-0.6.0-arm64.dmg
macOS Intel scripta-0.6.0.dmg
Windows x64 scripta.Setup.0.6.0.exe
Linux AppImage scripta-0.6.0.AppImage
Linux .deb scripta-next_0.6.0_amd64.deb

初回起動時の手順(未署名のため警告が出ます)

  • macOS: 初回は Finder で .app を Ctrl+クリック → 「開く」 を選択(または xattr -d com.apple.quarantine /Applications/scripta.app
  • Windows: SmartScreen の「Windows によって PC が保護されました」で 「詳細情報」 → 「実行」 を選択
  • Linux (.deb): パッケージ名は scripta-next ですが、起動するアプリは scripta です(package.json:name と productName の差分による命名、機能は同じ)

主な変更内容

詳細は CHANGELOG.md を参照。

Internal

  • AppLayout の workspace selector に useShallow を適用 (#206#229): zustand store selector が tabs 配列の参照同一性に依存して不要な再 render を起こしていた問題を、useShallow で構造比較に切り替えて解消
  • settings に _schemaVersion を導入し migration を versioned array 化 (#208#230): loadSettings() の ad-hoc な delete s.theme 等の inline migration を、MIGRATIONS: ReadonlyArray<{ from: number; to: number; run(ctx): void }> 形式の versioned array に置換。将来の non-idempotent migration や _schemaVersion field 自体の write 順序を一元化できるように整備
  • 2 モード e2e の重複 spec を整理 + 振り分け基準を ADR-0009 に集約 (#207#231): renderer-only モード (Vite + window.api mock) と実 Electron 起動モード (_electron.launch) の 2 モード e2e で発生していた重複 spec を整理し、各モードでカバーすべき範囲の振り分け基準を ADR-0009 §「各モードの役割分担」に canonical 化
  • BacklinkPanel / UnresolvedLinksPanel の onNavigate に wikilink target を query として渡す (#225#232): backlink / unresolved wikilink から navigate した先のエディタで、ジャンプ元の wikilink target を query string として渡すことで in-editor highlight が走るようにし、SearchPanel と同等の UX に統一
  • 3 panel 共通の useCollapseToggle hook を抽出 (#226#233): SearchPanel / BacklinkPanel / UnresolvedLinksPanel で重複していた collapse toggle ロジック (useState(() => new Set()) + lazy init + reset の re-render skip 含む) を useCollapseToggle として抽出
  • backlink / wikilink store の _scanId race-prevention pattern を createScanAction factory に共通化 (#228#234): backlink store / wikilink store の scan action が同一構造で重複保持していた _scanId increment + race check + Omit<Partial<TState>, "_scanId" | "loading"> 型による不変条件防御パターンを createScanAction factory として共通化。3 件目の scanner store 追加時の同パターン再実装コストを削減
  • backlink / unresolved wikilink scan で lineContent を producer 側で 1 度 trim する (#227#235): iterateWikilinkOccurrences helper が yield する WikilinkReferencelineContent を producer 側で 1 度 line.trim() し、consumer (BacklinkPanel render-time / buildInitialContent) の冗長な .trim() 呼び出しを排除。e2e mock も対称に trim 化 (ADR-0009 parity)

Dependencies

v0.5.0 リリース以降、新規 dependabot bump なし。package.json の dependencies / devDependencies は v0.5.0 時点と同一。

Full Changelog: v0.5.0...v0.6.0