fix: website bugs - #152
Merged
Merged
Conversation
I spawned a couple of subagents to find bugs in the website. It fixed the following (smallish) bugs: - Clicking a copy button resized it and shifted its neighbours; the BibTeX one had no confirmation style at all - The last terminal line on the landing page was accent blue for no good reason - The landing page hid the theme switcher and social links on phones (no sidebar drawer to house them) - Broken code fences in the FAQ swallowed the glibc note and the whole "Why ROS and Conda?" section - The custom fonts never reached the docs pages (`--sl-font` was never set) - The sidebar "Packages" entry lost its highlight on 7 of 8 distro pages - The copy button overlapped clipped text in the long Contributing code blocks - Small fixes: conda page title casing, Discord link phrasing ### Package table bugs As expected, it found the most bugs in the TS code for the package table: - Switching the mutex reset the search box, sort select and keyboard focus - A filter could survive a mutex switch with its chip gone, silently showing "No matches" - Scrolling rebuilt every row, killing hover state and text selection - rosdistro repo URLs went into `href` unescaped - The fetch-error fallback linked to a wrong channel URL for foxy and galactic - The table was invisible to screen readers as a matrix: no `scope="col"`, no text on the availability marks, no row count - The `ros-<distro>-` prefix failed WCAG AA contrast and ellipsized the actual package name on phones It suggested to use Svelte instead of plain TS code. After asking why Svelte instead of plain TS or React, that's what it said: - Plain TS: every control rebuild had to carry state, focus and escaping by hand, which is exactly where the bugs above came from. Declarative rendering removes that bug class instead of patching each instance - React: No VDOM and fine-grained updates suit a scroll-windowed table; keyed rows are patched, not rebuilt - Compiled output with Svelte is ~10-15 KB gzipped vs ~40+ KB for React - Single-file components with scoped styles match how the `.astro` components are already written, and the compiler emits a11y warnings at build time
Hofer-Julian
marked this pull request as ready for review
August 10, 2026 12:15
traversaro
approved these changes
Aug 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I spawned a couple of subagents to find bugs in the website.
It fixed the following (smallish) bugs:
--sl-fontwas never set)Package table bugs
As expected, it found the most bugs in the TS code for the package table:
hrefunescapedscope="col", no text on the availability marks, no row countros-<distro>-prefix failed WCAG AA contrast and ellipsized the actual package name on phonesIt suggested to use Svelte instead of plain TS code. After asking why Svelte instead of plain TS or React, that's what it said:
.astrocomponents are already written, and the compiler emits a11y warnings at build time