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.
#184) Add a unified semantic-search path that finds BOTH memories and documents in one query, via uteke 0.9.0's `search_type` parameter on POST /recall. Backend: - uteke_client.rs: `UnifiedSearchResult` struct (mirrors uteke 0.9.0's UnifiedSearchResult — result_type discriminator + memory/doc fields, all optional fields serde-defaulted for forward-compat) + `recall_unified()` method (POST /recall with search_type). - commands.rs: `recall_unified` Tauri command, gated on uteke ≥ 0.9.0. - lib.rs: register command + a deserialization unit test covering both a memory hit and a document chunk hit. Frontend (TS layer — UI wiring is a follow-up): - types.ts: `UnifiedSearchResult` interface. - ipc.ts: `utekeServer.recallUnified(query, {searchType, namespace, limit})`. Verified empirically against uteke 0.9.0: POST /recall search_type=all returns a mixed [{result_type:"memory"}, {result_type:"document"}] list that deserializes cleanly. cargo fmt/clippy(-D warnings)/test (18), svelte-check (0 err), vitest (61), npm build. The MemoryList search UI still uses memory-only `recall`; a follow-up PR will add a "Memories | All (memories + documents)" toggle and render unified results with type badges (memory → detail, document → open doc).
…oks (#186) - ConnectionManager: the per-connection health line now shows the uteke server version (from /health, already fetched into HealthInfo.version) e.g. "✓ Healthy · uteke v0.9.0 — 12ms". Previously only latency showed. - tauri.conf.json: beforeDevCommand/beforeBuildCommand switched from `npm run` to `bun run`, matching the project's bun tooling preference. Verified: svelte-check (0 err), vitest (61), bun build.
…1098) (#187) tauri-action@v1 fails to collect the `.sig` artifacts ("Signature not found for the updater JSON. Skipping upload..."), so the auto-update manifest `latest.json` is never uploaded — every release since v0.2.0 is missing it, and clients error with "Could not fetch a valid release JSON from the remote". Workaround (deterministic, doesn't depend on tauri-action's flaky manifest logic): - Each platform build uploads its signed updater bundle + `.sig` as a workflow artifact (the `.sig` exists on disk; tauri-action just doesn't collect it). - A new `publish-updater-json` job downloads those artifacts and runs scripts/build-updater-manifest.ts, which reads each `.sig` + maps it to the matching release-asset URL (via `gh`) and writes a Tauri v2 `latest.json` (version/notes/pub_date/platforms), then uploads it to the release with `gh release upload --clobber`. Also: - Switch the release runner to bun (oven-sh/setup-bun@v2 + bun install + tauriScript: "bunx tauri"), matching the project tooling preference. - Remove the invalid `updaterKeepSingleGroup` input (not a valid tauri-action@v1 input — it was warned + ignored). NOTE: end-to-end verification requires a release cut (tag push) — the manifest job only runs there. Suggest cutting v0.3.3-beta.1 to confirm latest.json appears + the in-app updater resolves. Linux (deb/rpm) has no auto-update bundle (no AppImage target); it's omitted from the manifest by design (updater_key: "").
…ion (#185) Wires the unified-recall backend (#184) into the MemoryList UI: - Add a "Memories | All" scope toggle next to the search bar. "All" runs `utekeServer.recallUnified` (search_type=all) and renders a mixed list of memory + document hits, each badged (💾 Memory / 📄 Doc). "Memories" keeps the existing memory-only recall path. - Memory hits → `onmemoryclick(id)` (opens detail, unchanged). - Document hits → new `ondocumentclick(slug)` prop → App.openDocument → stashes the slug in a `pendingDocSlug` store + navigates to Documents. - DocumentsView consumes `pendingDocSlug` on mount via a `$effect` and opens the doc by slug (`navigateToSlug`), then clears it. New: src/lib/stores/nav.ts (pendingDocSlug store). Verified: svelte-check (0 err), vitest (61), npm build. (Recall/TS layer from #184 already empirically validated against uteke 0.9.0.)
* 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.
🔍 Cora AI Code ReviewReview powered by cora-cli · BYOK · MIT |
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.
Sync develop → main for v0.3.3 release.
Contents: auto-update manifest fix (#187), unified search memories+documents (#184/#185), HTTP-only version gate (#183), uteke server version in Settings + clickable codecora.dev + bun tooling (#186). See CHANGELOG.md.