Skip to content

fix: say what Open folder and Clone from URL did with what you typed - #646

Merged
iamnbutler merged 4 commits into
mainfrom
fix-add-project
Oct 22, 2026
Merged

iamnbutler merged 4 commits into
mainfrom
fix-add-project

Conversation

@iamnbutler

Copy link
Copy Markdown
Contributor

Open folder and Clone from URL now say when they change what you typed or drop it. They also clear errors once you change a field, and long paths stay inside the dialog (^302, ^304, ^314, ^325, ^326, ^808).

  • Open folder inside a repository. Ace still opens the enclosing repository, and now says so: a toast reads "Opened r — …/r/sub is inside the Git repository at …/r, so Ace opened that." The host's project-open names the folder you asked for in a new from field. This applies to the native panel too, since both go through open.
  • A second checkout of a project. Opening one toasts "Hello-World is already a project at …/c1/Hello-World — Channels in it keep starting from that checkout."
  • Clone from URL now:
    • says why gitlab.com/foo/bar can't clone. It uses the host's own message, which is now shared as NOT_GITHUB.
    • says "octocat/Hello-World is already a project at …. Another copy won't add a second project." before cloning a second copy.
    • clears errors when the URL, the folder or the chosen folder changes.
    • wraps long paths. The form and footer no longer widen the dialog's grid, so Cancel stays in view.
  • Open a folder clears its error when the path changes, and wraps long ones.
  • Initialize Git card. The card reads its folder again when it's shown and when the window regains focus, so a commit made in a terminal clears it without a reload.

Smoke-tested on an isolated loopback host (own ACE_HOME, config, keychain service, port 4955) in headless Chromium, with real Git and a real clone of octocat/Hello-World:

  1. r/sub inside an uncommitted repo showed the "Opened r" toast and the Initialize Git card. After git commit in a shell and a window focus, the card was gone.
  2. Opening a file showed the error, which cleared as the path changed.
  3. gitlab.com/foo/bar showed the GitHub message.
  4. Cloning into a non-empty folder showed the error inside the dialog at 1200 px and 390 px, with Cancel in view, and it cleared when the folder changed.
  5. A clone to c1 worked. The second Clone dialog said it's already a project at c1/Hello-World, and opening c2/Hello-World toasted the same.

Not covered here: the card's wording for a folder that has .git but no commits (^311).

Part of #615.

Built in Ace

No. This was made from Claude Code as a fix-train worker, using a headless Chromium to drive an isolated source host. Ace has no way yet to run an agent-driven fix queue across several workers like this (#5).

Open folder names the enclosing repository it opened instead of a folder inside it, and
says when a checkout's repository is already a project. Clone from URL says why a
non-GitHub URL can't clone and when the repository is already a project, clears errors
once a field changes, and keeps long paths inside the dialog. The Initialize Git card reads
the folder again when shown or refocused, so a commit made outside Ace clears it.

Why: apps/app/src/open-project.tsx#function InitGit | a folder without a commit is re-read only by a listing that opening triggers; the card re-opens its folder on mount and focus so outside commits show
@iamnbutler
iamnbutler merged commit c065312 into main Oct 22, 2026
1 check passed
@iamnbutler
iamnbutler deleted the fix-add-project branch October 22, 2026 20:54
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