# 2026-02-07 (Saturday)

## Cron Bug Fix 🐛
- **Root cause**: `recomputeNextRuns()` in `/app/src/cron/service/store.ts` (line ~409 in ensureLoaded) recomputes `nextRunAtMs` for ALL jobs before `runDueJobs()` runs. For recurring schedules (cron/every), `computeNextRunAtMs()` always returns the NEXT occurrence after `now`, advancing the schedule past the current time. `runDueJobs()` then finds no due jobs.
- One-shot `at` jobs were unaffected because `computeJobNextRunAtMs` returns the original timestamp for them.
- **Fix**: Patched `/app/dist/gateway-cli-D6nsc3s0.js` — in `recomputeNextRuns`, added check to skip recomputing if `nextRunAtMs <= now` (job is due, let it execute first).
- **Impact**: All 8 news cron jobs (Der Standard + AI News × 4 times/day) had NEVER fired since creation on Feb 6.
- Hard-killed gateway (PID 2) to force container restart and load patched JS bundle.
- Verified: recurring `every` job fired correctly after patch. Real news jobs scheduled for 14:00 Vienna.
- **TODO**: File upstream bug report on OpenClaw GitHub (issue in `recomputeNextRuns` race condition).

## GPD Win 4 Optimization
- User working on improving performance/watt on GPD Win 4 2025 (HX 370, Bazzite 43, FSR 4 enabled)
- Discussed: TDP tuning (15-20W sweet spot), core parking via PowerTools Decky plugin, resolution/FSR upscaling, fan curves, frame limiting
- Core parking: disable SMT, reduce threads to 4 for GPU-bound games
- BIOS: UMA frame buffer option not available on HX 370 model (others report same)
- Recommended removing ReShade since FSR 4 handles upscaling
- ProtonGE: update every 2-4 weeks or when a game has issues

## Android → Snapcast Streaming (Reference)
- No native AirPlay-like solution for Android → Snapcast
- **Best option:** DLNA/UPnP — gmrender-resurrect piped into Snapcast server + BubbleUPnP app on phone
- **Alternatives:** Bluetooth A2DP sink (range limited), TCP source (no good Android app yet), AirPlay via Android app (hacky)
- User interested but not urgent — revisit when asked

## Calendar
- Marie besuchen 13:00-17:00 (reminder sent at 11:30 Vienna)
