Match the app's protocol page and harden the issue body #4

Merged
laurence merged 2 commits from fix/protocol-reconcile into main 2026-10-19 21:14:09 +01:00
Owner

Aligns the relay with the app's protocol page (docs/book/src/reference/feedback-protocol.md in laurence/helia, now on main) and hardens the issue body.

Closes #3.

  • Limits and shape: up to 32 highlights, description may be empty, unknown members are ignored, app and os may be null.
  • Error codes follow the page: bad_pow (the message says missing, wrong, expired or reused), title_too_long, screenshot_too_large, request_too_large.
  • Issue title is [Bug|Feature request|Question|Other] <title>.
  • The proof-of-work check is unit-tested against the page's published test vector (including that the nonce is the smallest solution).
  • A hidden helia-feedback-relay:v1 marker in the body lets a repository workflow apply labels, because an account without write access cannot set them.
  • Submitted descriptions can no longer embed images or raw HTML.
  • Adds CI.md as the ci-cd template asks and ignores __pycache__.

Automated testing: 26 unit tests and 5 end-to-end tests over real HTTP (mock Forgejo); clippy pedantic, fmt, cargo-deny, header check and the static musl build run in CI.

Aligns the relay with the app's protocol page (`docs/book/src/reference/feedback-protocol.md` in laurence/helia, now on main) and hardens the issue body. Closes #3. - Limits and shape: up to 32 highlights, description may be empty, unknown members are ignored, `app` and `os` may be null. - Error codes follow the page: `bad_pow` (the message says missing, wrong, expired or reused), `title_too_long`, `screenshot_too_large`, `request_too_large`. - Issue title is `[Bug|Feature request|Question|Other] <title>`. - The proof-of-work check is unit-tested against the page's published test vector (including that the nonce is the smallest solution). - A hidden `helia-feedback-relay:v1` marker in the body lets a repository workflow apply labels, because an account without write access cannot set them. - Submitted descriptions can no longer embed images or raw HTML. - Adds CI.md as the ci-cd template asks and ignores `__pycache__`. Automated testing: 26 unit tests and 5 end-to-end tests over real HTTP (mock Forgejo); clippy pedantic, fmt, cargo-deny, header check and the static musl build run in CI.
Neutralise HTML and image embeds in submitted descriptions
All checks were successful
ci / clippy (pull_request) Successful in 29s
ci / fmt (pull_request) Successful in 11s
ci / reuse (pull_request) Successful in 4s
ci / test (pull_request) Successful in 40s
ci / musl (pull_request) Successful in 1m4s
ci / deny (pull_request) Successful in 1m45s
81d4e35d40
laurence changed title from WIP: Match the app's protocol page and harden the issue body to Match the app's protocol page and harden the issue body 2026-10-19 21:03:50 +01:00
laurence scheduled this pull request to auto merge when all checks succeed 2026-10-19 21:03:50 +01:00
laurence deleted branch fix/protocol-reconcile 2026-10-19 21:14:09 +01:00
Sign in to join this conversation.
No reviewers
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!4
No description provided.