- Decoupled Google Sheets API interaction into `GoogleSheetsClient`.
- Decoupled OAuth2 device code flow logic and state into `DeviceAuthProvider`.
- Refactored `sheets.service.ts` to use these new components while maintaining the existing public API.
- Added comprehensive unit tests for `GoogleSheetsClient` and `DeviceAuthProvider`.
- Improved type safety by using `OAuth2Client` instead of `any`.
- Ensured consistency with original behavior by including `responseRanges` in `batchUpdate`.
Co-authored-by: cpvalente <34649812+cpvalente@users.noreply.github.com>
The logic for deciding whether to show the welcome modal has been moved from `app.ts` to `AppStateService.ts`. The `getShowWelcomeDialog` function now accepts a boolean indicating whether a restore point exists and returns `false` if it does. This keeps the business logic out of the main application file and in the relevant service.
* Fix(automation): Handles undefined values in conditions (#1933)
* Fix(automation): Handles undefined values in conditions
Addresses an issue where conditions with the 'not_equals' operator incorrectly evaluated undefined values. This change ensures that empty string comparisons correctly identify missing values in automation rules.
* Fixes automation "not equals" logic
Simplifies the 'not_equals' condition evaluation in automations by reusing the 'equals' condition, improving code readability and consistency.
Fixes#1932
* Test(automation): Expanding filter condition testing
Expanding test cases to cover various data types and edge case for each operators.
Unexpected behavior have been mark with a TO_DO.
* Fix(automation): Handles default filter case
- Ensures that their is a default scenario.
- Fixing Deepsource issue "No default cases in switch statements JS-0047"
* Test(automation): Remove abstraction in test
* move to test.each
* extract a isEquivalent function
* lowercase contains test
---------
Co-authored-by: Philippe Allard-Rousse <philrousse@gmail.com>