Summary
After DenchClaw web UI starts, sidebar navigation shows only a few sections (Calendar, Companies, People and Inbox). All CRM object sections (Companies, Opportunities, Tasks, etc.) disappear after the first workspace tree refresh.
Root Cause Analysis
The /api/workspace/tree endpoint returns zero object types for folders that existed before the current server process started. Newly created folders with identical .object.yaml files work perfectly.
Key Finding: Folder Exclusion Bug
Folders created during current server process (e.g., test-obj, my-test-xyz): ✅ Appear as type: "object"
Original folders (activity, people, company, opportunity, etc.): ❌ Completely invisible — not even as type: "folder"
The original folders do not appear anywhere in the tree response at any depth.
Copying an original folder to a new name (e.g., test-brand-copied from brand/) works perfectly.
Recreating an original folder with identical content does NOT fix it.
Renaming an original folder to something else does NOT fix it.
Deleting and recreating a folder with the same name does NOT fix it.
Secondary Issue: Missing icon Column
The compiled server (denchclaw@3.0.2) queries icon from the objects table:
SELECT name, default_view, COALESCE(hidden_in_sidebar, false) AS hidden_in_sidebar FROM objects
When the icon column is missing (schema mismatch between DB and expected schema), the query fails with:
Binder Error: Table "objects" does not have a column with name "icon"
This causes the tree builder to receive zero objects, cascading into an empty sidebar.
Expected Behavior
All folders containing valid .object.yaml files should appear as type: "object" in the sidebar, regardless of when they were created.
Additional Context
.object.yaml files in original folders are valid YAML and parse correctly
DB objects table has correct rows with hidden_in_sidebar = false
Folder permissions are standard (drwxrwxr-x, owned by server user)
No .gitignore, .next/cache, or other exclusion mechanisms affect these folders
The issue persists across server restarts, suggesting state is cached in compiled output or an external store
Environment
DenchClaw version: 3.0.2
Runtime: Next.js 15.5.12 standalone build
OS: Ubuntu Linux 6.17.0-22-generic
Node.js: v22.22.2
DB: DuckDB, file at /home/adminul/.openclaw-dench/workspace/workspace.duckdb
Workspace root: /home/adminul/.openclaw-dench/workspace
Summary
After DenchClaw web UI starts, sidebar navigation shows only a few sections (Calendar, Companies, People and Inbox). All CRM object sections (Companies, Opportunities, Tasks, etc.) disappear after the first workspace tree refresh.
Root Cause Analysis
The /api/workspace/tree endpoint returns zero object types for folders that existed before the current server process started. Newly created folders with identical .object.yaml files work perfectly.
Key Finding: Folder Exclusion Bug
Folders created during current server process (e.g., test-obj, my-test-xyz): ✅ Appear as type: "object"
Original folders (activity, people, company, opportunity, etc.): ❌ Completely invisible — not even as type: "folder"
The original folders do not appear anywhere in the tree response at any depth.
Copying an original folder to a new name (e.g., test-brand-copied from brand/) works perfectly.
Recreating an original folder with identical content does NOT fix it.
Renaming an original folder to something else does NOT fix it.
Deleting and recreating a folder with the same name does NOT fix it.
Secondary Issue: Missing icon Column
The compiled server (denchclaw@3.0.2) queries icon from the objects table:
SELECT name, default_view, COALESCE(hidden_in_sidebar, false) AS hidden_in_sidebar FROM objects
When the icon column is missing (schema mismatch between DB and expected schema), the query fails with:
Binder Error: Table "objects" does not have a column with name "icon"
This causes the tree builder to receive zero objects, cascading into an empty sidebar.
Expected Behavior
All folders containing valid .object.yaml files should appear as type: "object" in the sidebar, regardless of when they were created.
Additional Context
.object.yaml files in original folders are valid YAML and parse correctly
DB objects table has correct rows with hidden_in_sidebar = false
Folder permissions are standard (drwxrwxr-x, owned by server user)
No .gitignore, .next/cache, or other exclusion mechanisms affect these folders
The issue persists across server restarts, suggesting state is cached in compiled output or an external store
Environment
DenchClaw version: 3.0.2
Runtime: Next.js 15.5.12 standalone build
OS: Ubuntu Linux 6.17.0-22-generic
Node.js: v22.22.2
DB: DuckDB, file at /home/adminul/.openclaw-dench/workspace/workspace.duckdb
Workspace root: /home/adminul/.openclaw-dench/workspace