Skip to content

v1.0.2 — Bug fixes

Choose a tag to compare

@chinmayrozekar chinmayrozekar released this 07 May 05:07

Bug Fixes

UI / Reactivity

  • Challenge detail view now updates immediately after toggling a day or using freeze. Previously the day grid and action button label would stay stale until the user navigated away and came back. The view now watches the challenges provider so it rebuilds as soon as a change is saved.

Appearance

  • "System" theme now correctly follows the device's dark/light mode setting. It previously always showed the light theme regardless of what the system was set to.

Streak calculation

  • Frozen days no longer break the current streak counter. A freeze-protected day (one marked with the freeze action) is now skipped when walking back through completed days, so the streak stays intact across a freeze.

Freeze days

  • Available freeze days are now capped at 3 per challenge. The counter previously showed up to 21 available freeze slots (one per challenge day), making freezing trivially abusable.

Settings — stability

  • Profile photo load no longer crashes on corrupt data. Base64 decoding is now wrapped in a try/catch; if stored image data is malformed the avatar simply shows blank instead of throwing an unhandled exception.
  • Profile photo is resized before storing. Images are now scaled down to 512 × 512 px at 80 % quality before being base64-encoded into SharedPreferences, preventing very large photos from bloating storage or causing silent write failures.
  • Name field rejects whitespace-only input. Tapping Save with only spaces entered now dismisses the dialog without overwriting the stored name.

Tests

  • Fixed syntax errors in widget_test.dart (v/oid, stray n) and corrected the app class reference (MyAppDayforgeApp) so the test file compiles.