Skip to content

refactor(version): HTTP-only version gate — drop CLI cache - #183

Merged
ajianaz merged 1 commit into
developfrom
refactor/http-only-version-gate
Jul 21, 2026
Merged

refactor(version): HTTP-only version gate — drop CLI cache#183
ajianaz merged 1 commit into
developfrom
refactor/http-only-version-gate

Conversation

@ajianaz

@ajianaz ajianaz commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Completes the HTTP-first direction from #180. The version gate no longer shells uteke --version — it reads the server's /health version field (uteke ≥ 0.7.2) for both local and remote servers.

Changes:

  • Remove AppState.uteke_version cache field + its startup CLI probe.
  • resolve_uteke_version → single HTTP-only path (merged local/remote branches, no cached fallback). Returns None when the server is unreachable or pre-0.7.2.
  • uteke_self_update → drop the dead cache write (keeps uteke upgrade + detect_uteke_version to read the upgraded CLI — the one remaining CLI touch, binary maintenance not data).
  • Docs: compat comments → uteke 0.7.x–0.9.x.

Net: CorIn ↔ uteke-serve is HTTP-only for all data + version gating. The uteke CLI 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, /health all return stable shapes; /room/summary-document canonical. 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/search all return 404 due to a slash-stripping bug in ApiVersion::from_path). Unversioned routes work perfectly for CorIn. Separate PR will address if we want the prefix.

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.
@github-actions

Copy link
Copy Markdown

🔍 Cora AI Code Review

No issues found. Code looks good!


Review powered by cora-cli · BYOK · MIT

@ajianaz
ajianaz merged commit 1cc8591 into develop Jul 21, 2026
8 checks passed
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.
@ajianaz ajianaz mentioned this pull request Jul 21, 2026
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.

1 participant