Close and reopen issues on the iPhone #48

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

The iPhone app should be able to open and close issues. Add a checkbox to the issue editor to allow that.

Issues also should be able to be closed and opened from the list view with a swipe gesture that reveals a open/close button (depending on state) and a delete button. Full sweep will activate the open/close action, as that is the most common one we want. Delete requires confirmation, as that is a rare and destructive action.

The iPhone app should be able to open and close issues. Add a checkbox to the issue editor to allow that. Issues also should be able to be closed and opened from the list view with a swipe gesture that reveals a open/close button (depending on state) and a delete button. Full sweep will activate the open/close action, as that is the most common one we want. Delete requires confirmation, as that is a rare and destructive action.
hugo added this to the first feature complete release milestone 2026-07-31 21:18:45 +00:00
hugo added the enhancement label 2026-07-31 21:18:45 +00:00
hugo closed this issue 2026-08-01 13:45:48 +00:00
hugo reopened this issue 2026-08-01 13:45:50 +00:00
Author
Owner

Implemented in 5a48456.

  • Added issue open/closed state to the typed Gitea draft for both create and edit, with view-ready Rust state for the iOS editor.
  • Added a native, accessible Closed switch to the issue editor; new issues default open and existing issues load their current state.
  • Added trailing issue-list swipe actions with Open/Close first and Delete second. Full swipe performs Open/Close, while Delete always presents a destructive confirmation with Cancel.
  • Kept state/delete networking in gotcha_gitea, exposed narrow app operations, regenerated UniFFI Swift/C bindings, tied mutation tasks to controller lifetime, and updated TESTING.md.

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.
  • Live close/reopen round-trip on #48 passed through the shared typed Gitea state operation and restored the issue open.
  • UniFFI output matches regenerated bindings semantically.
  • UIKit compilation verifies the Closed switch, dynamic Open/Close label/icon selection, first-action full swipe, and destructive confirmation flow. Direct gesture replay was unavailable because the Mac session was locked.
Implemented in `5a48456`. - Added issue open/closed state to the typed Gitea draft for both create and edit, with view-ready Rust state for the iOS editor. - Added a native, accessible **Closed** switch to the issue editor; new issues default open and existing issues load their current state. - Added trailing issue-list swipe actions with Open/Close first and Delete second. Full swipe performs Open/Close, while Delete always presents a destructive confirmation with Cancel. - Kept state/delete networking in `gotcha_gitea`, exposed narrow app operations, regenerated UniFFI Swift/C bindings, tied mutation tasks to controller lifetime, and updated `TESTING.md`. 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. - Live close/reopen round-trip on #48 passed through the shared typed Gitea state operation and restored the issue open. - UniFFI output matches regenerated bindings semantically. - UIKit compilation verifies the Closed switch, dynamic Open/Close label/icon selection, first-action full swipe, and destructive confirmation flow. Direct gesture replay was unavailable because the Mac session was locked.
hugo closed this issue 2026-08-01 13:48:59 +00:00
Sign in to join this conversation.