Global Search, Admin Panel & Feature Flags
· 3 min read
Introducing Meilisearch-powered global search across all content types, a brand-new Admin Panel with Tailwind CSS and shadcn/ui, and a flexible feature flag management system.
New Features
Global Search with Meilisearch
A powerful full-text search experience across the entire workspace:
- Multi-index search — search across documents, drive files, boards, channels, and more from a single query
- Workspace context — all search results are scoped to the current workspace with proper access filters
- Participant-aware indexing — resolves participant IDs including team members for accurate access control
- Queue-based indexing — content changes are indexed asynchronously via a dedicated Meilisearch queue
- Ranking rules and stop words — configured for optimal relevance and search quality
Admin Panel
A comprehensive admin panel for platform management, built with modern tooling:
- Tailwind CSS + shadcn/ui — modern component library with consistent design tokens
- User details — view user activity stats, storage usage, and credentials
- Workspace details — workspace members, Stripe billing info, and configuration
- Feature flags — manage feature flag overrides per workspace and per user
- URL-based state — search, sort, and pagination persisted in URL for shareable views
- Optimized queries — repository pattern with faceted aggregation pipelines
- AI app config — management UI and endpoints for AI application configuration
Feature Flags
A new feature flag management system for controlled rollout:
- Admin overrides — enable or disable features at the platform level
- User overrides — per-user feature flag configuration for beta testing
- Authentication guard — feature flag requests require proper authentication
- Feature usage tracking — register and track usage of features like meeting channels, doc sign, and office
Inbox — JMAP Migration
- Stalwart mail server — migrated from IMAP/Mailcow to JMAP protocol with Stalwart mail server for better performance and reliability
- Email signatures — create and manage email signatures for inbox messages (#2424)
Agenda
- Event form date selection — improved date picker in the agenda event creation form (#2408)
- GraphQL mutations — backend mutations for creating, updating, and deleting agenda events (#2391)
Other Features
- AI folder context — select folders from Drive explorer to add as context to AI conversations (#2422)
- AI formula assistant — intelligent formula assistant for board formula columns (#2416)
- Connections — integration flow for connecting external services to boards (#2406)
- Drive sorting — sorting functionality in the Drive module with column-based ordering (#2401)
- Drive search — search submission and advanced filters for Drive content (#2400)
- Time picker — new reusable time picker component for forms (#2407)
- Apple emojis — switched emoji set to Apple style for consistent rendering across platforms (#2418)
- Meeting Channels — monthly recurrence compatibility with Google Calendar (#2393)
- Booking emails — email templates for agenda bookings with simplified meeting CTAs (#2398)
Bug Fixes
- Board: fixed automation error when using filters (#2427), column mutation errors and duplicate keys (#2417)
- Board: fixed queue error on filter operations (#2411)
- Docs: fixed cover image display for flat color covers (#2409)
- Editor: fixed background color of codeblock options (#2423)
- Database: added indexes for improved query performance on frequent operations
- LiveKit: added self-hosted webhook support, fixed adaptive stream for self-hosted servers
- Billing: added error tracking for failed subscription discounts, wrapped invoice retrieval in try-catch
Improvements
- Drive refactoring — continued cleanup and adjustments to the Drive module architecture (#2412)
- API utils — replaced HTTP404Error with HTTP400Error for more accurate error semantics
- Docker builds — optimized build cache strategy and CI workflow improvements
- Livekit logging — silenced verbose LiveKit logs and removed console drops in development
