mirror of
https://github.com/shuaiplus/nodewarden.git
synced 2026-08-06 15:10:13 +00:00
feat: implement vault synchronization and decryption improvements
- Added background synchronization for vault core data, including optional folder updates. - Introduced a new API endpoint to retrieve the vault revision date. - Enhanced vault synchronization logic to utilize a caching mechanism for improved performance. - Created a new vault cache module to handle IndexedDB storage for vault core snapshots. - Implemented a worker for asynchronous decryption of vault data, improving UI responsiveness. - Updated main application settings to adjust query stale time for better data freshness. - Refactored vault-related API functions to support cache keys for more efficient data retrieval.
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import { decryptSends, decryptVaultCore, type DecryptSendsArgs, type DecryptVaultCoreArgs } from '@/lib/vault-decrypt';
|
||||
|
||||
type WorkerRequest =
|
||||
| { id: number; kind: 'vault-core'; payload: DecryptVaultCoreArgs }
|
||||
| { id: number; kind: 'sends'; payload: DecryptSendsArgs };
|
||||
|
||||
self.onmessage = async (event: MessageEvent<WorkerRequest>) => {
|
||||
const request = event.data;
|
||||
try {
|
||||
if (request.kind === 'vault-core') {
|
||||
const result = await decryptVaultCore(request.payload);
|
||||
self.postMessage({ id: request.id, ok: true, result });
|
||||
return;
|
||||
}
|
||||
const result = await decryptSends(request.payload);
|
||||
self.postMessage({ id: request.id, ok: true, result });
|
||||
} catch (error) {
|
||||
self.postMessage({
|
||||
id: request.id,
|
||||
ok: false,
|
||||
error: error instanceof Error ? error.message : 'Decrypt failed',
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user