Skip to content

codeSplitters: a visible branch switcher (Start a branch is only in ⌘K) #701

Closed as not planned

Description

@QuinnsCode

Split from #693, which #696 closed with the before → after git pictures but not this part. Owner, testing #491 (#609): "how do i branch it in the ui … some of this should just be real visible and easy like whatever git options you need".

Today Start a branch and Merge a branch exist only in the ⌘K palette (`apps/codesplitters/src/client.html`, the "This repo" commands), and editing on a branch means adding `?branch=` to the URL by hand (the toast says so).

🤖 Generated with Claude Code

Activity

  1. QuinnsCode commented on Oct 11, 2026

    @QuinnsCode
    OwnerAuthor

    Owner, after starting a branch from ⌘K in the desktop app (#609): "how do i visually tell I branched? … we should be very clear that we branched and are on the branch". Nothing on the page changes: the file view still shows main's lines, and nothing says a branch exists or which one you're on. Make it unmistakable: the switcher reads ⎇ cs-checks-test instead of main, a coloured bar across the file view says "On branch cs-checks-test · edits land here, not main · Merge · Back to main", and starting a branch drops you straight onto it. (The one place it's clear today is a Cut: its page says "A cut of owner/repo · " with Merge into main. Worth reusing that look.)

  2. QuinnsCode commented on Oct 11, 2026

    @QuinnsCode
    OwnerAuthor

    Owner (#609): "need to use the regex github does for naming branches so i dont fail on spaced out names".

    Today a new branch's name must pass NAME (apps/codesplitters/src/env.ts:119, /^(?=.{1,39}$)[a-z0-9]+(-[a-z0-9]+)*$/), which is the handle rule: lowercase, hyphens only, 39 characters. So cs checks test, Fix-Login, feature/login and v1.2 all fail with a bare "bad branch name". RustyBuns' own branches (codesplitters/city-presence-576) wouldn't pass either.

    Fix:

    • accept what git accepts (git check-ref-format --branch): slashes, dots, underscores, capitals, up to 255 bytes; refuse only the real git no-gos (spaces, .., ~^:?*[\, @{, a leading - or /, a trailing / or .lock or ., a bare @)
    • do what GitHub's new-branch box does: turn spaces into - as you type, and show the final name before you create it
    • a clear error that says which character is the problem
    • check that branches pulled from upstream (Open here) and pushed back keep their names
  3. self-assigned this
    on Oct 11, 2026
  4. QuinnsCode commented on Oct 11, 2026

    @QuinnsCode
    OwnerAuthor

    Folded into #735, which bundles it with related work for one agent. The details here still apply.

    🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions