fix(sprints): parallel list + ConfirmDialog + SDK #29 workaround #104
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_archipelagos!104
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/sprints_round1"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Round-1 hardening of the Sprints island, mirroring Tasks (#99) / Stories (#100). Fetch milestones in parallel, guard destructive delete behind a ConfirmDialog, and tolerate the SDK bool-vs-String deserialization bug so users don't see a scary
invalid type: booleanafter a successful delete.Related Issue
Closes #103
Changes
archipelagos/productivity/sprints/src/services/milestone_service.rslist: replace sequentialfor sid in sids { get(&sid).await }withfutures::future::join_allso all milestones fetch in paralleldelete: catch theinvalid type: booleanerror (hero_osis #29) and returnOk(())archipelagos/productivity/sprints/src/views/milestone_detail_view.rsConfirmDialog, addshow_delete_confirmsignalhandle_deletenow opens the dialog; the async delete runs fromon_confirmConfirmDialogat the top of the render treeTest Results
cargo check -p hero_archipelagos_sprints: passcargo fmt -p hero_archipelagos_sprints: passUI-only change; covered by manual verification below.
Manual verification
milestone.list+ concurrentmilestone.getcalls)invalid type: booleanerror surfaces in the UI