Skip to content

Commit 8d4ed32

Browse files
feat(semble): upgrade to v0.4.1, flatten result parsing, localize status messages (#734)
* feat(semble): upgrade to v0.4.1, flatten result parsing, localize status messages - Bump SEMBLE_VERSION v0.3.1 -> v0.4.1 and refresh SEMBLE_SHA256 checksums - Adapt to semble v0.4.0+ flat JSON output (no chunk wrapper); remove SembleChunk and flatten SembleSearchResult (file_path, start_line, end_line, score, content) - Update provider.ts and semble-cli.ts parsing accordingly - Version-prefix the local archive cache path so a stale archive from a previous semble version is never reused or verified against the new checksum; remove partial archive before re-downloading - Add cleanupStaleArchives to best-effort sweep orphaned archives after a version upgrade - Localize SembleProvider status strings via i18n embeddings:semble.* keys across all 18 locales - Update provider/cli/downloader unit tests for the new shape and version-prefixed cache path Closes #733 * fix(semble): clean legacy unversioned archives and cover stale-archive sweep CodeRabbit PR #734 follow-ups: - cleanupStaleArchives now also matches the exact unversioned archive name (pre-v0.4.0 cache layout) in addition to the version-prefixed suffix, so a v0.3.1 -> v0.4.1 upgrade also clears the legacy file. The current archive path is still preserved. - semble-downloader.spec: the version-upgrade test now simulates a prior-version archive (v0.4.0-*) and a legacy unversioned archive in the cache, and asserts both are swept during the upgrade flow. - Add coverage for the cleanupStaleArchives catch block (readdir rejects) and for the current-archive/unrelated-file preservation behavior. - provider.spec: add a test that rejects search with a non-Error value to cover the 'error instanceof Error' false branch of the telemetry payload (stack: undefined), raising provider.ts patch coverage. * feat(semble): surface active version in the CodeIndexPopover status message Export SEMBLE_VERSION from semble-downloader and re-export from the semble barrel. SembleProvider now interpolates the active version into the 'embeddings:semble.ready' system-state message (set in both _doInitialize and startIndexing), so the CodeIndexPopover status line shows e.g. 'Indexed - Semble v0.4.1 is ready. Searches index on-the-fly.' - semble-downloader.ts: export SEMBLE_VERSION. - index.ts: re-export SEMBLE_VERSION. - provider.ts: pass { version: SEMBLE_VERSION } to t('embeddings:semble.ready'). - i18n: update semble.ready across all 18 locales to include {{version}}. - provider.spec.ts: mock SEMBLE_VERSION, update the ready-message mock to interpolate version, and add a test asserting the version appears in the ready status message. * fix review comments
1 parent 29c2d2e commit 8d4ed32

26 files changed

Lines changed: 629 additions & 253 deletions

src/i18n/locales/ca/embeddings.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/de/embeddings.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/en/embeddings.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,5 +72,13 @@
7272
"indexingRequiresWorkspace": "Indexing requires an open workspace folder",
7373
"indexingStopped": "Indexing stopped by user.",
7474
"indexingStoppedPartial": "Indexing stopped. Partial index data preserved."
75+
},
76+
"semble": {
77+
"downloadingBinary": "Downloading semble binary...",
78+
"ready": "Semble {{version}} is ready. Searches index on-the-fly.",
79+
"unsupportedPlatform": "Semble is not supported on this platform ({{platform}}-{{arch}}).",
80+
"downloadFailed": "Failed to download semble: {{errorMessage}}",
81+
"checkFailed": "Semble check failed: {{errorMessage}}",
82+
"providerReset": "Semble provider reset. On-disk cache remains until next rebuild."
7583
}
7684
}

src/i18n/locales/es/embeddings.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/fr/embeddings.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/hi/embeddings.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/id/embeddings.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/it/embeddings.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/ja/embeddings.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/ko/embeddings.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)