Skip to content

v0.2.2-alpha

Latest

Choose a tag to compare

@ArhanAnsari ArhanAnsari released this 23 Jul 13:04
bad88e4

🚀 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 /tablesdb aggregate 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 /tablesdb support gracefully fall back to standard Databases.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.

🔍 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 .js extensions to dynamic import() statements, ensuring compliance under Node16/NodeNext module resolution rules.
  • Command Binding: Properly connected appforge.viewDatabase to 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.