31 Commits

Author SHA1 Message Date
sassanix
14cbf75bed Model Number Field, i18n Expansion, Search & UI Enhancements
* Added Model Number field to warranties (backend + frontend integration)
* Expanded localization: added Polish and Hebrew (with RTL), completed warranty claim translations for all locales
* Enhanced search: Model Number now searchable on Home and Status pages
* Improved Status page with Archived warranties filtering and display
* Fixed Global view logic for archived warranties and Model Number visibility
* Corrected missing Model Number translations across all languages
* Improved Add Warranty modal responsiveness on small screens
* Fixed document URL visibility bug and Chrome horizontal scrollbar issue
* Updated major dependencies (Python 3.14, gevent 25.9.1, Flask 3.1.2, etc.)
* Added Reddit community link and localization on About page
* PWA and cache updates for faster rollout and consistent asset refresh
2025-10-25 11:01:35 -03:00
sassanix
96f2859975 Fix global warranties view, add Model Number field, and enhance modal tab responsiveness
* **Fixed:**

  * Global view on Index page now correctly shows warranties from all users, including archived ones.
  * Added `GET /api/warranties/global/archived` and unified global queries with correlated subqueries to avoid missing or collapsed rows.
  * Updated frontend logic to merge archived warranties from the new endpoint when Global scope and Status = “All.”
  * Bumped `script.js` and service worker cache to ensure clients receive updated logic.
  * Updated files: `backend/warranties_routes.py`, `frontend/script.js`, `frontend/sw.js`, `frontend/index.html`, `frontend/status.html`.

* **Added:**

  * Introduced **Model Number** field to warranties.
  * Backend: Added `model_number` column, integrated into GET/POST/PUT routes.
  * Frontend: Added Model Number input in New/Edit modals and display on warranty cards.
  * Updated files: `backend/migrations/047_add_model_number_to_warranties.sql`, `backend/warranties_routes.py`, `frontend/index.html`, `frontend/status.html`, `frontend/script.js`, `locales/en/translation.json`.

* **Enhanced:**

  * Improved **Add Warranty modal** tab alignment for responsive layouts (≤740px).
  * Adjusted tab label size and spacing to prevent wrapping while keeping icons and labels visible.
  * Ensured consistent five-step progress indicator across all breakpoints.
  * Updated file: `frontend/style.css`.
2025-10-09 15:04:13 -03:00
sassanix
4b377f4259 This update improves filter syncing, OIDC settings, and mobile UX, with fixes for archived items, menus, and the login page.
* Major usability and reliability improvements across frontend and backend
* Filters (Status, Tag, Vendor, Type, Search, Sort) now persist across views and sync via API for cross-device consistency
* Archived warranties correctly appear under “All” without affecting other filters
* Enhanced OIDC system with admin group support, secure secret handling, and improved attribute synchronization
* New responsive mobile hamburger menu and tablet-specific UI enhancements
* Fixed archived item styling, menu initialization, and login page layout issues
* Includes minor UX refinements, PyJWT compatibility updates, and deprecation clean-ups
2025-10-06 20:31:04 -03:00
sassanix
69c44a2ab6 Add Turkish translations, archive feature, and major UI/UX enhancements
Introduced Turkish language support and non-destructive warranty archiving. Modernized login page, filters, sorting, and tag management with responsive, theme-aware UI updates. Persisted filter/sort state across sessions, improved mobile layout, and fixed dark mode, i18n, and SSO alignment issues.
2025-09-29 14:01:30 -03:00
sassanix
441358bea3 Enhances Global View with better document access, claim visibility, and critical bug fixes.
Description:

* Enhanced Global View integration with Paperless-ngx for seamless in-app document viewing.
* Added color-coded visual indicators for warranty claim statuses.
* Introduced read-only access to warranty claims in Global View.
* Fixed authorization issues blocking shared document access.
* Resolved claim creation errors with empty optional fields.
* Corrected JavaScript errors in Global View claims modals.
2025-09-07 20:30:55 -03:00
sassanix
d9d52743e2 Added warranty claims tracking, document URL support, and custom database port configuration.
This release introduces three major enhancements:

1. Warranty claims tracking system with full database, API, and frontend integration to manage claims across their lifecycle.

2. Comprehensive URL/link support for documents and invoices, including database schema updates, API handling, responsive frontend integration, and error-resilient JavaScript improvements.

3. Database port configuration support via DB_PORT environment variable, ensuring flexible deployment while maintaining backward compatibility.

Additional improvements include UI/UX enhancements, null safety checks, error resolution in modals, and deployment configuration updates.
2025-08-30 11:10:42 -03:00
sassanix
60239bd637 Fix Apprise notification system, scheduler stability, and email configuration
Fixes & Enhancements

* Resolved five critical Apprise notification issues:
  • Ensured configuration reload during scheduled jobs
  • Fixed warranty data fetching for Apprise-only users
  • Refactored notification dispatch logic with dedicated helpers
  • Corrected handler scoping via Flask app context
  • Wrapped scheduler jobs with Flask app context to prevent context errors
  → Verified: Scheduled Apprise notifications now work reliably for "Apprise only" and "Both" channels.

* Added support for SMTP\_FROM\_ADDRESS environment variable, allowing sender address customization independent of SMTP username. (PR #115)

* Fixed duplicate scheduled notifications in multi-worker environments:
  • Strengthened should\_run\_scheduler() logic
  • Now guarantees exactly one scheduler instance across all Gunicorn modes.

* Fixed stale database connection handling in scheduled jobs:
  • Fresh connection acquired each run, properly released via try/finally
  • Eliminates "server closed the connection" errors.

* Definitive scheduler logic fix for all memory modes (ultra-light, optimized, performance):
  • Single-worker runs scheduler if GUNICORN\_WORKER\_ID is unset
  • Multi-worker: only worker 0 runs scheduler.

Impact

* Apprise and Email notifications are now stable, reliable, and production-ready
* No more duplicate or missed notifications across all memory modes
* Improved system efficiency and robustness
2025-08-24 12:34:40 -03:00
sassanix
e4a24482f7 Email Change, PWA Support, Tag Management, Credential Security Improvements
This release introduces several key features and improvements

Added:
- Account email change support from Settings with full validation and UI update.
- Progressive Web App (PWA) capability with manifest and service worker integration.
- "Manage Tags" button on the main page to streamline tag management UX.

Changed:
- Improved responsiveness of key pages (index, status) across mobile and tablet views.
- Replaced hardcoded DB credentials with environment variable references (contribution by @humrochagf, commit 20997e9):
  • Credentials are now pulled from Docker Compose env vars.
  • Redundant superuser credential checks removed.
  • Updated migration and permission scripts for dynamic configuration.

This version enhances user flexibility, security, and cross-device compatibility.
2025-05-24 12:31:46 -03:00
sassanix
92ffb07aa1 Add collapsible warranty details, inline editing on Status page, vendor filter/sort; various fixes
### Added
- Collapsible warranty details in the Status page table, showing full warranty info inline.
- Inline warranty editing via "Edit Warranty" button in expanded view.
- Vendor column added to sort options on the main warranty list.
- Vendor filter dropdown added to the main warranty list.

### Changed
- Removed direct product name links from Status page table in favor of inline expansion.
- CSV export now formats dates as YYYY-MM-DD.

### Fixed
- Resolved browser validation error with product URLs in hidden tabs by switching to text input and improving validation logic.
- Edit modal no longer closes on backdrop clicks.
- Migration scripts now support custom `DB_NAME` values by removing hardcoded names.
2025-05-16 15:36:39 -03:00
sassanix
2b4bf1ae26 Granular warranty duration input, file uploads, and env-based config
Refer to changelogs for more details.

- Replaced single warranty period field with separate Year/Month/Day inputs
- Added support for uploading ZIP/RAR documents to warranties
- Made JWT secret and upload size limits configurable via environment variables
- Fixed backend indentation error, SQL migration bug, and smtplib re-import
- Cleaned up obsolete frontend settings files
2025-05-11 11:25:12 -03:00
sassanix
ebb9218600 Improved compatibility and security
Refer to changelogs for latest changes
2025-05-07 15:12:40 -03:00
sassanix
e045aae208 Vendor, Date Format, Added security
Refer to changelogs
2025-05-04 13:02:51 -03:00
sassanix
ba2342f579 Notes,Doc Deletion, Currency, Password Reset
For more details on this update, please check the changelogs.
2025-04-27 17:14:02 -03:00
sassanix
95a0d87c38 QOL, Mobile, Import
Refer to changelogs
2025-04-20 19:22:24 -03:00
sassanix
22d7e6d751 Fixes and changes
Major update to the UI, lots of fixes, about page added, please refer to changelog for more details
2025-04-13 23:12:03 -03:00
sassanix
11477b5c9b Fixed tag, added lifetime, enhanced darkmode
Refer to changelogs
2025-04-06 14:18:50 -03:00
sassanix
d54ed49429 Tags fixed
Refer to changelogs
2025-04-06 13:13:02 -03:00
sassanix
60fa3402c9 Tags for warranties
Refer to changelogs
2025-04-01 21:24:12 -03:00
sassanix
8165b797d8 Notifications and QOL
Refer to changelogs
2025-03-26 09:27:44 -03:00
sassanix
09c10c0d5a Better Edit
Refer to changelogs for more details
2025-03-22 21:35:15 -03:00
sassanix
47923fe544 Upload Size Increase
Refer to changelogs for all of the changes.
2025-03-21 17:51:49 -03:00
sassanix
7d59e08da8 Settings updated
Refer to changelog
2025-03-21 13:17:41 -03:00
sassanix
b800742c3d Security Enhancements
Refer to changelog.md
2025-03-20 23:05:35 -03:00
sassanix
f6e11a629e Authentication, Settings Page
Refer to Changelog for all the changes
2025-03-13 15:48:42 -03:00
sassanix
238e6cd72d Improved warranty status display
Refer to changelogs
2025-03-08 20:15:56 -04:00
sassanix
b4855af43f Grid view, manuals, prices, table view, export option, filters
## [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
2025-03-07 16:12:15 -04:00
sassanix
3436b64bb9 Manual Uploads
Added the ability to upload manual document
2025-03-07 09:11:28 -04:00
sassanix
b231317831 Added Serial Numbers, Fixed CSS, Added Dark Mode
# Changelog

## [0.05.2-beta] - 2024-03-05

### Added
- Multiple serial numbers support for warranties
  - Users can now add multiple serial numbers per warranty item
  - Dynamic form fields for adding/removing serial numbers
  - Database schema updated to support multiple serial numbers
  - Added settings menu
  - Added Darkmode

### Changed
- Enhanced warranty management interface
  - Improved form handling for serial numbers
  - Better organization of warranty details
- Optimized database queries with new indexes
  - Added index for serial numbers lookup
  - Added index for warranty ID relationships

### Technical
- Database schema improvements
  - New `serial_numbers` table with proper foreign key constraints
  - Added indexes for better query performance
  - Implemented cascading deletes for warranty-serial number relationships

### Fixed
- Form validation and handling for multiple serial numbers
- Database connection management and resource cleanup
2025-03-04 22:59:48 -04:00
sassanix
61cf24ac8f Fixed duplicate edit button
There were two edit buttons, and removed the second button from script.js in the frontend.
2025-03-03 08:39:56 -04:00
sassanix
e97bc7c88b Fixing the fetch error for warranties database 2025-03-01 23:03:39 -04:00
sassanix
82f70164d2 My project so far 2025-03-01 22:40:41 -04:00