Add enterprise email metadata services — labels, filters, smart folders, batch ops
Plans 1-3: metadata schema, JPA entities, repositories, conversation threading, label CRUD, filter rule engine with async retroactive apply, smart folder criter...
Add email HTML sanitization and CSS isolation via Shadow DOM
Replace raw dangerouslySetInnerHTML in MessageBrowser with a sanitized email renderer that uses DOMPurify + css-tree for HTML/CSS filtering and a closed Shadow ...
Use StringRedisTemplate to read OTK/session values stored as plain strings
The Next.js app stores OTK and *** values as plain strings in Redis. The default RedisTemplate uses JSON serializer which fails to parse them.
Resolve TypeScript errors in useEmailWebSocket hook
- Remove non-existent connectHeaders property from Client options - Replace client.active with client.connected for @stomp/stompjs compatibility
Add missing jakarta.mail.event imports and catch IOException in NATS handler
Rewrite email components to use real EmailService API
- FolderSidebar: fetch folders via API, real create folder, WebSocket refresh - MessageBrowser: real message fetch/search/star/delete with optimistic updates - ...
Add K8s manifests (configmap, deployment, service, ingressroute, middleware)
Add EmailCredentialService with CockroachDB + MySQL lookup + Redis cache
Add EmailService + email client design spec
Comprehensive design for new EmailService Java microservice and fully functional email client UI at /messages, connecting to existing Postfix/Dovecot mail stack...
Match create button styling to existing global.css pattern
Use component={Link} with href, var(--color-primary) colors, and consistent sizing to match the existing Orders and Applications buttons.
Move create buttons to right side of pipeline tab toolbars
Remove duplicate left-side buttons where right-side ones already existed, and reposition newly added buttons to the right after other toolbar controls.
Add "New" create buttons to all pipeline tab toolbars
Each pipeline tab now has a create button in its toolbar for quick record creation.
Give pipeline datagrid columns explicit widths with one flex column
Replace minWidth/maxWidth ranges with explicit width values so columns are properly sized for their data. Each grid has exactly one descriptive column with flex...
Remove toolbar margin gap between sub-tab row and datagrid
Remove mb:1 from toolbar wrapper in Commitments and Orders tabs, and add py:3px to the sub-tab panel for breathing room.
Remove padding from pipeline tab wrappers so datagrid matches sub-tab width
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.