All updates
Release 0.5.5 - API key polish, contacts migration & topic management

API key polish, contacts migration & topic management

API key UX refinements, migration to the contacts service, and topic enrollment management across the dashboard.

API KeysContactsTopicsPropertiesDashboardSettings

Planning

  • Contacts service migration Migrated audience module to a new dedicated contacts backend service with property management. Renamed Audience to Contact, AudienceTopic to Topic throughout the codebase.
  • Topic enrollment model Designed auto-enroll and visibility options for topics with opt-in/opt-out semantics. Planned enrollment links on contact headers and topic action dropdowns.

Design

  • API key management redesign Redesigned empty state with animations, granular loading skeletons for header stats, creator information display, API details drawer with TabMenuHorizontal and CodeBlock, filter dropdowns by status and creator.
  • Contact detail page Contact header component with property table, dedicated modals for editing, deletion with confirmation, and reserved field rendering with hash icon indicators.
  • Topic management UI Create/edit modals with auto-enroll switch (checkedColor prop), visibility toggles, pro tip positioning, topic actions dropdown with centralized logic, and description display.
  • Dashboard shell improvements Modularized sidebar with animated hover background, user menu with boring-avatars, organization switcher, feature cards on dashboard home, API key display with usage chart.

Frontend

  • API key management overhaul Enable/disable, edit (name only), and rotate functionalities with dedicated modals. Enforce copying before closing creation modal, post-deletion navigation, prefix label clarification, filter dropdown by status and creator.
  • API key UI polish Creator information with tooltip, API details drawer with code blocks and copy functionality, ApiKeyActionsDropdown component, granular header stats skeletons, pagination controls, and animated empty states.
  • Contact property management Property creation modal extraction, filter dropdown, loading skeletons with animations, relative time display, hard deletion with confirmation dialog, type selection, default values, and name validation.
  • Contact editing flow Contact edit modal with Cmd/Ctrl+Enter submit, contact detail page with header component, view details from table dropdown, deletion confirmation modal, and row navigation.
  • Topic management Topic creation with auto-enroll and visibility options, editing and deletion, enrollment management for contacts, topic actions dropdown with edit/delete/enrollment/visibility toggles, navigable topic links in contact header.
  • Contacts & topics consolidation Topics integrated under contacts tabbed interface, dedicated topic pages (listing, adding, viewing), contact topic enrollment management, and pagination across all list views.
  • Dashboard home page Feature cards for organization navigation, API key display with scraped pages chart (graph-up/graph-down icons), actual API key generation, and chart styling refinements.
  • Settings improvements Feedback popover, spinner component replacing Icon loader, consolidated PageSizeDropdown, AnimatedBackButton with onClick prop, dark mode toast styling, and API details components for contacts/topics.

Backend

  • Contacts service Migrated audience module to new contacts backend. Contact creation stores userId, status standardized to lowercase, bulk import, topic subscription management (subscribe, unsubscribe, remove).
  • Contact properties Property CRUD with name validation, hard deletion endpoint, secured delete, backend field name updates for consistency.
  • Topic schema & API New topic and mapper tables replacing audience groups. Topic auto-enrollment and visibility fields, enrollment management with dedicated endpoint, soft-delete support, nullable description.
  • API key enhancements Creator details in responses (user data fetch), removed userId from lookup queries, improved rotation flow, structured HTTP logging, and enhanced schema/authentication.
  • Workflow API routing Caddyfile routing and database initialization scripts for the workflow service API.

DevOps

  • Service configuration Mailpit UI routing in Caddyfile, workflow API configuration, and database initialization scripts.
  • Dashboard infrastructure Standardized spinner colors, input sizes across frontend, and dark mode styling for toast notifications.