Go to file
Ivo Oskamp 451ce1ab22 Add screenshot attachment support to Feedback/Bug system
User request: Allow screenshots to be attached to bug reports
and feature requests for better documentation and reproduction.

Database:
- New model: FeedbackAttachment (file_data BYTEA, filename, mime_type, file_size)
- Links to feedback_item_id (required) and feedback_reply_id (optional)
- Migration: auto-creates table with indexes on startup
- Cascading deletes when item or reply is deleted

Backend (routes_feedback.py):
- Helper function: _validate_image_file() for security
  - Validates file type using imghdr (not just extension)
  - Enforces size limit (5MB per file)
  - Secure filename handling with werkzeug
  - Allowed: PNG, JPG, GIF, WEBP
- Updated feedback_new: accepts multiple file uploads
- Updated feedback_reply: accepts multiple file uploads
- Updated feedback_detail: fetches attachments for item + replies
- New route: /feedback/attachment/<id> to serve images

Frontend:
- feedback_new.html: file input with multiple selection
- feedback_detail.html:
  - Shows item screenshots as clickable thumbnails (max 300x200)
  - Shows reply screenshots as clickable thumbnails (max 200x150)
  - File upload in reply form
  - All images open full-size in new tab

Security:
- Access control: only authenticated users with feedback roles
- Image type verification using imghdr (header inspection)
- File size limit enforced (5MB)
- Secure filename sanitization
- Deleted items hide their attachments (404)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 13:28:41 +01:00
containers/backupchecks Add screenshot attachment support to Feedback/Bug system 2026-02-10 13:28:41 +01:00
deploy Auto-commit local changes before build (2026-01-01 16:09:56) 2026-01-01 16:09:56 +01:00
docs Add screenshot attachment support to Feedback/Bug system 2026-02-10 13:28:41 +01:00
.gitignore Add .gitignore to protect confidential .claude directory 2026-02-08 20:46:34 +01:00
.last-branch Auto-commit local changes before build (2026-02-10 11:49:48) 2026-02-10 11:49:48 +01:00
build-and-push.sh Auto-commit local changes before build (2026-01-01 16:40:37) 2026-01-01 16:40:37 +01:00
LICENSE Auto-commit local changes before build (2026-01-01 16:09:56) 2026-01-01 16:09:56 +01:00
README.md Auto-commit local changes before build (2026-01-01 16:09:56) 2026-01-01 16:09:56 +01:00
TODO-audit-logging.md Auto-commit local changes before build (2026-02-07 21:41:42) 2026-02-07 21:41:42 +01:00
TODO-documentation.md Update TODO-documentation with per-job review corrections status 2026-02-08 20:08:43 +01:00
TODO-reports-improvements.md Add comprehensive TODO for reports improvements 2026-02-07 23:36:23 +01:00
version.txt Release v0.1.26 on branch v20260210-01-autotask-ticket-propagation-fix (bump type 1) 2026-02-10 11:35:27 +01:00