Warracker logo

Warracker

Open-source warranty tracker to monitor expirations and store receipts

Alternative to: sortly


About Versions (54)

0.9.9.2

2025-04-20

Added

  • Warranty Years (Fractional Support):
    • You can now enter fractional (decimal) values for warranty periods (e.g., 1.5 years) when adding or editing warranties.
    • The backend, frontend UI, and CSV import/export all support decimal warranty years.
    • Validation and expiration date calculations have been updated to handle decimal years correctly.
    • The UI now allows decimal input for warranty years and displays fractional years in summaries and warranty lists. Files: backend/app.py, frontend/index.html, frontend/script.js
  • Import button added, and functional. Must use CSV file format.
    • 📦 Product Information Entry Requirements

Field NameFormat / ExampleRequired?Notes
ProductNameText✅ YesProvide the name of the product.
PurchaseDateDate (YYYY-MM-DD, e.g., 2024-05-21)✅ YesUse ISO format only.
WarrantyYearsWhole Number (1, 3, 10)✅ Yes, unless IsLifetime is TRUEMust be between 1 and 100 if provided.
IsLifetimeTRUE or FALSE (case-insensitive)❌ No (Optional)If omitted, defaults to FALSE.
PurchasePriceNumber (199.99, 50)❌ No (Optional)Cannot be negative if provided.
SerialNumberText (SN123, SN123,SN456)❌ No (Optional)For multiple values, separate with commas.
ProductURLText (URL format)❌ No (Optional)Full URL to product page (optional field). https://producturl.com
TagsText (tag1,tag2)❌ No (Optional)Use comma-separated values for multiple tags.

Changed

  • Theme: Unified theme persistence using a single localStorage key (darkMode) and centralized the loading logic in theme-loader.js to enhance consistency and eliminate theme-flashing on load.
    Files: frontend/theme-loader.js, frontend/script.js, frontend/status.js, frontend/settings-new.js, frontend/settings-new.html

  • UI/UX: Updated the “Add Warranty” modal behavior to only close when the internal ‘X’ button is clicked. Clicking the backdrop no longer closes the modal. This change is specific to this modal—others retain default backdrop behavior.
    File: frontend/script.js

Fixed

  • Wizard Navigation:

    • Ensured the summary tab in the “Add Warranty” wizard displays and updates correctly.
    • Resolved JS errors (TypeError: Assignment to constant variable, ReferenceError: tabs is not defined) that affected tab functionality.
    • Fixed scope issues with backdrop click handlers impacting modal behavior.
      File: frontend/script.js
  • Header Layout (Desktop): Standardized header layout across pages by wrapping elements in a .header-right-group container and applying consistent styles.
    Files: index.html, status.html, about.html, settings-new.html, frontend/header-fix.css

  • Header Layout (Mobile): Corrected alignment of header elements—title is now left-aligned, user/settings icons right-aligned, and navigation links centered below. Used !important to resolve conflicts with desktop styles.
    File: frontend/mobile-header.css

  • Theme: Fixed site-wide dark/light mode persistence. Changes made on one page now reflect consistently across all pages. Standardized use of darkMode and ${prefix}darkMode keys in relevant scripts.
    Files: frontend/status.js, others using setTheme / initializeTheme

  • User Menu: Fixed dropdown not opening due to a variable typo. Centralized gear menu toggle logic into auth.js for consistent behavior, removing redundant initializations.
    Files: frontend/auth.js, frontend/script.js, frontend/settings-new.js

  • JavaScript Errors: Addressed multiple errors (ReferenceError, TypeError) related to function order, missing element checks, and incorrect variable usage—primarily impacting status.html and pages using script.js.
    Files: frontend/script.js, frontend/status.js

  • API Integration: Fixed parsing logic for /api/statistics response to correctly interpret the API structure.
    File: frontend/status.js

Removed

  • Settings Gear Icon: The settings gear icon button and its menu have been removed from the header in all main pages for a cleaner and less redundant UI. Files: frontend/index.html, frontend/status.html, frontend/about.html

Screenshots:

image

Issues to fix on next release:

  • Username switches between First name and username, none breaking bug.
  • List view and table view to be updated