style(chat): render markdown tables legibly - #14
Merged
Conversation
…n questions
Two unrelated bugs from the same screenshot.
1. Chat scrolled sideways past the panel separator.
.chat-messages and .chat-msg are flex columns with no min-width:0. A flex item
defaults to min-width:auto, so content sets the floor and any wide child — the
monospace reasoning trace, a code block, a long URL — stretches the column past
the panel and takes the whole conversation sideways. .chat-right already had
min-width:0, but that does not propagate; every flex container in the chain
needs its own.
Now: both containers get min-width:0, the scroller gets overflow-x:hidden, the
message body wraps unbroken tokens (overflow-wrap:anywhere), and pre/table get
max-width:100% + overflow-x:auto so they scroll INSIDE their own box instead of
widening the parent. Code blocks keep their formatting; they just no longer
drag the panel with them.
2. "Give me a 1-page overview of the history of the amiga" started a research
run, burned the search budget, hit the tool wall, and produced no answer.
The skill description said: ALWAYS use this skill when the user asks to
research, investigate, dig into, or get an overview of a topic. The model's own
trace quotes it — "the instruction is explicit that 'get an overview of a
topic' → use the skill" — and the existing caveat ("Not for simple lookups")
was buried after the ALWAYS and lost the argument.
Rewritten so the opt-out is as prominent as the opt-in: the skill is for
EXPLICIT research requests; overview/summarize/explain/tell-me-about are
ordinary knowledge requests to answer directly; a length hint like "1-page" is
a FORMAT, not a request to research; and a trivial/knowledge classifier tier is
a strong signal to answer directly rather than start a run. Applied to both the
live copy under ~/.familiar/skills and the repo builtin so they cannot drift.
The model emits ordinary pipe tables and they arrived completely unstyled: no header rule, no cell padding, no column gap — adjacent cells ran together, with "Rest of Europe / other" abutting "remainder" in the reported case. Adopts the .memory-table / .users-table idiom already used elsewhere in the app so a table looks the same wherever it appears: uppercase mono header with a rule under it, per-row hairlines, 16px right gutter between columns, no trailing gutter on the last column and no hairline under the last row. width:max-content keeps a narrow table narrow instead of stretching it across the panel, while display:block + overflow-x:auto (from the overflow fix in this branch) still lets a wide one scroll inside its own box rather than dragging the message column sideways.
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.
The model emits ordinary pipe tables and they arrived completely unstyled: no
header rule, no cell padding, no column gap — adjacent cells ran together, with
"Rest of Europe / other" abutting "remainder" in the reported case.
Adopts the .memory-table / .users-table idiom already used elsewhere in the app
so a table looks the same wherever it appears: uppercase mono header with a
rule under it, per-row hairlines, 16px right gutter between columns, no
trailing gutter on the last column and no hairline under the last row.
width:max-content keeps a narrow table narrow instead of stretching it across
the panel, while display:block + overflow-x:auto (from the overflow fix in this
branch) still lets a wide one scroll inside its own box rather than dragging
the message column sideways.
Opened automatically after the
tierscheck passed onceab32a5.The check is attached to this branch head, so this is mergeable now.