Close open milestones from the iPhone app #47

Closed
opened 2026-07-31 21:17:28 +00:00 by hugo · 1 comment
Owner

The iPhone app should be able to close a milestone. Check if the API has that available - I only know the „close“ button in the UI. If we can open/close freely, add a checkbox to the editor for milestones.

The iPhone app should be able to close a milestone. Check if the API has that available - I only know the „close“ button in the UI. If we can open/close freely, add a checkbox to the editor for milestones.
hugo added this to the first feature complete release milestone 2026-07-31 21:17:28 +00:00
hugo added the enhancement label 2026-07-31 21:17:28 +00:00
Author
Owner

Implemented in 047f0ab.

  • Added typed Gitea milestone state handling with explicit open/closed validation and serialization.
  • Added a native, accessible Closed switch to the milestone editor. Existing state loads into the editor, new milestones default open, and Save can close or reopen a milestone.
  • Kept the state mapping in Rust, regenerated the UniFFI Swift/C bindings, and updated TESTING.md with close, reopen, persistence, Cancel, Dynamic Type, and VoiceOver coverage.

Verification:

  • cargo fmt --all -- --check
  • RUSTFLAGS="-D warnings" cargo check --workspace --all-targets
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace (31 tests passed)
  • Signed iPhone 17 Pro Simulator build passed.
  • On the live milestone, closed it from the iPhone UI, confirmed the closed detail state, reopened it from the editor, and confirmed the server reports it open again.
  • Verified the editor and Cancel behavior at accessibility-extra-extra-extra-large; VoiceOver exposes the switch label and on/off value.
Implemented in `047f0ab`. - Added typed Gitea milestone state handling with explicit `open`/`closed` validation and serialization. - Added a native, accessible **Closed** switch to the milestone editor. Existing state loads into the editor, new milestones default open, and Save can close or reopen a milestone. - Kept the state mapping in Rust, regenerated the UniFFI Swift/C bindings, and updated `TESTING.md` with close, reopen, persistence, Cancel, Dynamic Type, and VoiceOver coverage. Verification: - `cargo fmt --all -- --check` - `RUSTFLAGS="-D warnings" cargo check --workspace --all-targets` - `cargo clippy --workspace --all-targets -- -D warnings` - `cargo test --workspace` (31 tests passed) - Signed iPhone 17 Pro Simulator build passed. - On the live milestone, closed it from the iPhone UI, confirmed the closed detail state, reopened it from the editor, and confirmed the server reports it open again. - Verified the editor and Cancel behavior at `accessibility-extra-extra-extra-large`; VoiceOver exposes the switch label and on/off value.
hugo closed this issue 2026-08-01 13:00:31 +00:00
Sign in to join this conversation.