mirror of
https://github.com/bitwarden/clients.git
synced 2026-07-19 21:01:36 +08:00
* [PM-7581] Validate cache state from external contexts within LocalBackedSessionStorage * [PM-7581] Continuing with exploring refining the LocalBackedSessionStorage * [PM-7558] Fix Vault Load Times * [PM-7558] Committing before reworking LocalBackedSessionStorage to function without extending the MemoryStorageService * [PM-7558] Working through refinement of LocalBackedSessionStorage * [PM-7558] Reverting some changes * [PM-7558] Refining implementation and removing unnecessary params from localBackedSessionStorage * [PM-7558] Fixing logic for getting the local session state * [PM-7558] Adding a method to avoid calling bypass cache when a key is known to be a null value * [PM-7558] Fixing tests in a temporary manner * [PM-7558] Removing unnecessary chagnes that affect mv2 * [PM-7558] Removing unnecessary chagnes that affect mv2 * [PM-7558] Adding partition for LocalBackedSessionStorageService * [PM-7558] Wrapping duplicate cache save early return within isDev call * [PM-7558] Wrapping duplicate cache save early return within isDev call * [PM-7558] Wrapping duplicate cache save early return within isDev call
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { ConsoleLogService } from "@bitwarden/common/platform/services/console-log.service";
|
|
|
|
import MainBackground from "../background/main.background";
|
|
|
|
import { BrowserApi } from "./browser/browser-api";
|
|
|
|
const logService = new ConsoleLogService(false);
|
|
if (BrowserApi.isManifestVersion(3)) {
|
|
startHeartbeat().catch((error) => logService.error(error));
|
|
}
|
|
const bitwardenMain = ((self as any).bitwardenMain = new MainBackground());
|
|
bitwardenMain.bootstrap().catch((error) => logService.error(error));
|
|
|
|
/**
|
|
* Tracks when a service worker was last alive and extends the service worker
|
|
* lifetime by writing the current time to extension storage every 20 seconds.
|
|
*/
|
|
async function runHeartbeat() {
|
|
await chrome.storage.local.set({ "last-heartbeat": new Date().getTime() });
|
|
}
|
|
|
|
/**
|
|
* Starts the heartbeat interval which keeps the service worker alive.
|
|
*/
|
|
async function startHeartbeat() {
|
|
// Run the heartbeat once at service worker startup, then again every 20 seconds.
|
|
runHeartbeat()
|
|
.then(() => setInterval(runHeartbeat, 20 * 1000))
|
|
.catch((error) => logService.error(error));
|
|
}
|