Skip to content

v0.2.1

Latest

Choose a tag to compare

@atendev atendev released this 20 Nov 17:41
· 5 commits to master since this release

Release Notes

New Features

  • Enter key support: Press ENTER to quickly submit reminders without clicking the button
  • State machine architecture: Reminders now use a proper lifecycle system (ACTIVE, PAUSED, SNOOZED) for more reliable state management
  • Statistics tracking: Added ReminderManager.getStats() for tracking reminder usage and performance
  • Data migration: Automatic migration from previous reminder data formats to ensure compatibility

Improvements

  • Major architectural refactoring: Complete overhaul with better separation of concerns for improved maintainability
  • Modular design: Split monolithic provider into focused components:
    • Reminder.ts - Reminder model with state machine and validation
    • ReminderScheduler.ts - Dedicated timer management
    • ReminderManager.ts - Business logic and persistence
    • RemindersViewProvider.ts - UI layer
  • Enhanced observer pattern: Better UI update handling in script.js
  • Improved error handling: Better validation and error management throughout the extension
  • Resource cleanup: Proper dispose() implementation to prevent memory leaks
  • Developer experience: Each component can now be tested independently, making the extension easier to extend and maintain

Bug Fixes

  • Fixed first-time reminder triggers: Reminders now trigger correctly immediately after being added
  • Improved lifecycle management: Prevents invalid state combinations that could cause unexpected behavior
  • Better timer cleanup: Enhanced resolution and cleanup to prevent memory leaks
  • Reliable scheduling: More dependable scheduling for missed reminders after extension reload

Installation

See installation instructions in README.

Full Changelog

Full Changelog: v0.1.1...v0.2.1