Serve several projects: route a report to its project's repository #8

Open
opened 2026-10-28 00:15:52 +00:00 by laurence · 0 comments
Owner

Part of the parity work (valerian#217): Valerian and Annora get the same in-app feedback as Helia.

The relay files every report into one repository (FEEDBACK_REPO, laurence/helia). Valerian and Annora need their reports in their own issue lists, through the same relay and the same bot.

Wanted: an optional project member on the report and a FEEDBACK_PROJECTS setting (valerian=laurence/valerian,annora=laurence/annora) that maps it to a repository. A report without project still goes to Helia, so older clients keep working. A project the relay does not serve is refused (unknown_project), so a client cannot choose an arbitrary repository.

Deployment (owner/ops, not part of the code change): the helia-feedback bot needs issue access to each added repository, and the stack's environment gets FEEDBACK_PROJECTS. Each repository also needs the labelling workflow (feedback-labels.yml) because the bot cannot set labels.

Acceptance criteria

  • project parsed and validated; FEEDBACK_PROJECTS parsed and validated (names a-z 0-9 -, helia is the default and cannot be listed).
  • The report, labels, screenshot upload and body update go to the project's repository; the health probe checks every repository.
  • End-to-end test with two mock repositories; protocol page and README updated.
Part of the parity work (valerian#217): Valerian and Annora get the same in-app feedback as Helia. The relay files every report into one repository (`FEEDBACK_REPO`, `laurence/helia`). Valerian and Annora need their reports in their own issue lists, through the same relay and the same bot. **Wanted:** an optional `project` member on the report and a `FEEDBACK_PROJECTS` setting (`valerian=laurence/valerian,annora=laurence/annora`) that maps it to a repository. A report without `project` still goes to Helia, so older clients keep working. A project the relay does not serve is refused (`unknown_project`), so a client cannot choose an arbitrary repository. **Deployment (owner/ops, not part of the code change):** the `helia-feedback` bot needs issue access to each added repository, and the stack's environment gets `FEEDBACK_PROJECTS`. Each repository also needs the labelling workflow (`feedback-labels.yml`) because the bot cannot set labels. **Acceptance criteria** - [ ] `project` parsed and validated; `FEEDBACK_PROJECTS` parsed and validated (names a-z 0-9 -, `helia` is the default and cannot be listed). - [ ] The report, labels, screenshot upload and body update go to the project's repository; the health probe checks every repository. - [ ] End-to-end test with two mock repositories; protocol page and README updated.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
laurence/helia-feedback-relay#8
No description provided.