fix(kanban): parallel list fetches #106

Merged
zaelgohary merged 1 commit from fix/kanban_round1 into development 2026-04-22 05:27:04 +00:00
Member

Summary

Round-1 hardening of the Kanban island. list_projects and list_all_tasks did a sequential get(sid).await per entry; replaced with futures::future::join_all so the board renders in one round-trip of concurrent fetches.

Closes #105

Changes

  • archipelagos/productivity/kanban/src/services/kanban_service.rs
    • list_projects: loop → join_all
    • list_all_tasks: loop → join_all (this one feeds per-column counts, so it was on every board mount)

Test Results

  • cargo check -p hero_archipelagos_kanban: pass
  • cargo fmt -p hero_archipelagos_kanban: pass

Behavior-preserving perf fix; covered by manual verification below.

Manual verification

  • Board with 10+ projects/tasks — devtools shows concurrent project.get / task.get fan-out instead of serial chain
  • Drag-drop between swimlanes still works
  • Empty board (no projects/tasks) still renders cleanly
## Summary Round-1 hardening of the Kanban island. `list_projects` and `list_all_tasks` did a sequential `get(sid).await` per entry; replaced with `futures::future::join_all` so the board renders in one round-trip of concurrent fetches. ## Related Issue Closes https://forge.ourworld.tf/lhumina_code/hero_archipelagos/issues/105 ## Changes - `archipelagos/productivity/kanban/src/services/kanban_service.rs` - `list_projects`: loop → `join_all` - `list_all_tasks`: loop → `join_all` (this one feeds per-column counts, so it was on every board mount) ## Test Results - `cargo check -p hero_archipelagos_kanban`: pass - `cargo fmt -p hero_archipelagos_kanban`: pass Behavior-preserving perf fix; covered by manual verification below. ## Manual verification - [ ] Board with 10+ projects/tasks — devtools shows concurrent `project.get` / `task.get` fan-out instead of serial chain - [ ] Drag-drop between swimlanes still works - [ ] Empty board (no projects/tasks) still renders cleanly
fix(kanban): parallel list_projects + list_all_tasks (#105)
All checks were successful
Build and Test / build (pull_request) Successful in 5m15s
d576b20403
Replace sequential get-per-sid loops with futures::future::join_all so
the board loads in one round-trip of concurrent fetches instead of N+1
sequential calls.
zaelgohary merged commit b9abbb4b30 into development 2026-04-22 05:27:04 +00:00
zaelgohary deleted branch fix/kanban_round1 2026-04-22 05:27:04 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_archipelagos!106
No description provided.