Skip to content

Add in-app support submissions with media and GitHub routing - #41

Merged
Eoic merged 3 commits into
developmentfrom
feat/support-submissions
Oct 23, 2026
Merged

Eoic merged 3 commits into
developmentfrom
feat/support-submissions

Conversation

@Eoic

@Eoic Eoic commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Readers can submit bug reports and feature requests from Papyrus, including images and videos. The new multipart POST /v1/support/issues endpoint creates GitHub issues using server-held credentials.

  • Validate and bound attachments before upload, and enforce IP rate limits before reading request bodies.
  • Apply [BUG] / [FEATURE], labels, native issue types, assignment, and Papyrus project routing. All routing values are configurable through SUPPORT_GITHUB_* environment settings.
  • Check project access before creating issues. Send confirmation before applying project metadata in a background task, so slow project updates cannot delay a confirmed submission. Log routing failures with the issue number for reconciliation. Background routing is not persisted across abrupt server shutdowns.
  • Document configuration and failure behavior in docs/support.md.

Validation: 42 support tests passed on this branch based directly on development. Ruff lint/format checks, Mypy (175 files), and git diff --check passed. Response-order regressions verify that the complete 201 response is sent before either project mutation, including timeouts with five attachments. GitHub requests are mocked in tests. Project reads check visibility and account role, not the token's write permission. Mutation permission failures now log a specific Projects-write hint. No public test issues were created.

Deployment requires a server-held GitHub PAT with repository Issues write access and organization Projects write access. Media uploads also require repository write access. No database migration is needed. Issue creation is not retried automatically. Uploaded media can remain public if a later step fails.

Companion client: PapyrusReader/client#78. OpenAPI snapshot (draft): PapyrusReader/docs#86.

Copilot AI balanced review requested due to automatic review settings October 23, 2026 16:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T16:15:59.046654Z 2f9d6f8 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2f9d6f89e4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread papyrus/services/support.py Resolved
@Eoic
Eoic enabled auto-merge October 23, 2026 19:08
@Eoic
Eoic merged commit 3feb46f into development Oct 23, 2026
2 checks passed
@Eoic
Eoic deleted the feat/support-submissions branch October 23, 2026 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants