Repository navigation
Prepare 1.14.0 with IndexedDB Jieba storage and declarative settings - #38
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prepare plugin 1.14.0: store Jieba WASM in versioned IndexedDB using
idb, install it without reloading, and replace imperative settings with Obsidian's declarative settings.Same-origin vaults share the cache; separate devices and storage partitions need their own installation. Installation and engine selection apply immediately, and editor patches register once. Installation preserves engine selections made while settings are saving. Imported bytes must match the pinned Jieba WASM SHA-256 before replacing the shared cache.
Legacy filesystem cache handling is removed entirely, along with its Electron remote dependency. The plugin does not load, scan, migrate, or delete previous cache files. The README explains reinstalling Jieba and manually removing old files. Settings manage only IndexedDB cache versions. Dictionary edits and Vim option changes still require reload. Removing Vim patches after disabling the plugin requires a full Obsidian reload, as documented in the README. CodeMirror patches continue to use monkey-around with unload cleanup.
Evidence
pnpm typecheck,pnpm lint,pnpm lint:obsidian,pnpm format, and the production build pass. The official reviewer reports 0 errors, 0 warnings, and 1 recommendation for the expected external WASM reference. Unit tests and their test-only dependency are removed; CI retains type checking, both linters, and official review.w/e/b,f/t, repeat and reverse search. No errors were captured in the isolated test vault. Mobile UI and native file-dialog interaction were not exercised.中文(0–2) to中文分词测试(0–6); repeated installation did not duplicate patches; switching Intl/Jieba applied immediately. With Intl unavailable and no cache, manual installation registered the missing patches.oxlint-tsgolint;typescript/unbound-methodis an error. The extractedcutcallback uses a function-property type, and the original warning was confirmed before fixing it.Merge Danger
Door: two-way
Code can be reverted. User-selected IndexedDB deletion cannot be reversed by code rollback; reinstall the component. Existing filesystem files remain untouched, and upgrading from filesystem storage requires reinstalling Jieba.
Blast Radius: editor
Changes affect segmentation initialization, Chinese selection/deletion, Vim motions, settings, and review CI. Deleting an IndexedDB version affects future loads in all vaults sharing that origin and storage partition. The cache is not synced. This minor release requires Obsidian 1.14.4.