feat(rust): a Rust server's next wipe (module-rust phase 16, M18) #52

Merged
whitlocktech merged 1 commits from feat/rust-phase-16-next-wipe into edge 2026-09-25 19:18:16 +00:00
Member

M18, built to android/PLAN.md and docs modules/rust/PLAN.md §32 (D130, D131).

  • RustServerDto.nextWipe: { at, source }? is null both when the operator set no schedule and against a module older than phase 16. Either way nothing is drawn.
  • The list row and the server header gain a line under the world line, in the phone's own zone. For example: Next wipe Sat 3 Oct, 12:00 PM · in 1 week (rescheduled). "(rescheduled)" appears only for a one-off date the operator set.
  • nextWipeWhen() in RustFormat.kt is pure, with tests for zones and for an absent instant. A DTO test covers present, null and absent.

Checks: testDebugUnitTest lintDebug assembleDebug green locally.

Walked on emulator s22_ultra against the phase-16 module: the list and the header match the API, /wipe and the web. Against the phase-15 module, which sends no field, neither shows a line and nothing breaks.

  • AI-assisted: Claude Code (Claude Opus 5.5)

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

M18, built to `android/PLAN.md` and docs `modules/rust/PLAN.md` §32 (D130, D131). - **`RustServerDto.nextWipe: { at, source }?`** is null both when the operator set no schedule and against a module older than phase 16. Either way nothing is drawn. - **The list row and the server header** gain a line under the world line, in the phone's own zone. For example: *Next wipe Sat 3 Oct, 12:00 PM · in 1 week (rescheduled)*. "(rescheduled)" appears only for a one-off date the operator set. - **`nextWipeWhen()` in `RustFormat.kt`** is pure, with tests for zones and for an absent instant. A DTO test covers present, null and absent. **Checks:** `testDebugUnitTest lintDebug assembleDebug` green locally. **Walked** on emulator `s22_ultra` against the phase-16 module: the list and the header match the API, `/wipe` and the web. Against the phase-15 module, which sends no field, neither shows a line and nothing breaks. - [x] AI-assisted: Claude Code (Claude Opus 5.5) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-09-25 18:43:44 +00:00
feat(rust): a Rust server's next wipe (module-rust phase 16, M18)
All checks were successful
PR Checks / android-build (pull_request) Successful in 9m28s
89c317f694
RustServerDto gains nextWipe { at, source }, null both when the operator
set no schedule and against a module older than phase 16. The server
list row and the server screen's header read "Next wipe Thu 1 Oct,
19:00 · in 6 days" in the phone's own zone, and "(rescheduled)" for a
one-off date the operator set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 341c13a98c into edge 2026-09-25 19:18:16 +00:00
whitlocktech deleted branch feat/rust-phase-16-next-wipe 2026-09-25 19:18:18 +00:00
Sign in to join this conversation.
No description provided.