Skip to content

feat: OAuth-only auth, repo browser, UI/UX improvements#4

Merged
coder-ralph merged 2 commits intomainfrom
feat/oauth-repo-browser
Mar 24, 2026
Merged

feat: OAuth-only auth, repo browser, UI/UX improvements#4
coder-ralph merged 2 commits intomainfrom
feat/oauth-repo-browser

Conversation

@coder-ralph
Copy link
Copy Markdown
Owner

OAuth-only auth, authenticated repo browser, and UI/UX improvements

What changed

OAuth-only authentication

  • Removed PAT-based authentication entirely
  • GitHub and GitLab login via NextAuth (Auth.js)
  • JWT sessions stored in encrypted httpOnly cookies
  • Access tokens never exposed to client-side code

Authenticated repository browser

  • Added My Repositories tab inside the generator
  • Fetches repositories from authenticated provider
  • Supports public and private repositories (based on OAuth scope)
  • Features:
    • search (name, description, full name)
    • sorting (recently updated, A–Z, stars)
    • pagination (8 per page with ellipsis)
  • Click a repository → instantly generates tree (no URL paste required)

Manual URL input preserved

  • Paste URL tab remains available
  • Supports any public GitHub or GitLab repository
  • Works with or without authentication

UI/UX improvements

  • Dual-source generator (My Repositories + Paste URL)
  • Cleaner user menu (avatar + sign out, no provider badge)
  • Improved layout and interaction flow
  • Integrated favicon and iOS home screen icons

Security

  • Tokens stored in encrypted httpOnly cookies (not localStorage)
  • All provider API calls handled via server-side routes
  • No NEXT_PUBLIC_* tokens used
  • /api/repos and /api/tree secured via session

Architecture

  • Added /api/repos for authenticated repository listing
  • Maintains server-side provider abstraction:
    • GitHub (Octokit)
    • GitLab (fetch + pagination)
  • Generator now supports dual data sources:
    • authenticated repo selection
    • manual URL input

Removed

  • token-status.tsx
  • private-repos-dialog.tsx
  • api/repo/route.ts
  • github-signin/page.tsx

Documentation

  • Updated MIGRATION.md to include authenticated repository browser

Summary

This PR completes the transition to a secure OAuth-only architecture and introduces a significantly improved post-login experience by allowing users to browse and generate repository trees directly from their account.

@coder-ralph coder-ralph self-assigned this Mar 24, 2026
@coder-ralph coder-ralph added enhancement New feature or request repotree-feature Features specific to RepoTree functionality and core product capabilities ui/ux User interface and user experience improvements auth Authentication and authorization related changes labels Mar 24, 2026
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Mar 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ascii-repotree Error Error Mar 25, 2026 0:43am

@coder-ralph coder-ralph merged commit 33eecbc into main Mar 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auth Authentication and authorization related changes enhancement New feature or request repotree-feature Features specific to RepoTree functionality and core product capabilities ui/ux User interface and user experience improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant