The Three Changes That Matter This Month
You've got a document open. You switch to dark mode. The document viewer stays bright white. Annoying. We fixed that.
You're working in AiFiler. You want to create a new document, run a search, or trigger an action. Three different command palettes pop up depending on what you're doing. Confusing. We fixed that too.
Your team uploads a 50-page DOCX with embedded tables and charts. AiFiler takes 8 seconds to parse it. Your team waits. We made it faster.
These aren't flashy features. They're the kind of improvements that make you realize you were tolerating friction you didn't need to.
Document Viewers Now Respect Your Theme
Before: You set AiFiler to dark mode. You open a PDF or Word document in view mode. The document viewer stays locked to white-paper style, forcing your eyes to adjust every time you switch between the editor and the document.
After: The document viewer inherits your theme preference. Dark mode? The viewer goes dark. Light mode? It stays light. No more context-switching headaches.
How to see it: Open any document in your workspace. Click the three-dot menu on any document row and select "View." Switch your theme using the settings icon in the top-right corner (gear icon). The viewer updates instantly.
This was a one-line fix in the codebase (view-mode: force document viewers to white-paper style regardless of theme), but it removes a small daily frustration for anyone who toggles between light and dark mode.
One Command Palette, 87 Intents
Before: You had three ways to trigger actions depending on what you were doing:
- Universal Command (Ctrl+Shift+A) for AI-powered searches and document operations
- New Picker scattered across the interface for creating documents
- Command Palette in the editor for formatting and navigation
You'd reach for the wrong one. You'd have to remember which shortcut did what.
After: Everything routes through Universal Command (Ctrl+Shift+A). One entry point. 87 different intents it can handle—from "create a new spreadsheet" to "search for contracts signed in Q4" to "batch-move these 15 documents to the Legal folder."
The intent router (our universalRouter.ts) analyzes what you type and figures out what you're trying to do. Type "new doc" and it creates a document. Type "find all invoices from acme" and it searches. Type "move these to archive" and it batch-moves selected rows.
How to try it:
- Press Ctrl+Shift+A (or Cmd+Shift+A on Mac)
- Type "new spreadsheet" → AiFiler creates one
- Press Ctrl+Shift+A again
- Type "contracts 2026" → AiFiler searches your knowledge graph
The unification happened across three commits that collapsed the three editor mounts into one wrapper and removed the separate New picker. It's invisible to you, but it means fewer UI surfaces to learn.
File Parsing Gets Faster
Before: Uploading a 50-page DOCX with embedded tables, charts, and images took 8–12 seconds to parse. Your team watched the spinner. Waiting is friction.
After: Same file parses in 3–5 seconds. We optimized the parsing pipeline (lib/ingest/parseFile.ts) to handle DOCX, XLSX, and PPTX files more efficiently. The Anthropic Files API integration now batches smaller chunks instead of processing the entire file as one unit.
The improvement isn't just speed—it's reliability. We smoke-test the parsing skills against the live Anthropic API before every deployment (npm run skills:smoke). If parsing breaks, we catch it before you hit upload.
How to see it: Upload a document larger than 20 pages. Watch the parse time in the activity log. It should complete in seconds, not minutes.
What's Coming Next
We're working on three things:
Smarter intent detection. Right now, Universal Command uses heuristics to guess what you want. We're training it on actual usage patterns so it gets better at understanding context. "Move these to legal" should know you mean the Legal folder, not the legal-hold status.
Mobile tap targets. AiFiler works on phones, but the buttons are too small. We're redesigning the mobile interface to use bigger, more forgiving tap targets. No more accidental clicks.
Security hardening. We've been auditing our Supabase configuration and cleared four ERROR advisors this month. More work coming to ensure your data stays private and encrypted.
The Boring Stuff (That Matters)
We also:
- Silenced a StrictMode race condition in
useTableDatathat was spamming 401 errors in dev - Replaced stale
activeTabletest cases with the newactiveMatrixpattern - Dropped the old TABLE_* and ROW_* webhooks that nobody was using
None of these show up in the UI. All of them make the codebase more stable.
Try It Today
If you're on AiFiler, these changes are live. No update needed—they rolled out automatically.
Start with Universal Command (Ctrl+Shift+A). It's the fastest way to see what's new. Type anything. The router will figure out what you need.
And if you're in dark mode, open a document. The viewer should match your theme now. Small thing. Big difference.
Enjoyed this article?
Get more articles like this delivered to your inbox. No spam, unsubscribe anytime.