Business/CRM island: list views are N+1, dates silently fall back to 1970, delete has no shared confirm #109

Open
opened 2026-04-21 15:23:58 +00:00 by zaelgohary · 0 comments
Member

Bugs

  • Every list view (persons, companies, contacts, opportunities) is N+1. The service calls *_list_sids then loops get(sid).await sequentially. At 500 records that's 500 blocking round-trips on mount.
  • Invalid dates silently become epoch. close_date().parse::<i64>().unwrap_or(0) in the deals form saves the deal with 1970-01-01 on any bad input. Same class as the messaging timestamp bug (#53).
  • Deal form doesn't require a name. Submit is gated only on saving(); an empty Name reaches the backend.
  • Delete uses a hand-rolled confirm instead of the shared ConfirmDialog component (Projects/Tasks/Stories/Sprints all use the shared one).
  • Contacts' follow-up-date field silently drops invalid input with no UI hint.

Lower priority

Tags input on contacts doesn't dedupe or trim — foo, foo, , bar saves verbatim.

### Bugs - **Every list view (persons, companies, contacts, opportunities) is N+1.** The service calls `*_list_sids` then loops `get(sid).await` sequentially. At 500 records that's 500 blocking round-trips on mount. - **Invalid dates silently become epoch.** `close_date().parse::<i64>().unwrap_or(0)` in the deals form saves the deal with `1970-01-01` on any bad input. Same class as the messaging timestamp bug (#53). - **Deal form doesn't require a name.** Submit is gated only on `saving()`; an empty Name reaches the backend. - **Delete uses a hand-rolled confirm** instead of the shared `ConfirmDialog` component (Projects/Tasks/Stories/Sprints all use the shared one). - Contacts' follow-up-date field silently drops invalid input with no UI hint. ### Lower priority Tags input on contacts doesn't dedupe or trim — `foo, foo, , bar` saves verbatim.
Sign in to join this conversation.
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#109
No description provided.