allowlist.tsfix: allow HTML files in brain upload allowlist Add .html/.htm (text/html) as a supported upload category so users can drag-and-drop or select HTML files via the file picker in the brain UI. Updates both the frontend and server allowlists in sync. Co-Authored-By: Claude Sonnet 4.6 (1M context) <<email>>Jun 18, 2026, 2:54 PMdropTraversal.tsfeat: v1 working image uploadMay 6, 2026, 1:27 PMpastedFiles.tsfeat: paste screenshots from the clipboard into the chat input Cmd/Ctrl+V of a copied image now attaches it to the message, routed through the same allowlist validation + upload path as drag-and-drop. Nameless clipboard files get a synthesized filename. Co-Authored-By: Claude Opus 4.8 (1M context) <<email>>Jul 24, 2026, 10:14 PMuploadRunner.tsfix(types): close 205 typecheck errors by repairing real client/server drift apps/mail typechecked against a stale apps/server/dist d.ts (the server's package.json points "types" at dist), so a chunk of the reported drift was phantom. Rebuilt it and fixed the four script errors that blocked `tsc -b` in server, which is what regenerates it. The rest was genuine contract drift, fixed at the source rather than cast away — routes that dropped fields their callers still read (agentExecutions, getUpcomingCalendarEvents' conversationId, createCanvas' description), schema splits the UI never followed (conversationUsers vs conversationContacts), and enums that grew server-side but not client-side (TASK_TYPES, ActionStatus, DateFilterOperator). Also deletes code that was already dead: an unreferenced sort popover whose store API is gone, a panel importing a deleted module, the system-skill metadata UI whose mutation was removed deliberately, and a test asserting a store method that no longer exists. apps/server: 4 -> 0. apps/mail: 228 -> 23, all remaining errors being dependency resolution (zod v3/v4, react-router dev/runtime skew, tiptap v2 via novel) rather than code. Co-Authored-By: Claude Opus 5 (1M context) <<email>>Aug 2, 2026, 7:45 PMuseFileUpload.tsrefactor: drop subPath everywhere — full canonical path migration (Phase 2) Completes the path-canonicalization migration started in "refactor: migrate documents.getDoc input to canonical path (Phase 1)". Server - documents.path is now the sole source of truth; the deprecated scope_type / scope_id / sub_path columns are removed from the Drizzle schema (DB drop in migration 0032). - GetDocResult no longer returns `subPath` — clients derive the relative suffix from `path` when needed. - file-system FsNode loses its subPath shim; chat-attachments authorization checks the path prefix instead of the dropped scopeType column. - One-shot Phase A migration scripts (seed-file-system, backfill-overview-docs-to-agent-namespace) are deleted — they operated exclusively on the columns being dropped. - account-setup/phase1-org uses a path-prefix LIKE filter in place of the deleted scope-column equality. Client - FsNode in documentsSlice drops `subPath`; all hierarchical operations (rename, move, delete subtree, sort) now operate on path prefixes via a new `rootPrefixForScope` helper. - New `relativeSubPath(path)` helper exported from documentsSlice for the handful of display callers that genuinely need the in-scope portion. - ConversationDocumentData, PendingDocNavigation, FileLinkSuggestionItem, DocLinkSuggestion, FsNode-derived types in CompanyExplorer / playground / Reports / file-graph all lose the `subPath` field. - ActiveDoc in OverviewDocTab continues to thread a relative `subPath` internally — that's a local-state concept used to build the canonical path inside the component. - FileLinkChip, document-store playground, ReportsView, ConversationDocsTab, DocumentSaveJigTab, AgendaDocTab, PastEventsTimeline, ConversationBody* components migrated to derive label/breadcrumb from `path` directly. Migration - 0032_documents_drop_deprecated_scope_columns.sql deletes orphan rows created by the doubled-prefix bug (path ~ 'conversation/{id}/conversation/'), then drops the scope_type / scope_id / sub_path columns. Co-Authored-By: Claude Opus 4.7 (1M context) <<email>>May 19, 2026, 11:18 AM