Skip to content

Live GitHub repo activity on projects + Copilot photo/file uploads#2

Merged
durga710 merged 1 commit into
mainfrom
claude/charming-euler-mkocv9
Jun 10, 2026
Merged

Live GitHub repo activity on projects + Copilot photo/file uploads#2
durga710 merged 1 commit into
mainfrom
claude/charming-euler-mkocv9

Conversation

@durga710

Copy link
Copy Markdown
Owner

Summary

Two features for the dashboard:

1. Live GitHub data for project tracking

  • fetchRepoActivity() in src/lib/github.ts — fresh (uncached) snapshot of a linked repo: recent commits, open pull requests, open issues, last push time, default branch, stars.
  • GET /api/projects/[id]/github — owner-scoped, rate-limited route serving that snapshot.
  • RepoActivityPanel on the dashboard project detail page — polls every 60 seconds while the tab is visible, shows commits/PRs/issues with direct links into GitHub, with a live indicator and "updated Xs ago".
  • New Copilot tool read_repo_activity — the chat can answer "what's happening in this project's repo right now" from the same live feed.

2. Copilot photo & file uploads

  • Chat UI: paperclip button to attach up to 4 files per message. Photos are downscaled client-side (JPEG, max 1600px) so they fit the request budget; PDFs up to 2.5 MB; text/code files are read and inlined (60 KB cap, binary files rejected). Attachment chips with remove, and badges on sent messages.
  • Chat API: messages accept an attachments array — images become input_image (vision), PDFs become input_file, text is inlined, via the OpenAI Responses API. Only the newest message carries payloads so history stays light. Zod-validated with size caps.

Verification

  • npm test — 22/22 pass
  • npm run type-check — clean
  • npm run lint — clean
  • npm run build — succeeds

Deployment note

Set GITHUB_TOKEN in Vercel (a fine-grained read-only PAT with access to the linked repos) — without it, only public repos resolve and GitHub's anonymous rate limit (60 req/hr) will throttle the live panel. OPENAI_API_KEY must also be present for chat/attachments (already required today).

https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9


Generated by Claude Code

Live data from GitHub for project tracking:
- github.ts: fetchRepoActivity() — uncached snapshot of recent commits,
  open PRs, open issues, last push for a linked repo
- new GET /api/projects/[id]/github route (owner-scoped, rate-limited)
- RepoActivityPanel on the project detail page polls every 60s while
  the tab is visible, with links into the repo
- copilot gains a read_repo_activity tool for 'what changed recently'

Copilot uploads:
- chat UI: paperclip attach (up to 4 per message), client-side photo
  downscaling to JPEG ≤1600px, PDFs ≤2.5MB, text files inlined; chips
  with remove, attachment badges on sent messages
- chat route: attachments schema; images → input_image, PDFs →
  input_file, text → inlined input_text via the Responses API; only the
  newest message carries payloads

https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9
@vercel

vercel Bot commented Jun 10, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
ghim-tech Ready Ready Preview, Comment Jun 10, 2026 9:15pm

@durga710 durga710 marked this pull request as ready for review June 10, 2026 21:19
@durga710 durga710 merged commit 0ccd359 into main Jun 10, 2026
2 checks passed
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.

2 participants