VOD
Kitchen
1,438 minBedroom
1,439 minOn YouTube
GitHub commits
ohnsh/dash11
- dash: bump dependencies
3f51eaf - mkoverlay: Added rudimentary "watching" to video.sh to automate runs. For now, it just sleeps for a half hour after each run (typical recordings are 15-20 min). FS watching will differ between macOS, Alpine, and Debian, so for now I'm keeping it simple.
5b820e1 - mkoverlay: New wrappers for rclone and video.ts that set up environment and `exec` into the commands. When running a bun script, .env is (apparently) loaded from the working directory, not the script directory, unless an option is passed on the command line.
f9a7e24 - dashd: Use lax wildcard fallback for CORS Access-Control-Allow-Origin. Now that the client isn't sending credentials (cookies), this is enough for web browsers to allow JavaScript access to dashd responses.
6fbac28 - dash-next: Now showing timestamps on VOD thumbnails and beneath the main player.
e87d1e4 - dash-next: switch from <img> to next/image component for thumbnail strips, but pass `unoptimized` so no processing takes place. Add useEffect logic to thumbnail strips to scroll the active (playing) thumbnail into view, or else scroll to the most recent clips in strips that are not currently playing.
ebbd916 - dash-next: fixed titles above thumbnail strips.
013cc1e - dash-next: Delete defunct file so that build/deploy works.
a704bad - dash-next: Now controlling sidebar state with context and a provider. I resisted but it is a much cleaner way to allow components throughout the layout to close the sidebar, especially links nested in sidebar menu components.
ba1280d - dash-next: Layout refactor; Sidebar is now a client component that renders <aside> and receives React state directly. Fixed bug with positioned content in main (VOD <video> element) appearing above the sidebar and backdrop on mobile.
aa24a88 - dash-next: New InventoryProvider that works via context to provide a filtered map of date -> inventory.json paths. The map is used by the sidebar menu and the man VOD content area. This allows interactive filtering. Note that useContext runs *on the server* when a client component is prerendered, so there shouldn't be any issues with grabbing the value from context instead of a server-side async query.
ace2338