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...
Add Child Organization Security Models mock UI to Branch Setup tab
Adds a datagrid with inline edit/add panel for managing child org security models, including org visibility toggles, age range selection, identity provider and ...
Test favicon, fix remove/add overlap bug, fix badge overlapping component bug
Resolve session timeout maintenance system not running
Root cause: sessionMonitor.start() called stop() after setting this.config, which nullified the config before the 3-second startup timer fired. As a result, the...
Hide re*** badge when text attribution mode is active
Fixed overly-specific CSS selector that targeted the badge inside #re***-container. Google injects the badge directly into <body>, so the rule never matched. Ch...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.