- Add mock WebDAV server with ETag and Last-Modified support
- Create basic WebDAV sync e2e test following KISS principle
- Add docker-compose configuration for isolated testing
- Include npm script for automated WebDAV e2e testing
The minimal setup tests WebDAV configuration and basic sync
functionality with both ETag and Last-Modified fallback support.
- Add 'npm run checkFile <file>' to run prettier and lint on a single file
- Add 'npm run prettier:file <file>' for formatting individual files
- Add 'npm run lint:file <file>' for linting individual files
- Add 'npm run test:file <file>' for running tests on individual spec files
- Create wrapper scripts that show minimal output on success, full output on errors
- Update CLAUDE.md to emphasize using checkFile command frequently
- Add 25-second timeout for test execution to prevent hanging
- Fix add-tasks-for-tomorrow service to use dateStrToUtcDate() instead of new Date()
to prevent timezone issues in negative UTC offsets
- Add comprehensive timezone tests for date utility functions:
- getDateRangeForDay: test day boundaries, DST transitions, edge cases
- getDateTimeFromClockString: test clock parsing, local time preservation
- getDateRangeForWeek: enhance with timezone, DST, and boundary tests
- Document timezone behavior analysis and decisions
- Update CI to test in Los Angeles timezone in addition to Berlin
These changes ensure consistent date/time behavior across all timezones,
preventing issues like the day of week mismatch reported in issue #4653.
Fixes issue #4653 where the day of week displayed in Worklog and Quick History
views was incorrect for users in negative UTC offset timezones (e.g., America/Los_Angeles).
The bug was caused by using `new Date(dateStr)` which interprets YYYY-MM-DD format
strings as UTC, causing date shifts in negative timezone offsets.
Changes:
- Use `dateStrToUtcDate` utility in `formatDayStr` and `formatDayMonthStr` functions
- Add comprehensive timezone tests for date formatting utilities
- Fix string to number conversion in `autoFixTypiaErrors` for task entities
- Fix TypeScript type issues in multiple test files
- Add timezone test scripts to package.json for CI testing
The fix ensures dates are parsed correctly in the local timezone regardless
of the user's timezone offset.
- Add missing e2e-toggle-issue-provider-panel class to issue panel button
- Add missing e2e-toggle-notes-btn class to notes toggle button
- Fix Android build by replacing p-throttle with custom throttle implementation
- Remove p-throttle dependency to resolve FinalizationRegistry compatibility
- Add console.warn for debugging string-to-number conversion in auto-fix-typia-errors
This resolves the failing e2e tests for issue-provider-panel and the Android build error.
- Add @super-productivity/plugin-api package with TypeScript definitions
- Define core plugin interfaces, types, and manifest structure
- Add plugin hooks system for event-driven architecture
- Create plugin API type definitions and constants
- Add documentation and development guidelines
Updated electron-log from 5.1.2 to 5.4.1 which includes a fix for the deprecated
session.getPreloads() and session.setPreloads() methods. The library now uses
the new session.registerPreloadScript() API when available, eliminating the
deprecation warnings that appeared when starting the app.