Bugfix: How to access ExtensionContext.globalState from WebviewViewP...
Documentation for Sessions
🐛 Bugfix: How to access ExtensionContext.globalState from WebviewViewP...
Date: 2026-02-05
Time: 04:39:03 UTC
Session: editor2-89.9
Agent: storage
Confidence: 95%
Status: ✅ Documented
📋 Decision Context
Question:
How to access ExtensionContext.globalState from WebviewViewProvider?
Task: VSCode Extension Context Access
🎯 Decision Made
Chosen:
Pass context to constructor and store as property
Options Considered:
- Access via static singleton
- Pass context to constructor and store as property
- Use getExtension() API
- Import from extension.ts
💭 Reasoning
WebviewViewProvider classes need explicit access to ExtensionContext for globalState operations. The constructor receives extensionUri by default, but context must be explicitly passed: 1) Update constructor signature: constructor(extensionUri: vscode.Uri, context: vscode.ExtensionContext), 2) Store as class property: private readonly extensionContext: vscode.ExtensionContext, 3) Update registration: new MainPanelProvider(context.extensionUri, context). Common mistake: using _context parameter from resolveWebviewView() which is WebviewViewResolveContext, NOT ExtensionContext - they are different types!
📁 Files Involved
apps/vscode-gograb-ai/src/panels/main-panel.tsapps/vscode-gograb-ai/src/extension.ts
🔗 Related
- Decision ID:
dev_1770266343255_lj325k2 - Session: 89
- Workspace: editor2
Auto-generated by MCP Smart Consolidation