reqlanOverviewIdeasFilesCode filesClustersAttributesGraphPrint
Ideas/background_startup

Idea detail

background_startup

reqlan rq/extension/activation.rq:31

block

Summary

Startup work that must not block activation is coordinated by `scheduleBackgroundStartup` in main.ts.
- first_paint_startup gates index discovery and sync when the Context view opens; a three-second fallback preserves warm startup when the sidebar remains closed.
- The language client starts after the same paint signal when the Context view opens, with a one-second fallback so language features still start when the sidebar remains closed.
- Registers attribute and name catalog sync once the language client exists; the initial push covers an already-ready index and the catalog-update subscription covers indexes that become ready afterwards.
Index and language-client failures are logged and do not affect the already-available UI.

Jump to outbound references

Jump to inbound references

Navigation

Source file

reqlan rq/extension/activation.rq

community 9

community cluster

activation.rq

file cluster

reqlan rq/extension

folder cluster

status: Not present

status cluster

tag: Not present

tag cluster

Printable page

Static print-friendly idea sheet.

Attributes

No attributes declared.

Ancestor context

first_paint_startup

The activity-bar HTML shell is assigned synchronously by ["../../packages/extension/src/activity_bar_module/activity-bar-webview-provider.ts"]. Its Svelte app installs the host message listener before mount, then sends the one-shot `ready` handshake from a task queued after its first animation frame. ["../../packages/extension/src/extension/startup-gate.ts"] resolves that handshake once; `IndexService.activate` then discovers bases and syncs. If no view opens, a bounded three-second fallback starts the index without any visible first paint to contend with. Parser services inside each `WorkspaceIndex` are lazy and are created only when a file is actually parsed, not while bases are discovered. The sql. js asm implementation is emitted as a separate lazy vendor bundle, so loading `main.cjs` does not parse the database engine before `activate`.

Outbound references

KindIdeaPathSnippet
file_reference ../../packages/extension/src/extension/main.ts packages/extension/src/extension/main.ts main.ts
references first_paint_startup reqlan rq/extension/activation.rq first_paint_startup

Inbound references

KindIdeaPathSnippet
None

Unresolved references

KindIdeaPathSnippet
None

Local graph

Initialising graph…