CustomerMemberId is member ID string, resolve accounts by primaryMemberId
- posApi: AccountSummary uid string, add primaryMemberId; **************** customerMemberId string; **************** customerId string - SubscriptionOrderWizard...
Serialize customerMemberId as string to preserve Long precision
- AccountSummaryDTO: annotate uid with **************** and add primaryMemberId string field populated from primary_member_id - CreateSubscriptionOrderRequest: ...
Replace click-to-open with action popover + size controls
Clicking a hex head now opens a polished glass-morphism popover with contextual actions instead of immediately opening its tool window. Member chat heads expose...
Add MEMBER_UI_PREFERENCES table (order 60)
Idempotent CREATE for the generic per-member UI-preference store backing the hex-head popover size selector and future per-member UI settings. Schema mirrors th...
Add MemberUiPreferenceController for per-member UI settings
Backs the new hex-head popover size selector and any future small per- member UI preference. Endpoints under /api/security/members/me/ui- preferences resolve th...
Add MemberUiPreference entity for per-member UI prefs
Generic per-member UI preference store (memberId, prefKey, JSONB value) for small persisted UI settings. First consumer is the hex-head popover size selector.
Complete next-intl for System Diagnostics
Wire remaining MySQL, Redis, statistics, request, and accordion UI copy to components.settings.diagnostics keys; use locale-aware time and translated heap badge...
Revert "feat(billing): wire FeaturesManager to platform subscription for child-org gating"
This reverts commit ****************
Revert "feat(billing): add platform-subscription endpoint for cross-org feature gating"
This reverts commit ****************
Wire FeaturesManager to platform subscription for child-org gating
FeaturesManager was calling legacy **************** which throws (ungated fallback) instead of reading the real platform subscription. Now calls **************...
Add platform-subscription endpoint for cross-org feature gating
Child-org admins (like GNosia's owner Daniel) have their COMP subscription orders on the root KamoCRM org, not on their own org. FeaturesManager was querying t...
Legacy getCurrentSubscription stub must throw, not return null
Returning null made FeaturesManager treat every org as having no subscription (billingLoaded=true, hasSubscription=false), locking all feature toggles behind an...
Use translated aria-label for SettingsView tabs
Reads **************** from next-intl.
Ambient json modules for gitignored messages/*.json imports
`tsc` and the IDE resolve `messages/` JSON after merge without requiring committed files under messages/. Extend include for types/**/*.d.ts.
I18n for legacy hub content/sidebar via settingsLegacyHub
Replace hard-coded English with next-intl. Introduces stable topic id constants; activeTopic is compared against ids instead of translated display strings.
Scope SettingsSearchBar to components.settings namespace
Use **************** with searchBar.* keys instead of global t() with full dotted paths.
Wire landing page to settingsLanding translations
Replace hardcoded feature cards and section copy with useTranslations- backed strings from **************** including ICU branch label for branch types cards. C...
Move account settings help panels to message keys
Replace all hardcoded help copy on the organization account page with scoped useTranslations keys. Extend i18n-audit to report files missing translation hooks f...
Wire organization account hero and tabs to i18n keys
Use **************** strings for SettingsView title, subtitle, and tab labels so the UI shows translated copy instead of raw placeholders left in dictionary ove...
Move translations to kamo-translation-dictionary
All 22 locale files move to the centralized kamo-translation-dictionary repo. The CI now clones that repo and copies the kamo-marketing/ folder into messages/ b...
Move translations to kamo-translation-dictionary
All 22 locale files move to the centralized kamo-translation-dictionary repo. The CI now clones that repo and copies the kamo-internal/ folder into messages/ be...
Wire MUI Tooltip titles through common.actions and common.tooltips
Replace literal single-line Tooltip title strings with tCommon("actions.*") or tCommon("tooltips.*"), merge keys into messages/en.json, and fix nested component...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
