Implement real DNS CNAME verification using dnsjava library - replaces mock implementation with actual DNS lookups
Fix InitializerService: Set is_enabled=true for users and remove invalid localhost:3000 domain
Wire Domain Management to backend: Full API integration, real-time DNS verification, 5 API proxy routes
Add Domain Management: DomainController with 10 REST endpoints, database migration script, and implementation docs
Add domain management DTOs (DomainDTO, CreateDomainRequest, UpdateDomainRequest, DnsStatusDTO, CreateDomainAliasRequest)
Add authentication middleware to auto-redirect unauthenticated users to /logout
Correct framer-motion import path from motion/react to framer-motion
Add feature-rich floating AI chat assistant with drag, resize, minimize, and maximize
Move diagnostics endpoint to /api/security/diagnostics for consistency
Add diagnostics route to forward /api/diagnostics/** to SecurityService
Add default value for usagePercent comparison in SystemDiagnostics
Add default value for usagePercent to handle undefined
- Changed usagePercent > 80 to (usagePercent || 0) > 80 - Prevents TypeScript error when usagePercent is possibly undefined - Defaults to 0 if undefined, showin...
Remove remaining Grid tags causing syntax error
- Fixed lines 518-527 that still had Grid container/item tags - Replaced with Box + CSS Grid for 2-column layout - All Grid references now removed from SystemDi...
Replace all MUI Grid components with Box and CSS Grid
- Removed Grid2 import (module doesn't exist in this MUI version) - Replaced all Grid containers with Box + CSS Grid layout - Used gridTemplateColumns with resp...
Use Grid2 for proper MUI Grid component support
- Changed Grid import to use @mui/material/Unstable_Grid2 - Fixes TypeScript error: Grid item prop not recognized - Grid2 properly supports item, xs, md, lg pro...
Replace any types with proper interfaces in SystemDiagnostics
- Replaced all 'any' types with detailed TypeScript interfaces - Removed unused WarningIcon import - Removed unused getStatusColor and getStatusIcon helper func...
Correct Redis ping() method call in DiagnosticsController
- Changed **************** to connection.ping() - RedisConnection.ping() is the correct API method - Fixes compilation error on lines 302 and 473 Resolves buil...
Add comprehensive System Diagnostics dashboard to Settings
New Features: - Added 'System Diagnostics' tab to Settings page with 4 subtopics - Created SystemDiagnostics component with real-time monitoring - Added API pro...
Add comprehensive diagnostics controller for session debug dashboard
New endpoints: - GET /api/diagnostics/info - Complete system diagnostics - GET /api/diagnostics/health - Quick health check - GET /api/diagnostics/sessions - Re...
Add floating orbs and apply modern gradients to recover page
Login Page Enhancements: - Added two floating orbs with independent animations - Orbs float vertically and horizontally with scale effects - Heavily blurred for...
Modernize Welcome Back section with polished gradients
- Replaced solid background with sophisticated 135deg gradient using primary colors - Added animated radial gradient overlay that pulses subtly (8s loop) - Adde...
Pass re*** build args in Forgejo workflow
- Added build-args to docker/build-push-action with re*** site key - NEXT_PUBLIC_* env vars now properly baked into JavaScript bundle - This enables re*** funct...
Add build args support for NEXT_PUBLIC environment variables
- Added ARG declarations for NEXT_PUBLIC_RE***_SITE_KEY and related vars - Converted ARGs to ENV vars for Next.js build process - Created BUILD_ARGS_REQUIRED.md...
Escape apostrophe in Register link text - Resolves ESLint build error
Add re*** setup and troubleshooting guide
- Documented how to configure re*** for frontend and backend - Explained site key vs secret key requirements - Added instructions for Kubernetes secret configur...
Trigger rebuild to bake in NEXT_PUBLIC_RE***_SITE_KEY
Next.js NEXT_PUBLIC_* environment variables are build-time, not runtime. The ConfigMap now has the re*** site key, but the container image needs to be rebuilt t...
Disable all interactive elements during successful login redirect
- Added redirecting state to track when login succeeds and redirect is in progress - Disabled username and password input fields when redirecting - Disabled Con...
Remove ROFL letters animation on password error
- Removed ROFL letters background effect that appeared on incorrect password - Cleaned up related console.log statements - Reduced error state timeout from 3s t...
Update re*** configuration with actual site key
- Set NEXT_PUBLIC_RE***_SITE_KEY to actual re*** v2 site key - Changed NEXT_PUBLIC_RE***_ATTRIB_MODE from 'badge' to 'text' - Text mode shows privacy policy lin...
Add re*** configuration to environment setup
- Added NEXT_PUBLIC_RE***_SITE_KEY to k8s ConfigMaps - Added NEXT_PUBLIC_RE***_ATTRIB_MODE to ConfigMaps (badge mode) - Updated README with environment setup in...
Rebuild with updated kamo-shared-library
Picks up fix for parent-child domain concatenation in OrganizationRepository (commit 56d9ce2)
Add localhost domain support in DataLoader
- Added localhost and localhost:3000 domains for local development - Improved comments explaining subdomain concatenation behavior - Works with updated Organiza...
Add parent-child domain concatenation to OrganizationRepository
- Updated findByDomain query to handle subdomain + parent concatenation - Now supports both direct matches (localhost) and hierarchical matches (login.kamocrm.c...
Forward X-Forwarded-Host header to SecurityService providers endpoint
- Added X-Forwarded-Host header when calling /api/security/providers - SecurityService requires this header to determine which organization to fetch providers f...
Restore white text color on Welcome Back section
- Added explicit color styling (sx={{ color: '#ffffff' }}) to Typography components - Material-UI was overriding the text-white class with default colors - Ensu...
Trigger rebuild to pick up kamo-shared-library fixes
Rebuild required to pull in fixed ExternalAuthProviderDTO from kamo-shared-library (commit 8e19676 - corrected timestamp field names)
Correct timestamp field names in ExternalAuthProviderDTO
- Changed getCreatedAt() to getDateCreated() - Changed getUpdatedAt() to getDateUpdated() - Changed from LocalDateTime to Date to match EmbRecordState - EmbReco...
Add external auth provider initialization in DataLoader
- Added ExternalAuthProviderService dependency injection - Created addExternalAuthProviders() helper method to configure providers - Populated external auth pro...
Add GET /api/security/providers endpoint
- Added endpoint to return enabled external auth providers for an organization - Determines organization from request hostname (X-Forwarded-Host header) - Queri...
Add ExternalAuthProvider system for dynamic login button configuration
- Created ExternalAuthProvider entity with JPA/Hibernate annotations - Added ExternalAuthProviderRepository with queries for provider management - Implemented E...
Revert "feat: Disable login form after successful authentication to prevent duplicate submissions"
This reverts commit ****************
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.