Skip to content
KAMOUniverse

Changelog

What's new.

Every improvement to the platform, as it ships.

  1. · kamo-internal

    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.tsx): - Add isGod field to UserInfo interface - Add getIsGod() method to hook - Export getIsGod for components UI changes (app/components/NavTop.tsx): - Add god mode toggle (purple theme) - Only visible to users with isGod permission (GD=true) - Toggle state stored in localStorage - Independent on/off control for god mode Flow: 1. User has is_god=true in database 2. SecurityService stores GD=true in Redis session 3. /api/user-info returns isGod=true 4. NavTop shows god mode toggle 5. User can enable/disable god mode (UI state only) Two-level permission: - isGod: Permission to SEE the toggle (from database) - godModeActive: Current UI state (localStorage)

  2. · SecurityService

    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: - Add isGod parameter to createSession method - Store as 'GD' field in Redis session data - GD field indicates if user has god mode permission Flow: 1. User logs in → Query is_god from database 2. Create session in Redis with GD parameter 3. Frontend reads GD to show/hide god mode toggle 4. God mode toggle state managed separately in UI This implements the god mode permission system.

  3. · kamo-shared-library

    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 populate GD parameter - Part of god mode feature implementation

  4. · SecurityService

    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 warning and other dynamic org branding

  5. · kamo-internal

    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 '{Org Short Name} applications' - Falls back to full title or 'Kamo' if short name unavailable - Uses useOrgContext to access organization data

  6. · kamo-internal

    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 only shows when Redis confirms expiration is imminent - Works with sliding expiration implemented in SecurityService

  7. · SecurityService

    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 from SESSION to *** (matches cookie name) - Redis object TTL is the ONLY source of truth for session expiration - Cookie expiration is now meaningless - Redis controls session lifetime

  8. · kamo-internal

    Integrate session debug functionality into root dashboard

  9. · SecurityService

    Add session info and extend endpoints for cross-app session management

  10. · kamo-internal

    Add session expiration warning system with Redis-based monitoring and animated popup

  11. · kamo-internal

    Read timezone from *** cookie instead of making API calls

  12. · SecurityService

    Update KTokenSessionService to accept timezone parameter for *** cookie

  13. · kamo-shared-library

    Add timezone (TZ) field to KToken for user-specific timezone support in *** cookie

  14. · kamo-internal

    Implement timezone service with IANA zone ID support to fix 'Invalid time zone' error

  15. · SecurityService

    Add effective timezone endpoint with Member->User->Organization cascade

  16. · kamo-login

    Add standalone output mode and expand remote image patterns

  17. · kamo-register

    Optimize Dockerfile for production with multi-stage builds and update next.config for standalone mode

  18. · kamo-register

    Auto-enable nickname field when clicking on disabled textbox

  19. · kamo-register

    Redesign name details with prefix/suffix dropdowns and nickname checkbox

  20. · SecurityService

    Add endpoints for name prefixes and suffixes

  21. · kamo-shared-library

    Add NamePrefixType and NameSuffixType enums with international titles

  22. · kamo-register

    Complete redesign of sorry page with modern, polished UI

  23. · kamo-register

    Enhance country selector with live search and improved interactivity

  24. · kamo-register

    Filter banned countries and redirect to sorry page if detected

  25. · SecurityService

    Add countries endpoint to return list with banned status

  26. · kamo-shared-library

    Add isBanned field to CountryType enum for 30 sanctioned countries including Cuba, Iran, North Korea, Syria, Russia, Belarus, and Balkans region

  27. · SecurityService

    Comprehensively enhance all 18 custom language phonetic patterns for better word generation

  28. · SecurityService

    Implement multi-language BIP39 seed phrase generation with official word lists and custom phonetic patterns for 26 languages

  29. · kamo-register

    Add multi-language seed phrase support with language dropdown on Account Recovery page, defaults to user's country language

  30. · SecurityService

    Add MultiLanguageSeedPhraseService with web3j for multi-language seed phrase generation, update RecoveryController with language support

Your universe is waiting.

Start free in minutes. Add products whenever you are ready — no migration, no new logins.

Free forever — no credit card required