FR-PLAT-AND-4 — Foreground service, and wire the sweep to the queue #27

Open
opened 2026-09-05 16:20:14 +00:00 by dtourolle · 0 comments
Owner

FR-PLAT-AND-4 — background execution. Half built.

What is done

core/dr-catalog/src/runner.rs — the queue jobs.rs always had is now claimed from, completed, failed and recovered after a crash. That is FR-PLAT-AND-3's resumability as much as this requirement's.

What is missing — the platform half

  • A foreground Service.
  • FOREGROUND_SERVICE and POST_NOTIFICATIONS in the manifest.
  • A stated Doze behaviour.

The build step that used to block this is no longer a blocker: the APK compiles its own Java now.

And the part that is deliberately absent

No handler is registered, on purpose. The only enqueue site reachable in the shipping app produces remote thumbnail jobs already served by the async grid worker, and walk::scan_root — which holds the other two enqueue sites — has no caller outside an example.

Wiring the sweep to claim from the queue is the honest next step, and it is an async rewrite of library.rs. That is the real cost of this ticket and it should not be discovered halfway through.

  • Wire the sweep to the queue, or record a decision that the queue serves only remote work.

See docs/outstanding.md §5.

**FR-PLAT-AND-4 — background execution.** Half built. ## What is done `core/dr-catalog/src/runner.rs` — the queue `jobs.rs` always had is now claimed from, completed, failed and recovered after a crash. That is FR-PLAT-AND-3's resumability as much as this requirement's. ## What is missing — the platform half - [ ] A foreground `Service`. - [ ] `FOREGROUND_SERVICE` and `POST_NOTIFICATIONS` in the manifest. - [ ] A stated Doze behaviour. The build step that used to block this is no longer a blocker: the APK compiles its own Java now. ## And the part that is deliberately absent **No handler is registered**, on purpose. The only enqueue site reachable in the shipping app produces remote thumbnail jobs already served by the async grid worker, and `walk::scan_root` — which holds the other two enqueue sites — has no caller outside an example. Wiring the sweep to claim from the queue is the honest next step, **and it is an async rewrite of `library.rs`**. That is the real cost of this ticket and it should not be discovered halfway through. - [ ] Wire the sweep to the queue, or record a decision that the queue serves only remote work. See `docs/outstanding.md` §5.
dtourolle added the catalogunmet-requirementsize:Mandroid labels 2026-09-05 16:20:14 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dtourolle/DarkRoom#27