X6 File and visual rendering, plus git panel polish

Open
#409 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
electron, typescript
Domain
desktop, frontend

Research direction

This issue groups 12 UI changes across chat and file viewers, the Git panel, and tool row labels; it names no implementation files or tests. Start by reading the experience rework (#399) and related issues #400 and #402 to find the current ownership and scope. Done means resolving the remaining listed items and verifying the linked fixes and release follow-ups; several items are already assigned to other work.

Written by the indexing model from the issue text.

Description

Found in hands-on testing of 0.3.11 (12 Oct). Part of the experience rework (#399); target claude/experience-integration.

P0: invisible streamed text
When the window is inactive, the global animation pause freezes .md-fade (md-fade-in) and screen-fade-in at opacity 0. A reply that streams while Muster is visible but unfocused is blank until the window is focused. Rule: pausing may only stop loops, never hold content at its start state. (This is being fixed inside X1, #400, with a regression test.)

Files in chat and file viewer

  1. File links in replies that point outside the chat's folders open a read-only modal that shows a PDF as raw source, an .xlsx as 'binary file', and Markdown and .mmd as plain source. Use the same rich viewers as the side file tab (PDF, sheets, docs, rendered Markdown, Mermaid, sandboxed HTML), read-only.
  2. Opening a second file modal stacks it on top of the first; Escape closes only one. Use one viewer, which replaces its content or opens a tab.
  3. The DOCX preview shows a blank white page for a second or more with no loading state, then renders. Add a skeleton or spinner.
  4. DOCX tables are flattened into stacked text, and the default font is very small. Render real tables and readable body text.
  5. Add a 'Viewed N images' thumbnail (fixed on main in #377 and #379; verify again after the release).
  6. File references in replies become chips with the file-type icon and line, opening the file at that line (with X1).
  7. Render .mmd files and mermaid fences in the file viewer, not only in chat (with the visuals work).

Git panel
8. The summary card shows 'Changes: Unavailable' while the git tab shows 169 changed files (+31,529 −62) for the same folder. Use one source of truth.
9. The summary card is hidden by default behind 'Show summary'. Show it compactly by default (see X3, #402).
10. Git tab: 'Compare against Last commit' overlaps '0 files'; the tab title is truncated; there's a horizontal scrollbar; the '↑15' counter is clipped.
11. Primary git actions (commit, push, PR) must always confirm, or show a menu first, and must never run as a side effect of opening a panel.

Tool row labels
12. Multi-line shell scripts (heredocs) are shown in full as the tool row label. Label commands by their first meaningful command plus '…', with the full script in the expanded detail (with X1).

Dominant language
TypeScript
Stars
3
Forks
0
Avg merge
17h 33m
Merged PRs (30d)
163

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from musterhq/muster-code

All issues in musterhq/muster-code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.