Files
memby/server/REMOTE_CONFIG.md

49 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.