Commit graph

80 commits

Author SHA1 Message Date
Johannes Millan
8bcccde275 feat(syncServer): implement JWT authentication and user registration/login functionality 2025-11-27 18:39:48 +01:00
Johannes Millan
328d3d7613 feat(syncServer): refactor server functions to use arrow function syntax and improve error handling 2025-11-27 15:28:58 +01:00
Johannes Millan
f17574cb63 feat(syncServer): update plan 2025-11-27 13:07:59 +01:00
Johannes Millan
82626280f5 feat(syncServer): add configuration file and enhance server setup 2025-11-27 12:55:47 +01:00
Mustache Games
273a1077d7 docs(plugin-dev): improve whitespaces
- Blank lines in Quick Start JS (after log/notification/counter)
- Spacing in Data Operations subsections (Tasks/Projects/Tags/Simple Counters)
2025-11-17 21:08:02 +02:00
Mustache Games
afa2f60450 docs(plugin-dev): document simple counters API
- Add "Simple Counters" subsection with basic/full model tables, validation/examples (regex, dates)
- Integrate counter demo in Quick Start (`plugin.js`: set/inc on button, snack update)
- Tie-in Hooks ACTION example: increment counter on task add
- List community plugins in Resources (`counter-tester-plugin`, `sp-reporter`)
- Clean Data Operations formatting
2025-11-17 20:55:11 +02:00
Johannes Millan
05f088a900 docs: add performance report 2025-11-13 18:23:50 +01:00
johannesjo
a0761732c2 docs: clarify certificate selection with 'For use in Xcode 11 or later' description 2025-11-10 16:06:58 +01:00
johannesjo
348dfeac82 docs: add comprehensive Mac App Store code signing guide
Documents the complete solution for certificate/provisioning profile matching issues with electron-builder and Apple's MAS validation.
2025-11-10 15:59:24 +01:00
johannesjo
63b021d942 build: make mas build work and fix guide 2025-11-09 16:35:09 +01:00
johannesjo
96a36a82ff docs: update update guidex 2025-11-08 13:05:38 +01:00
Johannes Millan
b77f407cc5 16.2.1 2025-11-01 13:22:58 +01:00
Johannes Millan
8c0624cbf7 docs: add info about 5 star ratings 2025-10-23 10:29:55 +02:00
rugk
6b23abb86a
Merge branch 'master' into patch-1 2025-10-08 18:30:02 +02:00
Dmitriy Shushlebin
b923160ff3
add other link 2025-10-02 08:07:06 +03:00
rugk
6781c71f84
Properly show other places in how-to-rate.md
Without it or at least `  ` (two spaces) at the end, it is shown in one line which is not really beautiful.
2025-09-25 11:05:50 +02:00
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
966f65e6a9 build: final approach 2025-07-14 20:52:51 +02:00
Johannes Millan
97dd02fe7a build: env file improve 2025-07-14 19:47:48 +02:00
Johannes Millan
8432e1bbb4 build: add env files first draft 2025-07-14 18:58:27 +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
658c29a8d7 refactor: remove localLamport completely from sync system
- Remove localLamport and lastSyncedLamport from all interfaces and models
- Simplify sync logic to use vector clocks exclusively for change tracking
- Remove Lamport-based conflict detection and sync status logic
- Update UI components to remove Lamport display elements
- Clean up backwards compatibility utilities
- Fix getVectorClock import error in sync.service.ts
- Remove debug alert from sync-safety-backup.service.ts

This simplifies the sync system by eliminating the dual tracking
mechanism that was causing complications and false conflicts.
Vector clocks provide better causality tracking for distributed sync.
2025-07-05 18:20:24 +02:00
Johannes Millan
922196c541 docs: add vibe coding tipps 2025-07-03 14:01:07 +02:00
Johannes Millan
0a55fa2823 docs: update plugin development guide 2025-07-03 12:49:59 +02:00
Johannes Millan
0c4968724d cleanup docs 2025-07-03 12:07:26 +02:00
Johannes Millan
3714dcba65 Merge branch 'fix/multiple'
* fix/multiple:
  feat: improve reliably for repeatable tasks 2
  feat: improve reliably for repeatable tasks
  fix: avoid mutation
  docs: add theme colors overview
  fix: date pipe error with indonesian
  build: fix docker build
  fix: only filter out later today tasks for today list
  fix: task detail panel not opening for tasks planned for later
2025-07-02 20:33:16 +02:00
Johannes Millan
a87656982f docs: add theme colors overview 2025-07-02 19:56:47 +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
48c761fb2b docs: update plugin docs 2025-06-30 21:49:23 +02:00
Johannes Millan
591fc72ec3 docs: add plugin development guide v1 2025-06-30 21:46:58 +02:00
Johannes Millan
230ccb7b1d docs: add test fix summary for vector clock implementation
- Document the root cause of the failing test
- Explain why setting Lamport values to 0 fixes the issue
- Provide verification of the fix logic
- Complete documentation of vector clock implementation work
2025-06-30 21:42:03 +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
Johannes Millan
ebc2ff1998 build: better organize stuff 2025-06-27 09:03:16 +02:00
Johannes Millan
a08ad5ae9d feat(sync): implement vector clock checking 2025-06-24 20:10:39 +02:00
Johannes Millan
8db186de91 feat: add idle handling for wayland 2025-06-19 20:13:51 +02:00
Johannes Millan
0f73431fd5 add please rate dialog 2025-04-18 14:08:22 +02:00
Johannes Millan
b2607b1647 docs: update instructions on how to release android 2025-03-09 13:16:23 +01:00
Mike P. Sinn
f711176731 docs: add comprehensive guide for creating new issue tracker integrations 2025-03-07 16:11:10 +01:00
RayBB
f12b56714a sync title (aka summary) from SP -> CalDAV server 2025-01-17 15:03:57 +01:00
Johannes Millan
625dbe2b70
Merge branch 'master' into split-gitlab-docs 2025-01-11 15:02:35 +01:00
Johannes Millan
c40acbcd67
Update gitlab-access-token-instructions.md 2025-01-11 14:55:50 +01:00
Johannes Millan
54faeed599 docs: make token docs work better 2025-01-11 14:45:24 +01:00