Contract schedule data comes from two sources — config path and dynamic path conflict #52
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Type
Bug
Lineage
Standalone — discovered during contract schedule investigation 2026-04-12.
Repo
forgejo_admin/westside-contractsWhat Broke
Contract pages have two independent sources for practice schedule data:
teams.contract_configJSONB →data.config.practices(config-driven path, PRs #44-#48)practice_schedulestable →data.practices(dynamic query, PR #50-#51)When a team has
contract_config, the config path rendersconfig.practicesand the dynamicpracticesarray is ignored. Whenconfig.practicesis empty, the section heading renders with no content and no fallback message. The fee description also derives practice count fromconfig.practices.length, showing "0 practices" when the array is empty.It is unclear which source is authoritative for each team. Some teams have data in both places. Some have data in only one. The two sources can disagree.
Repro Steps
contract_configsetconfig.practices, notpractice_schedulestablecontract_configpractice_schedulestable (fallback path)Expected Behavior
One authoritative source for practice schedule data, consistently used across all contracts.
Environment
basketball(shared with basketball-api)Acceptance Criteria
Related
westside-basketball— project this affectsstory:WS-S28— parent sees correct practice schedule