Commit Graph

10 Commits

Author SHA1 Message Date
sassanix
7ead2f7aa7 Reverted
Reverted the changes, as performance and core usage was effected
2025-11-16 14:06:47 -04:00
sassanix
aed0389e77 refactor(frontend): Decouple state and componentize UI rendering
This commit completes the "Improving Structure & Maintainability" phase by fundamentally refactoring the frontend architecture.

- Introduced a central state store (store.js) to act as a single source of truth, eliminating global variables and making data flow predictable through an event-based system.

- Replaced innerHTML with component-based rendering for all major UI elements, including warranty cards, tags, and all modals (Edit, Delete, Claims, Notes, Paperless). This improves security, performance, and maintainability.

- Created reusable UI component modules (warrantyCard.js, editModal.js, claims.js, etc.) and used an HTML <template> for the main warranty card to separate markup from logic.
2025-11-07 12:38:26 -04: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
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
8165b797d8 Notifications and QOL
Refer to changelogs
2025-03-26 09:27:44 -03:00
sassanix
7d59e08da8 Settings updated
Refer to changelog
2025-03-21 13:17:41 -03:00
sassanix
ad24a76d9a Fixed Admin Settings
Refer to changelogs
2025-03-14 08:33:18 -03:00
sassanix
f6e11a629e Authentication, Settings Page
Refer to Changelog for all the changes
2025-03-13 15:48:42 -03:00