Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
4d7d931
feat(api): add integrations schema migration
martian56 May 1, 2026
5d7e13f
feat(api): add WorkspaceIntegration and GitHub sync models
martian56 May 1, 2026
71b260a
feat(api): add IssueActivity model for the activity feed
martian56 May 1, 2026
8b00d95
feat(api): add CommentReaction model
martian56 May 1, 2026
23f4199
feat(api): add access column to IssueComment
martian56 May 1, 2026
b076f4a
feat(api): GitHub App JWT signing and installation tokens
martian56 May 1, 2026
05781f9
feat(api): GitHub REST client wrapper
martian56 May 1, 2026
3c9d3ce
feat(api): GetInstallation and GetPullRequest helpers
martian56 May 1, 2026
9b82dd4
feat(api): parse IDENT-NUM refs from PR titles, branches and commits
martian56 May 1, 2026
c0682fe
test(api): cover GitHub ref-parsing edge cases
martian56 May 1, 2026
902e2ff
feat(api): GitHub webhook event types
martian56 May 1, 2026
4fd70f4
feat(api): verify GitHub webhook signatures with HMAC-SHA256
martian56 May 1, 2026
e4aae45
feat(api): integration store for workspace installs and PR links
martian56 May 1, 2026
95e205e
feat(api): issue activity store
martian56 May 1, 2026
c9ce04f
feat(api): comment reaction store
martian56 May 1, 2026
f6202e3
feat(api): GetByProjectAndSequence on issue store for ref resolution
martian56 May 1, 2026
1a60f1e
feat(api): GetByWorkspaceAndIdentifier for resolving project refs
martian56 May 1, 2026
ad3956a
feat(api): integration service for connect/disconnect and repo sync
martian56 May 1, 2026
1fe7338
feat(api): route GitHub webhook events to sync engine
martian56 May 1, 2026
c33184b
feat(api): GitHub sync engine for PR <-> issue links and state transi…
martian56 May 1, 2026
d0827a9
feat(api): write IssueActivity rows on issue field changes
martian56 May 1, 2026
a71d02a
feat(api): comment service supports access and reactions
martian56 May 1, 2026
69ec8a9
feat(api): integration HTTP handlers and webhook receiver
martian56 May 1, 2026
021a0b1
feat(api): instance settings endpoints for the GitHub App config
martian56 May 1, 2026
e834c83
fix(api): accept description and description_html aliases on issue up…
martian56 May 1, 2026
8c7d476
feat(api): comment access toggle and reactions endpoints
martian56 May 1, 2026
dff0fd9
feat(api): register integration, activity, and reaction routes
martian56 May 1, 2026
dbf715c
feat(ui): add integration, activity, reaction, and PR-link API types
martian56 May 1, 2026
9f15702
feat(ui): integration service for GitHub connect, sync, and PR links
martian56 May 1, 2026
fbbd13f
feat(ui): listActivities on issueService
martian56 May 1, 2026
e4a338d
feat(ui): commentService supports access and reactions
martian56 May 1, 2026
0e1e4ac
feat(ui): export integrationService from services barrel
martian56 May 1, 2026
fb0b240
feat(ui): shared row helpers for issue layouts
martian56 May 1, 2026
ce74402
feat(ui): workspace integrations section with GitHub connect
martian56 May 1, 2026
29ed5d9
feat(ui): per-repo sync settings modal
martian56 May 1, 2026
aa563fc
feat(ui): @-mention TipTap extension for editors
martian56 May 1, 2026
6f80872
feat(ui): slash-command TipTap extension for the description editor
martian56 May 1, 2026
cc95f36
feat(ui): rich row cells for issue layouts
martian56 May 1, 2026
998187c
feat(ui): shared types for issue layout components
martian56 May 1, 2026
54275af
feat(ui): list layout for the work items page
martian56 May 1, 2026
992f45f
feat(ui): board (kanban) layout for the work items page
martian56 May 1, 2026
f822e78
feat(ui): spreadsheet layout for the work items page
martian56 May 1, 2026
41e38c3
feat(ui): calendar layout for the work items page
martian56 May 1, 2026
27d2ed0
feat(ui): gantt timeline layout for the work items page
martian56 May 1, 2026
8f024fd
feat(ui): TipTap description editor with auto-save
martian56 May 1, 2026
c9efe05
refactor(ui): rebuild comment editor with grouped toolbar and Send bu…
martian56 May 1, 2026
5bf33c8
feat(ui): emoji reactions on issue comments
martian56 May 1, 2026
7d29db6
feat(ui): activity feed for the issue detail page
martian56 May 1, 2026
3adf3e9
feat(ui): PR badge for the issue list rows
martian56 May 1, 2026
dbad497
feat(ui): linked PR sidebar on the issue detail page
martian56 May 1, 2026
9d5bf38
feat(ui): integrations section in the instance admin sidebar
martian56 May 1, 2026
05c190d
feat(ui): wire up all five issue layouts in the page header switcher
martian56 May 1, 2026
42b78d8
fix(ui): use theme-aware tokens for the module detail layout switcher
martian56 May 1, 2026
3c1ac06
feat(ui): instance admin integrations index page
martian56 May 1, 2026
7253ada
feat(ui): instance admin GitHub App configuration page
martian56 May 1, 2026
d92618a
feat(ui): export new instance admin integration pages
martian56 May 1, 2026
572ac2b
refactor(ui): swap issue list page over to the layout switcher
martian56 May 1, 2026
895db3b
refactor(ui): drive the board page from the shared board layout
martian56 May 1, 2026
15220e6
feat(ui): rebuild issue detail page with properties, activity, commen…
martian56 May 1, 2026
11de6a4
feat(ui): replace billing with integrations in workspace settings
martian56 May 1, 2026
baab8c7
fix(ui): give project cards a theme-aware border
martian56 May 1, 2026
bd69d90
feat(ui): mount integration admin and per-layout issue routes
martian56 May 1, 2026
d2b0ed6
chore(ui): add @tiptap/extension-mention and @tiptap/suggestion
martian56 May 1, 2026
7afeb76
chore: ignore local/ scripts and CLAUDE.md
martian56 May 1, 2026
35e8957
docs(github): convert bug report template to a YAML form
martian56 May 1, 2026
0300e96
docs(github): convert feature request template to a YAML form
martian56 May 1, 2026
d0bf504
docs(github): add documentation issue template
martian56 May 1, 2026
a790dd4
docs(github): add chore / tech debt issue template
martian56 May 1, 2026
567992d
docs(github): disable blank issues and route security to advisories
martian56 May 1, 2026
844acb6
docs(github): rewrite default PR template with devlane-specific checks
martian56 May 1, 2026
dfbb0a2
docs(github): tighten feature PR template
martian56 May 1, 2026
fc0e193
docs(github): add bugfix PR template
martian56 May 1, 2026
ff152f9
docs(github): add refactor PR template
martian56 May 1, 2026
fc56bb3
1.1.0
martian56 May 1, 2026
6d610e3
chore: bump version
martian56 May 1, 2026
853bcba
chore(api): reformatt the code
martian56 May 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 0 additions & 38 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

156 changes: 156 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
name: Bug report
description: Report a defect in Devlane so we can fix it.
title: "[BUG] "
labels: ["bug", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to file a bug report. Please fill in as much detail as you can — it helps us reproduce and fix the problem faster.

**Do not report security vulnerabilities here.** See [SECURITY.md](../SECURITY.md) for private disclosure.

- type: checkboxes
id: prechecks
attributes:
label: Pre-submission checks
options:
- label: I have searched existing issues and this is not a duplicate.
required: true
- label: I am using the latest `main` or the most recent release.
required: true
- label: This is not a security vulnerability (those go to SECURITY.md).
required: true

- type: dropdown
id: component
attributes:
label: Affected component
options:
- API (Go / Gin backend)
- UI (React SPA)
- Editor (TipTap — description / comments)
- Auth (sessions, magic-code, OAuth providers)
- Workspaces / Projects / Issues
- Modules / Cycles / Views
- Activity feed / Notifications
- Integrations (GitHub, etc.)
- Database / Migrations
- Background jobs (RabbitMQ / queue)
- File uploads (MinIO)
- Email / SMTP
- Instance Admin
- Docker / Deployment
- Documentation
- Other
validations:
required: true

- type: dropdown
id: severity
attributes:
label: Severity
description: How badly does this affect users?
options:
- Critical — data loss, security exposure, or full outage
- High — core flow broken, no workaround
- Medium — feature broken with a workaround
- Low — cosmetic, edge case, or minor UX issue
validations:
required: true

- type: textarea
id: summary
attributes:
label: Summary
description: A clear, concise description of the bug.
placeholder: When I drag an issue between board columns, the state badge doesn't update until I refresh.
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: Minimal, numbered steps. Include sample data or a workspace/project slug if possible.
value: |
1. Sign in to workspace `…`
2. Open project `…`
3. …
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual behavior
validations:
required: true

- type: input
id: version
attributes:
label: Devlane version or commit
description: Release tag (e.g. v0.5.1) or git commit SHA from `git rev-parse --short HEAD`.
placeholder: v0.5.1 or abc1234
validations:
required: true

- type: input
id: environment
attributes:
label: Environment
description: OS, browser (UI bugs), Go version (API bugs), Node version.
placeholder: Windows 11, Chrome 132, Go 1.23.4, Node 22.11.0
validations:
required: true

- type: dropdown
id: deployment
attributes:
label: Deployment mode
options:
- Local development (`docker compose up` + `npm run dev` + `go run ./cmd/api`)
- Self-hosted production
- Other
validations:
required: true

- type: dropdown
id: db
attributes:
label: Database state
description: Is your local DB freshly migrated, or could there be schema drift?
options:
- Fresh — migrations applied cleanly on startup
- Existing — could have drift from older migrations
- Not applicable
validations:
required: false

- type: textarea
id: api_logs
attributes:
label: API logs
description: Relevant lines from `go run ./cmd/api` output. Redact session cookies / tokens.
render: shell

- type: textarea
id: console_logs
attributes:
label: Browser console / network output
description: Paste console errors or failed request responses. Redact bearer tokens.
render: shell

- type: textarea
id: additional
attributes:
label: Additional context
description: Screenshots, screen recordings, related issues, or anything else that helps reproduce.
62 changes: 62 additions & 0 deletions .github/ISSUE_TEMPLATE/chore.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Chore / tech debt
description: Track maintenance, refactor, dependency upgrade, or cleanup work.
title: "[CHORE] "
labels: ["chore", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Use this for work that doesn't add user-visible features and isn't a bug report — e.g. dependency upgrades, refactors, dead-code removal, CI tuning, or planned tech debt cleanup.

- type: dropdown
id: kind
attributes:
label: Kind
options:
- Refactor (no behavior change)
- Dependency upgrade
- Build / CI / tooling
- Test coverage
- Performance improvement
- Dead code / cleanup
- Migration follow-up
- Other
validations:
required: true

- type: dropdown
id: scope
attributes:
label: Scope
options:
- API
- UI
- Infra / Docker
- Repo-wide
validations:
required: true

- type: textarea
id: motivation
attributes:
label: Motivation
description: Why is this worth doing now? What does ignoring it cost us?
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed approach
description: How should this be tackled? Files / modules involved, rough plan.

- type: textarea
id: risk
attributes:
label: Risk and rollback
description: What could regress? How would we revert if it does?

- type: textarea
id: additional
attributes:
label: Additional context
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Security vulnerability
url: https://github.com/Devlaner/devlane/security/advisories/new
about: Privately disclose a security issue. Do not file a public bug report.
- name: Question or general discussion
url: https://github.com/Devlaner/devlane/discussions
about: Ask questions, share usage tips, or kick around an idea before opening an issue.
57 changes: 57 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Documentation
description: Report missing, incorrect, or unclear documentation.
title: "[DOCS] "
labels: ["documentation", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Use this template for problems with `README`, `CLAUDE.md`, in-code comments that mislead, the `planning/` design docs, or any onboarding gap.

- type: checkboxes
id: prechecks
attributes:
label: Pre-submission checks
options:
- label: I have searched existing docs issues and this is not a duplicate.
required: true

- type: dropdown
id: kind
attributes:
label: Issue kind
options:
- Missing — something should be documented but isn't
- Incorrect — documented behavior doesn't match reality
- Unclear — accurate but hard to follow
- Outdated — was correct, isn't anymore
- Broken link / formatting
validations:
required: true

- type: input
id: location
attributes:
label: Location
description: File path, doc URL, or section.
placeholder: README.md, planning/backend-architecture.md, code comment in api/internal/router/router.go
validations:
required: true

- type: textarea
id: problem
attributes:
label: What's wrong or missing?
validations:
required: true

- type: textarea
id: suggestion
attributes:
label: Suggested wording or structure
description: Optional — if you have a concrete suggestion, paste it here.

- type: textarea
id: additional
attributes:
label: Additional context
20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

Loading
Loading