Files
OwnCord/Client/tauri-client/src-tauri/capabilities/default.json
T
J3vbandClaude Fable 5 f4b20726ff chore(client): remove dead files, exports, and unused dependencies
knip findings (repo CI config), each verified including dynamic imports,
HTML refs, and the Rust side:

Files deleted: pluginBridge.ts (its documented PluginContainer.tsx
collaborator never existed in the repo; the server plugin host stays per
D11 — reinstate from git if client plugin UI work ever starts),
message-input/file-upload.ts, message-input/picker-toggle.ts (dir now
empty, removed), message-list/virtual-scroll.ts (MessageList does its
own virtualization via FenwickTree).

Dependencies removed: zod (zero imports; typegen uses
validation_library none — stale CLAUDE.md claim fixed),
@tauri-apps/plugin-store and plugin-updater npm halves (both features
are Rust-driven via StoreExt/UpdaterExt — Rust halves stay), and
tauri-plugin-global-shortcut on BOTH sides (PTT polls via device_query;
zero GlobalShortcutExt use): Cargo.toml dep, lib.rs registration, and
the 5 capability permission lines. Inert webview capability entries
store:default/updater:default also dropped. @stryker-mutator/api added
to devDependencies (stryker.config.mjs imports its types; core pins the
same version, zero install delta).

Exports removed: livekitSession clearOnError bound-const, ConnectPage/
MainPage ReturnType aliases, readAllPersistedLogs (never wired to any
UI) with its test blocks. getLogDir kept as the suite's observability
point, tagged @public for knip. protocolTypes.ts *Value types are
generated surface — knip.json now ignores that file instead.

Rust compile is CI-verified only (no MSVC toolchain here, same as the
F4/F8 TOFU work); Cargo.lock resolution pruned cleanly. Client gate
green: tsc, oxlint/eslint 0 errors, prettier, 3304/3304 vitest, knip
clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 15:29:01 +02:00

123 lines
2.7 KiB
JSON

{
"identifier": "default",
"description": "Default capability granting core permissions to the main window. NOTE: http:allow-fetch is the ONLY URL-scoped HTTP identifier — tauri-plugin-http validates the URL once, in the `fetch` command; `fetch_send` and `fetch_read_body` take an already-validated ResourceId and never consult a scope, so allow/deny blocks on those identifiers are inert. Do not re-add them.",
"windows": [
"main"
],
"permissions": [
"core:default",
"core:event:default",
"core:window:default",
"core:window:allow-show",
"core:window:allow-hide",
"core:window:allow-set-focus",
"core:window:allow-is-visible",
"core:window:allow-set-position",
"core:window:allow-set-size",
"core:window:allow-maximize",
"core:window:allow-is-maximized",
"core:window:allow-is-minimized",
"core:window:allow-outer-position",
"core:window:allow-outer-size",
"core:window:allow-available-monitors",
"notification:default",
"notification:allow-notify",
"notification:allow-request-permission",
"notification:allow-is-permission-granted",
{
"identifier": "http:allow-fetch",
"allow": [
{
"url": "https://*:*"
},
{
"url": "https://*"
},
{
"url": "http://127.0.0.1:*"
}
],
"deny": [
{
"url": "https://localhost"
},
{
"url": "https://localhost:*"
},
{
"url": "https://127.0.0.1"
},
{
"url": "https://127.0.0.1:*"
}
]
},
"http:allow-fetch-send",
"http:allow-fetch-read-body",
"http:allow-fetch-cancel",
"opener:default",
"dialog:default",
"process:allow-restart",
"fs:default",
{
"identifier": "fs:allow-write-file",
"allow": [
{
"path": "$APPDATA/**"
},
{
"path": "$APPLOG/**"
}
]
},
{
"identifier": "fs:allow-write-text-file",
"allow": [
{
"path": "$APPLOG/**"
}
]
},
{
"identifier": "fs:allow-mkdir",
"allow": [
{
"path": "$APPLOG/**"
}
]
},
{
"identifier": "fs:allow-exists",
"allow": [
{
"path": "$APPLOG/**"
}
]
},
{
"identifier": "fs:allow-read-dir",
"allow": [
{
"path": "$APPLOG/**"
}
]
},
{
"identifier": "fs:allow-remove",
"allow": [
{
"path": "$APPLOG/**"
}
]
},
{
"identifier": "fs:allow-read-text-file",
"allow": [
{
"path": "$APPLOG/**"
}
]
}
]
}