Skip to content

Setup dialog is not resizable, truncating project names/paths #12056

Description

@pq-eberhardt

When choosing projects to import in the setup dialog, the dialog cannot be resized. This causes project names and paths to be truncated, making it hard to identify the correct project.

Suggested fix: Allow the dialog to be resized, at least horizontally (width), so long names/paths can be read in full.

Activity

  1. juliusmarminge commented on Sep 16, 2026

    @juliusmarminge
    Member

    Triage

    Confirmed on current main (b900fc94e) and shipping 0.0.42. This is a real web/desktop onboarding UX bug, not a wash of #10493 / #10832 / #11443. The Choose your projects step lives in a fixed max-w-xl wizard with no resize handle, and the import rows ellipsize names and paths. Mobile has no import step (#10493).

    /welcome is the setup dialog (WelcomeWizard inside Dialog + WizardPopup). Visiting /welcome reopens it after first run. “Choosing projects to import” is ImportStep, title Choose your projects.

    What the code does

    WizardPopup is locked to max-w-xl overflow-x-hidden overflow-y-auto and strips className / style on purpose (#10832: “layout components do not expose styling overrides”). DialogPopup also defaults to max-w-lg; the wizard wins at 36rem (~576px). There is no dialog resize anywhere. useResizeDrag is for sidebars / browser panes only.

    Import rows then truncate the label and the path. ImportRowMeta is a shrink-0 four-column grid (source icons + thread count + age, ~7.5rem). After panel padding, checkbox, and that meta strip, the text lane is ~350px.

    truncate is end-ellipsis. That is the identification hole for clones of one remote: group label is owner/name (#10493), nested rows are the full path, and sibling checkouts that share a prefix (…/t3code vs …/t3code-worktree) lose the suffix. Other folders use the path as the only label. Unique repos still show owner/name, so they usually read; the reporter’s “names and paths” matches long titles, path-as-name rows, and the secondary path on a single-clone row.

    The same wizard’s Connect step already wraps (break-words / break-all on machine label and URL). Import is the step that chose ellipsis.

    Hover tooltip is the designed escape hatch (max-w-96 + break-all shows the full path). It does not help scan-compare a long list.

    Still true after #10493 (grouping + truncate + tooltip) and #10832 (shared compact wizard). No later PR adds resize or start-ellipsis. No open PR claims this.

    Related, not duplicates

    Work What it did Why this still happens
    Merged #10832 Shared WizardPopup at max-w-xl; no style overrides Width and overflow are the lock. SnapShot / Add provider / Connect / Git actions inherit the same box.
    Merged #10493 Group by remote, owner/name, Other folders, hover path tooltip Tooltip is hover-only. Nested clone paths and Other folders still end-ellipsis.
    Open #11446 / open #11443 Stop long commands from stretching Add Action Opposite failure. Do not drop overflow-x-hidden on WizardPopup.
    Merged #5362 / #10465 First-run wizard; multi-computer import Neither made the picker grow.
    Open #10631 Import individual Claude sessions Different picker.

    Suggested fix

    Keep this a small onboarding-picker readability bugfix. Do not invent a resize system for every setup wizard.

    1. Make clone paths distinguishable at max-w-xl. Nested / Other-folder rows should show the basename (or start-ellipsis the path) so …/t3code and …/t3code-worktree differ without hover. Unique-repo rows can keep owner/name as the primary label.
    2. Optional width, not a className hole. If the list still feels cramped, add an explicit WizardPopup size (wide → max-w-2xl / max-w-3xl) and use it on Welcome import only. refactor(web): consolidate setup wizards into shared components #10832 omitted className on purpose.
    3. Do not add drag-resize to WizardPopup (or reuse useResizeDrag) for this. That is new chrome on SnapShot, Add provider, Connect, Git actions, and ChatView. Resize is a last resort on Welcome only: min max-w-xl, max min(90vw, 56rem), not persisted.
    4. Keep overflow-x-hidden and the hover tooltip. Do not wrap every path onto four lines.
    5. Tests: two long sibling paths that share a prefix; the visible label still distinguishes them. owner/name rows stay one line.
    6. Visual: /welcome → Projects → two clones of one repo; both readable without hover. Connect / Agents / SnapShot stay max-w-xl unless you took the wide prop.

    Do not treat “keep every wizard mounted wider” or a global resizable dialog primitive as the fix.

    Workaround

    Hover the truncated name/path. The tooltip shows the full path, wrapped. Re-open setup at /welcome. No in-app width control.

    Classification: bug · accepted · minor (web/desktop onboarding import; fixed max-w-xl wizard end-ellipsizes the only field that distinguishes clones)
    Labels: add bug, accepted, via-triage
    Discord tags: ui

  2. added
    bugSomething is broken or behaving incorrectly.
    acceptedfeature request accepted
    via-triageFiled through npx t3 triage
    on Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedfeature request acceptedbugSomething is broken or behaving incorrectly.via-triageFiled through npx t3 triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions