| .. |
|
config
|
fix(logging): gate CF-Connecting-IP on a Cloudflare peer, not any trusted proxy
|
2026-07-26 10:23:04 -05:00 |
|
db
|
Offline media on every player, and a revision so the cache can still be updated
|
2026-08-05 15:27:36 -05:00 |
|
lib
|
Merge #236/#235: portrait video walls, and a wall status view
|
2026-08-06 09:52:20 -05:00 |
|
middleware
|
Merge branch 'fix/recovery-grants' into release/auth-campaign
|
2026-07-26 16:22:59 -05:00 |
|
player
|
Merge 1.9.30: fail loudly on a missing asset; stop an empty playlist wiping the cache
|
2026-08-06 17:45:34 -05:00 |
|
routes
|
Merge #236/#235: portrait video walls, and a wall status view
|
2026-08-06 09:52:20 -05:00 |
|
scripts
|
fix(content+android): rotation-aware media — portrait upright on dashboard AND player (#170) (#172)
|
2026-07-12 22:05:11 -05:00 |
|
services
|
Show only the controls a display can actually honour
|
2026-08-05 14:24:52 -05:00 |
|
test
|
Merge 1.9.30: fail loudly on a missing asset; stop an empty playlist wiping the cache
|
2026-08-06 17:45:34 -05:00 |
|
ws
|
Describe a portrait video wall as portrait, and stop a wall hiding its screens
|
2026-08-06 09:46:31 -05:00 |
|
.gitignore
|
feat(email): Microsoft Graph send + alert spam protection + preferences UI
|
2026-05-12 18:16:40 -05:00 |
|
config.js
|
Add an operator override for self-update on MDM-managed panels
|
2026-07-28 23:07:30 -05:00 |
|
package-lock.json
|
chore(release): v1.9.30
|
2026-08-06 16:39:48 -05:00 |
|
package.json
|
chore(release): v1.9.30
|
2026-08-06 16:39:48 -05:00 |
|
server.js
|
Merge 1.9.30: fail loudly on a missing asset; stop an empty playlist wiping the cache
|
2026-08-06 17:45:34 -05:00 |
|
smoke-ui.js
|
Keep the smoke test out of npm test, and update the lockfile
|
2026-07-28 20:34:34 -05:00 |
|
version.js
|
chore(version): single-source VERSION, env-configurable data paths, bump tooling
|
2026-06-10 12:56:03 -05:00 |