fix: view scroll + document namespace/version gate (uteke v0.7.0) - #154
Merged
Merged
Conversation
Root view containers used static layout (padding + max-width) with no
height constraint, so content overflowed silently under the parent
`.main-content { overflow: hidden }` and never scrolled.
Wrap post-toolbar content in a `.scroll-area` and make each root view
`position: absolute; inset: 0; flex column; overflow: hidden`, matching
the pattern already used by NamespacesView/RoomsView/GraphView. Toolbar
and quick-search now stay fixed while the list scrolls.
uteke v0.7.0 (#614) made documents global — unique slugs across all namespaces; the server ignores `namespace` on /doc/* endpoints. Soft deprecation only (no behavior change): keep accepting and forwarding the param for IPC stability and older-server (<0.7.0) compat, but document it as deprecated at every layer (Rust client, Tauri commands, TS IPC, DocEntry type, DocumentsView). Stop reading the deprecated `selectedDoc.namespace` field in DocumentsView save flow.
Lockfile still recorded 0.2.0 after the v0.3.0 release bump in package.json (commit ffd2a18). Re-sync via npm install.
uteke v0.7.0 (#614) made documents global (unique slugs across namespaces). Replace the earlier soft-deprecation with a hard requirement: - Remove `namespace` from all doc methods (client + commands + ipc + types + DocumentsView). DocEntry.namespace dropped; App.svelte no longer passes it. - Gate every doc command on uteke >= 0.7.0 via require_uteke_version, backed by a cached AppState::uteke_version probed once at startup from `uteke --version` (the HTTP server exposes no version endpoint). - Add uteke_version_status (frontend banner) and uteke_self_update (runs `uteke upgrade`, re-probes) Tauri commands + ipc bindings. - DocumentsView renders an update-required banner with an Update button when the installed version is below 0.7.0; non-doc features stay usable. - version_meets is conservative: unparseable/unknown versions fail the gate. Unit tests cover equal/higher/lower/unparseable cases.
🔍 Cora AI Code Review✅ No issues found. Code looks good! Review powered by cora-cli · BYOK · MIT |
CI runs clippy with --all-targets on rust 1.96, which lints items_after_test_module. The version_meets tests were defined mid-file with functions after them. Move the module to the end of lib.rs. Verified locally with the exact CI invocation: cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
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
Three related fixes + one chore, all targeting the uteke v0.7.0 upgrade and a couple of UI bugs.
Changes
1. View scroll (fix/ui)
Memories and Dashboard views couldn't scroll — root containers used static layout (padding + max-width) with no height constraint, so content was clipped by the parent
.main-content { overflow: hidden }. Now wrap post-toolbar content in a.scroll-areaand make each root viewposition: absolute; inset: 0; flex column; overflow: hidden, matching the existing NamespacesView/RoomsView/GraphView pattern. Toolbar stays fixed, list scrolls.2. Document namespace removal + version gate (feat/docs)
uteke v0.7.0 (#614) made documents global — unique slugs across all namespaces; the server ignores
namespaceon /doc/*. Replaces the earlier soft-deprecation with a hard requirement:namespacefrom all doc methods (client + commands + ipc + types + DocumentsView).DocEntry.namespacedropped;App.svelteno longer passes it.require_uteke_version, backed by a cachedAppState::uteke_versionprobed once at startup fromuteke --version(the HTTP server exposes no version endpoint).version_meetsis conservative — unparseable/unknown versions fail the gate (3 unit tests).uteke_version_status(frontend banner) anduteke_self_update(runsuteke upgrade, re-probes version).3. Lockfile sync (chore)
package-lock.jsonstill recorded 0.2.0 after the v0.3.0 release bump; re-synced vianpm install.Verification (all green)
cargo fmt --all -- --check✓cargo clippy -- -D warnings✓cargo test— 13 passed (10 existing + 3 new version_meets) ✓svelte-check— 0 errors ✓npm run build✓Notes
089b313(soft-deprecate) is superseded by9ca6a38(hard remove) — kept for history; net diff is clean.