`npx tsc -p webapp/tsconfig.json --noEmit`, one of the checks recommended
in CONTRIBUTING.md, currently fails on main with three errors. All three
are declaration defects with correct runtime behavior; none changes
observable behavior.
- api/backup.ts: downloadAdminBackupAttachmentBlob declared a bare
Uint8Array return. Since TypeScript made typed arrays generic, that
widens to Uint8Array<ArrayBufferLike> and no longer satisfies fflate's
Uint8Array<ArrayBuffer>. The body already returns an ArrayBuffer-backed
value, so this only annotates what it produces.
- backup-center.ts: invalidateRemoteBrowserCacheForDestination declared a
full PersistedRemoteBrowserState but builds four of its five fields.
The sole caller reads .cache only, so the return type is narrowed to
match what the function actually returns.
- password-security-cache.ts: getPasswordSecurityState declared the public
PasswordSecurityState, but startPasswordSecurityScan needs `controller`,
which lives on InternalPasswordSecurityState. An internal accessor keeps
`controller` off the exported type rather than widening the public API.
No change to backup payload shape, archive/import whitelists, or any
persisted format.
Verified with tsc 5.9.3, 6.0.3, and 7.0.2 (all exit 0 for both
webapp/tsconfig.json and tsconfig.json), plus npm run build and
npm run i18n:validate.