Files
miguel 2525c58471 feat(web): support ssh owner repo clone flow
- Add SSH-only owner/repo clone path for git.commumedia.org
- Preflight remote repository existence with git ls-remote before cloning
- Keep advanced URL paste fallback and blank repository creation
- Add focused backend and frontend coverage plus docs updates

Quality gates: python -m py_compile, vitest run src/components/repositories-settings-tab.test.tsx, npm run typecheck
2026-05-22 19:07:04 +02:00

1.3 KiB

Why

Repository creation already supports cloning from a remote URL, but the current UI only accepts a full URL. For the common fixed-provider case (git.commumedia.org), users should be able to enter owner and repo and have the app verify the repository exists before cloning. If the repository does not exist, the app should surface a clear error. Existing blank repository creation must remain available.

What Changes

  • Change the shared repository create dialog to support an SSH-only clone form with owner and repo
  • Build the clone target as git@git.commumedia.org:{owner}/{repo}.git
  • Preflight clone targets with git ls-remote before cloning
  • Return a clear error when the repository is missing or inaccessible
  • Keep the current full URL paste flow as an advanced fallback
  • Keep blank repository creation as a fallback option

Capabilities

Modified Capabilities

  • git-repo: Repository creation UX and clone validation reuse the existing create endpoint and clone path

Impact

  • Frontend: repository-create-dialog.tsx, git-repositories.tsx, repositories-settings-tab.tsx
  • Backend: git_repositories.py create endpoint clone preflight
  • Docs: repository creation guidance must reflect SSH-only owner/repo input
  • Tests: add coverage for SSH repo existence checks and fallback URL behavior