You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Restyle /activity/ with the shared rows, a type filter and day links #277
Why./activity/ has interim styling with no filters and no day anchors. See _layouts/activity.html on #265's head: it has month ids only. The rail and the home strip link merged rows to a day on /activity/, so those anchors have to exist before they ship. The design is section 4 of the round-2 handoff (see the round 2 outcome).
Work.
Shared row includes, used here and later by the rail and the strip.
Month headings.
A type filter:
<button aria-pressed> in a labelled group, with a polite live region that starts empty;
a filter hides months and days left with no rows.
Day anchors,id="activity-YYYY-MM-DD", with scroll-padding-top so they land below the fixed header. On hashchange, reset the filter to All, then scrollIntoView().
"N changes" disclosures, not server-rendered hidden, so every PR link is reachable without JavaScript.
The shared foundation this is the first to need:
a js class set in <head> before first paint;
guard main.js's sessionStorage access (line 8 throws where site data is blocked, and stops everything after it);
Remove the interim styles: the .activity-* styles and the release and translation pills.
Acceptance criteria (handoff checks)
2: no horizontal scroll at 320px.
6: /activity/#activity-2026-08-02 lands on Aug 2 ("4 releases · same day") below the header, with the filter reset to All, including when another filter was active.
7: nothing moves when JavaScript loads, and with JavaScript off every row and PR link is reachable.
8: all text meets WCAG AA, and every control shows a focus ring.
10: 30 rows across 4 months (6/8/11/5). Translations shows 2 rows, both in August.
Ready to start on 2026-09-30.#276's view is on main (#285), and so is #284's data contract (#286); both are deployed. The view's contract is the header comment of _plugins/activity_generator.rb: read the view rather than regrouping entries in Liquid.
Day anchors are months[].days[].id (activity-2026-09-27). Group and editions rows already link to them: their url is the day on /activity/, such as /activity/#activity-2026-08-02.
Switch the interim layout to the view._layouts/activity.html still flattens the files in filename order. Rewrite its Liquid comment, README's sentence on how the page orders entries (line 29: "in file order within a day"), and the note that the page doesn't use the view yet (line 78).
Check the fixed numbers (30 rows, 6/8/11/5, Aug 2's "4 releases · same day") on a scratch build with _data/activity/ replaced by a copy of .github/scripts/fixtures/activity/.
Every string arrives unescaped. Escape each field in the template, and turn backtick spans into <code> after escaping.
There is no qe-badge--book style yet, so today's page would give a book entry an uncoloured badge. The restyle should cover book rows, whose type word is "Book update:" and filter key book.
A fifth filter, Books, with a book icon, is in the decisions above. Check that five buttons still fit on one line at every width.
CI.build now runs the limit on the reporter App's PRs (skipped on PRs a person opens), the data check against the PR's base, and two test suites before the Jekyll build: 38 tests for the data check and that limit, and 51 for the rows.
Activity
mmcky commentedon Sep 29, 2026
Decisions for the build (2026-09-29).
booktype (Harden the Activity data contract before automatic merges #284, Compute the Activity rows at build time, with tests #276). Check that the filter still fits on one line at every width.These defaults go in the PR description, for review on the preview.
activity: compute the Activity rows at build time, with tests (#285)
mmcky commentedon Sep 29, 2026
Ready to start on 2026-09-30. #276's view is on
main(#285), and so is #284's data contract (#286); both are deployed. The view's contract is the header comment of_plugins/activity_generator.rb: read the view rather than regrouping entries in Liquid.Notes from #285:
months[].days[].id(activity-2026-09-27). Group and editions rows already link to them: theirurlis the day on/activity/, such as/activity/#activity-2026-08-02._layouts/activity.htmlstill flattens the files in filename order. Rewrite its Liquid comment, README's sentence on how the page orders entries (line 29: "in file order within a day"), and the note that the page doesn't use the view yet (line 78)._data/activity/replaced by a copy of.github/scripts/fixtures/activity/.<code>after escaping.The
booktype (#286):qe-badge--bookstyle yet, so today's page would give a book entry an uncoloured badge. The restyle should cover book rows, whose type word is "Book update:" and filter keybook.CI.
buildnow runs the limit on the reporter App's PRs (skipped on PRs a person opens), the data check against the PR's base, and two test suites before the Jekyll build: 38 tests for the data check and that limit, and 51 for the rows.activity: restyle /activity/ with the shared rows, a type filter and …