The complete list of what the app sends over the network. If a request is not on this page, the app does not make it. Each call has a page of its own.
01 · opensolr.com: your account
02 · api.opensolr.com: reading and searching your photos
| Call | When |
photos_ingest | New or changed photos, five per call: the whole indexing happens there |
photos_words | Words you changed, fifty photos per call, no picture |
photos_restore | Filling an emptied index back from the phone's copy, fifty documents per call |
photos_select | A typed search by meaning |
03 · The phone's index, and two other hosts
| Call | When |
/select, /suggest, /update, /opensolr-photos-config | Searches on words, facets, autocomplete, similar photos, the map, deletes, and the checks of a sync |
tile.openstreetmap.org | Map tiles, only while the map screen is open |
api.github.com | Whether a newer release exists: once a day, and on Check for updates. Nothing about you or your photos |
github.com | The new version's APK, only when you tap to install it, in the copy installed from GitHub. GitHub hands the download to its own file host; no other host is followed |
Account credentials travel in the request body and the index's credentials in the request's Authorization header, never in an address. No call that carries a credential follows a redirect, so a credential is never sent to a host the app did not name. The app does not call nearby_places: the place of a photo is worked out inside photos_ingest.
Most of what you do sends nothing at all: browsing, Stats, the tag suggestions and the comparison a sync makes are answered by the phone's copy of the index.
04 · Refusals the app understands
| Answer | What the app does |
ERROR_AUTHENTICATION_FAILED | The key was refused, or the phone was signed out in Account › Devices: back to the sign-in screen |
429 ERROR_AI_MONTHLY_QUOTA_EXCEEDED | A search by meaning runs on words only |
| 429, rate limit | The sync pauses and continues on its own a little later |
VECTOR_NOT_ALLOWED | A search by meaning runs on words only |
NOT_OWNER_ERROR | The index is treated as missing, and created only if the index list confirms it |
| 401 from the index | Reads the current password and repeats the request once |
| 403 from the index | Over disk space or bandwidth: the sync stops, a notification opens your account |