Skip to content

Finalise fixes to photo uploader workflow (separate dialogs, review map, edge cases & resiliency)#733

Merged
spwoodcock merged 20 commits intohotosm:devfrom
konishon:feat-review-map-rejection-reason
Mar 17, 2026
Merged

Finalise fixes to photo uploader workflow (separate dialogs, review map, edge cases & resiliency)#733
spwoodcock merged 20 commits intohotosm:devfrom
konishon:feat-review-map-rejection-reason

Conversation

@konishon
Copy link
Copy Markdown
Collaborator

@konishon konishon commented Feb 26, 2026

What type of PR is this? (check all applicable)

  • 🍕 Feature
  • 🐛 Bug Fix
  • 📝 Documentation
  • 🧑‍💻 Refactor
  • ✅ Test
  • 🤖 Build or CI
  • ❓ Other (please specify)

Related Issue

Fixes #713 & Fixes #715

edit by @spwoodcock: Also fixes #701 fixes #719 fixes #720 fixes #504

Describe this PR

TBA

Screenshots

Rejected Images Rejected_Image_Reason_Blurry Please provide screenshots of the change.

Alternative Approaches Considered

TBA

Did you attempt any other approaches that are not documented in code?

Review Guide

Notes for the reviewer. How to test this change?

Checklist before requesting a review

  • 📖 Read the HOT Code of Conduct: https://docs.hotosm.org/code-of-conduct
  • 👷‍♀️ Create small PRs. In most cases, this will be possible.
  • ✅ Provide tests for your changes.
  • 📝 Use descriptive commit messages.
  • 📗 Update any related documentation and include any relevant screenshots.

[optional] What gif best describes this PR or how it makes you feel?

@github-actions github-actions bot added enhancement New feature or request backend Related to backend code migration frontend labels Feb 26, 2026
@konishon konishon mentioned this pull request Feb 26, 2026
7 tasks
@konishon
Copy link
Copy Markdown
Collaborator Author

konishon commented Feb 26, 2026

Before:

  1. Map shows nothing if images lack GPS
  2. Cancelled uploads leave duplicates in S3/DB
  3. No user feedback on cancellation

After

  1. Map displays blank on first visit to Image Classification (step 02) because MapLibre initializes before the mapData query completes.
  2. Map shows located images + sidebar shows unlocated images
  3. Images show rejection reason in text for eg, "Blurry (Sharpness: 3.2, Minimum: 100)
  4. Uppy cancel will do automatic DB/S3 cleanup
  5. Toast notification: "Upload cancelled. Staging images cleared."
  6. User can re-upload without duplicate conflicts

I am adding automated tests for the following manual tests

  • Upload batch WITH GPS images and verify map displays markers
  • Upload batch WITHOUT GPS and verify "No GPS Location" section shows
  • Upload then click Uppy cancel and verify toast + logs show cleanup
  • Re-upload same batch and verify no duplicates

@konishon konishon force-pushed the feat-review-map-rejection-reason branch from 1f78a46 to 76cb50c Compare February 26, 2026 04:23
@spwoodcock
Copy link
Copy Markdown
Member

Looking good!

@konishon konishon self-assigned this Mar 1, 2026
@spwoodcock spwoodcock requested a review from FeezyHendrix March 11, 2026 15:28
@spwoodcock spwoodcock marked this pull request as ready for review March 17, 2026 01:48
@spwoodcock spwoodcock changed the title Feat review map rejection reason Finalise fixes to photo uploader workflow (separate dialogs, review map, edge cases & resiliency) Mar 17, 2026
@spwoodcock
Copy link
Copy Markdown
Member

I think we are good to go! The tests are failing because of issues with forked repos I believe - they all pass locally

@spwoodcock spwoodcock merged commit e8978bc into hotosm:dev Mar 17, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment