refactor(version): HTTP-only version gate — drop CLI cache - #183
Merged
Conversation
Version detection no longer shells `uteke --version` on the data/version path. The effective uteke version is resolved purely from the connected server's /health `version` field (uteke ≥ 0.7.2) in resolve_uteke_version — same path for local and remote servers. Changes: - Remove the AppState.uteke_version cache field + its startup CLI probe. - resolve_uteke_version: merge the local/remote branches into one HTTP-only path (no cached fallback). Returns None when the server is unreachable or older than the /health version field. - uteke_self_update: drop the now-dead cache write (keeps `uteke upgrade` + detect_uteke_version to read the freshly-upgraded CLI version — the one remaining CLI touch, which is binary maintenance, not data). Net effect: CorIn ↔ uteke-serve is HTTP-only for all data + version gating. The `uteke` CLI binary is invoked only by the explicit "Update uteke" action (and by bootstrap, which spawns the uteke-serve daemon). This completes the HTTP-first direction started in #180 and fully removes the CLI-discovery fragility that caused #171 on Windows. Docs: compat comments updated to uteke 0.7.x–0.9.x; module doc notes /room/summary-document is canonical since uteke 0.9.0. Verified: cargo fmt/clippy(-D warnings)/test (17), svelte-check (0 err), vitest (61), npm build.
🔍 Cora AI Code Review✅ No issues found. Code looks good! Review powered by cora-cli · BYOK · MIT |
This was referenced Jul 21, 2026
Merged
ajianaz
added a commit
that referenced
this pull request
Jul 21, 2026
* chore(release): v0.3.3 Patch release — auto-update now works, unified search, HTTP-only version gate, server version in Settings, bun tooling. - bump version 0.3.2 → 0.3.3 (package.json, Cargo.toml, Cargo.lock, tauri.conf.json) - CHANGELOG entry Contents (since v0.3.2): - Added: unified search across memories + documents — "Memories | All" toggle (#184, #185) - Fixed: auto-update — generates latest.json manifest (workaround tauri-action#1098 that left every release since v0.2.0 without it) (#187) - Changed: version detection fully HTTP-only (#183); uteke server version in Settings → Connections (#186); tooling switched to bun (#186, #187) Verified: cargo fmt/clippy(-D warnings)/test (18), svelte-check (0 err), vitest (61), npm build. * feat(settings): make codecora.dev clickable (opens in browser) The "codecora.dev" line under CorIn vX.Y.Z in the Settings sidebar is now a link — clicking opens https://codecora.dev in the system browser via @tauri-apps/plugin-shell (preventDefault + shellOpen), matching how DocumentsView handles external links. Accessible (real href) + hover style.
Merged
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.
Completes the HTTP-first direction from #180. The version gate no longer shells
uteke --version— it reads the server's/healthversionfield (uteke ≥ 0.7.2) for both local and remote servers.Changes:
AppState.uteke_versioncache field + its startup CLI probe.resolve_uteke_version→ single HTTP-only path (merged local/remote branches, no cached fallback). ReturnsNonewhen the server is unreachable or pre-0.7.2.uteke_self_update→ drop the dead cache write (keepsuteke upgrade+detect_uteke_versionto read the upgraded CLI — the one remaining CLI touch, binary maintenance not data).Net: CorIn ↔ uteke-serve is HTTP-only for all data + version gating. The
utekeCLI is invoked only by the explicit "Update uteke" action (and daemon bootstrap). Removes the CLI-discovery fragility that caused #171 on Windows.Verified: cargo fmt/clippy(-D warnings)/test (17), svelte-check (0 err), vitest (61), npm build.
Context — validated against uteke 0.9.0 (released 2026-07-20):
/recall,/search,/doc/list,/healthall return stable shapes;/room/summary-documentcanonical. No breaking change in 0.9.0 affects CorIn.Note: API versioning
/api/v1/prefix is not adopted here — uteke 0.9.0's versioned routes 404 (confirmed empirically:/api/v1/health,/api/v1/searchall return 404 due to a slash-stripping bug inApiVersion::from_path). Unversioned routes work perfectly for CorIn. Separate PR will address if we want the prefix.