Simplify DocManager to match actual Kamo imaging system structure - Based Document interface on Img and ImgDat entities - Reduced columns to essential fields only - Added relevant status indicators (Synced, Failed, Thumbnail) - Focused on practical file management features
Add CellStyle type assertions to fix AG Grid type compatibility
Fix cellStyle TypeScript errors - convert fontWeight to string
Enable scroll bar in document manager by constraining page height with flexbox layout
Add 'use client' directive to doc/manager page to fix Server Components render error
Change god mode color from purple to baby blue in top navigation
God mode global state + session expiration at zero verification
1. God Mode State (useUserInfo hook): - Move isGodMode to GLOBAL state in hook (not local to NavTop) - Export isGodMode, setIsGodMode for all components ...
Move god mode state to global useUserInfo hook
BREAKING FIX: Properly separates isGod and isGodMode Architecture (as intended): - isGod: Permission from session (GD field) - Can user access god mode? - isGo...
Add explicit handlers and keys to switches
- Add handleAcceptingLeadsToggle and handleGodModeToggle handlers - Add unique keys and names to both switches - Add aria-labels for accessibility - Helps React...
God mode toggle state and add fire icon
Bug fix: - God Mode switch was using isGodModeActive() from hook for 'checked' prop - But onChange was calling setGodModeActive (local state) - This created a d...
Add multi-layer god mode validation
Security enhancements to prevent localStorage manipulation: 1. useUserInfo hook: - Add isGodModeActive() method with dual validation - Check 1: User has ...
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...
Ensure all session expirations go through /logout endpoint
BREAKING: Fixes improper session expiration flow Before: Various components redirected directly to login site when sessions expired After: All redirects go thr...
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...
Add missing properties to SessionInfo interface
- Added userId, orgId, memberId, tokenExpiration to SessionInfo - These fields are returned by backend getSessionInfo() method - Fixes TypeScript build error in...
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...