MerginMaps / MerginMaps/mobile

Android: Sync shows no error when server returns 503 Service Temporarily Unavailable

Open
#4,117 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement sync ui/ux
Dominant language
C++
Stars
388
Forks
87
Avg merge
2d 7h
Merged PRs (30d)
20

Description

Description
When syncing a project on Android while the server is temporarily unavailable (HTTP 503), the app provides no visible user-facing error (no toast/banner). The sync action appears to do nothing, leaving users uncertain about the failure and the server’s status.

Environment
Staging

Application (+ app version, build, operating system)

  • App: Mergin Maps Mobile (Android)
  • App version: 2025.6.0 (build 700311)
  • Device/OS: Samsung Galaxy A53 5G (Android 15), Motorola G62 (Android 13)
  • Network: Device online (Wi‑Fi/Cellular); server endpoints return HTTP 503 Service Temporarily Unavailable

Steps to reproduce

  1. Ensure the Android device has internet access.
  2. Make the Mergin Maps server return HTTP 503 for sync-related API calls (e.g., maintenance mode or a test/proxy that responds 503).
  3. In the app, open a project and tap Sync.
  4. Observe the UI feedback.

Actual results

  • No visible error message is displayed (no toast/banner/dialog).
  • The sync action appears idle or silently fails with no feedback to the user.

Expected results

  • A clear, immediate user-facing message indicating “Server temporarily unavailable (503)” or a generic “Server is temporarily unavailable. Please try again later.”
  • Action should fail fast with a visible message and an option to Retry when appropriate.
  • Consistent handling for 5xx responses, distinct from offline/airplane-mode behavior.

Screenshots or logs

Conclusion
Created by GitHub Copilot and supervised by a human test analyst.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the Android project sync entry point and reproduce the failure against a server returning HTTP 503. Trace how the sync response is surfaced to the UI; done means a visible temporary-server-unavailable message, an appropriate retry option, and behavior distinct from offline mode.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, cpp
Domain
api, mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.