Commits
Marek Vsechovsky committed 08b8177f62d
Session 159, Step 2: Fix updateLinkSessionLabel caching: store null in cache for unlinked stories - AIM-3026 Fix updateLinkSessionLabel caching: store null in cache for unlinked stories - AIM-3027 Eliminate redundant /story-links API call on #wfNextStep2 - AIM-3028 Fix EF Core SessionId1/UserStoryId1 shadow column error in LinkStory - AIM-3018 Fix checkbox/label vertical alignment in workflow step 2 Outcome: Fixed4 issues: (1) Replaced direct api.get + fail handler with jQuery.Deferred pattern in `updateLinkSessionLabel` so the cache is always populated after fetch, even on404. Added dedup via `_fetchDfd` to prevent parallel fetches for the same story. (2) Added `_batchLoadStoryLinks()` that batch-loads session links for epic groups ≤10 stories on story list load, via new `POST /api/sessions/story-links/by-stories` endpoint. (3) Rewired `#wfNextStep2` to use the same deferred pattern instead of making a redundant API call. (4) Fixed EF Core `WithMany()` in `AismanContext.cs` to specify `p => p.SessionStoryLinks` inverse navigations, eliminating shadow columns `SessionId1`/`UserStoryId1`. (5) Removed `top: 2px`/`top: 4px` offset from custom checkbox in `_shared.scss` so `align-items: center` properly centers the checkbox with its label text.