Tambahkan Layanan SmttpService surel dengan pengiriman, draft, dan dukungan lampiran
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
Seamless sub-tab and datagrid panel styling on pipeline market tabs
Remove the content Card wrapper for market tabs so there's no unnecessary panel behind the datagrid. Style the sub-tab row with rounded top / square bottom corn...
Compact pipeline tab layouts for more datagrid vertical space
- Remove page titles from all pipeline tab components (tab already serves as title) - Remove market ID/label chips from tab headers - Move toolbar (filters, sea...
Replace hardcoded organization/network labels with dynamic branch labels
Use **************** from useUserInfo hook so the /network and /network/create pages respect the branch label configured on ****************
Remove sticky positioning from MemberHeader so form scrolls with header
The MemberHeader was pinned to the top of the scroll container with position: sticky, causing the form content to scroll underneath it. Now the header and form ...
Match stepper colors to kamo-register team page
Active step uses hexagon with --color-primary, completed/visited steps use circles with --color-primary-light, incomplete steps use circles with --color-primary...
Prevent pipeline detail pages from extending past viewport
Root Box changed from minHeight: 100vh to height: 100% with minHeight: 0 to match the leads view pattern. Content scrolls within the card, not the page itself. ...
Remove Notes tabs from all pipeline detail pages
Notes functionality is replaced by the Communications component which is auto-appended by PipelineRecordLayout. Removed notes-related state, handlers, types, an...
Restore 9-step wide layout with hexagon icons and visited-step navigation
Restores the multi-file 9-step architecture with sidebar stepper and full-width content. Adds hexagon step icons, visited-step click navigation, and underlined ...
Rebuild pipeline detail pages with full modal content and add missing markets
- Refactor PipelineRecordLayout to use tabs prop with LeadViewClient pattern (tabs in separate Card below header, flex layout for full height) - Rebuild all 6...
Hexagon step icons, visited step navigation, underlined visited titles
- Replace circular step icon backgrounds with hexagon shapes using inline SVG - Track visited steps so users can skip forward to any previously visited step - U...
Rebuild layout to use full width with sidebar stepper
Replace narrow max-w-3xl centered card with full-width layout featuring a vertical sidebar stepper and multi-column step content to minimize scrolling.
Address review issues
- Validate intermediate steps when jumping forward via stepper - Pass warnings as query params instead of losing them on navigation - Revoke previous AI-generat...
Add auth check and sanitize input on POST /org
- Return 401 if no authenticated user (prevents orphan orgs) - Build Organization from allowed fields only (prevents mass-assignment) - Fix colors field name (w...
Set owner and create team member on org creation
When creating an organization via POST /api/security/org, the authenticated user is now set as the org owner and gets Member + TeamMember records with FULL acce...
Restore full step component implementations
Replace stub step components with the complete implementations that include all form fields, validation, and UI logic for each wizard step.
Add security models to security roles with backend integration
Add multi-select for security models in the security role create/edit dialog. Display assigned models in the roles table. Wire BranchSetupManager to persist sec...
Add security models CRUD controller and wire to security roles
Add SecurityModelController with full CRUD at /api/security/models. Update SecurityRoleController to accept securityModelIds on create/update and expose GET /se...
Tambahkan Entitas Model ChildOrvorSecurityModel dan hubungkan model keamanan ke peran
Tambahkan dukungan backend untuk model keamanan organisasi anak dengan banyak- to- banyak hubungan dengan peran keamanan melalui OrolRoleSecurityModel bergabung...
Replace pipeline modal dialogs with full detail pages
Rebuild all 6 market detail pages (Orders, Applications, Bookings, Agreements, Procurement, Service) from scratch using a shared PipelineRecordLayout component....
Seperti apa yang Anda lihat pengiriman?
Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.