Add CRM status label customization with settings UI and end-to-end wiring across leads pages
Add department and job title selectors to member security tab
Team members can now be assigned to a department and job title via Autocomplete dropdowns in the Edit Security dialog. Summary card shows current assignments. R...
Apply field config end-to-end across preview, save, compose, and send
The field config toggles were only wired up as UI — they had no effect on signature rendering. This commit: - Extracts applyFieldConfig to types.ts as a shared...
Email signature field toggles, normalized social links, and Content tab reorder
- Move Content sub-tab to first position in email signature settings - Add admin-configurable contact field toggles per scope (user/department/company) with e...
Implement mailbox switcher with privilege-based access on /messages page
- Add Meet, POS, and 3 new email access privileges to frontend RoleRightType - Add ServiceType.MEET to frontend ServiceType enum - Add getAccessibleMailboxes AP...
Rewrite Roles & Permissions tab as singleton security config panel
Replaces role creation dialog with DepartmentManager-style singleton config: - Associated Roles: multi-select checkboxes from existing OrgRoles - Direct Rights:...
Remove duplicate inline help from email templates page
The help information was shown both inline above the templates list and in the Help & Tips sidebar. Removed the inline rendering to avoid wasting space, since t...
Use domainApi.listDomains instead of removed getDomains method in EmailMailboxManager
Add email domain management, mailbox provisioning UI, and member mailbox assignment
- Add domainApi and mailboxProvisioningApi to providerApi.ts - Add **************** capability detection to useProviderCapabilities - Create dedicated provider ...
Rewrite Roles & Permissions tab with singleton role selector and applied rights
Replaces multi-role creation dialog with Autocomplete dropdown for selecting a single existing OrgRole. Shows applied rights grouped by service type with source...
Auto-append email domain when alias entered without @, show actual error messages
When user enters just a username like "SYSAdmin", the domain from their primary email is auto-appended (e.g. "SYSAdmin@KamoCRM.com"). Also surfaces actual backe...
Convert support icon to dropdown menu, remove support from sidebar nav
Support icon in NavTop now opens a dropdown with two options: - "View Support Chats & Tickets" navigates to /support?tab=tickets - "Create New Support Chat/Tick...
Send member IDs as strings to prevent JavaScript number precision loss
Member IDs from CockroachDB exceed Number.MAX_SAFE_INTEGER, causing Number() to round e.g. 1161936315562426374 → 1161936315562426400. The backend then fails to ...
Make support ticket table auto-fill remaining parent height
Add flex: 1 and minHeight: 0 to outer container and TableContainer so the table stretches to fill available space. Pagination sticks to bottom with marginTop: a...
Apply same spacing and tab sizing corrections to SupportView
Match SettingsView layout: tighter hero padding (py: 2.5, px lg: 3), reduced content padding (px lg: 2, pb: 2), compact tabs (minHeight: 42, fontSize: 13px), an...
Tighten SettingsView spacing and reduce tab height to match account page
- Reduce hero section padding (py: 4 → 2.5, px lg: 4 → 3) - Reduce main content area padding (px lg: 4 → 2, pb: 6 → 2) - Reduce tab bar margin (mb: 3 → 1.5) - C...
Rename page header to My Account, tab to My Profile, normalize spacing and tab sizing
- Page header changed from "My Profile" to "My Account" - First tab renamed from "My Account" to "My Profile" - Normalize all tab content padding to match /sett...
Restore animated backgrounds to header, rename Avatar to Photo, fix background management
- Restore Ken Burns animated background images to MemberHeader with org/custom background support via new props (useOrgBackgrounds, customBackgrounds) - Renam...
Redesign member settings with modular tab architecture and card-based edit UI
Merge Profile and Membership & Permissions tabs into unified "My Account" tab with section-based edit-on-click cards. Extract functionality into dedicated tabs:...
Refactor API Access UI with granular scope toggles per key
Rename "Public Chat API Keys" to "Organization API Keys". Add scope management with toggle switches per key (PUBLIC_CHAT, SUBSCRIPTION_CATALOG). Scopes shown as...
Add polished MatrixCell component for feature matrix editing
New reusable MatrixCell component with modern, animated micro-interactions: Read mode: - Circular icon badges (green check / gray X) for booleans - Colored pil...
Add Edit Matrix button to toggle between read and edit modes
The matrix now starts in read-only view mode. Clicking "Edit Matrix" switches to inline edit mode with checkboxes, switches, and text inputs. Cancel reverts cha...
Redesign Features tab with tabbed layout and production-grade matrix
- Fix planFeatures API response key mismatch (subscriptionPlanFeatures -> planFeatures) - Split Features into two views via internal tabs: 1. Categories & Fea...
Parse JSONB string fields before array operations in grid renderers
compatiblePlanIds, includedInPlanIds, and applicablePlanIds come from the backend as JSON strings, not arrays. Added safe JSON.parse fallback in cell renderers ...
Align API response keys with backend and fix AG Grid rendering
- Fix 7 response key mismatches in posApi.ts (featureCategories, features, addOns, bundles, volumeDiscounts, promotions, agreementTemplates) - Switch all AG G...
Use docker/login-action + buildx for reliable registry auth
Replace bare docker login/build/push with the docker/login-action@v3, docker/setup-buildx-action@v3, and docker/build-push-action@v5 pattern that handles creden...
Enterprise subscription POS system - complete frontend rebuild
- Extended posApi.ts with 70+ subscription API methods and 28 new TypeScript interfaces - Added useSubscriptionPermissions hook for granular permission-based re...
Add POS (Commerce) to settings navigation menus
POS app was missing from settings sidebar and FeaturesManager route map, so enabling it from Apps & Features had no effect on navigation.
Integrate public chat key management into existing API Access tab
Rewrites APIManager.tsx with real backend calls to /api/public-chat-keys (backed by MediaService). Removes the separate PublicChatKeyManager tab and all nav ref...
Route public chat key API calls to MediaService instead of SecurityService
Changes proxy path from /api/security/public-chat-keys to /api/media/public-chat-keys to match the actual backend controller location in MediaService.
Add public chat API key management to security settings
Adds PublicChatKeyManager tab under Settings > Security for creating and managing public chat API keys. Keys are shown once at creation, stored hashed, and supp...
Remove stepper, overlay loading bar, persistent controls panel, font replacement toggle
Layout: - Removed step indicator (Select Area / Remove Background / Review) for more room - Loading bar now overlays on top of the preview image, hidden when co...
Side-by-side review layout with compact controls and auto-reprocess
Review step: - Preview on left, scrollable controls panel on right (240px) - Controls scroll independently while preview stays visible - No need to scroll below...
Pre-select entire image on crop, default to color vectorization
- Crop tool now starts with the full image pre-selected with 8 handles - Users can adjust from there or continue immediately — no "Use full image" needed - Defa...
User-friendly vector conversion flow with auto-convert for vector formats
UX improvements: - Replaced all "SVG" terminology with "vector" for non-technical users - Added educational guidance explaining why conversion is needed - Steps...
Add 8 draggable resize handles on crop selection edges and corners
- 4 corner handles (tl, tr, bl, br) with diagonal resize coders - 4 edge midpoint handles (tc, bc, ml, mr) with horizontal/vertical coders - Handles are draggab...
Replace react-easy-crop with freeform drag-to-select rectangle tool
react-easy-crop forced square/fixed-aspect selections. New canvas-based tool lets users click and drag any rectangle at any aspect ratio. Shows dimmed overlay o...
Show logo image on background picker step using img element
Canvas element wasn't rendering because it started with 0x0 dimensions. Use a visible <img> for display and an offscreen canvas for pixel sampling.
Combine docker login, build, and push in single step to preserve auth
Separate steps lose docker credentials between Forgejo runner step boundaries. Running login+build+push in a single shell ensures the auth config persists.
Add background color picker step and improve SVG conversion UX
- Added "Pick Background" step between Crop and Process - Users click on the image to select the background color to remove - Shows selected color swatch with R...
Use docker build/push directly instead of build-push-action
The docker/build-push-action with driver:docker loses auth credentials during the push phase. Using plain docker build + docker push ensures the login credentia...
Use path-based WebSocket routing via /vector-ws/ instead of separate subdomain
Je, unaona nini kuhusu usafiri?
Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.