/Explore

madison / open-git

public
CodeIssues16Pull requests2InsightsCampfireDocs

[feat] Add assignments to issues and PRs

open
#44 opened by madisonfeat/user-assignment→main
Conversation5Commits5Files changed23
Gitty
madisonopened this pull requestAuthor· last week

Summary

Adds user assignment for issues and pull requests, backed by new RBAC capabilities and database tables. Maintainers with the right permissions can assign/unassign users from the issue and PR detail sidebars via a searchable combobox picker.

Also splits PR interaction into finer-grained capabilities (repo.pull.comment vs repo.pull.review) and introduces a triage preset for issue/PR assignment workflows.

Changes

Database

  • New tables: issue_assignees, pull_request_assignees
  • Unique constraint per item/user; tracks assigned_by_profile_id
  • Migration: 0030_gifted_grim_reaper.sql (follows main's 0029_happy_kronos gitty pets migration)

RBAC

New capabilities:

  • repo.issue.assign, repo.issue.label, repo.issue.prioritize
  • repo.pull.comment, repo.pull.assign, repo.pull.request_review
  • repo.pull.review renamed to "Submit trusted reviews" (distinct from commenting)
  • New triage preset for assignment and issue/PR management without merge/write access
  • Public baseline contributors can create/comment but cannot assign

UI

  • RepositoryAssigneesPanel — sidebar section on issue and PR detail pages
  • RepositoryAssigneePicker — combobox with grouped suggestions:
    • Repository members
    • Author
    • Commenters
    • Other users (searchable across onboarded profiles)
  • Sticky sidebar styling preserved from main's layout refactor

Server actions

  • setIssueAssigneesFromForm — gated on repo.issue.assign
  • setPullRequestAssigneesFromForm — gated on repo.pull.assign
  • Candidate validation ensures only assignable profiles can be added

Docs

  • Updated docs/orgs-rbac.md with schema, capability matrix, and assignment behavior

Madison added 5 commits · last week

View commits
  • feat: update to include permissions around issues and PRseaef090
  • Merge remote-tracking branch 'origin/main' into feat/user-assignment21efffc
  • update to selection6343948
  • Merge origin/main into feat/user-assignment2d28eab
  • Update back to localhost:3001 port over 30006f954ec
All checks passed· last week· 7 checks
  • Apply migrations to a fresh Postgressuccess
  • Build websuccess
  • Lintsuccess
  • Schema drift (db:generate is up to date)success
  • Testssuccess
  • Typechecksuccess
  • drizzle-kit check (snapshot/journal consistency)success

Sign in to comment.

This branch can’t be merged automatically yet
The source branch needs to include the target branch (fast-forward) before it can be merged.
0 approving reviews
None yet
Checks
7/7 successful checks
Fast-forward
Source must contain the target branch tip
main ← feat/user-assignment

Merge readiness

Ahead5
Behind1
Fast-forwardBlocked

The source branch needs to include the target branch before it can be merged.

Checks

Apply migrations to a fresh Postgressuccess
Build websuccess
Lintsuccess
Schema drift (db:generate is up to date)success
Testssuccess
Typechecksuccess
drizzle-kit check (snapshot/journal consistency)success

Autopilot

Debug

Reviews

Approved0
ReviewersNone yet

Running Autopilot requires review access on this PR and push access to the source branch.