Skip to content

Keep Browse identifiers on one line and widen title columns - #21

Merged
LukasWallrich merged 4 commits into
mainfrom
fix/browse-table-columns
Oct 9, 2026
Merged

LukasWallrich merged 4 commits into
mainfrom
fix/browse-table-columns

Conversation

@LukasWallrich

@LukasWallrich LukasWallrich commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

The desktop Browse table broke DOIs mid-token across several lines (overflow-wrap: anywhere in narrow 12% columns), while titles were squeezed into 20% columns. This replaces the Browse-table sizing from the closed #7. #7's approach would have widened the table to 1100 px and needed horizontal scrolling; this keeps the fixed layout so the table fits and stays stable while paging and sorting.

Changes

  • Titles wrap only between words, and the title columns widen to 22%. JavaScript already truncates titles at 50 characters.
  • DOI and report-link cells stay on one line with an ellipsis (14% each). The full value remains in the link, its tooltip, the expanded evidence row and the CSV export. The original DOI no longer gets a hard 25-character cut.
  • DataTables autoWidth is off, so the declared widths apply. Without this, DataTables sized columns to the unwrapped DOIs and the table overflowed to 1,411 px.
  • Headers no longer break mid-word ("Replicatio / n Report").

Measured at 1280 px (first 25 rows)

main this PR
Mean / max row height 96 / 119 px 85 / 94 px
Table width vs container 1069 / 1066 1066 / 1066
DOIs broken across lines yes none; shortened with ellipsis

Mobile cards are unaffected (the desktop table is hidden below 768 px).

Verification

Local Python tests pass. Before/after screenshots were checked. Browser suite left to CI.

Review follow-up (cubic)

  • Widths now sum to exactly 100%: details column 3%, titles 22% each, years 5% each, outcome 9%, type 8%, links 13% each.
  • Truncated links carry their own ellipsis with an inset focus outline, so the keyboard focus ring isn't clipped.
  • The expanded evidence row wraps full URLs/DOIs anywhere again.
  • At narrow desktop widths, the Type and outcome labels hyphenate (replica-tion, with -webkit-hyphens for older Safari); titles still wrap only between words.
  • Measured at 1280 and 1024 px, including after Use the FORRT --color-* tokens directly and set 14px body text #22's 14px text: the table matches its container width, the evidence row doesn't overflow, and the focus ring sits inside the cell. npm test 12/12 locally and in CI.

🤖 Generated with Claude Code


Summary by cubic

Fixes the desktop Browse table so DOIs no longer break across lines and titles get more room.

  • DOIs and report links stay on one line with an ellipsis; the full value remains in the link, its tooltip, the evidence row, and CSV export. The link carries its own ellipsis with an inset focus ring so it stays visible when tabbed to.
  • Title columns widen from 20% to 22% and wrap only between words; headers no longer break mid-word.
  • Column widths sum to exactly 100% and DataTables autoWidth is off, so the table fits its container. Type and outcome labels hyphenate at narrow widths; the evidence row wraps long URLs and DOIs anywhere.

At 1280px, mean row height drops from 96 to 85px and the table no longer overflows. Mobile cards are unaffected.

Written for commit 892c179. Summary will update on new commits.

View guided diff Turn on auto-fix

Summary by CodeRabbit

  • Style
    • Report links now display without the www. or protocol prefix while retaining the full address for reference. Original-study DOIs display in full.
    • Browse-table columns use percentage-based widths. Cell text wraps more naturally, while link cells remain on one line and truncate long links with an ellipsis.
    • Expanded evidence rows can wrap long URLs and DOIs, and table headers avoid forced wrapping.

The desktop Browse table broke DOIs mid-token across several lines
(overflow-wrap: anywhere in narrow 12% columns), while titles were
squeezed into 20% columns.

- Titles wrap only between words; title columns widen to 22%.
- DOI and report-link cells stay on one line with an ellipsis; the full
  value remains in the link, its tooltip, the evidence row and the CSV.
- DataTables autoWidth is off so the declared widths apply and the table
  fits its container; headers no longer break mid-word.

At 1280px: mean row height 96 -> 85px; no table overflow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 32cf1e5b-d1c9-4a8e-9ccf-fc3fba46df8d

📥 Commits

Reviewing files that changed from the base of the PR and between 0cc1d23 and 800fae1.


📒 Files selected for processing (2)
  • assets/app.js
  • assets/styles.css

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.



📝 Walkthrough

Walkthrough

The browse table now displays valid report URLs without their protocol and optional www. prefix, and shows the full DOI for original studies. DataTable column sizing and cell styles have also changed.

Changes

Browse Table Link and Layout Updates

Layer / File(s) Summary
Browse table display and layout
assets/app.js, assets/styles.css
Report URLs display without their protocol and optional www. prefix, with the full URL as the link title. Original-study DOIs display in full. DataTable column widths and sizing settings have changed. Cell styles now control wrapping, hyphenation, and link overflow. Expanded evidence rows can wrap long URLs and DOIs.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: lukasroeseler


Merge Risk: ⚪ Minimal · up to 800fa

The changes aim to improve desktop table readability while keeping full link values accessible. No actionable merge-blocking risk is established; the PR appears ready after normal checks.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 1 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check Passed Issue #7 is closed and supplies historical context only. No active directly linked issue remains, so this pull request has no linked-issue coding requirements. The Browse-table changes match the curre…
Out of Scope Changes check Passed The changes in assets/app.js and assets/styles.css support the stated Browse-table objective. They control column sizing, text wrapping, ellipsis behavior, focus visibility, and preservation of fu…
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title accurately summarizes the main changes: keeping Browse identifiers on one line and widening title columns.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 1 files. (1 skipped: 1 unsupported.)



  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR

🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 2 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="assets/styles.css">

<violation number="1" location="assets/styles.css:418">
P2: Replacing `overflow-wrap: anywhere` with `break-word` removes the intrinsic (min-content) size reduction for long unbreakable values. The expanded evidence row lives inside `#flora-table td`, and its `.detail-grid` uses `minmax(300px, 1fr)`, so a long full report URL/DOI can force the card wider than the fixed-layout cell at narrow desktop widths and overflow the table. Keep `anywhere` for `td` (the nowrap link-cells are unaffected by it).</violation>

<violation number="2" location="assets/styles.css:420">
P3: `overflow: hidden` on the DOI/report cells clips the focus outline of truncated links at the right cell edge, so keyboard navigators see a sliced focus ring. Add a focus-visible style rendered inside the cell (inset box-shadow) so the indicator stays visible despite the clipping.</violation>
</file>

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread assets/styles.css
.browse-desktop #flora-table td, .browse-desktop #flora-table th { word-wrap: break-word; overflow-wrap: anywhere; }
/* Text wraps between words; identifiers stay on one line and are shortened
with an ellipsis (full value in the link, its tooltip and the evidence row). */
.browse-desktop #flora-table td, .browse-desktop #flora-table th { overflow-wrap: break-word; }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Replacing overflow-wrap: anywhere with break-word removes the intrinsic (min-content) size reduction for long unbreakable values. The expanded evidence row lives inside #flora-table td, and its .detail-grid uses minmax(300px, 1fr), so a long full report URL/DOI can force the card wider than the fixed-layout cell at narrow desktop widths and overflow the table. Keep anywhere for td (the nowrap link-cells are unaffected by it).

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At assets/styles.css, line 418:

<comment>Replacing `overflow-wrap: anywhere` with `break-word` removes the intrinsic (min-content) size reduction for long unbreakable values. The expanded evidence row lives inside `#flora-table td`, and its `.detail-grid` uses `minmax(300px, 1fr)`, so a long full report URL/DOI can force the card wider than the fixed-layout cell at narrow desktop widths and overflow the table. Keep `anywhere` for `td` (the nowrap link-cells are unaffected by it).</comment>

<file context>
@@ -413,7 +413,11 @@ tr.shown td.details-control .study-details::before { transform: rotate(90deg); }
-.browse-desktop #flora-table td, .browse-desktop #flora-table th { word-wrap: break-word; overflow-wrap: anywhere; }
+/* Text wraps between words; identifiers stay on one line and are shortened
+   with an ellipsis (full value in the link, its tooltip and the evidence row). */
+.browse-desktop #flora-table td, .browse-desktop #flora-table th { overflow-wrap: break-word; }
+.browse-desktop #flora-table th { overflow-wrap: normal; }
+.browse-desktop #flora-table td.link-cell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
</file context>
Suggested change
.browse-desktop #flora-table td, .browse-desktop #flora-table th { overflow-wrap: break-word; }
.browse-desktop #flora-table td, .browse-desktop #flora-table th { overflow-wrap: anywhere; }

Comment thread assets/app.js Outdated
Comment thread assets/styles.css
with an ellipsis (full value in the link, its tooltip and the evidence row). */
.browse-desktop #flora-table td, .browse-desktop #flora-table th { overflow-wrap: break-word; }
.browse-desktop #flora-table th { overflow-wrap: normal; }
.browse-desktop #flora-table td.link-cell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: overflow: hidden on the DOI/report cells clips the focus outline of truncated links at the right cell edge, so keyboard navigators see a sliced focus ring. Add a focus-visible style rendered inside the cell (inset box-shadow) so the indicator stays visible despite the clipping.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At assets/styles.css, line 420:

<comment>`overflow: hidden` on the DOI/report cells clips the focus outline of truncated links at the right cell edge, so keyboard navigators see a sliced focus ring. Add a focus-visible style rendered inside the cell (inset box-shadow) so the indicator stays visible despite the clipping.</comment>

<file context>
@@ -413,7 +413,11 @@ tr.shown td.details-control .study-details::before { transform: rotate(90deg); }
+   with an ellipsis (full value in the link, its tooltip and the evidence row). */
+.browse-desktop #flora-table td, .browse-desktop #flora-table th { overflow-wrap: break-word; }
+.browse-desktop #flora-table th { overflow-wrap: normal; }
+.browse-desktop #flora-table td.link-cell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
 .browse-desktop #flora-table .badge { display: inline-block; max-width: 100%; white-space: normal; word-break: break-word; text-align: left; line-height: 1.3; }
 .browse-mobile { display: none; }
</file context>
Suggested change
.browse-desktop #flora-table td.link-cell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.browse-desktop #flora-table td.link-cell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.browse-desktop #flora-table td.link-cell a:focus-visible { box-shadow: inset 0 0 0 2px var(--flora-focus, var(--flora-primary)); outline: none; }

Addresses the cubic review of this PR:
- Column widths now sum to exactly 100% (details column 3%, link columns
  13%), so the fixed layout cannot exceed its container.
- The link inside each ellipsis cell carries its own ellipsis and an
  inset focus outline, so the keyboard focus ring is not clipped.
- The expanded evidence row wraps full URLs/DOIs anywhere again, so long
  identifiers cannot push it wider than the cell.
- At narrow desktop widths the Type and outcome labels hyphenate
  (replica-tion) instead of breaking mid-syllable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 2 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread assets/styles.css Outdated
LukasWallrich and others added 2 commits October 9, 2026 13:29
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@LukasWallrich
LukasWallrich merged commit bcd3250 into main Oct 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant