Staging#75
Conversation
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Gajendra sahu <92583148+gajendraxdev@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Gajendra sahu <92583148+gajendraxdev@users.noreply.github.com>
Feature/text editor
Feature/text editor
Fix/random bug fixes
…Agent Mode reasoning UI
Migrated legacy AI modal to persistent sidebar with unified Mod+I shortcut. Implemented "Width Pinning" strategy to solve all terminal flicker/shimmer issues during layout shifts. Addressed 13+ code review findings covering memory leaks, context logging, and UI state accuracy. Polished TabBar header layout.
Add optional OS keychain session cache for remembered vault unlock, global unlock modal, and deferred auto-connect for vault-backed hosts. Harden session-cache restore with v2 integrity proofs and live-record decrypt verification; make keychain persistence best-effort on unlock. Fix sync collection passphrase validation clearing remembered cache, explicit Lock being undone by session-cache auto-restore, and stale vault item counts after add/secure credential flows.
- Require encrypted verifier record for empty-vault session cache restore - Fail closed when connect config resolution fails (no auto-connect) - Default remember-on-device preference to opt-in (false)
- Add locked/uninitialized placeholders via VaultLockedPanel - Simplify VaultStatusCard copy; move Repair Refs to Security section - Keep item actions visible; rename Secure Credentials flow - Dedupe sync handoff to text link; show layout-matched skeletons - Use shared Skeleton primitives and stale-while-revalidate vault refresh - Vault tab Suspense fallback uses VaultWorkspaceLoading instead of spinner
Ship Sync & Backup workspace refresh, connections bundle restore, Google encryption setup hardening, and Drive backup picker. Keep version at 2.15.1 and document all net-new work under CHANGELOG [Unreleased] Added.
Guard hosts sync watermark when host definitions are excluded, validate preferred Google backup selection before auto-linking, dedupe Drive object names in collection discovery, fix credential-only restore toasts, reorder provider gate checks, improve setup modal reset and disclosure ARIA, and correct bundle restore plan phase label.
# Conflicts: # CHANGELOG.md # docs/PHASE3_APPDATA_SYNC_PLAN.md # docs/PHASE4_SELECTIVE_PROVIDER_SYNC_MODEL.md # docs/VAULT_AND_SYNC_ARCHITECTURE.md # docs/VAULT_CREDENTIAL_IDENTITY_MODEL.md # package.json # src-tauri/src/lib.rs # src-tauri/src/sync/commands.rs # src-tauri/src/sync/provider.rs # src-tauri/src/sync/providers/google.rs # src-tauri/src/sync/types.rs # src-tauri/src/vault/commands.rs # src-tauri/src/vault/mod.rs # src-tauri/src/vault/store.rs # src-tauri/src/vault/types.rs # src/components/layout/MainLayout.tsx # src/components/layout/sidebar/VaultNavSection.tsx # src/components/layout/sidebar/vaultNavConfig.ts # src/components/settings/tabs/VaultTab.tsx # src/components/settings/tabs/vault/SyncCollectionSetupModal.tsx # src/components/settings/tabs/vault/SyncCollectionUnlockModal.tsx # src/components/settings/tabs/vault/VaultItemsPanel.tsx # src/components/settings/tabs/vault/VaultStatusCard.tsx # src/components/settings/tabs/vault/VaultSyncCard.tsx # src/components/settings/tabs/vault/hooks/useVaultPanelActions.ts # src/components/sync/SyncBackupWorkspacePanel.tsx # src/components/ui/Skeleton.tsx # src/components/vault/VaultUnlockModal.tsx # src/components/vault/VaultWorkspacePanel.tsx # src/features/connections/domain/connectionConfig.ts # src/store/connectionSlice.ts # src/vault/ipc.ts # src/vault/syncIpc.ts # src/vault/useVaultStore.ts # tests/runAllAgentTests.mjs # tests/unlockModalConsistency.test.mjs # tsconfig.agent-tests.json
…ase CI - Stop clearing selected collection when hasLocalVaultConfigured changes mid-modal - Wire GOOGLE_CLIENT_SECRET into release workflow for OAuth token exchange
|
Important Review skippedToo many files! This PR contains 156 files, which is 6 over the limit of 150. To get a review, narrow the scope: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (156)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
When a terminal session drops, pressing Enter to reconnect now resolves vault credential refs against an unlocked vault instead of failing with a hard lock error. Adds reconnect_stored_connection() and stores AppHandle on AppState so vault relink can run during background reconnect. Also guards against resurrecting connections removed by disconnect while a reconnect was in flight.
Detect redb DatabaseAlreadyOpen as vault_in_use instead of treating a busy vault as uninitialized. Show Vault In Use UI, block Create Vault on connect, and add tauri-plugin-single-instance to focus the existing window. Maps only redb lock conflicts to InUseByAnotherInstance; other open errors surface as storage failures. Single-instance plugin is scoped to desktop OS targets in Cargo.toml.
Explain why only one Zync process can open vault.redb at a time, expected vault_in_use behavior, workarounds, and deferred vault-broker direction.
Document terminal vault-backed reconnect, single-instance guard, vault in-use UX, and VAULT.md limitation notes under [Unreleased].
Add explicit contents:read permissions to CI, avoid zero-init salt pattern in generate_salt, and suppress intentional known-answer test fixtures in vault crypto tests.
Move known-answer salts, keys, and expected outputs into test-fixtures/vault_crypto_vectors.json so unit tests stay deterministic without hard-coded crypto literals in Rust source.
- Consolidate duplicate [Unreleased] Fixed sections and add commit refs - Gate vault-in-use short-circuit in requestUnlock on refresh failure - Add reconnect_generation to prevent stale SSH reconnect overwrites - Fix generate_salt MaybeUninit UB via from_raw_parts_mut - Minor VAULT.md wording tweak
Move [Unreleased] changelog entries to v2.16.1 and update version refs across package and Tauri manifests.
Use MaybeUninit in test fixture decode_hex and add codeql suppressions on known-answer vector helpers. Test-only; no production crypto behavior change.
fix(security): suppress CodeQL hard-coded crypto alert in vault tests
No description provided.