Skip to content

feat(support): add private report conversations - #4

Merged
veryCrunchy merged 1 commit into
mainfrom
feat/report-conversations
Aug 16, 2026
Merged

feat(support): add private report conversations#4
veryCrunchy merged 1 commit into
mainfrom
feat/report-conversations

Conversation

@veryCrunchy

Copy link
Copy Markdown
Member

Summary

  • store per-report maintainer and reporter messages encrypted at rest
  • let maintainers ask for details from the private queue and atomically mark the report as needing information
  • let reporters read and reply through their existing capability URL
  • expose the conversation in the OpenAPI contract and both private portal views

Context

Follow-up to #1.

This provides the service contract needed for Nextcloud Native to show support status changes and maintainer questions inside the app. Capability access remains scoped to the existing private report link; maintainer writes require the authenticated admin session and CSRF token. Message bodies are bounded to 8 KiB and encrypted with report/message-specific associated data.

Validation

On the dedicated build host at commit 76c6f78db32baa0062df4fa85bc3150d44d15920:

  • Node 24: npm ci, npm run lint, npm test, npm run build (7 tests passed)
  • Go 1.24: go test ./..., go vet ./...
  • production multi-stage container build

The migration uses an ON DELETE CASCADE report relationship; in-memory retention tests and storage behavior remove message data with the report.

@veryCrunchy veryCrunchy added the enhancement New feature or request label Aug 16, 2026
@veryCrunchy veryCrunchy moved this to In Progress in Nextcloud Native Roadmap Aug 16, 2026
@veryCrunchy
veryCrunchy merged commit af32470 into main Aug 16, 2026
4 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Nextcloud Native Roadmap Aug 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant