MCPcopy Create free account
hub / github.com/ZenNotes/zennotes / ensureWebServerSession

Function ensureWebServerSession

packages/app-core/src/store.ts:2637–2661  ·  view source on GitHub ↗
(
  capabilities?: ServerCapabilities | null
)

Source from the content-addressed store, hash-verified

2635}
2636
2637async function ensureWebServerSession(
2638 capabilities?: ServerCapabilities | null
2639): Promise<boolean> {
2640 if (window.zen.getAppInfo().runtime !== 'web') return true
2641
2642 const serverCapabilities = capabilities ?? (await window.zen.getServerCapabilities())
2643 if (!serverCapabilities?.authRequired || !serverCapabilities.supportsSessionLogin) {
2644 return true
2645 }
2646
2647 const session = await window.zen.getServerSession()
2648 if (session.authenticated) return true
2649
2650 const token = await promptApp({
2651 title: 'Server Auth Token',
2652 description:
2653 'This ZenNotes server requires its auth token before notes can be accessed in the browser.',
2654 placeholder: 'Enter the server auth token',
2655 okLabel: 'Sign In'
2656 })
2657 if (!token?.trim()) return false
2658
2659 await window.zen.loginServerSession(token.trim())
2660 return true
2661}
2662
2663function describeWebServerSetupError(err: unknown): string {
2664 const message = err instanceof Error ? err.message : String(err)

Callers 1

store.tsFile · 0.85

Calls 5

promptAppFunction · 0.90
getAppInfoMethod · 0.80
getServerCapabilitiesMethod · 0.80
getServerSessionMethod · 0.80
loginServerSessionMethod · 0.80

Tested by

no test coverage detected