Skip to main content

Kanban DnD, Agenda Events & DataLoader

· 4 min read
Copera Team
Copera Team
Product Team

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