Validation: #33 Upload tab with ActiveStorage + MinIO
Validation: #33 Upload tab with ActiveStorage + MinIO
Verdict: PASS
PR
PR #36 (squash merged)
Checks
- QA review: APPROVED (blocker resolved, all 5 nits fixed)
- Upload model with ActiveStorage + MinIO backend in prod, local disk in dev
- Server-side content type + file size validation on Upload model
- Photos tab (5th tab) with auto-submit Stimulus controller
- Editable captions, thumbnail list, full-size show with display variant
- Show Inactive toggle on Properties manage tab (filter Stimulus controller)
- Active checkbox on property edit form
- N+1 fixed with Upload.with_attached_photo eager loading
- Alt attributes on all image tags
- CSS hardcoded hex replaced with --color-danger-light token
- Test host config fix (config.hosts.clear for RAILS_ENV=test)
- Full test suite: 52 specs, 0 failures (13 new upload specs)
- Docs updated: app-architecture, ROADMAP, hotwire, infrastructure, networking
- Dev proxy fix: X-Forwarded-Proto hardcoded to https for Tailscale Funnel
- pal-e-deployments: MinIO env vars added to prod deployment-patch + init container