{"id":"6a26dd71ddc38a01aa372042","title":"2026 06 08 Issue 283","path":"how-to/committee/release-notes/2026-06-08-issue-283","contentMarkdown":"# 08-Jun-2026 — show \"Our next walk\" pill on the soonest walk [ref #283](https://github.com/nbarrett/ngx-ramblers/issues/283)\n\n## [build 671](https://github.com/nbarrett/ngx-ramblers/actions/runs/27146990563) — [commit ac7a071](https://github.com/nbarrett/ngx-ramblers/commit/ac7a0711a19a0f5942b46c180734da3856d684a0)\n\n_____\n\nThe backend fetch that determined the next walk (refreshNextWalkId) was\nnever called, so nextWalkId stayed undefined and the match condition fell\nthrough to walk.groupEvent?.id === undefined, which is true for any walk\nwith a missing groupEvent.id. The pill therefore attached to an arbitrary\nwalk instead of the chronologically next one.\n\nReplace the ID round-trip with date-based logic: the backend reports when\nthe next walk is and each card shows the pill only when its own start date\nmatches.\n\n- nextWalkId controller -> nextWalkStartDate: earliest upcoming GROUP_WALK\n(from start of today, so a walk later today still counts) returns its\nstart_date_time.\n- Route /next-walk-id -> /next-walk-start-date.\n- Query service fetchNextWalkId -> fetchNextWalkStartDate.\n- isNextWalk compares asValueNoTime(start_date_time) === nextWalkStartDate\nonly; no ID matching or completeness check.\n- The fetch is now wired up, firing when the group config loads.","contentHtml":"<h1>08-Jun-2026 — show &quot;Our next walk&quot; pill on the soonest walk <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/283\">ref #283</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/27146990563\">build 671</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/ac7a0711a19a0f5942b46c180734da3856d684a0\">commit ac7a071</a></h2>\n<hr>\n<p>The backend fetch that determined the next walk (refreshNextWalkId) was\nnever called, so nextWalkId stayed undefined and the match condition fell\nthrough to walk.groupEvent?.id === undefined, which is true for any walk\nwith a missing groupEvent.id. The pill therefore attached to an arbitrary\nwalk instead of the chronologically next one.</p>\n<p>Replace the ID round-trip with date-based logic: the backend reports when\nthe next walk is and each card shows the pill only when its own start date\nmatches.</p>\n<ul>\n<li>nextWalkId controller -&gt; nextWalkStartDate: earliest upcoming GROUP_WALK\n(from start of today, so a walk later today still counts) returns its\nstart_date_time.</li>\n<li>Route /next-walk-id -&gt; /next-walk-start-date.</li>\n<li>Query service fetchNextWalkId -&gt; fetchNextWalkStartDate.</li>\n<li>isNextWalk compares asValueNoTime(start_date_time) === nextWalkStartDate\nonly; no ID matching or completeness check.</li>\n<li>The fetch is now wired up, firing when the group config loads.</li>\n</ul>\n"}