🚀 AppForge v0.2.2-alpha Release Notes
We are excited to announce AppForge v0.2.2-alpha! This release resolves critical database discovery bugs across multi-project environments and legacy server setups, introduces project-isolated SDK client architecture, and brings a new Interactive Database Viewer webview panel.
🌟 What's New & Highlighted Features
🗄️ Unified Database Discovery (TablesDB.list)
- 100% Database Parity: Upgraded the core database query layer to invoke
tablesDB.list()(GET /tablesdb) as the primary query target. - Legacy & Modern Parity: Queries through
/tablesdbaggregate both legacy collection-based schemas (e.g., Appwrite 1.7.4) and modern table entities (Appwrite v27.x+ and Cloud). - Automatic Degradation: Self-hosted instances running older SDK versions without
/tablesdbsupport gracefully fall back to standardDatabases.list()without throwing errors.
🔒 Project-Isolated Client Architecture
- Multi-Project Isolation: Introduced
AppwriteClientService.createForProject(), dynamically generating isolated SDK instances for each project node in the tree sidebar. - No Credential Contamination: Eliminates workspace singleton issues where expanding secondary projects reused credentials from the active project.
📊 Interactive Webview Database Viewer
- Editor Data Table: Click on any collection or table node in the sidebar to launch a VS Code theme-aware Database Viewer editor tab.
- Key Capabilities:
- View dynamic attribute columns alongside system metadata (
$id,$createdAt,$updatedAt,$permissions). - Real-time client-side search filtering across document attributes.
- Quick actions to inspect document JSON or delete document rows.
- Panel key tracking (
activeViewerPanels) to reveal existing tabs instead of opening duplicates.
- View dynamic attribute columns alongside system metadata (
🔍 Transparent Error Diagnostics
- Actionable Status Nodes: Replaced empty array error swallowing with descriptive diagnostic nodes in the Tree View.
- Instantly highlights missing API keys (
🔑 No API key saved) or missing permission scopes (❌ AppwriteException: missing scope (databases.read)) directly on the tree item.
🛠️ Bug Fixes & Codebase Hardening
- TypeScript ESM Compatibility: Appended explicit
.jsextensions to dynamicimport()statements, ensuring compliance underNode16/NodeNextmodule resolution rules. - Command Binding: Properly connected
appforge.viewDatabaseto collection nodes to handle item clicks seamlessly. - Type Safety: Strictly typed callbacks and operational handlers to achieve 0 TypeScript compilation errors under strict mode.
💻 Compatibility
| Environment | Version / Target | Status |
|---|---|---|
| Appwrite Cloud | cloud.appwrite.io |
✅ Supported |
| Self-Hosted Appwrite | v1.5.x, v1.7.x, v27.x+ |
✅ Supported |
| VS Code Engine | ^1.120.0 |
✅ Supported |
| Node Appwrite SDK | ^13.0.0 |
✅ Supported |
🔄 Upgrade Path
Existing configurations and credentials stored in VS Code SecretStorage will remain intact. No manual project migration is needed.