MCPcopy Index your code
hub / github.com/ZenNotes/zennotes / setLocalVault

Method setLocalVault

apps/desktop/src/main/window-vaults.ts:34–62  ·  view source on GitHub ↗
(windowId: number, vault: VaultInfo)

Source from the content-addressed store, hash-verified

32 constructor(private readonly options: WindowVaultRegistryOptions) {}
33
34 setLocalVault(windowId: number, vault: VaultInfo): void {
35 const root = normalizeRoot(vault.root)
36 const previous = this.sessions.get(windowId)
37 if (previous?.mode === 'local' && previous.vault) {
38 const previousRoot = normalizeRoot(previous.vault.root)
39 if (previousRoot !== root) this.detachLocalWindow(windowId, previousRoot)
40 }
41
42 this.sessions.set(windowId, {
43 mode: 'local',
44 vault: { ...vault, root }
45 })
46
47 let registration = this.localVaultWatches.get(root)
48 if (!registration) {
49 const watcher = this.options.makeWatcher()
50 registration = {
51 root,
52 watcher,
53 windowIds: new Set<number>()
54 }
55 watcher.start(root, (ev) => {
56 this.options.invalidateVault(root, ev)
57 this.sendLocalVaultChange(root, ev)
58 })
59 this.localVaultWatches.set(root, registration)
60 }
61 registration.windowIds.add(windowId)
62 }
63
64 setRemoteVault(windowId: number, vault: VaultInfo | null): void {
65 const previous = this.sessions.get(windowId)

Callers 3

setVaultForWindowFunction · 0.80

Calls 4

detachLocalWindowMethod · 0.95
sendLocalVaultChangeMethod · 0.95
normalizeRootFunction · 0.85
startMethod · 0.65

Tested by

no test coverage detected