Skip to content

OpenTasker v0.2.67

Latest

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 15 Jun 06:37
· 90 commits to master since this release

Deep engineering audit — thread safety, correctness, UX, and design system hardening

Thread safety

  • ArrayStore and VariableStore local scopes now use ConcurrentHashMap to prevent crashes in parallel automation mode
  • WiFi/Connectivity monitor state and CameraMicContextEvents callbacks marked @Volatile
  • AppOps watchers now properly unregistered on service destroy (was leaking)

Correctness fixes

  • HTTP response decoding no longer corrupts multi-byte UTF-8 characters at read boundaries
  • Brightness auto mode correctly sets SCREEN_BRIGHTNESS_MODE instead of writing -1
  • Screen timeout clamps to 30 min max to prevent integer overflow
  • Sunrise/sunset calculator uses event-time DST offset instead of noon (fixes 1-hour error on DST transition days)
  • Battery level and charging state seeded at service start so battery-based profiles match immediately
  • TTS action guards against double-resume crash from racing callbacks
  • Flow graph card handles missing profile node gracefully

Safety

  • Vibration capped at 10 seconds
  • Queued task depth per profile capped at 50 to prevent unbounded memory growth
  • Database backup uses TRUNCATE WAL checkpoint for safer consistency
  • Notification PendingIntent request codes use hash to prevent overflow

UX & design

  • Disabled element overlay fixed for light theme (was drawing black)
  • Warning color changed from green to warm amber/peach
  • Navigation icons have accessibility labels
  • Card radius consolidated into design system token (Radii.xxl)