Commit Graph
46 Commits
Author SHA1 Message Date
ponzischeme89andClaude Opus 5 abc392d30b 0.2.62 - Roll back the custom playback engine
0.2.61 shipped the groundwork for Memby playing video itself and caused
playback problems in the field, so it is withdrawn. This is 0.2.60's code
released as 0.2.62: Android refuses an APK whose versionCode went
backwards, so a set already on 0.2.61 (20061) could not install a 0.2.60
build (20060).

The 0.2.61 work is parked on parked/0.2.61 and tagged broken-0.2.61.

Also corrects the changelog headings the reset left behind: the top block
was labelled 0.2.59 while holding 0.2.60's notes, and 0.2.59's own two
entries were folded into it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 19:28:10 +12:00
ponzischeme89 a0b84dfc37 0.2.60 - Improvments to Requests, placeholders 2026-08-12 16:54:41 +12:00
ponzischeme89 4fb68f4bbc 0.2.59 - Settings save fixes 2026-08-12 15:39:08 +12:00
ponzischeme89 613f203cf9 0.2.58 - Requests module 2026-08-12 14:13:19 +12:00
ponzischeme89 64f19aeef2 0.2.57 - Traliers bug fixes 2026-08-12 13:08:53 +12:00
ponzischeme89 f2d052dbf6 0.2.56 - Reliable trailer playback 2026-08-12 11:05:07 +12:00
ponzischeme89 9777eb0952 0.2.55 - Remote config/Request fixes 2026-08-12 09:57:56 +12:00
ponzischeme89 4b31946635 0.2.54 2026-08-12 08:25:15 +12:00
ponzischeme89 e30962245e 0.2.53 2026-08-12 07:33:24 +12:00
ponzischeme89 5fed3360c2 0.2.52 2026-08-11 23:41:10 +12:00
ponzischeme89 0e183cf560 0.2.51 - update checker fixes 2026-08-11 17:26:48 +12:00
ponzischeme89 226136b4e7 0.2.51 2026-08-11 17:18:04 +12:00
ponzischeme89 5e5849f985 0.2.50 2026-08-11 15:18:26 +12:00
ponzischeme89 594159c0ae Release 0.2.49 2026-08-11 13:46:53 +12:00
ponzischeme89 f46d6596c5 0.2.48 - Tv calender fixes 2026-08-11 12:08:51 +12:00
ponzischeme89 dd2dd497f2 0.2.45 - Server side git commits 2026-08-10 20:54:00 +12:00
ponzischeme89 4c47a5f8a0 0.2.45 - Server side git commits 2026-08-10 20:39:26 +12:00
ponzischeme89 56c1167382 0.2.45 - Advanced analytics, logout old versions 2026-08-10 20:24:22 +12:00
ponzischeme89 63f0768507 Release v0.2.43 2026-08-10 13:09:38 +12:00
ponzischeme89 12b519762b 0.2.42 - DTS surround sound support 2026-08-10 12:24:25 +12:00
ponzischeme89 f41db66ac6 0.2.42 - DTS surround sound support 2026-08-10 12:23:23 +12:00
ponzischeme89 32c0054c44 0.2.41 - Preroll fixes, theme fixes 2026-08-10 09:39:09 +12:00
ponzischeme89 e1bb687df4 0.2.40 & server 0.1.30 2026-08-10 08:54:23 +12:00
ponzischeme89 78d26effbf 0.2.40 2026-08-10 08:37:08 +12:00
ponzischeme89 d2f2eb62be Improve playback, preroll and TV experience 2026-08-10 07:11:14 +12:00
ponzischeme89 598a4f5c75 Release v0.2.39
Publish Memby release / release (push) Canceled after 0s
v0.2.39
2026-08-09 16:57:14 +12:00
ponzischeme89 52e167ea59 Release v0.2.38
Publish Memby release / release (push) Canceled after 0s
v0.2.38
2026-08-09 16:04:40 +12:00
ponzischeme89 0dffd59440 Release v0.2.37 2026-08-09 13:10:55 +12:00
ponzischeme89 574826dc03 Release v0.2.36 2026-08-09 12:53:25 +12:00
ponzischeme89 add8aa831c Release v0.2.35 2026-08-09 09:36:35 +12:00
ponzischeme89 0c623bbcc0 Complete genre browsing for v0.2.34 2026-08-09 08:56:42 +12:00
ponzischeme89 fdd9e6cab2 Release v0.2.34 2026-08-09 08:25:50 +12:00
ponzischeme89 b1128bcce2 Release v0.2.33 2026-08-08 16:56:18 +12:00
ponzischeme89andClaude Opus 5 80c304d86b App v0.2.27 and gateway 0.1.23
Skip Intro from Emby's own chapter markers, trickplay seek previews from
BIF files, a server-composed home hero ranked on Radarr/Sonarr dates and
review scores, and My Alerts as its own page behind the user picker.

Related titles now degrade at every step instead of returning empty, and
the "+" is back on Manage users so a second viewer can be added from the
launcher.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 10:44:17 +12:00
ponzischeme89andClaude Opus 5 4a4df7a73c App v0.2.26 and gateway 0.1.20
Client: seek controls, Bazarr subtitle download and cast panel in the
player; MDBList ratings strip; episode and schedule detail pages; series
pace estimate; what's new panel; install-permission onboarding step;
synced per-profile preferences; Emby outage banner.

Gateway: rebuilt admin console (one fragment per page), preference
history and restore, merged Continue Watching, Emby health probe,
subtitle selection and Bazarr download, structured request logging with
per-request identity, and embedded build version.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 22:33:56 +12:00
ponzischeme89 2675e6d82b Add Memby account management 2026-08-03 10:16:44 +12:00
ponzischeme89 666da9c5d3 Add optional MDBList movie ratings 2026-08-03 08:55:52 +12:00
ponzischeme89 b6b2a9c25a Merge GitHub repository history 2026-08-02 22:11:04 +12:00
ponzischeme89 1ed180c739 Publish current app and server 2026-08-02 22:10:19 +12:00
Matt f12042ad24 Initial commit 2026-08-02 22:01:18 +12:00
ponzischeme89 a265636139 Big changes 2026-07-29 15:26:55 +12:00
ponzischeme89 70914400b4 Big changes 2026-07-29 15:26:27 +12:00
ponzischeme89 8d6cf2f5a1 Server changes/Sonarr 2026-07-27 21:06:51 +12:00
ponzischeme89andClaude Opus 5 62f6345a40 Server-controlled app updates, optional or forced
The gateway decides whether a TV may keep running its current build.
Clients send X-Memby-Version on every request and ask GET /v1/update on
each launch; the verdict is none, optional or mandatory.

- internal/appupdate holds the decision as pure, tested logic: below
  minimumVersion is mandatory, below latestVersion is optional.
- Admin page gains an App updates section — latest version, APK URL,
  notes, and a "Require this update" toggle that sets the forced floor.
- Client shows a dismissable prompt for optional, and a full-screen
  panel that swallows Back for mandatory. Instructions say what the
  system installer will ask before it asks.

Two safeguards: a client that cannot report its version is never forced,
and the client ignores a verdict with no download URL, so a
half-configured policy cannot produce an unblockable screen with a dead
button. An unreachable gateway shows nothing.

The verdict is deliberately not part of /v1/home: that payload is cached
per user, while this answer depends on the requesting client's version.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
v1.0.54
2026-07-27 08:34:04 +12:00
ponzischeme89andClaude Opus 5 08360b75e4 Self-hosted APK distribution
Memby is handed out from a NAS or web server rather than a store, so:

- UpdateChecker gains a static-manifest source alongside Gitea. A .json
  update URL is read as a manifest ({version, apkUrl, notes}); anything
  else is still treated as a Gitea host. apkUrl may be relative and is
  resolved against the manifest's own URL.
- Release signing config reads memby.keystore from local.properties or
  the environment. Without it the build still succeeds but warns loudly:
  an unsigned APK will not install, and a changed key forces every user
  to uninstall before they can update.
- release.ps1 bumps the version, runs tests, builds a signed APK and
  assembles dist/out/ (landing page, latest.json, versioned APK) ready to
  copy onto the NAS.
- Keystores and dist/out are gitignored.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 08:22:55 +12:00
ponzischeme89andClaude Opus 5 2ce405c540 Memby v0.1.53: Android TV client plus gateway
Android TV client for Emby (Kotlin, Compose for TV) and the Memby gateway
(Go, Postgres, Redis) that fronts it.

Client:
- Setup, profiles, home rows, Media3 playback, system screensaver (Dream)
- Backend chosen at build time: gateway when memby.gatewayUrl is set,
  otherwise direct to Emby. Both paths stay working.
- Server-composed home rows, rendered verbatim so new row types ship
  without an app release
- Full-screen animated maintenance state, row engagement telemetry

Gateway:
- One request per TV screen; auth, caching, search and row shaping
- Library import from Emby into Postgres (manual, then hourly incremental)
- Recommendations from viewing history (recency-weighted genre affinity)
- Admin page for imports, an offline switch, and per-row analytics
- Video always direct-plays from Emby; only metadata passes through

Identity is com.ponzischeme89.memby throughout, replacing
com.mattcohen.embyclientsname. A changed applicationId installs as a new
app: TVs need a fresh sign-in and the old package uninstalled.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 08:16:20 +12:00