Files
memby/server/REMOTE_CONFIG.md
T

49 lines
1.8 KiB
Markdown
Raw Normal View History

2026-08-12 09:57:56 +12:00
# Remote Config
Membys Remote Config is deliberately limited to copy, an optional presentation flag and
bounded navigation-rail measurements. It cannot control authentication, playback, routes or
any behaviour needed to reach and use the library.
Set `MEMBY_REMOTE_CONFIG_JSON` in the deployments `.env`, as one JSON line, then redeploy
the gateway. The value is one complete document; partial documents and unknown fields stop the gateway
at start-up instead of silently inventing a mixed configuration. Increase `configVersion`
for every change. A television will validate and store the new document in the background,
then activate it only when a new app process starts.
```json
{
"schemaVersion": 1,
"configVersion": 2,
"minimumAppVersion": "0.2.54",
"maximumAppVersion": "",
"copy": {
"navigation": {
"home": "Home",
"forYou": "For You",
"search": "Discover",
"movies": "Films",
"tvShows": "TV Shows",
"tvCalendar": "TV Calendar",
"favourites": "Favourites",
"user": "User",
"settings": "Settings"
},
"tagline": "Your library, made personal"
},
"features": {
"showNavigationVersion": false
},
"presentation": {
"navigationRailExpandedWidthDp": 196,
"navigationContentShiftDp": 120
}
}
```
The gateway sends a content-derived `ETag`; an unchanged client receives `304 Not Modified`.
The APK accepts schema 1 only, requires a strictly newer positive `configVersion`, checks its
own version against the optional inclusive bounds, limits every piece of copy to 64 characters
without control whitespace, and bounds the two measurements. A missing, slow, malformed or
incompatible response leaves the last-known-good document untouched. If no valid cache exists,
the complete APK defaults are used.