Skip to content

Commit c03d8d8

Browse files
committed
Add GitHub issue and PR templates
Three issue surfaces: - bug_report.yml — structured form: extension version, browser + version, OS, Immich server version, affected feature dropdown, reproduction steps, expected vs actual, optional console output + screenshot dropzone, pre-flight checklist (latest release, searched for duplicates, API key scopes, server reachable). - feature_request.yml — problem first, then proposal, alternatives, multi-select scope dropdown, pre-flight scope-fit checklist. - config.yml — disables blank issues, redirects general questions to Discussions, points server-side bugs at the upstream Immich repo, links to PRIVACY.md. Plus PULL_REQUEST_TEMPLATE.md with what / why / how / test-plan / screenshots / reviewer-notes sections and a checklist that covers both Chrome and Firefox load-unpacked verification.
1 parent efa1995 commit c03d8d8

4 files changed

Lines changed: 254 additions & 0 deletions

File tree

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
name: Bug report
2+
description: Something is broken or not working as documented
3+
title: "[bug] "
4+
labels: ["bug", "triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to report a bug. The more specific you can be, the faster it gets fixed.
10+
11+
Before submitting, please:
12+
- Make sure you're on the **latest release** ([releases](https://github.com/bjoernch/immich-companion/releases)).
13+
- Search [existing issues](https://github.com/bjoernch/immich-companion/issues?q=is%3Aissue) — someone may have hit the same thing.
14+
15+
- type: input
16+
id: extension-version
17+
attributes:
18+
label: Extension version
19+
description: Shown in the sidebar of the Settings page (or in `chrome://extensions` / `about:addons`).
20+
placeholder: "e.g. 0.5.1"
21+
validations:
22+
required: true
23+
24+
- type: dropdown
25+
id: browser
26+
attributes:
27+
label: Browser
28+
options:
29+
- Google Chrome
30+
- Microsoft Edge
31+
- Brave
32+
- Vivaldi / Opera / other Chromium
33+
- Mozilla Firefox
34+
- Other
35+
validations:
36+
required: true
37+
38+
- type: input
39+
id: browser-version
40+
attributes:
41+
label: Browser version
42+
description: e.g. Chrome 142.0.7444.51, Firefox 144.0.2.
43+
placeholder: "e.g. 142.0.7444.51"
44+
validations:
45+
required: true
46+
47+
- type: input
48+
id: os
49+
attributes:
50+
label: Operating system
51+
placeholder: "e.g. macOS 26.0, Windows 11, Ubuntu 24.04"
52+
validations:
53+
required: true
54+
55+
- type: input
56+
id: immich-version
57+
attributes:
58+
label: Immich server version
59+
description: Shown at the bottom of the Immich web UI, or via `GET /api/server/about`.
60+
placeholder: "e.g. 1.119.0"
61+
validations:
62+
required: true
63+
64+
- type: dropdown
65+
id: feature
66+
attributes:
67+
label: Which feature is affected?
68+
options:
69+
- Save to Immich (right-click on image / video)
70+
- Save & share (right-click → copy share link)
71+
- Toolbar popup — search
72+
- Toolbar popup — recent uploads tab
73+
- Toolbar popup — upload tab (drag-and-drop)
74+
- Toolbar popup — gallery / pagination
75+
- Hover quick actions (copy / share / download)
76+
- New tab page (background, on-this-day, photo details)
77+
- Omnibox search ("im" + space + query)
78+
- Inline matches on Google search pages
79+
- Share-album toolbar (Slideshow / Download-all)
80+
- Settings / onboarding
81+
- Other / not sure
82+
validations:
83+
required: true
84+
85+
- type: textarea
86+
id: steps
87+
attributes:
88+
label: Steps to reproduce
89+
description: As specific as possible — the exact sequence of clicks / inputs.
90+
placeholder: |
91+
1. Right-click an image on https://example.com
92+
2. Choose "Save image to Immich & copy share link"
93+
3. …
94+
validations:
95+
required: true
96+
97+
- type: textarea
98+
id: actual
99+
attributes:
100+
label: What happened
101+
placeholder: "The popup showed an error toast saying ..."
102+
validations:
103+
required: true
104+
105+
- type: textarea
106+
id: expected
107+
attributes:
108+
label: What you expected to happen
109+
placeholder: "I expected the share link to be copied to my clipboard."
110+
validations:
111+
required: true
112+
113+
- type: textarea
114+
id: console
115+
attributes:
116+
label: Browser console output (optional but very helpful)
117+
description: |
118+
Open the DevTools console on the relevant page (popup → right-click the popup → Inspect → Console; new tab → F12; options page → F12). Copy any red errors or any line starting with `[immich-companion]`.
119+
render: text
120+
121+
- type: textarea
122+
id: extras
123+
attributes:
124+
label: Screenshots, GIFs, or notes
125+
description: Drag images directly into this field.
126+
127+
- type: checkboxes
128+
id: checks
129+
attributes:
130+
label: Pre-flight checklist
131+
options:
132+
- label: I'm on the latest release
133+
required: true
134+
- label: I searched existing issues for duplicates
135+
required: true
136+
- label: My API key has the required scopes (the welcome page lists them)
137+
required: true
138+
- label: My Immich server is reachable from the browser (loading the web UI works)
139+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Question or general help
4+
url: https://github.com/bjoernch/immich-companion/discussions
5+
about: For "how do I…" questions or anything that isn't a clear bug or feature request, please open a discussion instead of an issue.
6+
- name: Immich server problem
7+
url: https://github.com/immich-app/immich/issues
8+
about: If the problem is with the Immich server itself (uploads failing, search not finding things you know are there, API errors not specific to this extension), report it on the Immich repo.
9+
- name: Privacy policy
10+
url: https://github.com/bjoernch/immich-companion/blob/main/PRIVACY.md
11+
about: What the extension does and doesn't do with your data.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Feature request
2+
description: Suggest a new capability or an improvement to an existing one
3+
title: "[feature] "
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Got an idea? Great. A short, concrete request beats a long abstract one — describe the moment in your day where the feature would help, and what you'd expect to happen.
10+
11+
- type: textarea
12+
id: problem
13+
attributes:
14+
label: What problem does this solve?
15+
description: The user-facing problem. Skip implementation detail here.
16+
placeholder: |
17+
When I save a screenshot from a chat app, I always have to manually retag it later in Immich because …
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: proposal
23+
attributes:
24+
label: Proposed solution
25+
description: How you imagine the extension would behave.
26+
placeholder: |
27+
Add a setting to auto-tag every saved asset with the source domain, so screenshots from `discord.com` get a `source:discord.com` tag automatically.
28+
validations:
29+
required: true
30+
31+
- type: textarea
32+
id: alternatives
33+
attributes:
34+
label: Alternatives considered
35+
description: Other approaches you thought of (if any).
36+
37+
- type: dropdown
38+
id: scope
39+
attributes:
40+
label: Which area of the extension?
41+
multiple: true
42+
options:
43+
- Save to Immich (right-click)
44+
- Save & share
45+
- Toolbar popup (search / recent / upload)
46+
- Hover quick actions
47+
- New tab page
48+
- Omnibox search
49+
- Inline matches on Google
50+
- Share-album toolbar
51+
- Settings / onboarding
52+
- Privacy / data handling
53+
- Cross-browser (Firefox / Edge / etc.)
54+
- Other
55+
validations:
56+
required: true
57+
58+
- type: textarea
59+
id: context
60+
attributes:
61+
label: Additional context
62+
description: Mockups, screenshots from other apps, links to related Immich issues, anything else.
63+
64+
- type: checkboxes
65+
id: checks
66+
attributes:
67+
label: Pre-flight checklist
68+
options:
69+
- label: I searched existing issues for similar requests
70+
required: true
71+
- label: This is in scope for a "browser companion" — it makes sense as a browser feature, not a server-side Immich feature
72+
required: true

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<!--
2+
Thanks for contributing! A few quick prompts so the diff lands cleanly.
3+
-->
4+
5+
## What
6+
7+
Short description of the change.
8+
9+
## Why
10+
11+
What problem this solves, or which issue / discussion it addresses (use `Closes #N` if applicable).
12+
13+
## How
14+
15+
Brief walkthrough of the approach. Call out anything subtle: a CSS specificity gotcha, an Immich API version dependency, browser-specific behaviour (Chrome vs. Firefox), etc.
16+
17+
## Test plan
18+
19+
How you verified this works. At minimum:
20+
21+
- [ ] Loaded the unpacked extension in Chrome (`chrome://extensions` → Load unpacked) and exercised the affected feature
22+
- [ ] Loaded the unpacked extension in Firefox (`about:debugging` → Load Temporary Add-on) — only required for changes that touch the manifest, background script, or content scripts
23+
- [ ] No new console errors on the popup, options page, or new tab
24+
- [ ] If touched: settings persist after reloading the extension
25+
26+
## Screenshots / GIFs
27+
28+
For UI changes, drop a before/after image here.
29+
30+
## Notes for the reviewer
31+
32+
Anything you want me to look at first, or anything you're unsure about.

0 commit comments

Comments
 (0)