fix: render-optimiste + timing for widget toggle handlers (#71) #73

Merged
maximus merged 3 commits from issue-71-widget-expand-perf into master 2026-04-19 20:24:19 +00:00

3 commits

Author SHA1 Message Date
le king fu
af43a3f1a8 fix: render-optimiste + timing instrumentation for widget toggles (#71)
Widget tap-to-expand felt slow (several seconds). Inverts the order in all
three click handlers so the widget re-renders BEFORE awaiting the
AsyncStorage write — the user sees the change immediately, persistence
finishes in the background.

- TOGGLE_COMPLETE / TOGGLE_EXPAND / TOGGLE_SUBTASK : render before persist
- EXPAND_DEBOUNCE_MS 2000 -> 600 (still blocks accidental double-taps,
  no longer feels laggy when collapsing right after expanding)
- persistState() wraps setWidgetState in try/catch — on failure the next
  handler call re-reads the prior state from AsyncStorage, UI self-heals
- Dev-only timed() helper logs each step to logcat for measurement:
  adb logcat -s ReactNativeJS | grep '\[widget\]'

Out of scope: cold start of the Android headless task service (suspected
main contributor to perceived slowness, unfixable from JS).
2026-04-19 16:17:41 -04:00
le king fu
9cf507429a docs: archive spec-simpl-liste-web (milestone 12/12 done)
Design document for the Simpl-Liste Web frontend, Logto integration,
and hybrid mobile/web sync. Milestone spec-simpl-liste-web is fully
delivered — preserving the spec as historical reference.
2026-04-19 15:57:00 -04:00
le king fu
7e7a518b74 chore: sync package-lock.json to version 1.6.1
Lockfile version field was left at 1.5.1 after the 1.6.1 bump in 9a53022.
2026-04-19 15:56:49 -04:00