Make PoweredByKamo legible with WCAG-grade contrast
Mirrors the kamo-login change. Text switched to solid white; background at rest is var(--color-secondary), background on hover/focus is var(--color-primary). Su...
Add subtle KamoCRM backlink to registration pages
Mirrors the PoweredByKamo badge shipped in kamo-login. Since kamo-register is served on each white-label client's domain, this creates a stable dofollow backlin...
Add concurrency group to prevent duplicate workflow runs
When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...
Upgrade to Next.js 16.2.3, TypeScript 6.0.2, Node 24, React 19 types
- Pin next to 16.2.3 and eslint-config-next to match - Upgrade typescript to exact 6.0.2, @types/node to ^24 - Replace framer-motion with motion ^12 (motion/rea...
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...
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%.
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...
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...
Force light mode to override external dark mode CSS
- Set Tailwind darkMode to 'class' to prevent OS preference from triggering dark utilities - Add !important overrides in globals.css to lock light mode variable...
Force light mode regardless of OS color scheme preference
Removed prefers-color-scheme dark media query so the site always renders in light mode.
Fix kubeconfig update to use WireGuard VPN IPs (10.8.x.x) instead of old Tailscale IPs
Refactor to parallel deployment for k1m1 and k2m1
- Split build and deployment into separate jobs - Deploy to k1m1 and k2m1 in parallel after build completes - Reduces total deployment time significantly
Revert to docker driver for faster builds - removes docker-container overhead
Switch to docker-container driver with cache for optimal build performance
Add Buildx setup with insecure registry config to resolve 401 auth errors
Update dependencies to fix Docker build (next@16.0.10, react@19.2.3)
Add preStop hooks and increase termination grace period to prevent deployment timeouts
Remove unused helper functions and duplicate declarations from Theme.tsx
Fix configmap reference from kamowebinternal-config to kamowebregisterconfig
Add terminationGracePeriodSeconds: 20 and fix DB secret reference
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.
