You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Settings: profile location (latitude/longitude) with runtime permission #37
Part of #31 — Settings & preferences parity — most of PATCH /api/user/update is unreachable from Android
The web's Settings has Profile location and a Permissions section; the stored
lat/long drives the location and weather surfaces.
Add a location section that can set the coordinates from the device (with the ACCESS_COARSE_LOCATION runtime permission and a clear rationale) or by manual entry.
Setting location must stay optional — the app must be fully usable when it is refused.
Tests: PATCH round-trip; permission-denied path leaves the app functional.
Filed from the parity review of feature/parity-wip @ 14d7795 against interlinedlist.com (OpenAPI /api/openapi.json, 233 paths) and the public help centre.
Implemented in the PR above (branch issue/37-settings-location). Closing here — review and any follow-up happens on the PR.
The clear-location part of this issue cannot be built, and that is an API gap rather than an app limitation. Probed live: {"latitude":null}, {"latitude":""} and {"latitude":"null"} all return 400 "latitude must be a number between -90 and 90", and omitting the key means "leave unchanged". 0,0 is accepted but that is Null Island, a real coordinate rather than an absence. So there is no way to unset a profile location, and the states "never set" and "set once, now regretted" are not both reachable.
Rather than ship a button that always 400s, the ViewModel was changed so it cannot express a clear at all, and the affordance stays visible-but-disabled with the reason beneath it. The request plumbing is kept and documented so re-enabling is a one-liner if the API ever accepts a null.
Worth checking whether the web's Settings can clear it — if not, every web user is in the same position. Also worth reconciling: /help/settings says of the browser geolocation grant that InterlinedList "does not store your raw coordinates", which sits oddly beside a permanently stored lat/long on the user record.
Activity
PATCH /api/user/updateis unreachable from Android #31Adron commentedon Sep 16, 2026
Implemented in the PR above (branch
issue/37-settings-location). Closing here — review and any follow-up happens on the PR.The clear-location part of this issue cannot be built, and that is an API gap rather than an app limitation. Probed live:
{"latitude":null},{"latitude":""}and{"latitude":"null"}all return400 "latitude must be a number between -90 and 90", and omitting the key means "leave unchanged".0,0is accepted but that is Null Island, a real coordinate rather than an absence. So there is no way to unset a profile location, and the states "never set" and "set once, now regretted" are not both reachable.Rather than ship a button that always 400s, the ViewModel was changed so it cannot express a clear at all, and the affordance stays visible-but-disabled with the reason beneath it. The request plumbing is kept and documented so re-enabling is a one-liner if the API ever accepts a null.
Worth checking whether the web's Settings can clear it — if not, every web user is in the same position. Also worth reconciling:
/help/settingssays of the browser geolocation grant that InterlinedList "does not store your raw coordinates", which sits oddly beside a permanently stored lat/long on the user record.With this, all six sub-issues of #31 are done.
merge: #37 profile location (PR)