Kanban DnD, Agenda Events & DataLoader
· 4 min read
Kanban view gets a complete drag-and-drop overhaul with virtualization, the Agenda module gains full CRUD capabilities, and GraphQL performance improves dramatically with DataLoader integration.
New Features
Kanban — Drag & Drop Overhaul
A complete rewrite of the Kanban drag-and-drop system for better performance and reliability (#2473, #2472):
- Virtualized rendering — Kanban cards now use virtualization for smooth scrolling on boards with thousands of rows
- Drop projection — dedicated Zustand store for calculating drop position, providing visual feedback before the drop
- Sorting support — sort Kanban cards within columns, with DnD disabled when custom sort is active (#2486)
- Visual indicators — improved drop column indicator for clearer drag feedback
Agenda — Full CRUD
The Agenda module is now fully functional with create, read, update, and delete operations:
- Delete events — remove events from the details popover with confirmation (#2488)
- Create and delete mutations — GraphQL mutations integrated with the frontend (#2487)
- Event details — full event details display with participant management, header spacing fixes, and list improvements (#2414)
- Inbound email processing — worker for processing inbound emails to create agenda events, with dynamic replyTo configuration (#2486, #2493)
- Compact form — focus management for the compact event creation form
Inbox — Settings & Actions
- Edit settings — manage inbox members (#2479), delete inboxes (#2481), and configure addresses (#2478)
- Thread actions — actions for inbox threads with signature selection popover (#2456)
- Email actions — GraphQL mutations for email operations like archive, delete, and flag (#2451, #2425)
- Automation email — email send logic with Outlook integration and receiver column selector (#2435, #2459)
Board — New Column Types & Features
- Password column — securely store hashed passwords using Argon2, enabling boards to function as a true database (#2484)
- Self-link column — link rows within the same board for self-referential relationships (#2461)
- Automation row description — add descriptions when creating rows via automation (#2480)
- Dashboard feature — base dashboard feature with type safety improvements
- Advanced formatting — number and formula column formatting with custom formats, prefixes, and suffixes (#2347)
GraphQL DataLoader
Integrated DataLoader for board and table GraphQL queries, dramatically reducing database queries (#2415):
- Batch loading for board participants, workspace members, and related data
- Optimized performance with lean queries and proper indexing
- Eliminates N+1 query problems across board-related resolvers
AI Enhancements
- Paste images in chat — paste images directly into AI chat input for visual context (#2469)
- Add row with AI — create board rows using AI with template management (#2448)
Other Features
- Drive legacy cleanup — removed old Drive context and migrated core components (parts 1 & 3) (#2475, #2492)
- Calendar/Timeline — persist timescale settings across sessions (#2477)
- ISBLANK formula — new formula function with comprehensive tests (#2528)
- Permission helpers — new helper functions and RBAC usage patterns (#2457)
- Recents — migrated preferences persistence to server-side with React Query, with automatic cleanup limited to 100 entries (#2460)
- Invite messages — show invite message field for all member types (#2476)
- Doc comments — added replyTo field for doc comment notifications (#2439)
- Support chat — real-time support chat system with admin socket namespace and duplicate message prevention
- AWS Lambda — email inbound handler for processing incoming emails
Bug Fixes
- Board: fixed keystroke handling, title order, filter on group, and column selection for list view (#2485)
- Board: fixed chart rendering, edit panel issues, and several list view bugs (#2483)
- Board: fixed automation type action enum (#2467)
- Category: fixed drag-drop nesting and collapse persistence bugs (#2464)
- Office editor: prevented page refetch when tab focus changes, avoiding unnecessary reloads (#2474)
- Docs: fixed crash error when role changes on a document (#2463)
- Board: fixed duplicate row with description (#2441)
Improvements
- Drive — migrated download functionality to new module and cleaned up legacy code (#2491)
- Admin access — admins can now delete drive contents (#2468), docs (#2466), and saved AI prompts (#2458)
- DOCX converter — major improvements to document conversion, doc UX, file rotation, and deletion (#2432)
- Dashboard — added lean() call to dashboard queries for better performance
