Configure Dio with BrowserHttpClientAdapter and withCredentials: true for web platform, allowing session cookies to be sent with XHR requests. This fixes NPM forward auth not working for API calls. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.7 KiB
4.7 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.0.1] - 2026-01-03
Fixed
- Web authentication now works correctly with NPM forward auth
- Dio client sends cookies with requests via
withCredentials: true - Added platform-specific adapters (native vs web) for proper cookie handling
- Dio client sends cookies with requests via
[1.0.0] - 2026-01-03
Added
- Authentication System - Dual-flow auth supporting web (NPM forward auth) and mobile (OIDC)
AuthStatemodel with roles, permissions, and user preferencesAuthProviderwith automatic web session detection via/auth/me- Permission system with Domain/Action enums and hierarchical access levels
PermissionGateandAdminGatewidgets for UI permission checksRolemodel with{domain}.{category}:{action}format parsing- Route guards redirect unauthenticated users to login page
- Login page with Authentik OAuth redirect
- Mobile auth platform configuration (iOS URL schemes, Android AppAuth)
- Comprehensive auth test suite (60 unit tests)
Changed
- API interceptor skips Bearer tokens on web (uses cookies via NPM forward auth)
- Router integrates auth state for protected route access
- First stable release - Core functionality complete for home lab dashboard
[0.3.3] - 2026-01-03
Added
- Health check endpoint (
/health.html) for Portainer container monitoring - Local search filtering in DataGrid (filters cached data client-side)
- Container status badges now reflect health status (green=healthy, orange=unhealthy)
ContainerHealthenum for parsing Docker health status from status string
Changed
- Standardized header bar heights to 56px across all panels
- Container grid now correctly parses Docker API JSON format (capitalized keys)
- Status column displays clean uptime (stripped health indicators)
- Status badges have consistent minimum width (90px)
- Search bar styling improved (36px height, visible border, proper background)
- Quick links now properly persist link type (iframe vs new tab)
- Iframe switching now closes existing content before loading new link
Fixed
- Quick links form properly saves changes and refreshes panel
ContainerStatetype conflict resolved (removed duplicate enum)- Container data parsing handles null values safely
Branding
- Updated favicon and icons with Tatlock bucket logo
- Updated manifest.json with Tatlock branding
[0.3.2] - 2025-01-02
Changed
- API defaults now use LAN IPs for local development (no auth required)
- Auth interceptor skips authentication when using LAN endpoints
[0.3.0] - 2025-12-30
Added
- docs/UI_LAYOUT.md - Responsive layout specification with "Rooms of the Estate" navigation
Changed
- Directory structure now mirrors room navigation (front_hall/, control_room/, parlor/, library/, study/)
- Chat moved to top-level
lib/chat/(omnipresent, not a room) - Updated ARCHITECTURE.md and PLAN.md to reflect room-based structure
- Version generation now automated via build_runner (replaces manual script)
lib/version.g.dartauto-generated frompubspec.yamlduring build
[0.2.0] - 2024-12-30
Added
- Phase 1: Foundation complete
- Clean Architecture folder structure (
core/,features/,shared/,routing/) - Full dependency stack: Riverpod, Dio, go_router, freezed, flex_color_scheme
- Core infrastructure:
core/config/app_config.dart- Environment configurationcore/theme/app_theme.dart- Material 3 theming with FlexColorSchemecore/theme/theme_provider.dart- Theme state with persistencecore/error/app_exception.dart- Typed exception hierarchycore/api/api_client.dart- Dio HTTP clients for Core API and Tatlock APIcore/api/api_interceptors.dart- Auth, logging, error interceptorscore/auth/auth_provider.dart- Authentication state management
- Routing with go_router and shell route for navigation
- Adaptive scaffold with responsive navigation (rail/bottom nav)
- Dashboard page placeholder with welcome card and stat cards
[0.1.0] - 2024-12-30
Added
- Initial Flutter project setup with all platforms (web, android, ios, macos, linux, windows)
- Build-time version generation from pubspec.yaml (
dart run tool/generate_version.dart) - Version logging on app startup
- Project documentation (PHILOSOPHY.md, README.md, AGENTS.md, PLAN.md)
- Phase 0 technical documentation:
- docs/ARCHITECTURE.md - Clean Architecture patterns
- docs/API_INTEGRATION.md - Backend API reference
- docs/DEPLOYMENT.md - Docker and infrastructure setup
- docs/DATAGRID.md - DataGrid component specification
- docs/THEMING.md - Material 3 theming guide