super-productivity/src
Johannes Millan 6dba9237e2 fix(sync): prevent SuperSync accessToken overwrite by empty form values
SuperSync accessToken was being overwritten with empty string due to
Formly's resetOnHide: true behavior. When form re-renders or user
navigates, the accessToken field resets to empty, and the merge logic
was allowing this empty value to overwrite saved credentials.

Solution: Add defensive merge logic to filter out empty/undefined/null
values from form before merging with saved config. This prevents form
state issues from clearing credentials while still allowing updates
when users provide new non-empty values.

Also fixes undefined stateName variable in is-related-model-data-valid.ts
that was preventing tests from running.

- Add filtering of empty values in _updatePrivateConfig()
- Add comprehensive test coverage:
  * SuperSync token preservation (resetOnHide scenario)
  * SuperSync token updates with new values
  * WebDAV password preservation
  * LocalFile path preservation
  * Boolean false value preservation (not filtered as empty)
  * Multiple empty fields scenario
  * Mixed empty and non-empty fields
- Protect all sync providers from similar form state issues

Test Coverage: 24 tests (up from 19), all passing
Confidence: 95% - Root cause clearly identified and addressed
2026-01-21 14:30:24 +01:00
..
app fix(sync): prevent SuperSync accessToken overwrite by empty form values 2026-01-21 14:30:24 +01:00
assets fix(sync): implement OAuth redirect for Dropbox on mobile 2026-01-21 14:30:24 +01:00
environments 17.0.0-RC.12 2026-01-18 14:00:52 +01:00
static feat: add open sans as default font 2025-09-04 18:30:09 +02:00
styles fix(ios): set background color for safe area behind home indicator 2026-01-16 17:24:47 +01:00
test-helpers build: improve testing setup to give indication about which test hangs 2025-07-18 12:11:05 +02:00
typings refactor: improve typing 2025-09-16 18:04:40 +02:00
_common.scss refactor: modernize scss syntax and get rid of most of the warnings 2025-09-04 20:29:24 +02:00
favicon.ico
hammer-config.class.ts feat: replace hammerjs with custom swipe and pan directives 2025-08-10 12:56:11 +02:00
index.html fix(ios): extend viewport behind safe areas to fix bottom white area 2026-01-16 16:52:58 +01:00
karma.conf.js build: fix windows build 2025-12-06 13:41:04 +01:00
main.ts refactor(ios): use IS_NATIVE_PLATFORM for shared mobile behavior 2026-01-14 13:45:42 +01:00
manifest.json
polyfills.ts feat: update rxjs to 7 step 2 2025-11-17 14:04:17 +01:00
styles.scss feat(ios): add notification actions and iPad optimizations 2026-01-14 13:45:42 +01:00
test.ts test: fix 2025-12-05 17:10:37 +01:00
tsconfig.app.json build: correct tsconfig.app.json file includes 2025-10-03 16:59:14 -07:00
tsconfig.spec.json fix(shared-schema): fix module resolution for bundler compatibility 2026-01-11 13:20:16 +01:00
tsconfig.worker.json build: update configuration files 2025-06-27 10:25:00 +02:00