Commit graph

13 commits

Author SHA1 Message Date
Johannes Millan
cd5b38a6c9 docs: cleanup 2025-08-03 10:40:48 +02:00
Johannes Millan
5b8c33caa0 feat(webdav): add server capability detection for non-ETag servers
- Add WebdavServerCapabilities interface to detect server features
- Implement detectServerCapabilities() method in WebdavApi
- Support detection of ETags, Last-Modified, If headers, and locking
- Add comprehensive test coverage for capability detection
- Cache detected capabilities to avoid repeated requests
- Support configuration-based capability overrides
- Add documentation for WebDAV conditional headers analysis
- Maintain 100% backward compatibility with existing ETag behavior

This is Phase 2 of WebDAV non-ETag server support implementation.
All existing 180 tests continue to pass.
2025-07-18 12:11:05 +02:00
Johannes Millan
c346694055 test: add timezone tests for getWorklogStr occurrences that work correctly
- dialog-edit-task-repeat-cfg: converts timestamp to local date string correctly
- date.service: utility wrapper working as intended
- metric.util: converts timestamps for metrics display correctly
- archive.service: uses current time for today string correctly
2025-07-17 20:55:46 +02:00
Johannes Millan
d22d0ff97f fix(issue-providers): use date strings directly to avoid timezone conversion issues
When GitLab and OpenProject return due dates as YYYY-MM-DD strings,
we should use them directly instead of converting through getWorklogStr()
which causes timezone issues. In timezones with negative UTC offset,
dates would appear as the previous day.

- GitLab: use issue.due_date directly
- OpenProject: use issue.startDate directly
2025-07-17 17:53:25 +02:00
Johannes Millan
7dcc9b0736 Merge branch 'master' into feat/sync-md
* master: (93 commits)
  test: add comprehensive tests for task-archive.service _reduceForArchive
  fix: use _reduceForArchive consistently in task-archive.service
  test: fix or remove failing
  feat: re-implement task-archive restoring
  feat: add helper function for reducing for archive
  feat: persist overdue & later today toggle state
  feat: move overdue before later today
  feat: improve styling for work-view sections
  feat: move overdue below
  fix(sync): prevent overwrite form sync when importing safety backup
  fix(sync): wait for real initial sync instead of just loaded data and current sync to be done
  feat(log): adjust logs
  feat(sync): improve clientId
  feat(log): improve readability
  build: fix e2e tests
  feat: adjust log path
  test: fix
  fix: weird no window error
  fix(logs): improve log download for Android and fix test failures
  fix(log): make export work better for android
  ...

# Conflicts:
#	src/app/plugins/plugin-api.ts
#	src/app/plugins/plugin-bridge.service.ts
#	src/app/plugins/plugin-hooks.ts
#	src/app/plugins/util/plugin-iframe.util.ts
2025-07-11 20:00:08 +02:00
Johannes Millan
37244c7d2f chore: remove temporary sync-md design documentation
- Remove AI-generated design documents that were used during development
- These documents served their purpose for planning and are no longer needed
2025-07-10 14:58:11 +02:00
Johannes Millan
c7fa2cec25 docs: add mobile logging strategy plan
- Document current mobile logging limitations
- Propose phased approach for log collection and export
- Include privacy-first design considerations
- Outline implementation details and testing strategy
2025-07-07 22:47:23 +02:00
Johannes Millan
88814795c7 feat(sync-md): new approach and make it work better 2025-07-07 18:39:14 +02:00
Johannes Millan
0c4968724d cleanup docs 2025-07-03 12:07:26 +02:00
Johannes Millan
ddd7edb193 build: fix windows store build and adjust to new ci yml 2025-07-01 21:23:19 +02:00
Johannes Millan
d7225312bd feat(timezone): add comprehensive timezone tests and fix tomorrow date calculation
- 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.
2025-06-28 15:53:49 +02:00
Johannes Millan
257eff904a fix(date): resolve day of week mismatch in negative UTC timezones
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.
2025-06-28 15:02:18 +02:00
Johannes Millan
d4d81bf511 feat(plugin-api): create foundational plugin API package
- 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
2025-06-27 18:13:19 +02:00