- Moved warranty status row to the bottom of cards for better visual hierarchy in both grid and list views.
- Ensured real-time UI updates on tag edits and deletions, fixing stale tag info across the app.
- Added missing tag-related translation keys and warranty addition success messages across 17+ languages.
- Resolved caching issues by updating service worker logic, asset versioning, and nginx headers.
- Removed redundant Docker Compose commands causing migration duplication during updates.
- Enhanced CSV import to support flexible date formats using `dateutil.parser`, improving user experience.
- Fixed warranty duration selection limits by increasing max values in frontend and backend with DB migration.
- Improved Paperless-ngx integration with duplicate document detection and user-friendly linking.
- Fixed DB migration permission issues by granting `CREATEROLE` and removing redundant grants.
- Restored missing product photos by correcting a broken image loader function call.
### Major Features
- **Public Global Warranty View:** All authenticated users can now view global warranties. Admins retain full control; regular users get read-only access to others’ warranties.
- **Global View Admin Controls:** Admins can now toggle global view availability and limit it to admins only via site settings.
- **Global Status Dashboard View:** Extended global view to warranty statistics and dashboards with full permissions enforcement.
- **Apprise Push Notifications:** Integrated Apprise for multi-platform warranty alerts with extensive backend and frontend support (80+ services).
- **Warranty Type Filtering/Sorting:** Introduced dynamic, case-insensitive filtering and sorting by warranty type on the main page.
- **Admin Global Warranty View:** Dedicated admin tools and UI for viewing all warranties with enhanced styling and user info.
### UX/UI Enhancements
- **Product Photo Thumbnails:** Added interactive, responsive photo previews on warranty cards across all views.
- **Updated Footer Links:** All "Powered by Warracker" footers now link to the official website (`https://warracker.com`).
### Fixes and Stability Improvements
- **Status Dashboard Chart Fixes:** Resolved canvas reuse errors and chart switching issues.
- **CSS Cache Busting:** Ensured consistent styling across domain/IP access by versioning CSS/JS and updating service worker.
- **Settings Access Fixes:** Regular users can now access the settings page without triggering admin-only API calls.
- **Settings Persistence Fixes:** Addressed major frontend/backend issues preventing correct saving/loading of user preferences.
- **Notification Timing Overhaul:** Rewrote logic for precise notification delivery and implemented duplicate prevention.
### Security and Technical Enhancements
- Global view maintains secure ownership enforcement.
- Improved permission checks, graceful degradation, and responsive design across all new features.
This update introduces comprehensive OpenID Connect (OIDC) Single Sign-On support with dynamic configuration via the database and full frontend/backend integration. Key additions include:
- OIDC SSO login via external providers (e.g., Google, Keycloak), with automatic user provisioning and session linking.
- Admin settings UI for enabling/disabling SSO and managing provider credentials.
- Provider-branded SSO buttons with dynamic labels, icons, and styles.
- Exact warranty expiration date support alongside duration-based input, with full validation and UI enhancements.
- Full UI responsiveness for warranty field updates, tag creation, and note editing.
- Memory usage optimization for low-resource deployments via configurable modes (optimized, ultra-light, performance).
- Numerous fixes for SSO authentication flow, UI sync issues, database constraints, and modal interactions.
- Upgraded dependencies for security, performance, and compatibility (Flask 3.0.3, Gunicorn 23.0.0, etc.).
- Frontend improvements: Chart.js loading fix, tooltips for long product names, and dark/light mode-compatible footer.
This release significantly improves authentication flexibility, performance, and user experience across all major components.
## [0.5.0] - 2025-03-07
### Added
- Enhanced filtering and sorting capabilities
- Status filter (All, Active, Expiring Soon, Expired)
- Multiple sorting options (Expiration Date, Purchase Date, Name)
- Export filtered warranties as CSV
- Improved filter controls layout
- Mobile-responsive filter design
- Multiple view options for warranty display
- Grid view with card layout (default)
- List view for compact horizontal display
- Table view for structured data presentation
- View preference saved between sessions
- Responsive design for all view types
- Optional purchase price tracking
- Users can now add purchase prices to warranties
- Price information displayed in warranty cards
- Currency formatting with dollar sign
- Included in warranty summary and exports
### Changed
- Completely redesigned user interface
- Modern card-based layout for warranties
- Enhanced filter controls with improved styling
- Better visual hierarchy with labeled filter groups
- Custom dropdown styling with intuitive icons
- Improved spacing and alignment throughout
- Consistent color scheme and visual feedback
- Responsive grid layout for warranty cards
### Fixed
- Status indicator borders now correctly displayed for all warranty states
- Green border for active warranties
- Orange border for warranties expiring soon
- Red border for expired warranties
- Consistent status styling across all warranty cards
- Form now resets to first tab after successful warranty submission
- Manual filename now properly cleared when form is reset
## [0.4.0] - 2025-03-07
### Added
- Improved warranty creation process
- Multi-step form with intuitive navigation
- Progress indicator showing completion status
- Enhanced validation with clear error messages
- Summary review step before submission
- Expiration date preview in summary
- Responsive design for all device sizes
### Fixed
- Progress indicator alignment issue in multi-step form
- Contained indicator within form boundaries
- Prevented overflow with improved CSS approach
- Ensured consistent tab widths for better alignment
- Improved tab navigation visual feedback
## [0.3.0] - 2025-03-07
### Added
- Product manual upload support
- Users can now upload a second document for product manuals
- Manual documents are displayed alongside invoices in the warranty details
- Both add and edit forms support manual uploads
- Product URL support
- Users can now add website URLs for products
- Links to product websites displayed in warranty cards
- Easy access to product support and information pages
### Changed
- Improved document link styling for consistency
- Enhanced visual appearance of document links
- Consistent styling between invoice and manual links
- Better hover effects for document links
- Fixed styling inconsistencies between document links
- Improved warranty card layout
- Document links now displayed side by side for better space utilization
- Responsive design adapts to different screen sizes
- More compact and organized appearance
### Fixed
- Styling inconsistency between View Invoice and View Manual buttons
- Removed unused CSS file to prevent styling conflicts
1. **Simplified nginx configuration:**
- Changed from `root /data` back to `alias /data/uploads/` which is the correct way to map `/uploads/` to `/data/uploads/`
- Removed potentially conflicting location blocks
- Fixed the error handling to not redirect upload 404s to the index page
2. **Improved startup script:**
- Added checking and reporting of directory permissions
- Added explicit chmod during startup
3. **Simplified Flask route:**
- Removed all the complex debugging code
- Returned to a simple `send_from_directory` call
4. **Added a basic test file:**
- Created ping.html to test basic nginx functionality