diff --git a/CHANGELOG.md b/CHANGELOG.md index 65db835aa..b265efbb3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,626 @@ +# [17.0.0-RC.0](https://github.com/super-productivity/super-productivity/compare/v16.9.4...v17.0.0-RC.0) (2026-01-11) + +### Bug Fixes + +- add null checks to isRelatedModelDataValid to prevent crash on sync validation ([f6ad4f2](https://github.com/super-productivity/super-productivity/commit/f6ad4f2da3db05ba82c738c53786e9b14dd679b1)) +- address code review findings - add tests and fix types ([c6a9ae1](https://github.com/super-productivity/super-productivity/commit/c6a9ae1fa7ab9d28974e7fee52e3a142cdc2b459)) +- address code review findings from Dec 27-29 changes ([1da7048](https://github.com/super-productivity/super-productivity/commit/1da70487f90e16d9fed34fd84b3e041967016233)) +- address code review findings from last 24 hours ([615188b](https://github.com/super-productivity/super-productivity/commit/615188bf88b8ac41e72d7070038ff2e3116b7393)) +- address code review findings from pfapi-to-oplog refactor ([dd79f54](https://github.com/super-productivity/super-productivity/commit/dd79f54c234ac2d4c1690604e939a0494291002c)) +- address code review issues from sync and UX changes ([a405b6e](https://github.com/super-productivity/super-productivity/commit/a405b6ee6d6623ef18c610f7c735348a803de6c4)) +- **api:** add missing await in replace-token endpoint ([2a9b84c](https://github.com/super-productivity/super-productivity/commit/2a9b84caf0fe2e982d5f5230be6c356656451627)) +- **archive:** prevent data loss from frozen objects during flush ([52c8237](https://github.com/super-productivity/super-productivity/commit/52c8237fa42d564f13b49e0e0b7ea6e82a498829)) +- **auth:** handle cleanup/rollback errors in registration ([d4f82c3](https://github.com/super-productivity/super-productivity/commit/d4f82c38213dbd851e733806b2baf358a54898a9)) +- **backup:** ensure archive stores exist and handle null values on import ([c58e406](https://github.com/super-productivity/super-productivity/commit/c58e4060bec6919539f19325e5182178dc3486f6)) +- **backup:** persist archive data to IndexedDB on local import ([6c3f183](https://github.com/super-productivity/super-productivity/commit/6c3f183fb759995c7ab2acec7a72d6ba5f27fd05)) +- **build:** add missing vite-plugin-solid dep and fix Uint8Array body type ([63d11b3](https://github.com/super-productivity/super-productivity/commit/63d11b3ac8009f54434c46365c7e13e163a4f148)) +- **ci:** restore Docker Hub image name to personal repo ([a8cf437](https://github.com/super-productivity/super-productivity/commit/a8cf4378daf45d24a20a106751e0abc444813b69)) +- compilation and linting errors in operation log sync implementation ([6934153](https://github.com/super-productivity/super-productivity/commit/69341537f27c6ff52bd70218220889b27f11f77b)) +- compilation errors after integrating operation log sync ([6112467](https://github.com/super-productivity/super-productivity/commit/6112467dbe8b467082c21775c6f04c05e52bfa21)) +- compilation errors by updating action creators to spread payload ([80be121](https://github.com/super-productivity/super-productivity/commit/80be121de5348797b8a9b9bfb1a14d103b53d179)) +- compilation errors in dependency resolver and webdav api ([553f944](https://github.com/super-productivity/super-productivity/commit/553f944c392effa1d57bb934513338a37225158f)) +- compilation errors in webdav api and dependency resolver ([e999f14](https://github.com/super-productivity/super-productivity/commit/e999f14015ee742de94c006bb2c0cccb8e1162c6)) +- **config:** handle startOfNextDay value of 0 correctly ([8ac9f4d](https://github.com/super-productivity/super-productivity/commit/8ac9f4deee2e61c5d35c2cde9b68a447749984c5)) +- **config:** preserve syncProvider from snapshot on initial load ([4164336](https://github.com/super-productivity/super-productivity/commit/416433636c3768a441dee19715f652ae8e245145)) +- **config:** preserve syncProvider when loading synced data ([787c114](https://github.com/super-productivity/super-productivity/commit/787c114e06b967875dd03ee0873c7f5b0949566e)) +- **config:** show sync safety backups only for legacy providers ([a850f8a](https://github.com/super-productivity/super-productivity/commit/a850f8af9ed21a141d54e4079a408a2162eea1e5)) +- **config:** simplify SuperSync config by removing advanced options ([7fc1574](https://github.com/super-productivity/super-productivity/commit/7fc1574a328ce936a18f50b3c792ac2201cc613f)) +- Correct Zod schema for termsAccepted in /api/register ([9e00253](https://github.com/super-productivity/super-productivity/commit/9e002537bbd5a5397c07c29508e08eadbfa43479)) +- **docker:** fix supersync container startup issues ([b77328a](https://github.com/super-productivity/super-productivity/commit/b77328a3819ed3124666a9786a06a0ab13849739)) +- **docker:** upgrade npm to v11 to match lockfile version ([187bfaf](https://github.com/super-productivity/super-productivity/commit/187bfaf24c3b5fab80c5d3f089cfa193eba87df0)) +- **docs:** correct archive flush thresholds in diagrams ([3405999](https://github.com/super-productivity/super-productivity/commit/3405999aba25799c83dce1b0494346f767389ddf)) +- **docs:** correct gap detection and server migration flow in diagrams ([cb04277](https://github.com/super-productivity/super-productivity/commit/cb04277daa16a446449598816c89cfe15a379705)) +- **docs:** correct late-joiner replay section to describe UUIDv7 filtering ([f89feed](https://github.com/super-productivity/super-productivity/commit/f89feed8b7e77b826298b52097c4cd4d2ba34aff)) +- **docs:** correct multi-tab section in architecture diagram ([5ba9712](https://github.com/super-productivity/super-productivity/commit/5ba97128ec3b84747e520aa51cde1995e30dc34d)) +- **docs:** fix Mermaid parse error in sync architecture diagram ([a9e647c](https://github.com/super-productivity/super-productivity/commit/a9e647c19dfaddb6ddd0c1c3e2bd8c62f1a172f8)) +- **docs:** fix Mermaid parse error in vector clock diagram ([68a1056](https://github.com/super-productivity/super-productivity/commit/68a105616f470ccc88ae74c280d6fdcee002ff45)) +- **e2e:** dismiss dialog backdrop before retry sync in error handling test ([ce58113](https://github.com/super-productivity/super-productivity/commit/ce58113ad05bccd2e8ac5cedd2387d1eb6db4be0)) +- **e2e:** dismiss Welcome intro dialog before Shepherd tour ([42b0d65](https://github.com/super-productivity/super-productivity/commit/42b0d65352df9b0102e1dc400a133b16e040319d)) +- **e2e:** fix archive-subtasks tests for TODAY tag virtual membership ([efe8bea](https://github.com/super-productivity/super-productivity/commit/efe8bea72d91db915d632c5ef2e64c2deba4bd1b)) +- **e2e:** fix failing supersync models test due to wrong locator ([31f6232](https://github.com/super-productivity/super-productivity/commit/31f623276048a0ca710a9a957c41eb2ba9cf80ce)) +- **e2e:** fix failing tags test and flaky late-join test ([0b99845](https://github.com/super-productivity/super-productivity/commit/0b998459aac3d8e3d54a953a2c575a44beffda23)) +- **e2e:** fix flaky supersync dropdown interaction ([3756f33](https://github.com/super-productivity/super-productivity/commit/3756f33f7ec798a665d7dc2d3462801d6d7b39be)) +- **e2e:** fix flaky WebDAV sync tests by verifying selection took effect ([530f341](https://github.com/super-productivity/super-productivity/commit/530f34117135dcfa83c5247866b0fc29b44eaa8c)) +- **e2e:** fix stale-clock regression tests timeout after import ([d50dc73](https://github.com/super-productivity/super-productivity/commit/d50dc73674c74d84bec1d229f2165118e517c8bc)) +- **e2e:** fix SuperSync E2E test failures and improve reliability ([ce44737](https://github.com/super-productivity/super-productivity/commit/ce447370d329eb528fe102aa1af788f77c7eef54)) +- **e2e:** fix WebDAV sync tests that were failing ([55484fa](https://github.com/super-productivity/super-productivity/commit/55484faffd5d6e098d4656576fd85f52b6b61212)) +- **e2e:** handle already-closed browser contexts in closeClient ([0d6b65c](https://github.com/super-productivity/super-productivity/commit/0d6b65cdc13e1b009d11bc0ce071e2a30682b5c3)) +- **e2e:** handle ENOENT errors in closeClient cleanup ([94e4959](https://github.com/super-productivity/super-productivity/commit/94e4959b91c1f3325d761066a89cbe79f7627e87)) +- **e2e:** improve app loading detection and fix server TypeScript errors ([4e0f5e8](https://github.com/super-productivity/super-productivity/commit/4e0f5e8999f3b1c1e17d9c396011d46e03a5642d)) +- **e2e:** improve import and supersync page reliability ([9981c44](https://github.com/super-productivity/super-productivity/commit/9981c44fc4e40c4c53a4e9a9e7b8b40c4f9cbd45)) +- **e2e:** improve reliability of offline burst sync test ([174d4aa](https://github.com/super-productivity/super-productivity/commit/174d4aa6b2a945fb9a16ca8b8cc0cfdc849c81e6)) +- **e2e:** improve stability of flaky sync tests ([1057b8e](https://github.com/super-productivity/super-productivity/commit/1057b8ebdb9d05eff400c5e311cc1438ca5c2ffa)) +- **e2e:** improve stability of WebDAV sync tests ([386c5a2](https://github.com/super-productivity/super-productivity/commit/386c5a2f4054dc959ca6744a36e0a778d2eb0b97)) +- **e2e:** improve supersync test stability and build compatibility ([ab0371f](https://github.com/super-productivity/super-productivity/commit/ab0371fac6a5470b6e80ebe240e9cccb97d24f9f)) +- **e2e:** improve test stability for parallel execution ([f37110b](https://github.com/super-productivity/super-productivity/commit/f37110bbb5dce8d754b0e5ddcb396f6563500e11)) +- **e2e:** limit supersync test workers to prevent server crash ([e046eb9](https://github.com/super-productivity/super-productivity/commit/e046eb9100f596a4e4300388e8214cc80b539e5e)) +- **e2e:** only treat snackbars with error keywords as sync errors ([bf65350](https://github.com/super-productivity/super-productivity/commit/bf65350dca18664e2579ce34894b4ad9b033301e)) +- **e2e:** reduce console log noise with optional E2E_VERBOSE flag ([84e1bae](https://github.com/super-productivity/super-productivity/commit/84e1bae3f7da09127b3f0725ad4b70a6085e6305)) +- **e2e:** reduce flakiness in SuperSync E2E tests ([8fa148a](https://github.com/super-productivity/super-productivity/commit/8fa148aab6299a8d3d83fb312045d70e99ef0199)) +- **e2e:** scroll task into view before clicking attachment button ([d16c8f7](https://github.com/super-productivity/super-productivity/commit/d16c8f7df3872432f4efe7353ff6d88ba0ef7126)) +- **e2e:** skip supersync tests when server unavailable ([2e890fc](https://github.com/super-productivity/super-productivity/commit/2e890fc0d6799c461d40c7b22d17343ae61a3f61)) +- **e2e:** split docker-compose files for standalone webdav tests ([cdf52cc](https://github.com/super-productivity/super-productivity/commit/cdf52cc4e53ea9b6f2558e10628bb7680dde957f)) +- **e2e:** stabilize flaky supersync tag deletion and migration tests ([565f1c8](https://github.com/super-productivity/super-productivity/commit/565f1c8cc7afac4f8db1a0474f9c6801f4124f80)) +- **e2e:** Stabilize SuperSync and general E2E tests ([c7c3ad9](https://github.com/super-productivity/super-productivity/commit/c7c3ad9092323c6226f95931d89afed81e3e9290)) +- **e2e:** target specific tasks container in schedule page test ([073eab1](https://github.com/super-productivity/super-productivity/commit/073eab162e0394af3b77b6d38f0e68a4ff468612)) +- **e2e:** update snackbar undo button selector ([4eb0391](https://github.com/super-productivity/super-productivity/commit/4eb03914c6216d32bc08d5c0007aba9b51bbec35)) +- **e2e:** use !override to replace ports instead of merge ([781898b](https://github.com/super-productivity/super-productivity/commit/781898b57277a9f3335b88e2a5509591d3bb2562)) +- **e2e:** use correct nav-link selector for project navigation ([ac36f5a](https://github.com/super-productivity/super-productivity/commit/ac36f5af676b731e651bbc25daa80527a242fa56)) +- **e2e:** use correct selector for confirm button in task-crud test ([ca98d2c](https://github.com/super-productivity/super-productivity/commit/ca98d2c9366944cef996f4201a50943878d69a37)) +- **effects:** add skipDuringSync to task-ui effects and document all usages ([140c46d](https://github.com/super-productivity/super-productivity/commit/140c46d40fe03f250743abf662624f3cd2dd6fcb)) +- **effects:** skip remote actions in task effects ([c3ef243](https://github.com/super-productivity/super-productivity/commit/c3ef2436dc0e322358b1d25a982dda83633600da)) +- ensure operation log store is initialized before access ([be8ddf6](https://github.com/super-productivity/super-productivity/commit/be8ddf688c966d3b9c7939a8011b5d2b391cfa73)) +- **export:** read archiveYoung/archiveOld from ModelCtrl for export ([3bf1cc3](https://github.com/super-productivity/super-productivity/commit/3bf1cc348ff44640682d8208a313a44a84a79019)) +- **focus-mode:** add skipDuringSync to prevent freeze on task done ([80b925e](https://github.com/super-productivity/super-productivity/commit/80b925ef2f750dab7249acaca0e5d5f54278f45d)) +- **focus-mode:** resolve Pomodoro timer sync issues ([#5954](https://github.com/super-productivity/super-productivity/issues/5954)) ([0a22bc4](https://github.com/super-productivity/super-productivity/commit/0a22bc443c5aa39ae47eb027f544d30f68f9eff0)) +- harden supersync entity allowlist and verify-email route ([dfc6df7](https://github.com/super-productivity/super-productivity/commit/dfc6df7f138011ead534a731fcfd6d98a3c0762c)) +- hydrate from full log if no snapshot exists to support fresh installs ([a3fc34f](https://github.com/super-productivity/super-productivity/commit/a3fc34fe52a581dcc678ba32cb7424fe76cf5187)) +- **i18n:** add missing ARCHIVE_CLEANUP_FAILED translation key ([9272a58](https://github.com/super-productivity/super-productivity/commit/9272a588dff06cdc73e7a9d7155858cd230614c3)) +- **i18n:** translation for 'NO_PLANNED_TASKS' in Polish ([d1112c8](https://github.com/super-productivity/super-productivity/commit/d1112c86021cb466aaefa5ff5016a75c6334f60a)) +- **import:** handle imports via operation log instead of pf database ([7f2865a](https://github.com/super-productivity/super-productivity/commit/7f2865ab07cfd60f369716cfb2682a4cf836795b)) +- **import:** preserve time tracking data for archived tasks on backup import ([3eb7b13](https://github.com/super-productivity/super-productivity/commit/3eb7b130845bb01c8917c67abbe9ceade888ba7b)) +- initialize archive data in PfapiStoreDelegateService to prevent missing data errors ([bd0ef07](https://github.com/super-productivity/super-productivity/commit/bd0ef0725793ed7b4e9d2684d0101f644374d259)) +- **issue:** add type guards for task selector narrowing ([4f708e7](https://github.com/super-productivity/super-productivity/commit/4f708e7eed84673849ece145c940c2b4a5b6d082)) +- **lint:** change hydration guard and entity registry rules from warn to error ([8408ac5](https://github.com/super-productivity/super-productivity/commit/8408ac5c0ecafc341ca8289a67a4c12be8ead0b9)) +- linting and compilation errors after file system IPC changes ([1e82669](https://github.com/super-productivity/super-productivity/commit/1e826698aa8586be96e15bca28f54c9f446255c2)) +- **lint:** Resolve linting issues in e2e and integration tests ([801ff62](https://github.com/super-productivity/super-productivity/commit/801ff628f80298eb92eb0f3aab20a2b1166d4c43)) +- load .env file for supersync container ([73549b7](https://github.com/super-productivity/super-productivity/commit/73549b793344eb3c9f2cd9620ec692b1ff6c72d9)) +- log level ([5845cdc](https://github.com/super-productivity/super-productivity/commit/5845cdc3217c05dee59668bd0ba44a45f364140f)) +- **metric:** handle updateMetric for non-existent entities ([42dc740](https://github.com/super-productivity/super-productivity/commit/42dc740c064dedf49c5bb31798be2502c8b2f403)) +- **migration:** read legacy data from 'pf' database, handle orphan operations ([815c86c](https://github.com/super-productivity/super-productivity/commit/815c86c10d2f6780e3e14ea8f547d9cdcfec48ad)) +- **op-log:** add defensive validations and improve test coverage ([de192ab](https://github.com/super-productivity/super-productivity/commit/de192ab4463af2143295483a60dfbbc90a9dd8c2)) +- **op-log:** add encryption migration and deferred action notification ([c5622c4](https://github.com/super-productivity/super-productivity/commit/c5622c4b20923df5a0604bafac05fa4712cbf7bc)) +- **op-log:** add error handling for critical failure paths ([ac8ada8](https://github.com/super-productivity/super-productivity/commit/ac8ada84f003a2a5df9496bb48b6fb9e81f0a0a0)) +- **op-log:** add persistence meta to all TaskSharedActions ([a1f7284](https://github.com/super-productivity/super-productivity/commit/a1f7284b026bf59f9f4952d179df0b7ad233206e)) +- **op-log:** consolidate lock names and skip stale operations ([eaf875c](https://github.com/super-productivity/super-productivity/commit/eaf875c7d3d4044ed3d3f56f8c6fc9a574e162a9)) +- **op-log:** fix operation flush timeout in daily-summary tests ([a7cd442](https://github.com/super-productivity/super-productivity/commit/a7cd442551c1148d4d445b98dc8cc0774827424e)) +- **op-log:** fix startup issues - circular dep, clientId, and persistence ([1896432](https://github.com/super-productivity/super-productivity/commit/18964320ca0c7f72b7ba57ca1bb693ad371ea42f)) +- **op-log:** improve operation log implementation quality ([8ddca28](https://github.com/super-productivity/super-productivity/commit/8ddca287f1b8c2dffbbf3eb66fc9b9fe08df8e13)) +- **op-log:** improve resilience and user feedback in sync operations ([69fb432](https://github.com/super-productivity/super-productivity/commit/69fb432893579e421925bdfa467b1ba2f597ca25)) +- **op-log:** improve type safety by replacing any with unknown ([ae127ff](https://github.com/super-productivity/super-productivity/commit/ae127ff83ab2e6d5a7cb1eecd3056d73eea53874)) +- **op-log:** store remote operations in IndexedDB before applying ([430f8bc](https://github.com/super-productivity/super-productivity/commit/430f8bc652bf644ce1559440eb87cbccc84d2c9e)) +- **operation-log:** add validation for syncTimeSpent payload shape ([b96f20a](https://github.com/super-productivity/super-productivity/commit/b96f20af12c18bcfe88cda8cab45a2b9f2b1b287)) +- **operation-log:** resolve circular dependency in RepairOperationService ([168bd5e](https://github.com/super-productivity/super-productivity/commit/168bd5eb97fc76234f45d3816403745bb696de43)) +- **oplog:** add failed operations cleanup and improve error logging ([e4d5b70](https://github.com/super-productivity/super-productivity/commit/e4d5b70a075ab8186f86a35269a23e2d985d4a0f)) +- **oplog:** add isPersistent metadata to missing actions ([7148af2](https://github.com/super-productivity/super-productivity/commit/7148af2e8b743548bda297dea702e3a8886dbdc3)) +- **oplog:** add QuotaExceededError handling for storage full scenarios ([797c978](https://github.com/super-productivity/super-productivity/commit/797c9785e0cfaf35bd7c6c039e968984475eadac)) +- **oplog:** add time-based expiry for pending operations ([9628279](https://github.com/super-productivity/super-productivity/commit/9628279da7c9815f624123fc2e10b705695b5a88)) +- **oplog:** add validation to hydration fast path and fix conflict resolution cleanup ([e136d5e](https://github.com/super-productivity/super-productivity/commit/e136d5ecbf88201cb2e4df527951fefc9d4c35d6)) +- **oplog:** correct invalid reference counting in validate-state service ([a619654](https://github.com/super-productivity/super-productivity/commit/a619654000bb72e3575c9188ead4635216121c80)) +- **oplog:** fix bugs and add unit tests for operation-log-store ([dc5ac51](https://github.com/super-productivity/super-productivity/commit/dc5ac51c6a48eab6136fcf7a3453922ff44c579d)) +- **oplog:** fix type casting errors in validate-state.service.ts ([3e08bce](https://github.com/super-productivity/super-productivity/commit/3e08bce2983f19c649efedfdf2f54d07b267d06a)) +- **oplog:** improve data integrity and robustness of operation log ([e498acc](https://github.com/super-productivity/super-productivity/commit/e498acc020c5777eb181f6da1b1339c0ef472025)) +- **oplog:** improve quota handling with emergency compaction and retry ([4d972a4](https://github.com/super-productivity/super-productivity/commit/4d972a44452f20dc84fed6e5c114a6a7b1f25cac)) +- **opLog:** prevent dropping remote ops for new entities after compaction ([4012adc](https://github.com/super-productivity/super-productivity/commit/4012adc64a71d92c4cc9cd49e57d619a34573d23)) +- **oplog:** reject array payloads in operation validation ([549f16d](https://github.com/super-productivity/super-productivity/commit/549f16da6153ed44ec966407556e8c065df953c0)) +- **oplog:** run validation when conflict dialog is cancelled ([6c5a156](https://github.com/super-productivity/super-productivity/commit/6c5a156de9993f2b419544688eb92dc12cec7fea)) +- **oplog:** skip conflict dialog for fresh clients with no local ops ([05d1f38](https://github.com/super-productivity/super-productivity/commit/05d1f38cd1aff46cf0fbaa9a29232a3d7b719413)) +- **oplog:** skip Genesis Import on empty database ([f30c431](https://github.com/super-productivity/super-productivity/commit/f30c431f25d5db40039e18a7ef96bc868c0c8228)) +- parsing error in DropboxApi.listFiles ([6fe1840](https://github.com/super-productivity/super-productivity/commit/6fe1840b912c75e7d1556101033c69d66bb38287)) +- **pfapi:** accept compact clientId format in validation ([cd22f80](https://github.com/super-productivity/super-productivity/commit/cd22f8018bc91299e33d7a1d8c396ba367a0eda8)) +- **pfapi:** accept new compact clientId format in validation ([d9762d2](https://github.com/super-productivity/super-productivity/commit/d9762d22812d598a8c9d70652994a75c05e811fd)) +- **pfapi:** add archiveOld validation and null-safety for archive state ([ec76c5d](https://github.com/super-productivity/super-productivity/commit/ec76c5df1f29f023b415b5ded4d0da686dcac251)) +- **pfapi:** allow **meta\_ updates during sync to ignore DB lock\n\nFixes: devERR: Attempting to write DB for **meta\_ while locked\n\nDuring sync operations, the main database is locked. However, system-level updates to the metadata model (e.g., incrementing vector clocks, syncing vector clocks from recovery) are integral to the sync process and were being blocked, leading to errors. This change ensures these critical metadata updates bypass the lock, preventing deadlocks and allowing sync to properly manage its state. ([f44e436](https://github.com/super-productivity/super-productivity/commit/f44e436f63bf704fa7348324b6d17dc0b3d34141)) +- **pfapi:** validate backup data structure and add debug logging for archive validation ([8b0115f](https://github.com/super-productivity/super-productivity/commit/8b0115ff70bf8ae63d74c5523c04f2ce2aad86c5)) +- **plugins:** use LOCAL_ACTIONS to prevent duplicate pfapi persistence ([817d3ba](https://github.com/super-productivity/super-productivity/commit/817d3bab0e612d9e283e9653f4a290dbdcd9420c)) +- **reducer:** add task repeat config cleanup on project deletion ([210dfeb](https://github.com/super-productivity/super-productivity/commit/210dfebc8abe3931fd2fcdb564d1c5c4c10a20e1)) +- **reducer:** always delete repeat configs on project deletion ([cc5f7e6](https://github.com/super-productivity/super-productivity/commit/cc5f7e610d0f8141a452fafbc272c4b8658f1e77)) +- **reminder:** include title in distinctUntilChanged comparator ([19ac938](https://github.com/super-productivity/super-productivity/commit/19ac9382ed4fef7284c5f4bee85c27770ecd5cbb)) +- **reminders:** clear remindAt when adding today-scheduled tasks to today ([ffa485f](https://github.com/super-productivity/super-productivity/commit/ffa485f4b78aebcf8b50c0c96a2f57e2b9be5987)) +- remove circular dependency by injecting sync provider into operation log sync methods ([ee3d5e7](https://github.com/super-productivity/super-productivity/commit/ee3d5e72a88a7b98306591d09eec391aacb7c966)) +- remove database.service.ts (deleted in feat/operation-logs) ([84e8037](https://github.com/super-productivity/super-productivity/commit/84e803743d2613a7135a89ce385c4e08adbceff5)) +- remove skipWhileApplyingRemoteOps from various effects for improved sync handling ([8a451f8](https://github.com/super-productivity/super-productivity/commit/8a451f8b12bc6263a4f5a2f16a4b810e432193f9)) +- **repair:** clear orphaned repeatCfgId from tasks ([67ecc97](https://github.com/super-productivity/super-productivity/commit/67ecc97dbfd8e47a2271049c0ca2460a1980f070)) +- **repair:** use deep clone for frozen NgRx state to prevent readonly errors ([8f5b1a8](https://github.com/super-productivity/super-productivity/commit/8f5b1a839af87d8a735f5828d61f84a060a589b1)) +- resolve build errors and add missing electron IPC ([7ff7a8b](https://github.com/super-productivity/super-productivity/commit/7ff7a8bbf20ee3012a31424968ca167c4bb1a19e)) +- resolve build errors and compiler warnings ([1b46952](https://github.com/super-productivity/super-productivity/commit/1b469527cc0d81836692308554edcde133edcbe7)) +- resolve build issues and update E2E tests for sync import conflict ([6501950](https://github.com/super-productivity/super-productivity/commit/650195076069ea57995a90b60ba6160f215d8d9c)) +- resolve compilation error in TaskReminderEffects by using \_localActions$ ([92557b2](https://github.com/super-productivity/super-productivity/commit/92557b2c180b11d74747c4822c711e1d8acb7a15)) +- resolve compilation errors after merge ([723896e](https://github.com/super-productivity/super-productivity/commit/723896e9bc7d8a632bc65360077fe24137b1bb28)) +- resolve compilation errors by commenting out legacy save effects methods ([ce496fa](https://github.com/super-productivity/super-productivity/commit/ce496fab4095c1981df93918c9b4f12daaaf943f)) +- resolve missing type import in operation log sync service ([dff5883](https://github.com/super-productivity/super-productivity/commit/dff588340dc53bc1299c42719941143c53155ca6)) +- **restore:** read from updatedState when restoring project associations ([67d175b](https://github.com/super-productivity/super-productivity/commit/67d175bdf18c53b4b8e7e536908e02b288dff09d)) +- robustly handle missing properties in dataRepair to prevent crashes ([a90e08c](https://github.com/super-productivity/super-productivity/commit/a90e08c50589a40e655add3607aae58c536f5b4d)) +- **schedule:** update reminder detection when rescheduling ([d2cae40](https://github.com/super-productivity/super-productivity/commit/d2cae406be650d5bb5c1ec045400202ade297def)) +- **schedule:** use time left instead of total estimate for drag preview size ([0b101ff](https://github.com/super-productivity/super-productivity/commit/0b101ffb9a52e03adea67a9aca1d5c912ec64ea7)) +- **security:** address critical and high severity vulnerabilities ([fd6499f](https://github.com/super-productivity/super-productivity/commit/fd6499f138d699c26934b93d301fb0b35777b1e0)) +- **selectors:** Later Today section not showing after scheduling task ([42b20eb](https://github.com/super-productivity/super-productivity/commit/42b20eb4294b793c06e8e6f16b19d528a878ba86)) +- **shared-schema:** fix module resolution for bundler compatibility ([bc869d3](https://github.com/super-productivity/super-productivity/commit/bc869d359f94ffb1e043c33e3c56f6565916e9d8)) +- **shared-schema:** use tsup for dual ESM/CJS build ([23579a4](https://github.com/super-productivity/super-productivity/commit/23579a448aca610b0bdf25535bbbb43f2329664a)) +- **short-syntax:** calculate timeSpent when timeSpentOnDay is updated ([612cb3d](https://github.com/super-productivity/super-productivity/commit/612cb3d201e6035203840034c1e062eceee2bbf6)) +- **short-syntax:** update parent timeEstimate when subtask estimate changes ([a9df156](https://github.com/super-productivity/super-productivity/commit/a9df15604952892ca9ad4c9a346ea25e45afb322)) +- **simple-counter:** batch click counter sync to 5 minutes ([9df9af2](https://github.com/super-productivity/super-productivity/commit/9df9af2b299ba6f10f422ba759b1238140ecc296)) +- **simple-counter:** optimize sync with batched stopwatch updates ([9c8526e](https://github.com/super-productivity/super-productivity/commit/9c8526e89d4e868394b2a6c7906c7bf506b87d4a)) +- **simple-counter:** persist isEnabled changes from config form ([99dd4b4](https://github.com/super-productivity/super-productivity/commit/99dd4b4be417e64fb1ab548432d8345c892724c8)) +- **simple-counter:** use absolute values for click counter sync ([3c68471](https://github.com/super-productivity/super-productivity/commit/3c68471d11ea7dea6ab00825e459bb5f0d7bd849)) +- **snap:** isolate fontconfig cache to fix GTK dialog rendering ([3d33d94](https://github.com/super-productivity/super-productivity/commit/3d33d94a6caad2dfd08b464f1ad7c06262f2a880)), closes [#4920](https://github.com/super-productivity/super-productivity/issues/4920) +- **state:** add bounds checking to handleMoveBeforeTask ([3b54940](https://github.com/super-productivity/super-productivity/commit/3b549402d210d9288212728b386aee6db7a8ff58)) +- **super-sync-server:** Bump image tag to v3 ([4d16dce](https://github.com/super-productivity/super-productivity/commit/4d16dce9878f7b620dca7d87a5c68af5ce2c7ef3)) +- **super-sync-server:** Bump image tag to v4 ([3736474](https://github.com/super-productivity/super-productivity/commit/3736474a19e324c0c639900276a7f7d27e7d1270)) +- **super-sync-server:** Copy generated prisma client to production image ([4f21998](https://github.com/super-productivity/super-productivity/commit/4f21998a122a9868b47318872cacbf1e79e94390)) +- **super-sync-server:** Copy public folder as sibling to dist ([c83e66b](https://github.com/super-productivity/super-productivity/commit/c83e66bf88c55fae04ee2bdc6a505be750374ade)) +- **super-sync-server:** Correct Dockerfile for npm workspace hoisted deps ([6cd93e5](https://github.com/super-productivity/super-productivity/commit/6cd93e57b388e4a2a6f454f619d2f0f4541d1f74)) +- **super-sync-server:** fix docker build missing hoisted dependencies ([4bb3d53](https://github.com/super-productivity/super-productivity/commit/4bb3d53cf1f4748cd12bdaa77290ae70ad7fb597)) +- **super-sync-server:** Fix permissions for prisma runtime ([e4da7a0](https://github.com/super-productivity/super-productivity/commit/e4da7a0ccb4a7bb1cd467e9622b4cb9ab678f04a)) +- **super-sync-server:** Generate Prisma client in production stage ([0b1e864](https://github.com/super-productivity/super-productivity/commit/0b1e8646b83ad6ae27d90e316782de28499ce33f)) +- **super-sync-server:** Robust Dockerfile with explicit runtime install ([8110e6a](https://github.com/super-productivity/super-productivity/commit/8110e6a5fb519d8736bb1df9249fce43e7cd804b)) +- **super-sync-server:** Simplify Dockerfile to single stage build ([0c05004](https://github.com/super-productivity/super-productivity/commit/0c050044edede51fd4d92c3b002cdb4482dddad5)) +- **super-sync-server:** Update image tag to v2 to force fresh build ([30e8637](https://github.com/super-productivity/super-productivity/commit/30e863762bc2509a6aee2a012f2c6b5e38f264c8)) +- **super-sync:** ensure clear-data script checks for DB existence ([27b4da7](https://github.com/super-productivity/super-productivity/commit/27b4da775ab33f81b5900e51be979bb350efab81)) +- **supersync:** improve color contrast for WCAG 2.2 compliance [#5903](https://github.com/super-productivity/super-productivity/issues/5903) ([e80850f](https://github.com/super-productivity/super-productivity/commit/e80850fb1e78e457900138a71951321353a32ef5)), closes [#0c96e2](https://github.com/super-productivity/super-productivity/issues/0c96e2) [#0077b6](https://github.com/super-productivity/super-productivity/issues/0077b6) [#666666](https://github.com/super-productivity/super-productivity/issues/666666) [#595959](https://github.com/super-productivity/super-productivity/issues/595959) [#4caf50](https://github.com/super-productivity/super-productivity/issues/4caf50) [#2e7d32](https://github.com/super-productivity/super-productivity/issues/2e7d32) [#f44336](https://github.com/super-productivity/super-productivity/issues/f44336) [#c62828](https://github.com/super-productivity/super-productivity/issues/c62828) [#856404](https://github.com/super-productivity/super-productivity/issues/856404) [#6d5200](https://github.com/super-productivity/super-productivity/issues/6d5200) [#fff3cd](https://github.com/super-productivity/super-productivity/issues/fff3cd) +- **supersync:** Resolve e2e test failures ([49faa5d](https://github.com/super-productivity/super-productivity/commit/49faa5da9246150afd7108e2104d9a96d3575b63)), closes [#1](https://github.com/super-productivity/super-productivity/issues/1) [#1](https://github.com/super-productivity/super-productivity/issues/1) [#1](https://github.com/super-productivity/super-productivity/issues/1) [#2](https://github.com/super-productivity/super-productivity/issues/2) [#2](https://github.com/super-productivity/super-productivity/issues/2) [#2](https://github.com/super-productivity/super-productivity/issues/2) [#3](https://github.com/super-productivity/super-productivity/issues/3) [#3](https://github.com/super-productivity/super-productivity/issues/3) [#4](https://github.com/super-productivity/super-productivity/issues/4) [#4](https://github.com/super-productivity/super-productivity/issues/4) [#4](https://github.com/super-productivity/super-productivity/issues/4) [#5](https://github.com/super-productivity/super-productivity/issues/5) [#5](https://github.com/super-productivity/super-productivity/issues/5) [#6](https://github.com/super-productivity/super-productivity/issues/6) [#6](https://github.com/super-productivity/super-productivity/issues/6) [#6](https://github.com/super-productivity/super-productivity/issues/6) [#7](https://github.com/super-productivity/super-productivity/issues/7) [#7](https://github.com/super-productivity/super-productivity/issues/7) [#8](https://github.com/super-productivity/super-productivity/issues/8) [#8](https://github.com/super-productivity/super-productivity/issues/8) [#9](https://github.com/super-productivity/super-productivity/issues/9) [#9](https://github.com/super-productivity/super-productivity/issues/9) [#10](https://github.com/super-productivity/super-productivity/issues/10) [#10](https://github.com/super-productivity/super-productivity/issues/10) [#11](https://github.com/super-productivity/super-productivity/issues/11) [#11](https://github.com/super-productivity/super-productivity/issues/11) [#12](https://github.com/super-productivity/super-productivity/issues/12) [#12](https://github.com/super-productivity/super-productivity/issues/12) [#13](https://github.com/super-productivity/super-productivity/issues/13) [#13](https://github.com/super-productivity/super-productivity/issues/13) [#14](https://github.com/super-productivity/super-productivity/issues/14) [#14](https://github.com/super-productivity/super-productivity/issues/14) [#15](https://github.com/super-productivity/super-productivity/issues/15) [#15](https://github.com/super-productivity/super-productivity/issues/15) [#16](https://github.com/super-productivity/super-productivity/issues/16) [#16](https://github.com/super-productivity/super-productivity/issues/16) [#16](https://github.com/super-productivity/super-productivity/issues/16) [#16](https://github.com/super-productivity/super-productivity/issues/16) [#16](https://github.com/super-productivity/super-productivity/issues/16) [#16](https://github.com/super-productivity/super-productivity/issues/16) [#17](https://github.com/super-productivity/super-productivity/issues/17) [#17](https://github.com/super-productivity/super-productivity/issues/17) [#18](https://github.com/super-productivity/super-productivity/issues/18) [#18](https://github.com/super-productivity/super-productivity/issues/18) [#18](https://github.com/super-productivity/super-productivity/issues/18) [#18](https://github.com/super-productivity/super-productivity/issues/18) [#18](https://github.com/super-productivity/super-productivity/issues/18) [#18](https://github.com/super-productivity/super-productivity/issues/18) [#18](https://github.com/super-productivity/super-productivity/issues/18) [#18](https://github.com/super-productivity/super-productivity/issues/18) [#18](https://github.com/super-productivity/super-productivity/issues/18) [#19](https://github.com/super-productivity/super-productivity/issues/19) [#19](https://github.com/super-productivity/super-productivity/issues/19) [#19](https://github.com/super-productivity/super-productivity/issues/19) [#19](https://github.com/super-productivity/super-productivity/issues/19) [#19](https://github.com/super-productivity/super-productivity/issues/19) [#19](https://github.com/super-productivity/super-productivity/issues/19) [#20](https://github.com/super-productivity/super-productivity/issues/20) [#20](https://github.com/super-productivity/super-productivity/issues/20) [#21](https://github.com/super-productivity/super-productivity/issues/21) [#21](https://github.com/super-productivity/super-productivity/issues/21) [#21](https://github.com/super-productivity/super-productivity/issues/21) [#21](https://github.com/super-productivity/super-productivity/issues/21) [#21](https://github.com/super-productivity/super-productivity/issues/21) [#21](https://github.com/super-productivity/super-productivity/issues/21) [#22](https://github.com/super-productivity/super-productivity/issues/22) [#22](https://github.com/super-productivity/super-productivity/issues/22) +- **supersync:** resolve e2e test failures and flakiness ([ea7e6cb](https://github.com/super-productivity/super-productivity/commit/ea7e6cb8c922408e339823d77cda160b894964bf)) +- **superSync:** Update admin scripts and README for Postgres compatibility ([2a4dbd7](https://github.com/super-productivity/super-productivity/commit/2a4dbd7ad0139c6ef6c27cdada05966379108f6a)) +- **supersync:** use event listeners instead of inline onclick handlers ([1775060](https://github.com/super-productivity/super-productivity/commit/1775060b9d21152ad346272a36175df7ec66a9ae)) +- support gzip uploads and safe op pruning ([f68fac6](https://github.com/super-productivity/super-productivity/commit/f68fac6b34f9ca7630f1c1c6d18da415d1ab1bcd)) +- **sync-server:** add body to DELETE account request ([4843d2a](https://github.com/super-productivity/super-productivity/commit/4843d2afb7679f7949bf48bec39e96372a2b259e)) +- **sync-server:** add critical security hardening ([02ec2d9](https://github.com/super-productivity/super-productivity/commit/02ec2d97b9941a69e690a9200d963cc1dc96097f)) +- **sync-server:** add high priority security improvements ([cd0ac59](https://github.com/super-productivity/super-productivity/commit/cd0ac592271c6e76d23c5a33d153cb0bb59ee792)) +- **sync-server:** add migration script for passkey credential IDs ([868ed71](https://github.com/super-productivity/super-productivity/commit/868ed71c4a1acd3718eb060a5a59dc9bfdb5dd15)) +- **sync-server:** add REPAIR opType to server validation ([0a492bc](https://github.com/super-productivity/super-productivity/commit/0a492bc9a89b0f614582786419ffcd11d70776c2)) +- **sync-server:** add WebAuthn env vars to docker-compose ([ab648b2](https://github.com/super-productivity/super-productivity/commit/ab648b2b6de9485a0f956267d7a4652a42933652)) +- **sync-server:** allow passkeys without user verification ([f09d7c5](https://github.com/super-productivity/super-productivity/commit/f09d7c51b40415d03b02595e2d47b9632f2e203a)) +- **sync-server:** compile scripts for production Docker image ([8a449fb](https://github.com/super-productivity/super-productivity/commit/8a449fb944ee6cf0c4ecdc3b6d929b8e4826fcb3)) +- **sync-server:** correct static files path for Docker deployment ([519a234](https://github.com/super-productivity/super-productivity/commit/519a23411dca48ae3cd195b86c359127f9dfd436)) +- **sync-server:** fix double encoding of passkey credential ID ([a57a197](https://github.com/super-productivity/super-productivity/commit/a57a197d44e98adcd25ab842d8e2929ab9eae63a)) +- **sync-server:** fix SimpleWebAuthn v13 type imports ([4cee57d](https://github.com/super-productivity/super-productivity/commit/4cee57db1475a05abd0b278f3242882e0b4dba7f)) +- **sync-server:** handle REPAIR ops and unwrap appDataComplete in snapshots ([b8a65b4](https://github.com/super-productivity/super-productivity/commit/b8a65b4d76d15bf0c9d9996c5d92d9c9384d86ae)) +- **sync-server:** look up passkey by credential ID instead of email ([c07d0a4](https://github.com/super-productivity/super-productivity/commit/c07d0a458869cdad568a928a8fa3663497005357)) +- **sync-server:** reduce operation and tombstone retention to 45 days ([082aca2](https://github.com/super-productivity/super-productivity/commit/082aca26e8d81c0f56af098a044a45708adff81e)) +- **sync-server:** reject empty/whitespace-only entityId in validation ([187cbda](https://github.com/super-productivity/super-productivity/commit/187cbdafe3f4a092cf82a51cf59f48498fad484a)) +- **sync-server:** remove incorrect CRT payload id validation ([939605f](https://github.com/super-productivity/super-productivity/commit/939605fe3f611aa571fc781b437755abeefbd98e)) +- **sync-server:** require discoverable credentials for passkeys ([3a7191d](https://github.com/super-productivity/super-productivity/commit/3a7191d5f581054062ccb3c8309c99e86fa4f4aa)) +- **sync-server:** resolve TypeScript errors in route handler types ([ba21c96](https://github.com/super-productivity/super-productivity/commit/ba21c96688bd10b47847172e301491179f1295da)) +- **sync-server:** send empty body for replace-token request ([7be1fc1](https://github.com/super-productivity/super-productivity/commit/7be1fc19d9b989946fb6d55a6bb0105df24fe9bd)) +- **sync-server:** skip payload complexity check for full-state ops ([b51684e](https://github.com/super-productivity/super-productivity/commit/b51684e9786546f97505512a4a37d8e6d11bdf87)) +- **sync-server:** update SimpleWebAuthn browser library to v13.2.2 ([1fad43d](https://github.com/super-productivity/super-productivity/commit/1fad43d19871ee777bb0e23a8de4cf24aa6e4551)) +- **sync-server:** update SimpleWebAuthn to v13 and add debug logging ([f143210](https://github.com/super-productivity/super-productivity/commit/f143210cd9ab6b387f90a28ee151c3360b2ac6d9)) +- **sync-server:** use discoverable credentials for passkey login ([374ba98](https://github.com/super-productivity/super-productivity/commit/374ba9873aa6ee43155052a8301923f3bac32be9)) +- **sync-server:** use properly minified SimpleWebAuthn browser v13.2.2 ([253e55c](https://github.com/super-productivity/super-productivity/commit/253e55cd2c01b18fd2e94f6f9e09a0ed7a4c7f74)) +- **sync-server:** use v13 API format in passkey recovery page ([d5e196b](https://github.com/super-productivity/super-productivity/commit/d5e196b82ba5937764115e6128973bb0a38a630e)) +- **sync:** acquire lock in StaleOperationResolverService to prevent race conditions ([7d474d2](https://github.com/super-productivity/super-productivity/commit/7d474d207b653c2ae7e069db3f079ce21a778b16)) +- **sync:** add archive handler for deleteIssueProvider operations ([850cbaa](https://github.com/super-productivity/super-productivity/commit/850cbaac818322de492e0c6cdaeb23c198e05445)) +- **sync:** add bounds to retry queues to prevent memory leaks ([cbea551](https://github.com/super-productivity/super-productivity/commit/cbea5510913da147f2ea8f1c5e5c81f6f58fe679)) +- **sync:** add cache limits, production CORS, and improved health check ([e774eed](https://github.com/super-productivity/super-productivity/commit/e774eedb08374b074bf03d37088dd762fef68d58)) +- **sync:** add critical security hardening ([57c00d9](https://github.com/super-productivity/super-productivity/commit/57c00d983ce785b315ce6374c08260c2e663208b)) +- **sync:** add devError alert for clock corruption detection ([cbeb731](https://github.com/super-productivity/super-productivity/commit/cbeb731814a0363977405f972824b0d06fc129d8)) +- **sync:** add DONE section handling to moveProjectTaskToRegularList ([d84444b](https://github.com/super-productivity/super-productivity/commit/d84444b0ce430c1465e6ff39c966177e65248484)) +- **sync:** add entity validation and project cleanup in meta-reducers ([ff5f8cc](https://github.com/super-productivity/super-productivity/commit/ff5f8cc5a81f6a03e5160c4267f5c6cb67be5fa9)) +- **sync:** add fallback for missing bySourceAndStatus index ([66bdf69](https://github.com/super-productivity/super-productivity/commit/66bdf69607daffdf185b9992240a3ac51ceb3c17)) +- **sync:** add gap detection for server reset and stale client scenarios ([23c1c49](https://github.com/super-productivity/super-productivity/commit/23c1c49c9b660636ee386cde1e40cb8e22a7c470)) +- **sync:** add input validation and resource limits ([1a2f156](https://github.com/super-productivity/super-productivity/commit/1a2f1567417ebfa7cd3693ddf070ad1ec0f8cdc5)) +- **sync:** add lock TTL, rollback, and fail-fast for critical sync issues ([ae854c6](https://github.com/super-productivity/super-productivity/commit/ae854c64f20b360ac785a8bc49c0669b6d548916)) +- **sync:** add missing \_captureTaskTimeSyncFromAction method ([71d253a](https://github.com/super-productivity/super-productivity/commit/71d253a8611d0ab0e28f1fc4cd4ea05a3c866812)) +- **sync:** add missing archive handlers for remote operations ([e911517](https://github.com/super-productivity/super-productivity/commit/e911517b47fcd24233274c1244b0009627f66e7b)) +- **sync:** add missing TranslateService mock to integration tests ([ef8b54f](https://github.com/super-productivity/super-productivity/commit/ef8b54f423dc71a72816f5551fe86268f61ea525)) +- **sync:** add missing vector clock persistence in recovery, migration, and conflict resolution ([8ebf16b](https://github.com/super-productivity/super-productivity/commit/8ebf16b958e02781615c2b49485288370533d3a6)), closes [#1](https://github.com/super-productivity/super-productivity/issues/1) +- **sync:** add persistence metadata to task reorder actions ([f0a1756](https://github.com/super-productivity/super-productivity/commit/f0a17566999aa7a7228edb9eab3c9f440ad638d9)) +- **sync:** add retry mechanism for clock drift detection ([8135953](https://github.com/super-productivity/super-productivity/commit/8135953836130cd23b6fd59697fb95fdfd870999)) +- **sync:** add security hardening and performance optimizations ([53468bb](https://github.com/super-productivity/super-productivity/commit/53468bb0f65762c244801f55b774e87d595f9f44)) +- **sync:** add snapshotReplacement detection guard and E2E test ([f899720](https://github.com/super-productivity/super-productivity/commit/f899720b47864c1574a8658faefb68fb3814e3e3)) +- **sync:** add subTaskIds as soft dependencies to prevent undefined task errors ([8ef8f87](https://github.com/super-productivity/super-productivity/commit/8ef8f874e0de4351d80792d07c1c2e9323df8f24)) +- **sync:** add SuperSync encryption config and reduce e2e log noise ([775a859](https://github.com/super-productivity/super-productivity/commit/775a85984ef3398ecf0c31aa815542d0b97a8c08)) +- **sync:** add user notification for failed ops and circuit breaker for quota loop ([2f1e74e](https://github.com/super-productivity/super-productivity/commit/2f1e74effc620b175a22c2901dfff168c06ba02f)) +- **sync:** add vector-clock dominance check to late-joiner replay ([ee6a766](https://github.com/super-productivity/super-productivity/commit/ee6a766a46353b596e2b134e6798bfb4dbbde0a2)) +- **sync:** add WorkContextMeta move actions to state change capture ([1191377](https://github.com/super-productivity/super-productivity/commit/1191377b9f132d4f798f24d536f7e81e01935ddb)) +- **sync:** address 5 critical sync system issues ([291c424](https://github.com/super-productivity/super-productivity/commit/291c4242108fc68fe3e55f65f2414612abdd7091)) +- **sync:** address 5 critical sync system issues ([5f9d73c](https://github.com/super-productivity/super-productivity/commit/5f9d73c37cfc924ab78984741904fb9f79a38243)) +- **sync:** address code review findings for operation log ([2ec5e08](https://github.com/super-productivity/super-productivity/commit/2ec5e08df40ea341c3467b313f1389251e45eaa4)) +- **sync:** address code review findings for operation log system ([0669ba1](https://github.com/super-productivity/super-productivity/commit/0669ba10482c0f1f9d2421dd8a16cf2cbb8de68a)) +- **sync:** address code review findings for operation-logs ([b01afbf](https://github.com/super-productivity/super-productivity/commit/b01afbfcd1cbb65c5559443c030181b1c3618a96)) +- **sync:** address code review findings from 2025-12-28 changes ([f780099](https://github.com/super-productivity/super-productivity/commit/f780099ef8b0e6835a7e93cf19e3e72fd309446c)) +- **sync:** address code review issues and add missing test coverage ([6fd01c3](https://github.com/super-productivity/super-productivity/commit/6fd01c3d1773cb0783c208931e542a0065c8e2db)) +- **sync:** address critical and high priority issues from code review ([380fc91](https://github.com/super-productivity/super-productivity/commit/380fc9127eed67ba9c886fda35dce156ad331f0f)) +- **sync:** address critical bugs and improve robustness ([1231ffb](https://github.com/super-productivity/super-productivity/commit/1231ffb8f95ff5177dffcbdf8a93abf90bca4d19)) +- **sync:** address critical op-log review findings ([8bf0568](https://github.com/super-productivity/super-productivity/commit/8bf0568f4f392675d63c52a7557278991610d78c)) +- **sync:** address E2E encryption code review issues ([e41c59d](https://github.com/super-productivity/super-productivity/commit/e41c59d1fb293523693656805c6a12a6f7bb1897)) +- **sync:** address operation-log review issues ([262f8f1](https://github.com/super-productivity/super-productivity/commit/262f8f10b181c99d98da3a7dec860dfa11d3f992)) +- **sync:** address race conditions, error handling, and TODAY_TAG consistency ([7a0858d](https://github.com/super-productivity/super-productivity/commit/7a0858d67cd88647e00b63f712350e408d77b276)) +- **sync:** address review findings - logging, ack logic, repair mutex ([8176e67](https://github.com/super-productivity/super-productivity/commit/8176e67b3cc26003fe01692410d14f8ab8f89505)) +- **sync:** address security and reliability issues from code review ([61b8d82](https://github.com/super-productivity/super-productivity/commit/61b8d82ad6e737079383388129169fe7a7d98c1e)) +- **sync:** allow archive saves during OpLog sync by bypassing DB lock ([a2cf7a3](https://github.com/super-productivity/super-productivity/commit/a2cf7a3e65899b466b9d60897ab7e259764b5e69)) +- **sync:** allow disabling sync provider ([4063994](https://github.com/super-productivity/super-productivity/commit/4063994535835323ecf51cb1730c041942a711e6)) +- **sync:** allow resolving each conflict individually before closing dialog ([7961eef](https://github.com/super-productivity/super-productivity/commit/7961eef5fd7ec32ef02f76a194a089fdfa9b0122)) +- **sync:** apply language changes from remote sync without reload ([109be9e](https://github.com/super-productivity/super-productivity/commit/109be9e7a402c000c4b2c0631421c51d7902ada5)) +- **sync:** auto-resolve delete vs delete conflicts ([61a1eee](https://github.com/super-productivity/super-productivity/commit/61a1eee908892f76f46069be69d82710e41f0613)) +- **sync:** batch apply conflict ops and fix test type errors ([ed5d3ab](https://github.com/super-productivity/super-productivity/commit/ed5d3ab073bc17d336babda8227061ed6263c7b0)) +- **sync:** batch conflict and non-conflicting ops for proper dependency sort ([b6c8c7d](https://github.com/super-productivity/super-productivity/commit/b6c8c7d991abb6c6ef7903d238d40cc35c28faf4)) +- **sync:** block selector-based effects during initial startup ([06e3136](https://github.com/super-productivity/super-productivity/commit/06e3136dd74c9859192b48b7040b213b60a5189e)) +- **sync:** buffer user actions during sync replay instead of dropping ([2d4fb98](https://github.com/super-productivity/super-productivity/commit/2d4fb98cc7ccbe957354fac0ae30223afebc263d)) +- **sync:** clamp future timestamps instead of rejecting ([ed061f9](https://github.com/super-productivity/super-productivity/commit/ed061f90fb14d4b097a5cb95bde1066d0b1a5019)) +- **sync:** clear old operations on import to prevent IndexedDB bloat ([59ec39d](https://github.com/super-productivity/super-productivity/commit/59ec39dc3422e5c64fd98946a6bfbb7ca5130c9f)) +- **sync:** code review fixes and parentOpId support ([fe8cc5e](https://github.com/super-productivity/super-productivity/commit/fe8cc5e7acc4fe8e64fd858361b1c77779435bd6)) +- **sync:** correct vector clock comparison for empty clocks ([d722ef8](https://github.com/super-productivity/super-productivity/commit/d722ef8e31c0c2fe11699c6d243830e79b0fe5b9)) +- **sync:** create sync file even when no ops to upload ([40e062d](https://github.com/super-productivity/super-productivity/commit/40e062d7753d2789f1ccc651f482cc653f8d272a)) +- **sync:** defer rejection marking to enable conflict detection ([e37c673](https://github.com/super-productivity/super-productivity/commit/e37c673db4d289dcf09bbd3417f43b12109d953f)) +- **sync:** detect server migration for file-based providers ([2ed3800](https://github.com/super-productivity/super-productivity/commit/2ed3800a9da4ddec7cfd779b5fbe67347d83ff26)) +- **sync:** detect server migration on first upload to new server ([a1b9d26](https://github.com/super-productivity/super-productivity/commit/a1b9d26d38077531c51222ce6e8c950531eae3ec)) +- **sync:** disable immediate upload and IN_SYNC status for file-based providers ([3461cf8](https://github.com/super-productivity/super-productivity/commit/3461cf8ac5935aecaa8e93b86abaace840dcd99a)) +- **sync:** display 'Apply' instead of 'G.APPLY' on conflict dialog ([4912cad](https://github.com/super-productivity/super-productivity/commit/4912cadbf60ecb552c5806f9b8d3ade3f00363fb)) +- **sync:** don't skip delete ops when ADD exists in replay sequence ([2906585](https://github.com/super-productivity/super-productivity/commit/2906585e6f201b6c12ba41238342117a3def6acd)) +- **sync:** enable checkmark indicators for all sync providers ([40def4a](https://github.com/super-productivity/super-productivity/commit/40def4a576f19bae105caba653eb3ba80c53271c)) +- **sync:** enable E2E encryption for SuperSync operations ([c03d00b](https://github.com/super-productivity/super-productivity/commit/c03d00b0ff8deb250fdd48ec652f8319150a72b4)) +- **sync:** enable file-based provider sync (Dropbox, WebDAV, LocalFile) ([28fd192](https://github.com/super-productivity/super-productivity/commit/28fd19209f7b5070326471cd90d7b240f8ad54c1)) +- **sync:** enable immediate sync and improve safety ([12cde0f](https://github.com/super-productivity/super-productivity/commit/12cde0f21c74f7d5976f27c5e9be0c7801f10110)) +- **sync:** enable save button by resetting hidden form field validators ([6c11626](https://github.com/super-productivity/super-productivity/commit/6c11626cb0764d1729d0fdb13ed0b43859ff3718)) +- **sync:** ensure pending writes complete before conflict detection ([ef40c7b](https://github.com/super-productivity/super-productivity/commit/ef40c7ba6aa43467922f22ddd2945730d20079eb)) +- **sync:** extract taskIds from nested TAG update payload ([c214c65](https://github.com/super-productivity/super-productivity/commit/c214c653f51c7f40686c9e10b13de96f60372a10)) +- **sync:** filter entity models from IndexedDB writes during sync ([dfa8c87](https://github.com/super-productivity/super-productivity/commit/dfa8c875b118655447afa48aa948ee173e1cc3cb)) +- **sync:** filter out stale ops invalidated by SYNC_IMPORT ([d4630d3](https://github.com/super-productivity/super-productivity/commit/d4630d389390eb5da1f09fe585bd2218c58b2593)) +- **sync:** filter pre-import ops from previous sync cycles ([ae8d069](https://github.com/super-productivity/super-productivity/commit/ae8d06938fcdcc4818a02b426dd67aa8236c85d6)) +- **sync:** filter pre-import ops from same client in SYNC_IMPORT handling ([d60ff3f](https://github.com/super-productivity/super-productivity/commit/d60ff3fd3aaec04a0c3b2d5eb121dab681386be6)) +- **sync:** fix concurrent modification handling for Today list reordering ([dc4debf](https://github.com/super-productivity/super-productivity/commit/dc4debfa769114167bf1cb279fd14d944502e33b)) +- **sync:** fix conflict resolution dialog and import operation format ([f1cd4b5](https://github.com/super-productivity/super-productivity/commit/f1cd4b58a8a13dad362628f45a917716391b4cec)) +- **sync:** fix late joiner and server migration scenarios ([9d95f49](https://github.com/super-productivity/super-productivity/commit/9d95f492585cac263a72acc0efb8e630c557790f)) +- **sync:** fix multiple Super Sync issues and improve robustness ([1eea6d0](https://github.com/super-productivity/super-productivity/commit/1eea6d0b4c157e71ef0f430eb01562c7c85c329f)) +- **sync:** fix RepairOperationService tests for TranslateService ([9005d68](https://github.com/super-productivity/super-productivity/commit/9005d68d82492b08a3ca780ed04a899f290ce11b)) +- **sync:** fix simple counter sync and quota exceeded handling ([016e680](https://github.com/super-productivity/super-productivity/commit/016e680c5f73f8a7ab61c64cc91458f32b2305fe)) +- **sync:** fix sync E2E test failures and flaky encryption tests ([ef8c8c2](https://github.com/super-productivity/super-productivity/commit/ef8c8c21df4c69cd108cfd1ebeeb2d275feb81d1)) +- **sync:** fix three bugs in operation log sync system ([46c705a](https://github.com/super-productivity/super-productivity/commit/46c705a80cc13acc0a379c53a48fbb483c182153)) +- **sync:** force full download to rebuild clocks on concurrent modification ([ef0a84f](https://github.com/super-productivity/super-productivity/commit/ef0a84f2906f61213b058bd950f3a3cc9f9000fe)) +- **sync:** handle base64-encoded gzip from Android clients ([578faaf](https://github.com/super-productivity/super-productivity/commit/578faafb0b979c9a6eaa20171ab4a13b90509f9e)) +- **sync:** handle concurrent modification rejections for conflict resolution ([49eb7d0](https://github.com/super-productivity/super-productivity/commit/49eb7d05a7c3c371bac31566f5c398839e2817e6)) +- **sync:** handle invalid lock timestamps in fallback lock service ([57f5cdc](https://github.com/super-productivity/super-productivity/commit/57f5cdc88c12a12fa96d2a0bc348c38bca4fe55a)) +- **sync:** handle large payload transaction timeouts ([bf7db55](https://github.com/super-productivity/super-productivity/commit/bf7db5515ebae4483037ad1b25cf265c3bb98067)) +- **sync:** handle LWW Update actions and immediate re-upload ([ff9012b](https://github.com/super-productivity/super-productivity/commit/ff9012b724a20fefbd711d18b77eb343a74cb447)) +- **sync:** handle partial transaction failure in uploadOps ([10ad976](https://github.com/super-productivity/super-productivity/commit/10ad97696ecdbfe18d0c455df257d803042fd65f)) +- **sync:** handle piggyback limit in high-volume sync ([064c245](https://github.com/super-productivity/super-productivity/commit/064c2452ca33a364f9c57371581c8adfcde1d066)), closes [hi#volume](https://github.com/hi/issues/volume) +- **sync:** hide Safety Backups button when no provider selected ([21547b2](https://github.com/super-productivity/super-productivity/commit/21547b232357914dc87466917527df2dacd21b03)) +- **sync:** ignore DB lock when writing archive during remote sync ([8fccc8d](https://github.com/super-productivity/super-productivity/commit/8fccc8d9891f2e99ff0aea82cf89844eb2b7a175)) +- **sync:** implement clean slate semantics for SYNC_IMPORT/BACKUP_IMPORT ([9f6bb4e](https://github.com/super-productivity/super-productivity/commit/9f6bb4e7acd2e5a7f43d22bfe81b3e15ce7b6fbd)) +- **sync:** improve compaction failure handling ([16d2ba1](https://github.com/super-productivity/super-productivity/commit/16d2ba1f253c1b1508297afeb6b8e73a15125935)) +- **sync:** improve data integrity and robustness of SuperSync implementation ([19e4a5f](https://github.com/super-productivity/super-productivity/commit/19e4a5fd0cb408be31a56b24c29d727f1eba6ad2)) +- **sync:** improve robustness and safety of sync operations ([6470725](https://github.com/super-productivity/super-productivity/commit/6470725eaf3a12758fe1f508db1b976950cafe3e)) +- **sync:** improve robustness of operation log sync ([06665b6](https://github.com/super-productivity/super-productivity/commit/06665b69a86a744d1a29f1fe76ab67085ac845a5)) +- **sync:** improve robustness of sync and counter operations ([3d4bfb5](https://github.com/super-productivity/super-productivity/commit/3d4bfb5637a9f1ede2fd19f179fcd4113350f778)) +- **sync:** improve SuperSync encryption config handling, skip failing tests ([a6f0f8a](https://github.com/super-productivity/super-productivity/commit/a6f0f8a67db5cf70bf868b1d7a4feaa56bc5dbaa)) +- **sync:** improve sync reliability with bug fixes and tests ([a9becc2](https://github.com/super-productivity/super-productivity/commit/a9becc2058cde756cb1e39e3d278728c0227557c)) +- **sync:** increase stale device threshold to 50 days ([9e3d915](https://github.com/super-productivity/super-productivity/commit/9e3d915827aea2ec8d708cd841bf83a9a09488d4)) +- **sync:** initialize hardDependencies before extracting deps ([db1a118](https://github.com/super-productivity/super-productivity/commit/db1a11884663c7fb6248a84b70fe73f67fd05a64)) +- **sync:** iteratively cleanup storage until quota satisfied ([9ee15b9](https://github.com/super-productivity/super-productivity/commit/9ee15b9f089faadcf6d986aff7ec938a9485f647)) +- **sync:** loop re-upload until all merged ops are accepted ([76bfe36](https://github.com/super-productivity/super-productivity/commit/76bfe36821ae74df8bf141c24e614c4b05178ed1)) +- **sync:** make undo task delete sync across devices ([61ab6c4](https://github.com/super-productivity/super-productivity/commit/61ab6c456838809f90558fb46a5fbf9e18963cab)) +- **sync:** move operationCaptureMetaReducer to first position for correct state capture ([df26464](https://github.com/super-productivity/super-productivity/commit/df26464cb905baebc0fd73b33f11e2a6a293aa57)) +- **sync:** multi-tab vector clock staleness + shared code extraction ([cbeecfd](https://github.com/super-productivity/super-productivity/commit/cbeecfd39a0a908ecd28fcb94cdf99cf31e697d4)) +- **sync:** notify user on validation failure and prevent data loss on import ([c6215aa](https://github.com/super-productivity/super-productivity/commit/c6215aab46b681dc3d0406b199f56b8d746bcac8)) +- **sync:** only show checkmark when server confirms no pending remote ops ([c379a8a](https://github.com/super-productivity/super-productivity/commit/c379a8a2ab2d37c364ec9e66a663a7e2ecd28702)) +- **sync:** only show import conflict dialog for local unsynced imports ([44d7057](https://github.com/super-productivity/super-productivity/commit/44d70571291212167d5dc2c85f9264297b21aace)) +- **sync:** order DELETE operations after referencing operations ([eb67301](https://github.com/super-productivity/super-productivity/commit/eb6730197d9c7044c4b5449297c17f8595667665)) +- **sync:** pass isIgnoreDBLock for remote archive operations ([055dabe](https://github.com/super-productivity/super-productivity/commit/055dabe2e7e67b90567fe4d58e3a2c3897e30feb)) +- **sync:** pass mainModelData through sync flow for legacy providers ([6a862f6](https://github.com/super-productivity/super-productivity/commit/6a862f6fcf1b0e1e2c4d04a59fa1abe49d9ab914)) +- **sync:** pause initial sync timeout while conflict dialog is open ([108a379](https://github.com/super-productivity/super-productivity/commit/108a37962c02650ea75c0324edb3dca4e5d50267)) +- **sync:** perform archive flush synchronously to prevent DB lock error ([5992fad](https://github.com/super-productivity/super-productivity/commit/5992fad51b913c8d7aba8e3f9f3c3c156705c58e)) +- **sync:** persist archive data to IndexedDB on SYNC_IMPORT ([b1ff5b9](https://github.com/super-productivity/super-productivity/commit/b1ff5b97229e5749ca77b76fe57962a4d19dce1c)) +- **sync:** persist compaction counter when no cache exists ([bbd50c2](https://github.com/super-productivity/super-productivity/commit/bbd50c223a09027e26921dff1994299fd5feef09)) +- **sync:** persist lastServerSeq only after ops stored in IndexedDB ([bb4c940](https://github.com/super-productivity/super-productivity/commit/bb4c940ed47dda4f041c067a10429bd9bd81b4d3)) +- **sync:** preserve isEnabled as local-only setting to prevent sync disabling after reload ([4a3155b](https://github.com/super-productivity/super-productivity/commit/4a3155b8876445085dbd34635ca188f5e308c9aa)) +- **sync:** prevent concurrent uploads causing transaction rollback ([8f277ad](https://github.com/super-productivity/super-productivity/commit/8f277adc60426742ad2d9ab4e2b0aec42e593281)) +- **sync:** prevent data loss from stale vector clocks during SYNC_IMPORT hydration ([431290c](https://github.com/super-productivity/super-productivity/commit/431290c170396fce47313c585d3971e3e900687d)) +- **sync:** prevent data loss when multiple clients join SuperSync ([3a179df](https://github.com/super-productivity/super-productivity/commit/3a179df3cc5401839217df8030c2747272a3b150)) +- **sync:** prevent deadlock when repair operation needs lock ([c1ea6f2](https://github.com/super-productivity/super-productivity/commit/c1ea6f27b0898ebae2735b4d82f7ae6ff2eb3e71)) +- **sync:** prevent duplicate entries when assigning existing tag to task ([aa445fd](https://github.com/super-productivity/super-productivity/commit/aa445fd7923912f22e5a8e30f21f68c50882a9c0)) +- **sync:** prevent duplicate operation from aborting batch upload ([a86df2c](https://github.com/super-productivity/super-productivity/commit/a86df2c356bd9fc36eaadf27b957956ceac9b32b)) +- **sync:** prevent error when enabling sync without provider set and ensure credentials save before sync ([477120d](https://github.com/super-productivity/super-productivity/commit/477120dce5f373cff34347121f260b6e0f77e01c)) +- **sync:** prevent false clock drift warnings and cascade conflicts ([61e32e7](https://github.com/super-productivity/super-productivity/commit/61e32e72b3bff56e51ab06c499f96e4d6693c86b)) +- **sync:** prevent false conflicts on fresh client first sync ([e945424](https://github.com/super-productivity/super-productivity/commit/e945424871342a8bb6d1573b0de183727ce22c33)) +- **sync:** prevent false conflicts when entity has no pending local ops ([18f7d16](https://github.com/super-productivity/super-productivity/commit/18f7d162bdc2f8b7402173d0cb8103cd9cfa0737)) +- **sync:** prevent infinite loop during remote archive operations ([39518f1](https://github.com/super-productivity/super-productivity/commit/39518f1d125a43da3771ccc5ede371aed82006df)) +- **sync:** prevent infinite rejection loop from corrupt operations ([c087ffe](https://github.com/super-productivity/super-productivity/commit/c087ffee8afee81a418f1f313f268fb15302ca68)) +- **sync:** prevent no-op planTasksForToday dispatches ([2c19d57](https://github.com/super-productivity/super-productivity/commit/2c19d5703bba999965c9edc5e8268916926418ae)) +- **sync:** prevent orphan subtasks when archiving via remote sync ([dd5741f](https://github.com/super-productivity/super-productivity/commit/dd5741faa708f075dcb5279b0b8ed8149480556c)) +- **sync:** prevent phantom changes from subtask add/remove loop ([bd8c21f](https://github.com/super-productivity/super-productivity/commit/bd8c21f305ef7955981f1eac4c7be6395a338cdf)) +- **sync:** prevent removeTasksFromTodayTag with empty taskIds ([6865424](https://github.com/super-productivity/super-productivity/commit/6865424f96a9796ad216a44be0a9494caee539b8)) +- **sync:** prevent repeated conflict dialogs after USE_LOCAL resolution ([86af186](https://github.com/super-productivity/super-productivity/commit/86af1865c415eddfec249509b2d4fe556f5bd57c)) +- **sync:** prevent sync provider switching during hot reload ([2061503](https://github.com/super-productivity/super-productivity/commit/206150356ec36d46af9d8c5626b0645eb3e36032)) +- **sync:** prevent SYNC_IMPORT filtering concurrent ops in file-based sync ([1520fdf](https://github.com/super-productivity/super-productivity/commit/1520fdf0a31c8805b8689a259c03e9f2d9b563f5)) +- **sync:** prevent SYNC_IMPORT for fresh clients syncing to empty server ([02d8024](https://github.com/super-productivity/super-productivity/commit/02d80249af0f8112038506ff07f8dd81227c5d87)) +- **sync:** prevent SYNC_IMPORT from discarding ops from unknown clients ([b95c51d](https://github.com/super-productivity/super-productivity/commit/b95c51deb4ff7f7bd84b06ead57e38ff72ae679c)) +- **sync:** prevent Tag sync data loss by adding Task dependencies ([1f6cb41](https://github.com/super-productivity/super-productivity/commit/1f6cb4109a799418af90698cf82c5c2978480c7a)) +- **sync:** prevent TAG:TODAY conflicts on idle clients and handle stale ops ([1f55c78](https://github.com/super-productivity/super-productivity/commit/1f55c783a3dd81119a36bc2ec4af7a49d93abcf2)) +- **sync:** prevent validation crash on orphaned references to allow auto-repair ([86c0a5a](https://github.com/super-productivity/super-productivity/commit/86c0a5a24ef5f441c723a84d7c85625e3932925f)) +- **sync:** recognize bulk ID-based update payloads in validation ([20bad15](https://github.com/super-productivity/super-productivity/commit/20bad157db52f6c1a1c536a525da80272ca4a688)) +- **sync:** recreate entity when LWW update wins over local delete ([bbe3ba3](https://github.com/super-productivity/super-productivity/commit/bbe3ba3a943276d8b351bd506e2f887650b4281f)) +- **sync:** reduce disruptive alerts during backup import ([ee98760](https://github.com/super-productivity/super-productivity/commit/ee98760d08f05c9705c143bb8dc07b7e0bce864d)), closes [#5839](https://github.com/super-productivity/super-productivity/issues/5839) +- **sync:** refresh storage cache after cleanup and add serverTime to response ([1bd96a9](https://github.com/super-productivity/super-productivity/commit/1bd96a9182ebdd6003addfac62c8efa06d3157b5)) +- **sync:** reject stale sibling ops after conflict resolution ([fb203a5](https://github.com/super-productivity/super-productivity/commit/fb203a505bd9eeb59a7ff732c93ba9821622a27e)) +- **sync:** remove duplicate sync call causing "Sync already in progress" error ([f52d4dd](https://github.com/super-productivity/super-productivity/commit/f52d4dd02df3e5c4a4c4d82bc20f1c31a67710af)) +- **sync:** remove subtask IDs from tags when parent task is deleted ([e9c9124](https://github.com/super-productivity/super-productivity/commit/e9c9124f29d20ce10c4518a32891fd9ab48b0b2a)) +- **sync:** remove task from planner.days[today] when transferring away ([b893c13](https://github.com/super-productivity/super-productivity/commit/b893c1373fe580c08fb93cd957ff272765592775)) +- **sync:** remove TODAY_TAG from task.tagIds and fix test issues ([903dce1](https://github.com/super-productivity/super-productivity/commit/903dce197bc8c20af32a2a19fc7e809e25768898)) +- **sync:** rename skipDuringSync to skipWhileApplyingRemoteOps ([b3022c7](https://github.com/super-productivity/super-productivity/commit/b3022c72858b5feb57bf5aed82a698ec58e6332f)) +- **sync:** repair TODAY_TAG consistency after sync via effect ([26eb153](https://github.com/super-productivity/super-productivity/commit/26eb1536c50d197f4736e159357a2cec53abaa93)) +- **sync:** reset vector clock on backup import ([a1d8b34](https://github.com/super-productivity/super-productivity/commit/a1d8b34219a88e5e9b93c92b93164c8136bfebc8)) +- **sync:** resolve circular dependencies in operation log services ([f88b3bf](https://github.com/super-productivity/super-productivity/commit/f88b3bf25d618ae69155578e14800276f5c0547b)) +- **sync:** resolve circular dependency in ArchiveOperationHandler ([4ebe5c2](https://github.com/super-productivity/super-productivity/commit/4ebe5c29d8233d093f106eff69d16ba86b0d7fb5)) +- **sync:** resolve circular dependency in OperationLogSyncService ([73f2da4](https://github.com/super-productivity/super-productivity/commit/73f2da4c8c10263c06a9f9d1646cd931b56c4046)) +- **sync:** resolve regressions in first sync conflict handling ([4cfaf6b](https://github.com/super-productivity/super-productivity/commit/4cfaf6bd49dc64fb63d758ed579a91b8b2d9c206)) +- **sync:** resolve WebDAV sync regression for multi-client scenarios ([b1e1c1d](https://github.com/super-productivity/super-productivity/commit/b1e1c1d10bf7a55fcb30787dd6392190ac19b656)) +- **sync:** respect action opType for archive operations and improve sync robustness ([9a18a81](https://github.com/super-productivity/super-productivity/commit/9a18a8194cfb9b4d70d27930e84f38b9c551700c)) +- **sync:** route ImmediateUploadService through SyncService for migration detection ([b79e8f8](https://github.com/super-productivity/super-productivity/commit/b79e8f8838df777fdf798fac6e23442d5365d833)) +- **sync:** sanitize access token to remove non-ASCII characters ([5c8fcdf](https://github.com/super-productivity/super-productivity/commit/5c8fcdf8e5ab06fc014353296439209e145c9b4d)) +- **sync:** sanitize Tag updates to filter non-existent taskIds ([765f6e2](https://github.com/super-productivity/super-productivity/commit/765f6e293d0aceabfa95e7818ce9b975fa8eb89d)) +- **sync:** show conflict dialog before applying any operations ([11d2d35](https://github.com/super-productivity/super-productivity/commit/11d2d356a7d5d14569887ae23756748eca7e3314)) +- **sync:** show error instead of falsely claiming IN_SYNC when upload fails ([4780f08](https://github.com/super-productivity/super-productivity/commit/4780f083339037f64f559e1bbbbd968ae57e6405)) +- **sync:** skip conflict detection for full-state operations ([6f29c6f](https://github.com/super-productivity/super-productivity/commit/6f29c6f81cbaa8ab5813df6a2521beb429be7098)) +- **sync:** skip META_MODEL update during sync to prevent lock errors ([9b23080](https://github.com/super-productivity/super-productivity/commit/9b23080a7a9229240a90b9ade37ecfe6ce5e58d9)) +- **sync:** skip persisting ops during remote sync replay ([fb28899](https://github.com/super-productivity/super-productivity/commit/fb2889980261ea572e32bed0ffd8927d5a9c2520)) +- **sync:** sort operations by dependencies before replay after SYNC_IMPORT ([7c0c842](https://github.com/super-productivity/super-productivity/commit/7c0c8420aa89b018cbc3bdb61ff3cc2c5333390c)) +- **sync:** standardize full-state payload format and add validation ([2d26228](https://github.com/super-productivity/super-productivity/commit/2d26228ca8715c62d5e699b6f26b34f3b19e959e)) +- **sync:** support encrypted payloads in server validation and e2e ([0fe3161](https://github.com/super-productivity/super-productivity/commit/0fe31613ffec6dee4628c32aff079de075661a3f)) +- **sync:** suppress selector-based effects during hydration/replay ([149947b](https://github.com/super-productivity/super-productivity/commit/149947b8aed0f8a83ba9a31f5fde1258b9043549)) +- **sync:** sync archived task updates (e.g., time spent edits) ([d55ec85](https://github.com/super-productivity/super-productivity/commit/d55ec8577747d856d40500c323fb365a26fb4e39)) +- **sync:** sync parent.subTaskIds when task parentId changes via LWW ([1982f69](https://github.com/super-productivity/super-productivity/commit/1982f69d222c78648f51dbc96a2b3901ce42e080)) +- **sync:** sync tag.taskIds when task.tagIds changes via LWW Update ([9e65a70](https://github.com/super-productivity/super-productivity/commit/9e65a70be490dade5d11720c3341c8104c2d6cce)) +- **sync:** temporarily disable data repair to debug archive subtask loss ([5138b46](https://github.com/super-productivity/super-productivity/commit/5138b4654684a597474ac5c398c7818628dab1a2)) +- **sync:** throttle sync triggers to prevent rapid consecutive syncs ([2c7c296](https://github.com/super-productivity/super-productivity/commit/2c7c29666ec4eca837f48a8a53fa1fde9a18e352)) +- **sync:** treat INTERNAL_ERROR as transient, not permanent rejection ([bbe9b48](https://github.com/super-productivity/super-productivity/commit/bbe9b48097d2502d8011ae50730f9cdc683567d0)) +- **sync:** trigger follow-up upload after creating merged ops for concurrent modifications ([be490c8](https://github.com/super-productivity/super-productivity/commit/be490c88c88eeb9dfd40e5af16ec82c421170de9)) +- **sync:** update mapTo to map for RxJS compatibility ([b295e6c](https://github.com/super-productivity/super-productivity/commit/b295e6cad2f00235ad5d293ff27b60d61e71da4e)) +- **sync:** update project.taskIds when LWW resolves task projectId conflict ([04e58fa](https://github.com/super-productivity/super-productivity/commit/04e58fa3e060c7052d3548ca936ef5da8c610012)) +- **sync:** update vector clock tests to expect error on overflow ([f51973e](https://github.com/super-productivity/super-productivity/commit/f51973ee920559200ee01f13c0dfc1d02cc08575)) +- **sync:** upload full state snapshot on server migration ([ee5037a](https://github.com/super-productivity/super-productivity/commit/ee5037a33de307af096fbb41f5ed085c40ff8d5c)) +- **sync:** use absolute values for simple counter sync ([0d7b38d](https://github.com/super-productivity/super-productivity/commit/0d7b38db2d9865f075faac56f257ec5c66a46d90)) +- **sync:** use appendWithVectorClockUpdate for ops created outside NgRx effect ([91dac40](https://github.com/super-productivity/super-productivity/commit/91dac406c6d9e2462e4aa703c824171ead96b040)) +- **sync:** use atob for base64 decoding in decompression ([#5905](https://github.com/super-productivity/super-productivity/issues/5905)) ([13ec4b2](https://github.com/super-productivity/super-productivity/commit/13ec4b2f3ef3f232c84f0fbe769173fd898d394d)) +- **sync:** use clientId for snapshot replacement detection ([fa7f37f](https://github.com/super-productivity/super-productivity/commit/fa7f37f8a3a9d9abf6f08c5a1e640f19dfeac8bd)) +- **sync:** use computed signal for allResolved in conflict dialog ([322f184](https://github.com/super-productivity/super-productivity/commit/322f184bb09a63afcd2c744adad440a34a3e3a7f)) +- **sync:** use current state for archive cleanup in reducers ([ac5c202](https://github.com/super-productivity/super-productivity/commit/ac5c202ffb58e198770831630a5ae172ec4a319d)) +- **sync:** use dependency resolution when replaying operations during hydration ([1d199b1](https://github.com/super-productivity/super-productivity/commit/1d199b141a11681c7cc366bd6adf59fe3dcc40a0)) +- **sync:** use global vector clock for merged ops to ensure clock dominance ([0dcbe2d](https://github.com/super-productivity/super-productivity/commit/0dcbe2dab1dd09d53d5a40fd4292859f16f62900)) +- **sync:** use LWW Update action type for stale op resolution ([7b27ccd](https://github.com/super-productivity/super-productivity/commit/7b27ccd8b67954d95e606f7a3bd1dac52b825d3c)) +- **sync:** use merge semantics for task restore to prevent data loss ([5c217e2](https://github.com/super-productivity/super-productivity/commit/5c217e2dff00c535efc0df25d9482120de479edb)) +- **sync:** use timestamp comparison for same-millisecond UUIDv7 operations ([d6db1c2](https://github.com/super-productivity/super-productivity/commit/d6db1c2885d25ede4825d158eb10e7f939e7dda9)) +- **sync:** use UUIDv7 comparison for replay filtering after restore ([55cdc18](https://github.com/super-productivity/super-productivity/commit/55cdc18a241db28e44ae0630aee51e7c91969ffc)) +- **sync:** use vector clocks for SYNC_IMPORT filtering instead of UUIDv7 ([d5a0258](https://github.com/super-productivity/super-productivity/commit/d5a0258c85bdbbd8599ecd3d84856a80a9acf13e)) +- **sync:** validate and repair synced data before loading to NgRx ([7d50ca6](https://github.com/super-productivity/super-productivity/commit/7d50ca646a38d7c9045b4f37735a21d77addd0a8)) +- **sync:** validate state before creating SYNC_IMPORT ([17b396b](https://github.com/super-productivity/super-productivity/commit/17b396b64f845a454dde1b5e3b2fa45ae8ca7226)) +- **sync:** validate state before saving snapshot in hydrator ([e6025b4](https://github.com/super-productivity/super-productivity/commit/e6025b41784ff55bad6511b0d1e74a22f9705df2)) +- **sync:** wait for sync to complete before archiving on finish day ([5cb9219](https://github.com/super-productivity/super-productivity/commit/5cb9219cddbef6a73ad9d028477f0d60df05f101)) +- **sync:** warn before reload when sync is in progress ([326cc30](https://github.com/super-productivity/super-productivity/commit/326cc30ea3de1715e2a9c795710acedfa936e299)) +- **sync:** wrap full-state operation payloads in appDataComplete ([7201eeb](https://github.com/super-productivity/super-productivity/commit/7201eebe85de24dba60ad671d4729c739f6c70e7)) +- **sync:** wrap generateSnapshot in transaction for isolation ([562ad5c](https://github.com/super-productivity/super-productivity/commit/562ad5c47d34737fdea2fe862f818f0888cb7bb1)) +- **sync:** write archived tasks to archiveYoung for remote operations ([7d3a032](https://github.com/super-productivity/super-productivity/commit/7d3a032ac632f54b0adf1b60fcfdcf188d799ccf)) +- **sync:** yield to event loop after dispatching operations ([fde340b](https://github.com/super-productivity/super-productivity/commit/fde340b8678d0972a06d4b32eae1c7dc22a941a9)), closes [hi#volume](https://github.com/hi/issues/volume) +- **tag-list:** add initialValue to toSignal calls to prevent empty tags ([d7d69fb](https://github.com/super-productivity/super-productivity/commit/d7d69fbfcc1f15f9d25148a0cb37cece1353df68)) +- **tag:** add error handling for archive cleanup effect ([f8907e9](https://github.com/super-productivity/super-productivity/commit/f8907e937c051ab3158e614b2276b034d861a070)) +- **tag:** implement self-healing for TODAY_TAG orphaned task IDs ([3307c32](https://github.com/super-productivity/super-productivity/commit/3307c3233918bf43bb44693b310e56688fbc2fa2)) +- **task-repeat:** add defaultValue to remindAt form field ([3d94af9](https://github.com/super-productivity/super-productivity/commit/3d94af9b7903373674bd53d31f6081a182342a0e)) +- **task-repeat:** use deterministic IDs to prevent duplicate tasks during sync ([aaf7d3b](https://github.com/super-productivity/super-productivity/commit/aaf7d3b553db3bbf93b2fe36f8e5c3c6251caa47)) +- **tasks:** filter out missing tasks in selectTasksById selector ([5e76b81](https://github.com/super-productivity/super-productivity/commit/5e76b81eb7de521d3b70922653833ef6c10f99e1)) +- **tasks:** include reminderId on TaskCopy ([709d40c](https://github.com/super-productivity/super-productivity/commit/709d40c8293b5e346c46ebca406e1fafa0c8d328)) +- **tasks:** make selectTasksWithSubTasksByIds defensive for missing tasks ([dffb7c1](https://github.com/super-productivity/super-productivity/commit/dffb7c1ef2b9dedb805a78342f9765a24a4743df)) +- **tasks:** show overdue tasks correctly with virtual TODAY_TAG architecture ([7b2933a](https://github.com/super-productivity/super-productivity/commit/7b2933add99ed946df640dfdd313fa702f3ade85)) +- **test:** add type filtering to dialog handlers to avoid conflicts ([7d56811](https://github.com/super-productivity/super-productivity/commit/7d568117b620951f324abc4bc22433f8654d973b)) +- **test:** correct assertion for schema version skip limit test ([56266d2](https://github.com/super-productivity/super-productivity/commit/56266d28c688c09220b53359c15c9c699798dfaa)) +- **test:** correct mocking for TaskUiEffects and EncryptionPasswordChangeService ([ee2c6f8](https://github.com/super-productivity/super-productivity/commit/ee2c6f8c7d4b0f7d5f801eaf418cacda95ba5b50)) +- **test:** fix failing unit tests for planner and SuperSync ([70b8ed1](https://github.com/super-productivity/super-productivity/commit/70b8ed1eca80890ca0d8cf2526feb0f14c232c20)) +- **test:** fix FileImexComponent test expectation ([0c512e2](https://github.com/super-productivity/super-productivity/commit/0c512e27e1d532b8a35fe14a081f36cb23df8b91)) +- **test:** fix unit test failures in sync and persistence services ([183bf2c](https://github.com/super-productivity/super-productivity/commit/183bf2c18165ba614ca46c23e1c3c3578859c4c8)) +- **test:** include tokenVersion in test JWT tokens ([c6aff85](https://github.com/super-productivity/super-productivity/commit/c6aff8591db2e54b970f483f9835cc5b8ca14b32)) +- **test:** resolve test pollution from PFLog module-level modifications ([e1e9d23](https://github.com/super-productivity/super-productivity/commit/e1e9d23fd889ae471f7a7e4e20b07b0d7f3e5166)) +- **test:** restore navigator and clear keyboard layout after tests ([53b49b2](https://github.com/super-productivity/super-productivity/commit/53b49b2e04ceb9f6ed43ea4bc77b6ebd1e494462)) +- **tests:** correct test state setup for moveToArchive tests ([ff50604](https://github.com/super-productivity/super-productivity/commit/ff506046cde28fb281c6d59ff34ab8ae7e737bec)) +- **test:** update failing unit tests for API changes ([4829de4](https://github.com/super-productivity/super-productivity/commit/4829de4f4827afe43b90c40b6c191213fc9fdbe2)) +- **test:** update full-state payload format in upload service tests ([42d197f](https://github.com/super-productivity/super-productivity/commit/42d197f659f47c4decbfa7113310fb0145c4a754)) +- **test:** update migration-handling tests for refactored service ([d18b116](https://github.com/super-productivity/super-productivity/commit/d18b11619b00faa83ed07e76537bd4b60e731684)) +- **test:** update operation-log.effects.spec.ts mocks for new dependencies ([001d89d](https://github.com/super-productivity/super-productivity/commit/001d89d58e6f2099b85f4ea9b89cd369e030ad54)) +- **test:** update service-logic integration tests for LWW auto-resolve ([404973e](https://github.com/super-productivity/super-productivity/commit/404973ef72a1de70aac46c0f61b0ca2b4dad9548)) +- **test:** update super-sync tests for gzip compressed body ([435750d](https://github.com/super-productivity/super-productivity/commit/435750d36b0898f6c94ab69c5c77ee5490ee05e0)) +- **test:** use Date constructor to avoid timezone parsing issues ([f222a01](https://github.com/super-productivity/super-productivity/commit/f222a017c6a03f31fb4890e1f0f75e7ebd941330)) +- **test:** use valid ActionType enum values in operation-log.effects tests ([24ef57e](https://github.com/super-productivity/super-productivity/commit/24ef57ead1e1c8c268d8463bdcca261437b2a9eb)) +- **time-tracking:** add defensive null guard and improve test coverage ([5cb75d1](https://github.com/super-productivity/super-productivity/commit/5cb75d153de6c8e33dd07b7fadf7b095422c2365)) +- **today:** include tasks with dueWithTime for today in Today view ([#5841](https://github.com/super-productivity/super-productivity/issues/5841)) ([626ba76](https://github.com/super-productivity/super-productivity/commit/626ba76c1bb214f6ed19fc498f0cc3ba3b6234b0)) +- **today:** set dueDay for tasks with dueWithTime scheduled for today ([#5841](https://github.com/super-productivity/super-productivity/issues/5841)) ([a7d8a8b](https://github.com/super-productivity/super-productivity/commit/a7d8a8b314cfe33f0eddc0f905b2d1a02924cc19)) +- **ui:** allow Inbox to be unhidden via visibility menu ([cc5063a](https://github.com/super-productivity/super-productivity/commit/cc5063a0d35b50bf1bc9b4429ba2e8d32369099f)), closes [#5955](https://github.com/super-productivity/super-productivity/issues/5955) +- **ui:** make checklist items clickable after blank lines ([c8fec79](https://github.com/super-productivity/super-productivity/commit/c8fec79448519221fae2672c169a14ff61c5ddac)), closes [#5950](https://github.com/super-productivity/super-productivity/issues/5950) +- update imports after operation-log reorganization ([fce7531](https://github.com/super-productivity/super-productivity/commit/fce75317e2a3460d94d256f62467f1fae7928cdb)) +- **work-context:** add skipDuringSync to prevent dispatch during sync ([4464755](https://github.com/super-productivity/super-productivity/commit/446475557de95176851e7b686271f83d7af60c07)) +- **work-view:** add initialValue to toSignal calls for proper initialization ([8905701](https://github.com/super-productivity/super-productivity/commit/8905701fa5ed3537f8db5665d7d262b756324363)) + +### Code Refactoring + +- **metric:** remove deprecated improvement and obstruction features ([a0b5696](https://github.com/super-productivity/super-productivity/commit/a0b56965b8bba204c30cacd7d58cead20582b245)) + +### Features + +- add conflict resolution dialog and integrate into sync service ([83ff705](https://github.com/super-productivity/super-productivity/commit/83ff70525dd47bb494308d436e67b8046d27325c)) +- add logging to operation log hydrator for debugging ([b07a107](https://github.com/super-productivity/super-productivity/commit/b07a1077820122daeb704623e328a3897e8dca89)) +- Add prominent warning for Super Sync future costs ([67d668d](https://github.com/super-productivity/super-productivity/commit/67d668dd7d2bc30531a0eaa5052b089ad011bf90)) +- **archive:** add manual archive compression feature ([a85b8e6](https://github.com/super-productivity/super-productivity/commit/a85b8e65b4fdd129621d34f1429a5b20bced99d7)) +- **auth:** add /replace-token endpoint for token revocation ([dcdba9e](https://github.com/super-productivity/super-productivity/commit/dcdba9e4e53ee35d891f80b617712f331239066a)) +- **config:** improve SuperSync config UI ([9c55690](https://github.com/super-productivity/super-productivity/commit/9c55690ebde7dc710c492dcf737e8af9198fea30)) +- **deps:** upgrade Angular to v21 ([132947a](https://github.com/super-productivity/super-productivity/commit/132947a69b5f978280918c3bdb24e0fee73a5bd4)) +- **docs:** add command for running SuperSync E2E tests ([d48694d](https://github.com/super-productivity/super-productivity/commit/d48694d0ce4513d9d640cfe1690529f723cc1f10)) +- **e2e:** Add comprehensive SuperSync E2E integration tests ([00c14f8](https://github.com/super-productivity/super-productivity/commit/00c14f8c8774aa0b6720b55377a088950b622dbf)) +- **e2e:** add SuperSync E2E test infrastructure for multi-client sync ([e62f2f8](https://github.com/super-productivity/super-productivity/commit/e62f2f86fa31f07f2a136252177a31e10637ba15)) +- **e2e:** add supersync edge case tests and fix flakiness ([96e105e](https://github.com/super-productivity/super-productivity/commit/96e105e80c2c8c5c87055475bb30e48576071dfa)) +- enforce single-tab policy and disable complex multi-tab broadcast ([8293de9](https://github.com/super-productivity/super-productivity/commit/8293de9ee81d0c537946e12e0381a047a2ea3775)) +- **focus-mode:** show coffee cup icon during breaks ([b2be64e](https://github.com/super-productivity/super-productivity/commit/b2be64ef7bfe9d551a95caf8dd7eda9a39d2cbd0)), closes [#5957](https://github.com/super-productivity/super-productivity/issues/5957) +- **i18n:** add translations for sync conflict resolution dialog ([77e7ccd](https://github.com/super-productivity/super-productivity/commit/77e7ccd9ab0996b71b95c0023d6a096db97a3de2)) +- Implement Operation Log & Multi-Tab Coordination (Phase 1-3) ([be494ec](https://github.com/super-productivity/super-productivity/commit/be494ec7c4ce4ad4c73dfeb795e5826a619f6e76)) +- implement operation log manifest management and update sync providers ([79a23ee](https://github.com/super-productivity/super-productivity/commit/79a23ee0461583d2b67e8bd6432b20fe67383471)) +- implement operation log migration and hydration logic ([3747dac](https://github.com/super-productivity/super-productivity/commit/3747dacaa832b853ca688823710d70af2515c15d)) +- Implement Terms of Service and Privacy Policy acceptance for Super Sync registration ([c1adbc5](https://github.com/super-productivity/super-productivity/commit/c1adbc522c463e29148c0cc5033ff1cf1e87b777)) +- integrate conflict resolution service ([1f23a8a](https://github.com/super-productivity/super-productivity/commit/1f23a8a6ffe5a2358e6300a2bb3bbcb4ab23e88e)) +- integrate operation applier service and manifest management ([0a7b92d](https://github.com/super-productivity/super-productivity/commit/0a7b92d7ec6bf2a5de70be809c5eb8eebb533077)) +- **lint:** add ESLint rule to enforce hydration guards on selector effects ([4367fe2](https://github.com/super-productivity/super-productivity/commit/4367fe2109e42ecdda1826432926209ecc4a91fa)) +- **migration:** implement pre-migration dialog and backup functionality ([72608a4](https://github.com/super-productivity/super-productivity/commit/72608a4aaae5139db845f4ae082556cb070c3b2f)) +- **op-log:** add disaster recovery and schema migration ([5d7bc5d](https://github.com/super-productivity/super-productivity/commit/5d7bc5d7fbc05816a8368e8f6f30088eb23b133d)) +- **op-log:** add persistence metadata to all model actions ([f4df073](https://github.com/super-productivity/super-productivity/commit/f4df0731e312a07231ccf96439797746d2433fbb)) +- **op-log:** add rollback notification and mark rejected operations ([430edab](https://github.com/super-productivity/super-productivity/commit/430edabd88892de640cebcc37ed1a6245f799519)) +- **op-log:** add unit tests and optimize remote ops batching ([2cfd52c](https://github.com/super-productivity/super-productivity/commit/2cfd52c9684dd030b03cba185f4e71e162a506ef)) +- **op-log:** implement critical Part B sync bridge and compaction ([c77e34c](https://github.com/super-productivity/super-productivity/commit/c77e34c7a06f99920aa066447816918af76727e9)) +- **op-log:** migrate all remaining models to NgRx for sync delegate ([cb8120e](https://github.com/super-productivity/super-productivity/commit/cb8120e5f63e09c9e72f4a7d939ae677c15334b3)) +- **op-log:** migrate improvement and obstruction models to NgRx ([db7a0d3](https://github.com/super-productivity/super-productivity/commit/db7a0d3911a71d6172b6445c1bc12c4906f2b131)) +- **operation-log:** add data validation and repair system ([d22fbe2](https://github.com/super-productivity/super-productivity/commit/d22fbe28b2a986c6c308ad07780656297ea6c189)) +- **oplog:** add intelligent conflict resolution suggestions ([75b6036](https://github.com/super-productivity/super-productivity/commit/75b603653cdb028e7da26824b685060102febf68)) +- **oplog:** add operation log stress test ([9ca88a1](https://github.com/super-productivity/super-productivity/commit/9ca88a19cc931f7eefe1e8c5083d5add6b50c1ee)) +- **oplog:** add payload size monitoring for large operations ([9849caf](https://github.com/super-productivity/super-productivity/commit/9849caf81e0e1b7c8bb68a5ee308f05bd806688a)) +- **oplog:** add persistent compaction counter and syncedAt index ([6818ae8](https://github.com/super-productivity/super-productivity/commit/6818ae8d9fc2a4609cf0ec98928d1ccdb9c0055b)) +- **oplog:** implement migration safety and tail ops migration ([b73769a](https://github.com/super-productivity/super-productivity/commit/b73769aa15e54c70734169cdcb10e1607762e464)) +- **opLog:** improve performance 1 ([9f8ac46](https://github.com/super-productivity/super-productivity/commit/9f8ac464f332b3271c79224e6111e7632fb27dd8)) +- **persistence:** Add meta to \_\_updateMultipleTaskSimple and remove unused upsertProject/upsertTag actions ([a17dcd0](https://github.com/super-productivity/super-productivity/commit/a17dcd0d63a2c135edcc186f1d8745a9d0b81386)) +- **pfapi:** add support for silently skipping deprecated legacy model IDs during import [#5839](https://github.com/super-productivity/super-productivity/issues/5839) ([efc288b](https://github.com/super-productivity/super-productivity/commit/efc288bae7f843ffc34c21168cd269cc21a05916)) +- **pfapi:** enhance PfapiStoreDelegateService to read archive data from ModelCtrl ([1eb5dc2](https://github.com/super-productivity/super-productivity/commit/1eb5dc2a1b9c19d98c1239c16a2e6c593771c0fc)) +- **plugins:** add rate limiting and size validation for plugin data ([91a9c60](https://github.com/super-productivity/super-productivity/commit/91a9c60cffae1b77c5246f3f0a3a1e11a10073ab)) +- prepare sync provider interface for operation log sync ([37d679b](https://github.com/super-productivity/super-productivity/commit/37d679b3918d1c6c7d7563c408205a9f03044d93)) +- **server:** add Account Settings page with reset and delete options ([f963542](https://github.com/super-productivity/super-productivity/commit/f9635423d6e2e8110e697b1b9dc38685c500757a)), closes [#5848](https://github.com/super-productivity/super-productivity/issues/5848) +- **super-sync-server:** Add basic monitoring tool ([2c42cf6](https://github.com/super-productivity/super-productivity/commit/2c42cf65cba3cac71efc606151b2ea10809cfd8d)) +- **super-sync-server:** fix docs, add tests, and optimize snapshots ([75c66a2](https://github.com/super-productivity/super-productivity/commit/75c66a243fbc9c2f116a37c0ba62b7093495c0d9)) +- **supersync:** add dark mode with WCAG AA compliant colors ([db41055](https://github.com/super-productivity/super-productivity/commit/db41055febaefdc24b9ed303f6d9d35d02ab4653)), closes [#1a1a1a](https://github.com/super-productivity/super-productivity/issues/1a1a1a) [#2d2d2d](https://github.com/super-productivity/super-productivity/issues/2d2d2d) [#e5e5e5](https://github.com/super-productivity/super-productivity/issues/e5e5e5) [#a3a3a3](https://github.com/super-productivity/super-productivity/issues/a3a3a3) [#4db8e8](https://github.com/super-productivity/super-productivity/issues/4db8e8) +- **supersync:** add forgot password UI to login page ([1b2f5ff](https://github.com/super-productivity/super-productivity/commit/1b2f5ff22c540b3b645ed434f6a614b1febd8ba8)) +- **supersync:** add privacy policy address via env vars ([4d5c79f](https://github.com/super-productivity/super-productivity/commit/4d5c79f12905b5b75e52d7bbb1d6664484f41448)) +- **superSync:** implement prisma and postgres ([b6fc658](https://github.com/super-productivity/super-productivity/commit/b6fc65831cb702be1f14a516219243826fc5aef9)) +- **superSync:** make web token stuff work ([ef95a60](https://github.com/super-productivity/super-productivity/commit/ef95a601aa78853fbc2a814b04a93082159ad930)) +- support system keyboard layout ([0a2fdf8](https://github.com/super-productivity/super-productivity/commit/0a2fdf8b59c07c2d20e808f04cc98f740cba5cc7)) +- **sync-server:** add comprehensive logging to sync endpoints ([02691d5](https://github.com/super-productivity/super-productivity/commit/02691d55b9efc7108e13ea14f35f12eb893e02a3)) +- **sync-server:** add deployment and monitoring scripts ([57766f2](https://github.com/super-productivity/super-productivity/commit/57766f29ddb40525a8e7fa1ee97ac43368374463)) +- **sync-server:** add disk space and table size monitoring ([754f7fb](https://github.com/super-productivity/super-productivity/commit/754f7fb6763cd8ff641d5db9b19a0a0979478c4b)) +- **sync-server:** add GHCR-based deployment workflow ([f056e12](https://github.com/super-productivity/super-productivity/commit/f056e1224cf17c19bb45dba1f51688b35e239690)) +- **sync-server:** add gzip support for snapshot endpoint ([7d1c485](https://github.com/super-productivity/super-productivity/commit/7d1c4857dcf8a3fa7d4854bafa83ea462452114c)) +- **sync-server:** add operation analysis to monitor CLI ([78d4e42](https://github.com/super-productivity/super-productivity/commit/78d4e4245a5c725c58f9e1c9eaa0323dced89543)) +- **sync-server:** add per-user growth table to usage-history ([5917e0d](https://github.com/super-productivity/super-productivity/commit/5917e0d0520accc173da03a6f9758563aadf8af0)) +- **sync-server:** add refresh token button to web UI ([87d300b](https://github.com/super-productivity/super-productivity/commit/87d300b847f28267cbdb75da45e5b3982ba2cc28)) +- **sync-server:** add server-side conflict detection ([530a46f](https://github.com/super-productivity/super-productivity/commit/530a46fefd4b7d20a629109615b1c886cf82cbde)) +- **sync-server:** add usage history tracking ([a42f002](https://github.com/super-productivity/super-productivity/commit/a42f0025cb55c5fdd6eda5d3093576f31dd502fe)) +- **sync-server:** add vector clock sanitization ([be48a69](https://github.com/super-productivity/super-productivity/commit/be48a6908669d47aa208db6d07a273300723b9f7)) +- **sync-server:** implement operation log sync API ([cdaedf4](https://github.com/super-productivity/super-productivity/commit/cdaedf4fb8f7a695248b588f839363ab9ac40c32)) +- **sync-server:** replace password auth with passkey + magic link ([9c0a728](https://github.com/super-productivity/super-productivity/commit/9c0a728ef4d037cf0da24757f23f8490059d813c)) +- **sync-server:** sync email input across all auth forms ([9ddced5](https://github.com/super-productivity/super-productivity/commit/9ddced5648a19958a6990883b75e2d20e753f47b)) +- **sync:** add account deletion to SuperSync web frontend ([b367c95](https://github.com/super-productivity/super-productivity/commit/b367c9595b86fff4b19a5a277006b44cadf49915)) +- **sync:** add atomic applyShortSyntax action for short syntax operations ([c45a3e6](https://github.com/super-productivity/super-productivity/commit/c45a3e6327feb061021981af476b63310402dbc2)) +- **sync:** add Bearer token auth and provider capability check ([2668229](https://github.com/super-productivity/super-productivity/commit/266822955e8f3cb88591b7a742c804f236711bdb)) +- **sync:** add Beta label to SuperSync ([09c992f](https://github.com/super-productivity/super-productivity/commit/09c992f2cb88aa32e9de7840d6f1c01b20cd5756)) +- **sync:** add blocking alert and devError for data repair ([cfbd0e9](https://github.com/super-productivity/super-productivity/commit/cfbd0e904cc60a1f0de66e8171c06973cdcd242b)) +- **sync:** add clock drift detection and compaction monitoring ([4c3d57a](https://github.com/super-productivity/super-productivity/commit/4c3d57a208dfbb282e010749b58e218ddf0079b4)) +- **sync:** add compact operation format for storage optimization ([e177d92](https://github.com/super-productivity/super-productivity/commit/e177d928f6eea703b9a0bf66bbce7dd7841f6b90)) +- **sync:** add COUNTER_UPSERT action type ([27641ef](https://github.com/super-productivity/super-productivity/commit/27641efeaeb638a1e4653ec47f91949c4ee30b0a)) +- **sync:** add double checkmark indicator for Super Sync ([e7c8534](https://github.com/super-productivity/super-productivity/commit/e7c8534a171ab6e43c516c5cb5a84bce68eca4e7)) +- **sync:** add E2E encryption for SuperSync operation payloads ([98c05d6](https://github.com/super-productivity/super-productivity/commit/98c05d67ed7470b2e35fd09a213fd0de6710805d)) +- **sync:** add encryption password change feature for SuperSync ([c4cc32d](https://github.com/super-productivity/super-productivity/commit/c4cc32da2985c3acb72b51b0287a0b2fd41a8663)) +- **sync:** add gap detection in download operations ([7b7c5ce](https://github.com/super-productivity/super-productivity/commit/7b7c5ceda6e9949099c886ab6c68699272ac7a74)) +- **sync:** add immediate upload to SuperSync when online ([405c94e](https://github.com/super-productivity/super-productivity/commit/405c94edaca86f449b94ef39a20c3b4b9a76bee2)) +- **sync:** add local data conflict handling for file-based sync ([2b5fafc](https://github.com/super-productivity/super-productivity/commit/2b5fafccae3fe0236eb1d6f76915fe3b0b7cc719)) +- **sync:** add manual sync only option for file-based providers ([0050d49](https://github.com/super-productivity/super-productivity/commit/0050d49c9e3f82c7d779a611bca4a8584f139c69)) +- **sync:** add operation logging for plugin data ([bfc0c17](https://github.com/super-productivity/super-productivity/commit/bfc0c171fa66fd399f03500ce7346899a0d500e7)) +- **sync:** add per-user storage quota enforcement (100MB) ([b7012e0](https://github.com/super-productivity/super-productivity/commit/b7012e0248c6fb3e5b55a8140daa796354b07d3a)) +- **sync:** add persistence metadata to boards and time-tracking actions ([b2f5ee8](https://github.com/super-productivity/super-productivity/commit/b2f5ee820d4ca22076b1893cae2dc35531672d6d)) +- **sync:** add request ID deduplication for idempotent uploads ([195743a](https://github.com/super-productivity/super-productivity/commit/195743a2fbcee63235fd27a1f9da17f2e718c83b)) +- **sync:** add restore from history for Super Sync ([ef92a12](https://github.com/super-productivity/super-productivity/commit/ef92a1266768d913fde729c02252f102e5f5f7a1)) +- **sync:** add safety test for entity keys and fix missing plugin models ([7f0764f](https://github.com/super-productivity/super-productivity/commit/7f0764f5d5bafac24a75602772442c9f401e76fb)) +- **sync:** add schema version mismatch warnings ([91f0b6d](https://github.com/super-productivity/super-productivity/commit/91f0b6d135b605b565338e1184b39315b7e77c05)) +- **sync:** add shared schema versioning package for frontend/backend ([8dc8207](https://github.com/super-productivity/super-productivity/commit/8dc8207da21e3faacc43002acb5e13bdb96becb7)) +- **sync:** add snapshot upload for full-state operations ([ec2d205](https://github.com/super-productivity/super-productivity/commit/ec2d205770349b8bd56ee482a21ec7ec2ae86760)) +- **sync:** add storage quota auto-cleanup and user alerts ([0b2a394](https://github.com/super-productivity/super-productivity/commit/0b2a394f2ef8acefa42a93e34cf2ac07f073809f)) +- **sync:** add structured audit logging for security events ([df2583e](https://github.com/super-productivity/super-productivity/commit/df2583e87d703ce7e863af1db1a41f5334695632)) +- **sync:** add structured error codes to upload results ([f46eeb3](https://github.com/super-productivity/super-productivity/commit/f46eeb316d2af8471fabb36ff6060ce6bf791d29)) +- **sync:** add sync import conflict resolution dialog ([f9620d4](https://github.com/super-productivity/super-productivity/commit/f9620d4f37b50c79a21930b11494263a4b629529)) +- **sync:** add TIME_TRACKING sync via operation log ([67bc4db](https://github.com/super-productivity/super-productivity/commit/67bc4db452bb270075cce64a04485f93e2533702)) +- **sync:** add transaction isolation for download operations ([6e51b40](https://github.com/super-productivity/super-productivity/commit/6e51b4041ddece00bb82a5a43b6636946453d4c1)) +- **sync:** add translations for fresh client confirmation dialog ([24613c2](https://github.com/super-productivity/super-productivity/commit/24613c258e8a013f9e7130824d11f13057f3c395)) +- **sync:** auto-reload archive data when changed during sync ([8c1d5c6](https://github.com/super-productivity/super-productivity/commit/8c1d5c6c7505a2aa3268ee076b7d9abd1117762c)) +- **sync:** auto-resolve identical sync conflicts ([4d632ab](https://github.com/super-productivity/super-productivity/commit/4d632aba3b1f11bb3e4f08631d973b213e826602)) +- **sync:** handle auth errors for account deletion scenarios ([4f2dbcd](https://github.com/super-productivity/super-productivity/commit/4f2dbcdaa7ffb8e416b7703e5ef3ce23c67ebc08)) +- **sync:** implement B-Lite PFAPI integration for operation log sync ([9f70a28](https://github.com/super-productivity/super-productivity/commit/9f70a28bf53d35bfd517ee30839fc4438b5fa6db)) +- **sync:** implement board-style hybrid pattern for tag-task consistency ([bfe9553](https://github.com/super-productivity/super-productivity/commit/bfe9553abeb67cc176f5f0d3faabd918ea329676)) +- **sync:** implement LWW conflict auto-resolution ([4d96c8f](https://github.com/super-productivity/super-productivity/commit/4d96c8ffff8cddbec56a483c1c8c1d944b746ba0)) +- **sync:** implement multi-entity operations for atomic state capture ([09be12b](https://github.com/super-productivity/super-productivity/commit/09be12bb81cc99dc4d90d23bb6ce86b70846d0a4)) +- **sync:** implement Phase 0 critical blockers for operation log ([4ef436b](https://github.com/super-productivity/super-productivity/commit/4ef436be74052e68518c75657e2133074ccc61ab)) +- **sync:** implement receiver-side migration shield and fix tests ([410bcde](https://github.com/super-productivity/super-productivity/commit/410bcde1141a9810febe1334495cbdad04b5574d)) +- **sync:** implement time tracking sync and deterministic archive flush ([f661de1](https://github.com/super-productivity/super-productivity/commit/f661de10de3583c1e48b835c96cfc0dfc81facb5)) +- **sync:** improve initial sync config ([0ca612e](https://github.com/super-productivity/super-productivity/commit/0ca612e5693cc6669dcacfa7c3fe722bc4fe9399)) +- **sync:** improve SuperSync first-time setup experience ([2531b27](https://github.com/super-productivity/super-productivity/commit/2531b2730a5dc73a5270400b626b3f1d64790127)) +- **sync:** integrate client with operation log sync server API ([eddb120](https://github.com/super-productivity/super-productivity/commit/eddb120a8606085b4dddd6488176feb875ee4650)) +- **sync:** optimize tag addition to task ([1ed936a](https://github.com/super-productivity/super-productivity/commit/1ed936ab2350b8479ac93145ecfa65f8e5cb590c)) +- **sync:** restore safety backups for file-based sync providers ([bbd3b6d](https://github.com/super-productivity/super-productivity/commit/bbd3b6de7422b9f9bb789a0d4cc7bdb2ca7aa101)) +- **syncServer:** add configuration file and enhance server setup ([dfc84a2](https://github.com/super-productivity/super-productivity/commit/dfc84a2f886c4c726bc20f5a56ed448610fed344)) +- **syncServer:** add email verification route and user deletion script ([4570ed9](https://github.com/super-productivity/super-productivity/commit/4570ed965fbadaf43e1a6599964cc2b55be60d41)) +- **syncServer:** add rate limiting, enhance user registration with stronger password validation and add verification token expiration ([87f459f](https://github.com/super-productivity/super-productivity/commit/87f459f5e6e9bf42aa8266d4e0ea2657cb9398ca)) +- **syncServer:** add script to clear sync data for users ([9a2f972](https://github.com/super-productivity/super-productivity/commit/9a2f972e4eada04e801f2e8f6657ddf69ffdc02f)) +- **syncServer:** add SMTP email verification for user registration ([6308e33](https://github.com/super-productivity/super-productivity/commit/6308e33a5673e5bc79c9a6ef64fc64658296cf83)) +- **syncServer:** add user isolation, public URL configuration for email links and improve user registration flow ([61c3758](https://github.com/super-productivity/super-productivity/commit/61c3758ad6cd72a757a398d75c86d191ff19289e)) +- **syncServer:** add verification resend count to user model and update logic for resending verification emails ([f0ea4c6](https://github.com/super-productivity/super-productivity/commit/f0ea4c6b2d5ee647ce8a13bfa3cbed50628f7798)) +- **syncServer:** add Zod validation schemas for user registration, login, and email verification ([ec2de9c](https://github.com/super-productivity/super-productivity/commit/ec2de9c53390189ee8c20120e6474d565a828b65)) +- **syncServer:** enhance server configuration and improve error handling ([05b3e6a](https://github.com/super-productivity/super-productivity/commit/05b3e6a6cd081bf36953701f737d6b26f21247fa)) +- **syncServer:** enhance SuperSync configuration and improve form handling ([b8aae6a](https://github.com/super-productivity/super-productivity/commit/b8aae6ab72229e2f9f5cf7d76f5096a63a0230ce)) +- **syncServer:** enhance user authentication with async bcrypt operations, add security headers, and implement health check endpoint ([da1e4dc](https://github.com/super-productivity/super-productivity/commit/da1e4dcada6deba8cd6801a55380c9417aef8fc4)) +- **syncServer:** first draft ([180c5d7](https://github.com/super-productivity/super-productivity/commit/180c5d70cc72873123e301f4138b9f6f38829769)) +- **syncServer:** fix CORS handling and improve server startup logic ([50f540b](https://github.com/super-productivity/super-productivity/commit/50f540bb398e24b584b7dd85d8f8c53e57594917)) +- **syncServer:** implement JWT authentication and user registration/login functionality ([93c76d5](https://github.com/super-productivity/super-productivity/commit/93c76d5cdb8af8e18fed57f9186e0578de827a68)) +- **syncServer:** implement stricter rate limiting for registration, email verification, and login endpoints ([585020a](https://github.com/super-productivity/super-productivity/commit/585020aa3eb8fe15c2a8cb21cc0bd29813059845)) +- **syncServer:** refactor server functions to use arrow function syntax and improve error handling ([8e65d72](https://github.com/super-productivity/super-productivity/commit/8e65d7263b50568192c8b75a48bf2468e1aa8448)) +- **syncServer:** update plan ([ed1bc59](https://github.com/super-productivity/super-productivity/commit/ed1bc59a0a768663a7e8116aad231325590cebbf)) +- **sync:** trigger sync after first-time configuration ([2a761dc](https://github.com/super-productivity/super-productivity/commit/2a761dccff5362cc066c38ffade796169280b700)) +- **sync:** update translation keys for conflict resolution dialog ([c664cea](https://github.com/super-productivity/super-productivity/commit/c664cea544341c8c1d14d3f6dd223a98f30c413f)) +- **validation:** add preventive validation for repeatCfgId references ([5e5ec55](https://github.com/super-productivity/super-productivity/commit/5e5ec55fe2d02d1d8f1d365d4390bfae66b81283)) + +### Performance Improvements + +- add hydration guards and yields for sync performance ([4c5c1fd](https://github.com/super-productivity/super-productivity/commit/4c5c1fd784b85c99be99507ad8053048fd144640)) +- add IndexedDB indexes and optimize hot path algorithms ([a17f2ef](https://github.com/super-productivity/super-productivity/commit/a17f2efe1d0764a17c484acd3ce3a950fa202dcd)) +- **hydration:** save snapshot after replaying operations ([fe48324](https://github.com/super-productivity/super-productivity/commit/fe483240d656a04076bf11c2de96647318c5dedb)) +- **hydration:** skip replay when last op is SyncImport ([f331361](https://github.com/super-productivity/super-productivity/commit/f331361a34f6b0639545c25ae06b9b45e24dd3f9)) +- **op-log:** batch IndexedDB operations in conflict resolution ([8aea93f](https://github.com/super-productivity/super-productivity/commit/8aea93f900ea8ac9702a1cccc88ff7eb83021e1f)) +- **operation-log:** remove expensive state diffing for mobile performance ([85bedb1](https://github.com/super-productivity/super-productivity/commit/85bedb1a3d54267bc8a90c274387ed6c7cd5178c)) +- **oplog:** change moveToArchive action to pass taskIds instead of full tasks ([4c493e6](https://github.com/super-productivity/super-productivity/commit/4c493e67b35411e13cc6ebd44b3011203fb33137)) +- **oplog:** use bulk delete for repeat configs during tag deletion ([fdeeee1](https://github.com/super-productivity/super-productivity/commit/fdeeee15563a75faebe9f9e813c50372de2c66a0)) +- optimize array utilities and task component lookups ([a5f1dd0](https://github.com/super-productivity/super-productivity/commit/a5f1dd05f45c98bb28166acd414fcef7623981bf)) +- **pfapi:** add cacheOnLoad option for ModelCtrl ([42b0f4e](https://github.com/super-productivity/super-productivity/commit/42b0f4ea1a9a556b4b355602cf935a95fb16c618)) +- reduce mobile hangs with quick win optimizations ([8e40930](https://github.com/super-productivity/super-productivity/commit/8e40930c84958324b74db9f1a27ab3162e5e6332)) +- **reducers:** fix O(n³) and O(n²) bottlenecks in task operations ([4c30a5a](https://github.com/super-productivity/super-productivity/commit/4c30a5a4f270c418f6f1a148a605d2a72f426fcf)) +- **reducers:** optimize tag deletion and operation sorting with Set lookups ([943913a](https://github.com/super-productivity/super-productivity/commit/943913a2fd1e5c75f8a8e08307a1962fb757f5be)) +- **reminder:** only update worker when reminders actually change ([582b3db](https://github.com/super-productivity/super-productivity/commit/582b3dbb747786136e8aa92d55cf7d4116f23e74)) +- **store:** optimize selectors and reducers for large datasets ([a238fde](https://github.com/super-productivity/super-productivity/commit/a238fdee5b2a89ceb85bfe12f51086492ee3dd07)) +- **styles:** apply scrollbar-color to html only instead of all elements ([1404ec2](https://github.com/super-productivity/super-productivity/commit/1404ec20c60bb88b7152ed794e2aa7ec02174dda)) +- **super-sync-server:** Optimize Dockerfile build time ([cc8fb01](https://github.com/super-productivity/super-productivity/commit/cc8fb01848f375128053c9bf3090c2bb2a560ae4)) +- **sync-server:** skip pre-import operations when downloading ([0bacefa](https://github.com/super-productivity/super-productivity/commit/0bacefa58a355f60a723bf932e9c1fba2870d1e2)) +- **sync:** add distinctUntilChanged to SuperSync status observable ([2e78236](https://github.com/super-productivity/super-productivity/commit/2e7823649f8c64abe42849dfc680aec90efebf74)) +- **sync:** add incremental caching for operation log queries ([736ce87](https://github.com/super-productivity/super-productivity/commit/736ce872d8b8fcf96d74817b5231c3800dd8d11d)) +- **sync:** cache config and server seq key in SuperSyncProvider ([ef56ceb](https://github.com/super-productivity/super-productivity/commit/ef56ceb6f6acdc0a629fab10acc97dbaff15e12d)) +- **sync:** cache vector clock in memory to avoid IndexedDB read per op ([3caad75](https://github.com/super-productivity/super-productivity/commit/3caad7598094443199510581aad7fb8f63298f15)) +- **sync:** consolidate vector clock into SUP_OPS for faster mobile writes ([cc7e0bd](https://github.com/super-productivity/super-productivity/commit/cc7e0bd14f6d324227c63f530b5a4e00c0fa42f8)) +- **sync:** increase immediate upload debounce to 2 seconds ([b38f380](https://github.com/super-productivity/super-productivity/commit/b38f38098ab56f0705ff59ebb1224b50af2d4b3a)) +- **sync:** optimize file-based sync to reduce API requests by 50% ([c9b3116](https://github.com/super-productivity/super-productivity/commit/c9b311688221f2a42362c4d796d4bda8159e5c9b)) +- **sync:** optimize operation log hydration for faster startup ([d58b5f8](https://github.com/super-productivity/super-productivity/commit/d58b5f8fc50e998a3ad8d8ca570310ad0534ffec)) +- **sync:** optimize startup by batching operation hydration ([7f2c0e9](https://github.com/super-productivity/super-productivity/commit/7f2c0e94ac71bb3d4a811f4c86e0de9de713c5cb)) +- **sync:** optimize startup speed for SuperSync ([831e78e](https://github.com/super-productivity/super-productivity/commit/831e78e9bb17bbdacc6347442f001b45df2c09ee)) +- **sync:** parallelize independent startup operations ([8066ea0](https://github.com/super-productivity/super-productivity/commit/8066ea0b45e87cca352b2115f04ffc467f7636e8)) +- **sync:** reduce vector clock device limit from 50 to 8 ([83afee6](https://github.com/super-productivity/super-productivity/commit/83afee69e2b384193d2e93c67c044c8ca14844eb)) +- **sync:** remove 1-second timer from SuperSyncStatusService ([6b04bc6](https://github.com/super-productivity/super-productivity/commit/6b04bc6d7cf90bdfe7ecaaafee2c9b48027a663d)) +- **sync:** skip download when all ops fit in piggyback response ([c9a25a9](https://github.com/super-productivity/super-productivity/commit/c9a25a988d62c81c15859e157477a39bff88bf86)) +- **sync:** skip initial sync wait for SuperSync users ([05ebd76](https://github.com/super-productivity/super-productivity/commit/05ebd769ca3c1e8db74551dfe4d29b479087464e)) +- **sync:** skip locking in Electron and Android WebView ([e0715e3](https://github.com/super-productivity/super-productivity/commit/e0715e3cb967d3a007a0b8d85ecd7b600579556c)) +- **sync:** use bulk dispatch for remote sync operations ([edb164e](https://github.com/super-productivity/super-productivity/commit/edb164eb78ac95feca8c7f06fb8a70777ed01ea0)) +- **tasks:** defer snackbar notification to improve add task responsiveness ([1a77c0c](https://github.com/super-productivity/super-productivity/commit/1a77c0cfe18d18ecc1ade4aa115990e0397260e1)) +- **test:** use mock encryption in tests for faster execution ([ce7e201](https://github.com/super-productivity/super-productivity/commit/ce7e201faae0df19501b184779717a11021314ec)) + +### BREAKING CHANGES + +- **sync-server:** JWT_SECRET environment variable is now required in all environments. + Generate one with: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" +- **metric:** Import data containing improvement/obstruction will + fail validation. Users should migrate data before upgrading. + ## [16.9.4](https://github.com/super-productivity/super-productivity/compare/v16.9.3...v16.9.4) (2026-01-10) ### Bug Fixes diff --git a/package-lock.json b/package-lock.json index 7419d73e3..df1153f0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "superProductivity", - "version": "16.9.4", + "version": "17.0.0-RC.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "superProductivity", - "version": "16.9.4", + "version": "17.0.0-RC.0", "license": "MIT", "workspaces": [ "packages/*" diff --git a/package.json b/package.json index e08dcff01..96ebbc3e7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "superProductivity", - "version": "16.9.4", + "version": "17.0.0-RC.0", "description": "ToDo list and Time Tracking", "keywords": [ "ToDo", diff --git a/src/environments/versions.ts b/src/environments/versions.ts index 8c22e8310..14a651fc0 100644 --- a/src/environments/versions.ts +++ b/src/environments/versions.ts @@ -1,6 +1,6 @@ // this file is automatically generated by git.version.ts script export const versions = { - version: '16.9.4', + version: '17.0.0-RC.0', revision: 'NO_REV', branch: 'NO_BRANCH', };