Commits
-
Daily stat series per app: GET /api/v1/:app/stats/series/:metricOpenVibers · 17 Sept 2026
cc9d26d -
Re-sync vendored openvibe-shared: built-in theme palettes raised to WCAG AAOpenVibers · 16 Sept 2026
f5c75aa -
Clip retries: give up immediately when the source has no footage at that window (empty recording / past the end)OpenVibers · 15 Sept 2026
baf73a9 -
Hot-fetch: stall/budget watchdog on cloud downloads, stale .download cleanup, 30 min hard cap per clip re-cut so a hung stream can't wedge the retry sweeperOpenVibers · 15 Sept 2026
5921c71 -
Reliability: fix the file-descriptor leak in media streaming (80 GB of deleted VODs pinned), size-scaled remux timeout, clip auto-retry with hot-fetch, stall watchdogOpenVibers · 15 Sept 2026
3036841 -
VOD storage: make the B2 drain self-monitoring — free-space budget, fast re-runs, bounded uploads, stall alertsOpenVibers · 29 Aug 2026
0dd8bd4 -
VOD storage: ghost rows starved the B2 drain — quarantine them, log every pass, back off failed uploadsOpenVibers · 29 Aug 2026
a58b5f0 -
Views owned by Media: visit-based view_count with per-visitor cooldown + unique_views (hashed visitors), owner/bot/rate-limit exclusions, playback counts once per session, app API /api/v1/:app/views, paste API counts app-rendered page views, legacy unique-IP importOpenVibers · 27 Aug 2026
718c63c -
Sync shared notification UIOpenVibers · 27 Aug 2026
492216f -
Auth: stop reading a caller's identity out of a Network JWTOpenVibers · 20 Aug 2026
4661217 -
Auth: let an app act as one of its own users, by idOpenVibers · 20 Aug 2026
c3aa44f -
Thumbnails: fix frozen live frames on still-growing recordingsOpenVibers · 19 Aug 2026
930832e -
Pastes: expose an AI work queue and a write-back routeOpenVibers · 19 Aug 2026
cae7bef -
Pastes: let an owner see their own unlisted pastes in listingsOpenVibers · 19 Aug 2026
6c9e30b -
Pastes: log why a slug 404s (tenant vs missing)OpenVibers · 19 Aug 2026
a6353dc -
Clips: size the encoder queue wait for bulk backlogs (5min -> 30min)OpenVibers · 18 Aug 2026
a4fd406 -
Clips: recover cuts interrupted by a restartOpenVibers · 18 Aug 2026
8f94390 -
Clips: queue for an encoder slot instead of failing as 'busy'OpenVibers · 18 Aug 2026
030f8ff -
Clips: keep ffmpeg's error, widen the cut budget, allow re-cuttingOpenVibers · 18 Aug 2026
0907327 -
dev-data: read transcripts from Live, not the dead local columnOpenVibers · 18 Aug 2026
f658987 -
Media index: inline theme bootstrap so it matches the other sitesOpenVibers · 18 Aug 2026
eec49d9 -
Themes: sync from account without a token gate, cache custom themes, kill flashOpenVibers · 18 Aug 2026
06e1341 -
Redirect /p/:slug/raw to /screenshot for image pastes (stale hero-moment URLs)OpenVibers · 18 Aug 2026
052ea86 -
Zero-VOD prevention, chat-asset registry, AI fields in responses, navbar on indexOpenVibers · 18 Aug 2026
d7a4bca -
Media index home page; absolute media URLs; immutable thumbnail cachingOpenVibers · 18 Aug 2026
50e353a -
Dev data APIs: transcripts, AI timelines, chat insightOpenVibers · 18 Aug 2026
934dba3 -
Offline card as real JPEG bytesOpenVibers · 18 Aug 2026
970ebfa -
Live frame API: slug + @username selectors, styled OFFLINE cardOpenVibers · 18 Aug 2026
1598ae7 -
Live frame API: GET /live/:msid/frame.jpgOpenVibers · 18 Aug 2026
1be94ae -
Emit is_public alongside visibility in vodPublic/clipPublicOpenVibers · 17 Aug 2026
1e8e3dc