Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds end-to-end GitHub integration support (API + UI) including GitHub App installation, repository sync settings, PR↔issue linking, an issue activity feed, and comment reactions; it also modernizes GitHub issue/PR templates for the repository.
Changes:
- Adds backend integration services/models/routes and a DB migration to support GitHub App installs, repo sync configuration, PR link tracking, webhook logging, issue activity, and comment reactions.
- Adds UI service clients and new UI components/pages for instance/workspace integration management plus new issue layouts (list/board/spreadsheet/calendar/gantt), PR sidebar/badges, activity feed, TipTap description editor enhancements, and comment reactions.
- Replaces/introduces GitHub issue & PR templates (YAML issue forms + multiple PR templates) and updates repo config (.gitignore, issue template config).
Reviewed changes
Copilot reviewed 75 out of 77 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ui/src/services/issueService.ts | Adds description_html alias typing and an issue activities fetcher. |
| ui/src/services/integrationService.ts | New UI API client for integrations + GitHub sync/link/summary endpoints and install URL builder. |
| ui/src/services/index.ts | Exports integrationService. |
| ui/src/services/commentService.ts | Adds comment access on create and reactions CRUD endpoints. |
| ui/src/routes/index.tsx | Adds instance-admin integrations routes/pages. |
| ui/src/pages/instance-admin/index.ts | Re-exports new instance-admin integration pages. |
| ui/src/pages/instance-admin/InstanceAdminIntegrationsPage.tsx | New instance-admin integrations landing page (GitHub config status + link to config). |
| ui/src/pages/SettingsPage.tsx | Adds workspace “Integrations” section (replaces billing placeholder). |
| ui/src/pages/ProjectsListPage.tsx | Minor card styling adjustment (adds border). |
| ui/src/pages/BoardPage.tsx | Replaces legacy board page with redirect to ?layout=board. |
| ui/src/lib/issueRowHelpers.ts | Helper to map assignee IDs to lightweight member data for row rendering. |
| ui/src/components/work-item/layouts/IssueLayoutTypes.ts | Introduces shared issue layout types + layout parsing helpers. |
| ui/src/components/work-item/layouts/IssueLayoutSpreadsheet.tsx | New spreadsheet issue layout rendering as a table. |
| ui/src/components/work-item/layouts/IssueLayoutList.tsx | New list layout component using grouped issues + shared row cells. |
| ui/src/components/work-item/layouts/IssueLayoutGantt.tsx | New lightweight gantt layout based on start/target dates. |
| ui/src/components/work-item/layouts/IssueLayoutCalendar.tsx | New month-grid calendar layout based on target dates. |
| ui/src/components/work-item/layouts/IssueLayoutBoard.tsx | New board/kanban layout grouped by state. |
| ui/src/components/work-item/editorSlashCommands.ts | Adds TipTap “/” command palette extension. |
| ui/src/components/work-item/editorMention.ts | Adds TipTap @mention extension with suggestion popup + insertion helper. |
| ui/src/components/work-item/IssuePRSidebar.tsx | New issue detail sidebar for linked PRs (list/link/unlink). |
| ui/src/components/work-item/IssuePRBadge.tsx | New compact PR badge for issue rows based on aggregated PR summary. |
| ui/src/components/work-item/IssueActivityFeed.tsx | New issue activity feed renderer (field-change sentences + relative time). |
| ui/src/components/work-item/DescriptionEditor.tsx | New TipTap description editor with debounced auto-save + mentions + slash commands. |
| ui/src/components/work-item/CommentReactions.tsx | New minimal emoji reaction UI for comments. |
| ui/src/components/layout/ModuleDetailHeader.tsx | Minor theming/styling tweak for the layout toggle container. |
| ui/src/components/layout/InstanceAdminLayout.tsx | Adds integrations nav item + breadcrumb support for integrations subroutes. |
| ui/src/components/integrations/RepoSyncSettingsModal.tsx | New modal to manage GitHub repo sync behavior + state mapping. |
| ui/src/api/types.ts | Adds integration/GitHub/activity/reactions API response types and comment access. |
| ui/package.json | Adds TipTap mention + suggestion dependencies. |
| ui/package-lock.json | Locks new TipTap mention + suggestion dependencies. |
| api/migrations/000003_integrations_schema.up.sql | Adds/extends integration-related schema and seeds GitHub integration + github_app settings. |
| api/migrations/000003_integrations_schema.down.sql | Down migration for the above schema changes. |
| api/internal/store/project.go | Adds project lookup by workspace+identifier (for ref resolution). |
| api/internal/store/issue_activity.go | New store for issue activity persistence and listing. |
| api/internal/store/issue.go | Adds issue lookup by project+sequence (for ref resolution). |
| api/internal/store/comment_reaction.go | New store for comment reactions. |
| api/internal/service/issue.go | Adds activity recording for issue create/update and an activities list API. |
| api/internal/service/integration.go | New integration service including GitHub App settings loading and install logic. |
| api/internal/service/comment.go | Adds comment access control field + reactions APIs. |
| api/internal/router/router.go | Wires new services/stores and exposes new integration/activity/reactions/webhook routes. |
| api/internal/model/issue_activity.go | Adds model mapping for issue_activities. |
| api/internal/model/integration.go | Adds models for integrations and GitHub sync/link/webhook event tables. |
| api/internal/model/comment_reaction.go | Adds model mapping for comment_reactions. |
| api/internal/model/comment.go | Adds access field to issue comments model. |
| api/internal/handler/issue.go | Accepts description_html alias and adds issue activities endpoint. |
| api/internal/handler/instance.go | Adds github_app instance settings support + secret handling + hot reload hook. |
| api/internal/handler/comment.go | Adds reactions endpoints and passes comment access through create. |
| api/internal/github/webhook.go | Adds webhook signature verification helper. |
| api/internal/github/refparse_test.go | Adds tests for ref extraction and signature verification basics. |
| api/internal/github/refparse.go | Adds parsing for DEV-123 references + closing keyword detection and merge helpers. |
| api/internal/github/installations.go | Adds GitHub installation metadata and PR fetch helpers. |
| api/internal/github/events.go | Adds typed webhook event payload structs and helpers. |
| api/internal/github/client.go | Adds GitHub App installation-token client with caching and repo/comment APIs. |
| api/internal/github/app.go | Adds GitHub App JWT auth helper. |
| .gitignore | Ignores local/ and CLAUDE.md. |
| .github/pull_request_template.md | Overhauls default PR template to structured checklist and conventions. |
| .github/PULL_REQUEST_TEMPLATE/refactor.md | Adds dedicated refactor PR template. |
| .github/PULL_REQUEST_TEMPLATE/feature.md | Updates feature PR template (YAML-style structure). |
| .github/PULL_REQUEST_TEMPLATE/bugfix.md | Adds dedicated bugfix PR template. |
| .github/ISSUE_TEMPLATE/feature_request.yml | Adds structured feature request issue form. |
| .github/ISSUE_TEMPLATE/feature_request.md | Removes legacy Markdown feature request template. |
| .github/ISSUE_TEMPLATE/documentation.yml | Adds structured documentation issue form. |
| .github/ISSUE_TEMPLATE/config.yml | Disables blank issues + adds security/discussion links. |
| .github/ISSUE_TEMPLATE/chore.yml | Adds structured chore/tech-debt issue form. |
| .github/ISSUE_TEMPLATE/bug_report.yml | Adds structured bug report issue form. |
| .github/ISSUE_TEMPLATE/bug_report.md | Removes legacy Markdown bug report template. |
Files not reviewed (1)
- ui/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request overhauls the GitHub issue and pull request templates to provide clearer, more structured, and user-friendly forms for reporting bugs, requesting features, tracking documentation issues, and managing chores or technical debt. It replaces the old Markdown-based templates with new YAML-based forms, introduces specialized PR templates for bugfixes, features, and refactors, and adds configuration to guide users toward the right channels for security and discussion.
The most important changes are:
Issue templates modernization and expansion:
bug_report.md,feature_request.md) with detailed YAML forms (bug_report.yml,feature_request.yml) that use dropdowns, checkboxes, and required fields to gather more actionable information for bug reports and feature requests. [1] [2] [3] [4]documentation.yml) and chores/technical debt (chore.yml), each tailored to their specific needs. [1] [2]Pull request templates:
bugfix.md), features (feature.md), and refactors (refactor.md), each with sections for root cause analysis, design reasoning, test plans, and checklists to improve review quality and consistency. [1] [2] [3]Repository configuration and guidance:
.github/ISSUE_TEMPLATE/config.ymlto disable blank issues and provide direct links for security disclosures and general questions/discussions, ensuring users use the correct channels.These changes collectively improve issue triage, bug reproduction, feature scoping, and code review clarity, making the contribution process smoother for both maintainers and contributors.
Closes #93