mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 17:37:40 +00:00
* feat(browser): save and fill passwords in Orca's browser (experimental) Off by default under Settings > Experimental > Saved passwords. * fix(browser): secure saved passwords and fix login lifecycles * fix(browser): keep the guest preload self-contained so saved passwords load The shared uuid import split into a chunk the sandboxed preload can't require, so the whole preload failed on every page. Element tokens now come from crypto.getRandomValues. * fix(browser): fill a saved login on mouse press so clicking a row works Pressing Orca's UI blurs the page field, which closed the list before the click landed. * feat(browser): manage saved passwords from a Passwords section in Settings › Browser Replaces the Manage passwords dialog with an inline section: save and Touch ID switches, import menu, a searchable list grouped by site with last-used times and hover actions in a capped scroll box, delete confirmations, and an Add/Edit dialog. * feat(browser): turn saved passwords on for everyone instead of behind Experimental Drops the experimental flag, its Experimental toggle and the badge; the Passwords section in Settings › Browser now shows on desktop for the local host without opting in. With no toggle, the guest disable message and the apply-to-open-pages step had nothing left to trigger them. * fix(browser): refuse protected password actions when Touch ID is set up but unavailable, and keep fills on the matched page Touch ID lockout or a closed lid made canPromptTouchID() false, which counted as a Mac without Touch ID, so show, copy and protected fill went through unchecked. Enrollment from bioutil now tells the two apart. A fill also kept no hold on the page across the Touch ID prompt, so a page that navigated meanwhile got the password; it now goes only to the frame and origin it was matched for. * fix(browser): keep a browser profile when its saved logins can't be deleted Profile deletion removed the profile first and only logged a failed vault delete, so the encrypted vault could stay on disk with nothing left to retry it. The vault now goes first, and the profile stays (deletion reports failure) when it can't.
75 lines
3.3 KiB
JSON
75 lines
3.3 KiB
JSON
{
|
|
"$schema": "https://unpkg.com/knip@5/schema.json",
|
|
"entry": [
|
|
"src/main/index.ts",
|
|
"src/preload/index.ts",
|
|
"src/preload/browser-guest.ts",
|
|
"src/main/daemon/daemon-entry.ts",
|
|
"src/main/plugins/workers/plugin-host-entry.ts",
|
|
"src/main/computer/computer-sidecar.ts",
|
|
"src/main/speech/stt-worker.ts",
|
|
"src/main/warp-themes/warp-theme-parser-worker.ts",
|
|
"src/main/foreign-sqlite-readers/foreign-sqlite-reader-entry.ts",
|
|
"src/main/ports/port-scan-command-worker-entry.ts",
|
|
"src/main/plugins/panels/plugin-source-transpile-worker-entry.ts",
|
|
"src/main/worker-thread-child-process/worker-thread-child-process-entry.ts",
|
|
"src/main/ipc/filesystem/watcher-process/parcel-watcher-process-entry.ts",
|
|
"src/main/hang-watchdog/main-thread-hang-watchdog-entry.ts",
|
|
"src/main/agent-hooks/managed-agent-hook-controls.ts",
|
|
"src/main/claude-accounts/keychain.ts",
|
|
"src/renderer/src/main.tsx",
|
|
"src/renderer/src/popout.tsx",
|
|
"src/renderer/src/web/main.tsx",
|
|
"src/renderer/src/component-fixtures/component-fixture-explorer.tsx",
|
|
"src/renderer/src/**/*.fixture.tsx",
|
|
"src/renderer/src/**/*.worker.ts",
|
|
"src/cli/index.ts",
|
|
"src/wsl-guest/wsl-agent-hook-relay.ts",
|
|
"config/scripts/**/*.{mjs,cjs,js,ts}",
|
|
"config/build-plugins/**/*.ts",
|
|
"electron.vite.config.ts",
|
|
"vite.web.config.ts",
|
|
"config/vitest.config.ts",
|
|
"config/i18next.config.ts",
|
|
"config/electron-builder.config.cjs",
|
|
"config/oxlint-plugins/**/*.{js,mjs,ts}",
|
|
"tests/**/*.{ts,tsx,mjs}",
|
|
"**/*.test.{ts,tsx,mjs}",
|
|
"src/preload/doc-preview-link.ts",
|
|
"src/preload/plugin-frame-guest.ts",
|
|
"src/main/plugins/testing/plugin-test-hooks.ts",
|
|
"src/main/plugins/testing/plugin-test-register.ts",
|
|
"src/main/ai-vault/scan-service/session-scanner-service-entry.ts",
|
|
"src/main/native-chat/wsl-transcript-fs-process-entry.ts",
|
|
"src/main/usage/usage-scan-worker-entry.ts",
|
|
"src/main/workspaces/space-analysis/workspace-space-scan-worker-entry.ts",
|
|
"src/main/claude-accounts/claude-profile-setup-worker-entry.ts",
|
|
"src/main/persistence/profile-state/profile-state-backup-worker-entry.ts",
|
|
"src/main/persistence/profile-state/profile-state-writer-worker-entry.ts",
|
|
"src/main/orcad/orcad-local-serve-selection-entry.ts",
|
|
"src/main/orcad/launcher.ts",
|
|
"src/main/claude-accounts/claude-profile-wsl-entry.ts",
|
|
"src/main/ai-vault/scanners/opencode/reader-transport/session-scanner-opencode-sqlite-process-entry.ts",
|
|
"src/wsl-guest/wsl-browser-network-relay.ts",
|
|
"src/renderer/src/space.tsx",
|
|
"src/**/*.bench.ts",
|
|
"src/**/*-electron-fixture.ts",
|
|
"src/**/*-test-fixture.ts",
|
|
"src/**/*.test-fixture.{ts,tsx}",
|
|
"src/main/runtime/rpc/rpc-params-type-parity.ts",
|
|
"src/main/runtime/rpc/methods/ui-state-schema-parity-checks.ts",
|
|
"src/renderer/src/components/editor/monaco-internal-test-module-types.ts",
|
|
"mobile/**/*.{ts,tsx}",
|
|
"cloud/**/*.{ts,tsx,mjs}"
|
|
],
|
|
"project": [
|
|
"src/**/*.{ts,tsx}",
|
|
"config/scripts/**/*.{mjs,cjs,js,ts}",
|
|
"config/build-plugins/**/*.ts"
|
|
],
|
|
"ignore": ["mobile/**", "out/**", "dist/**", "node_modules/**", "resources/**"],
|
|
"ignoreDependencies": ["electron", "@types/*"],
|
|
"ignoreExportsUsedInFile": true,
|
|
"includeEntryExports": false
|
|
}
|