Add imaging endpoints and beans; integrate session; update application.yml and k8s configmap
Migrate to MinIO-backed imaging; remove legacy storage model; add MinIOConfig, imaging services/exceptions, ImageAccessLevelType; update **************** update pom deps
Use TLSStore for dynamic cert management (survives CI/CD deployments)
Certificate export/import with locking for true multi-cluster cert sharing
Enable JSON access logging in Traefik for auto-cert domain detection
Add cert-manager and Let's Encrypt ClusterIssuer to deployment workflow
Add MinIO public/internal bucket routes to Traefik deployment
Migrate to CockroachDB with unique_rowid() for all entities
Implement god mode toggle in NavTop
Backend changes (app/api/user-info/route.ts): - Read GD field from Redis session data - Map to isGod in API response Frontend changes (app/hooks/useUserInfo.ts...
Implement god mode permission in sessions
Changes to SecurityController: - Query is_god field from users table during login - Pass isGod to kSessionService.createSession Changes to KSessionService: - A...
Add isGod field to User.java for god mode permission
- Add is_god column with database default false - Field indicates if user can access god mode toggle in UI - Used in SecurityService session creation to populat...
Add titleShort to organization API response
- Added titleShort field to /org/domain/{domain} endpoint response - Enables frontend to display organization's short name in UI - Used in session expiration wa...
Dynamically show org short name in session warning
- Added titleShort property to Organization class - Updated SessionExpirationWarning to use organization's short name - Changed text from 'Kamo applications' to...
Double-check Redis before showing session warning
- Always verify Redis TTL right before showing expiration warning - Prevents false warnings if another Kamo app extended the session - Ensures warning popup onl...
Implement sliding session expiration - CRITICAL SESSION FIX
- Refresh Redis TTL on every session access (sliding expiration) - Sessions now stay alive as long as user is active in ANY Kamo app - Change Redis key prefix f...
Add session info and extend endpoints for cross-app session management
Add session expiration warning system with Redis-based monitoring and animated popup
Update KTokenSessionService to accept timezone parameter for *** cookie
Add timezone (TZ) field to KToken for user-specific timezone support in *** cookie
Implement timezone service with IANA zone ID support to fix 'Invalid time zone' error
Add effective timezone endpoint with Member->User->Organization cascade
Optimize Dockerfile for production with multi-stage builds and update next.config for standalone mode
Auto-enable nickname field when clicking on disabled textbox
Redesign name details with prefix/suffix dropdowns and nickname checkbox
Add NamePrefixType and NameSuffixType enums with international titles
Enhance country selector with live search and improved interactivity
Filter banned countries and redirect to sorry page if detected
Add isBanned field to CountryType enum for 30 sanctioned countries including Cuba, Iran, North Korea, Syria, Russia, Belarus, and Balkans region
Comprehensively enhance all 18 custom language phonetic patterns for better word generation
Implement multi-language BIP39 seed phrase generation with official word lists and custom phonetic patterns for 26 languages
Add multi-language seed phrase support with language dropdown on Account Recovery page, defaults to user's country language
Add MultiLanguageSeedPhraseService with web3j for multi-language seed phrase generation, update RecoveryController with language support
Add multi-language support with 26 languages, update CountryType with language mappings, replace BitcoinJ with web3j crypto
Replace emoji icons with high-quality Material UI icons for avatar styles
Compact avatar creator with side-by-side gradients and age check improvements
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.