Remove bounce from slide animations to stop precisely at endpoints
Update slide animations to be more bouncy and fluid without fade/zoom effects
Add 300ms delay before opening panels and close other panels when new one opens
Add playful shake animation and light red background to password field on error
- Add passwordError state to track incorrect login attempts - Implement smooth shake animation with horizontal movement and rotation - Transition background col...
Fix SSR build error and modernize logout page design
- Fix 'window is not defined' error during build by adding mounted state - Enhance logo container with 3D rotation and glassmorphism effects - Upgrade typograph...
Modernize logout page with rich interactive design - Dynamic theme-based backgrounds and logos - Animated transitions with framer-motion - Material-UI styling with gradient effects - Floating particle effects - Success/error states with animated icons - Responsive design with mobile support
Simplify validate flow - Let new cookie overwrite old one - Remove unnecessary cookie clear logic - useUserInfo skips redirect on validate page
Fix *** cookie to be client-accessible in logout endpoint - Changed setHttpOnly from true to false - *** should be client-accessible across all sites
Implement Redis-based user-info with sliding expiration - Read user data directly from Redis instead of calling SecurityService - Implement sliding session expiration (reset TTL on each read) - Redirect to login site if session expired - Enhanced logging for debugging
CRITICAL FIX: Remove endpoints that were consuming OTK prematurely
Root Cause Found: - /api/validate and /api/validate-otk in kamo-login were calling SecurityService - This consumed the OTK IMMEDIATELY after login (before user ...
Fix ESLint error: Use checkingExistingSession state
Fix: - Show loading spinner while checking for existing *** session - Hide login form during auto-login check - Provides better UX (user sees 'Checking session....
Add missing Redis library for auto-login and logout endpoints
Fix Build Error: - Create app/lib/redis.ts with read/write Redis client helpers - Provides getRedisReadClient() and getRedisWriteClient() - Required by /api/aut...
Update logout flow to use direct Redis access
Logout Flow Changes: - /logout (page): DELETE Redis session via /api/logout, forward to login/logout - /api/logout: Direct Redis DELETE (no SecurityService call...
Implement SSO auto-login and complete logout flow
Auto-Login Feature: - Check for existing *** cookie on login page load - Validate session with Redis directly - If valid, create new OTK and auto-redirect to in...
FORCE REBUILD: Add extensive logging to /api/validate (Direct Redis)
Critical Change: - This endpoint does NOT call SecurityService - It queries Redis DIRECTLY for OTK validation - Extensive logging added to trace every step New...
Remove cookie-setting from /validate-otk endpoint
Simplification: - /validate-otk endpoint now only returns *** ID and TTL - No longer sets cookies (Next.js handles this directly) - Added getSessionTtlSeconds()...
Make *** cookie client-accessible & validate OTK directly in Next.js
Major Simplifications: - *** cookie is now client-accessible (httpOnly: false) - Both Next.js and Java can read the cookie directly - Cookie expires in 30 minut...
Reduce *** ID length from 512 to 128 characters
Changes: - ***_ID_LENGTH: 512 -> 128 (64 bytes of entropy) - Updated all documentation and comments - Updated logging to show full 128-char ID - OTK length rema...
Fix build error and change *** length to 128 chars
Build Fixes: - Escape apostrophe in validate page (') - Add searchParams dependency to useEffect *** Length Change: - Update expected *** length from 512 ...
Add comprehensive debugging UI to validate page
- Show component render count and validation attempt count - Display OTK information and length validation - Show retrieved *** ID (512 chars) when successful -...
Increase *** ID length to 512 characters for enhanced security
- *** ID: 512-char hex string (256 bytes of secure random data) - OTK ID: 64-char hex string (32 bytes - unchanged) - Updated generateSecureHexString() to accep...
Fix OTK validation duplicate calls issue
- Add useRef to track validation attempts - Prevent duplicate API calls (critical for one-time keys) - Change useEffect deps to empty array (run once on mount) ...
Update OTK validation to use new *** session model
- Extract ***Id from JSON response body (not Set-Cookie header) - SecurityService now returns { success, message, ***Id } - Set *** cookie with 64-char GUID fro...
Implement new *** session model with 64-char GUID
- Add KSessionService for simplified session management - *** ID is now a 64-char hex string (not encoded KToken) - Redis key format: ***<64-char-guid> - Redis ...
Add no-cache headers and extensive logging to debug user-info loading
Always call API to fetch user info, don't check HttpOnly cookie client-side
Use session cookies instead of persistent cookies with maxAge
Replace RoleRightType.valueOf with manual lookup of static instances
Use property access instead of method calls for RoleRightType and ServiceType
Add usernameAlias, memberEmail, and countryAbbreviation to user-info endpoint
Extract session ID from upstream and set *** cookie explicitly for internal domain
Remove cookie domain attribute for proper per-subdomain cookie setting
Update cookie name from KAMOSESH to *** throughout kamo-internal
Update session naming - use *** cookie and SESSION<guid> Redis keys per SSO specification
Simplify Redis config to use master only, avoiding READONLY errors
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.