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...
Add ChildOrgSecurityModel entity and link security models to roles
Add backend support for child organization security models with a many-to-many relationship to security roles via OrgRoleSecurityModel join entity. Includes ent...
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....
Add proactive session extension to prevent timeout while user is active
The session monitor only extended the Redis session when TTL dropped to ≤5 minutes, and at that point silently auto-extended without showing the warning popup. ...
Redesign Apps & Features page with polished modern UI
Restyle the settings/account apps tab with stats banner, gradient icon containers, always-visible category filter pills, refined card hover states, animated vie...
Swap My Account and My Branch buttons and reduce NavTop gaps
Swapped positions of "My Account" and "My {branch title}" buttons in the top nav, and halved all container-level gaps for tighter spacing.
Invalidate stale Redis cache missing org label fields
Cached org data from before the SecurityService update lacks the memberTitleNonPlural field. Detect this and re-fetch fresh data so custom member/team labels di...
Include member title labels and shortTitle in org domain response
The /org/domain/{domain} endpoint was missing memberTitlePlural, memberTitleNonPlural, teamMemberTitlePlural, teamMemberTitleNonPlural, and shortTitle fields fr...
Proxy all external API calls through Next.js to avoid CORS
Added catch-all /api/security/[...path] proxy route and updated ThemeConfig, FormAccountRecovery, FormPassportID, FormPersonalInfo, and FormRecoveryEnforcement ...
Show confirmation view with large flag after country selection
Replaces search/browse area with centered flag, country name, and "Switch country" link when a country is selected.
Proxy countries API through Next.js and disable testing mode
Direct fetch to api.kamocrm.com failed due to CORS. Added /api/countries proxy route (same pattern as /api/org) and disabled USE_TESTING_MODE.
Use full GitHub URLs for action references in Forgejo workflow
Shorthand refs (e.g. actions/checkout@v4) can fail to resolve on Forgejo runners. Aligned with kamo-internal's working format.
Use dynamic title prefix for member and team registration pages
Member shows "Join {org}", team shows "Apply to {org}".
Add background darkening overlay for member and team pages
Member page darkened by 20%, team page by 70%.
Use JdkClientHttpRequestFactory to support PATCH method forwarding
The default RestTemplate uses SimpleClientHttpRequestFactory (HttpURLConnection) which doesn't support the PATCH HTTP method, causing branch-titles save to fail...
Move loginOrgOpt declaration outside try block to fix scope error
The variable was declared inside the first try block but referenced in the second try block for parent branch title resolution.
Move useUserInfo hook into OrgStep component to fix build error
getParentBranchTitleNonPlural was referenced in OrgStep but only destructured in the parent CreateNetworkPage component.
Add abstract title and parent branch title fields to session and API
Add memberTitleAbstract, teamMemberTitleAbstract, parentBranchTitlePlural, and parentBranchTitleNonPlural to session creation and branch titles endpoint for lab...
Add commerce repo scanning, exec-maven-plugin, and NATS/MinIO config
Enable JPA scanning for commerce package, add exec-maven-plugin for direct Java execution, configure NATS JetStream and MinIO settings, fix application name, an...
Add abstract title fields to BranchTitleResolution
Add memberAbstract and teamMemberAbstract fields with defaults for the label customization system.
Add abstract title labels and dynamic parent branch titles
Add memberTitleAbstract and teamMemberTitleAbstract label fields with sync support. Replace hardcoded "Company" references with dynamic parentBranchTitleNonPlur...
Split ageReqType and add member/team registration routes
- Replace ageReqType with ageReqTypeMember and ageReqTypeTeamMember - Extract RegisterFlow component from page.tsx - Add /member and /team routes for separate r...
Split ageReqType into member and team member fields
Update Organization type, PublicProvider, route schema, and BranchSetupManager with separate member/team member age requirement sections.
Return ageReqTypeMember and ageReqTypeTeamMember in org API response
Update DataLoader for split ageReqType fields
Set both ageReqTypeMember and ageReqTypeTeamMember to same value in mock data.
Split ageReqType into ageReqTypeMember and ageReqTypeTeamMember
Separate age requirement tracking for members vs team members in Organization entity.
Rename Employee to TeamMember and wire up dynamic label overrides
Rename all Employee/Employment references to TeamMember/TeamMembership. Extend useThemeConfig() with label fields and getter methods fetched from the organizati...
Rename Employee to TeamMember and wire up dynamic label overrides
Rename all Employee/Employment references to TeamMember/TeamMembership. Replace hardcoded Member/Team Member display text with dynamic label getters from useUse...
Rename Employee to TeamMember and Employment to TeamMembership
Update all Employee/Employment references to TeamMember/TeamMembership in controllers, services, and security profile. Rename API endpoint from /employees-contr...
Rename Employee to TeamMember and Employment to TeamMembership
Rename all Employee/Employment references to TeamMember/TeamMembership across classes, variables, methods, DB annotations, enum values, and display text. Also u...
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.
