Commit Graph

1490 Commits (e14afdb6c1af2dd6b756fe6465cc5fa692cb15d0)
 

Author SHA1 Message Date
ElementalAlchemist 40cc601d93 Fix alignment of messages with emotes
ElementalAlchemist dc4e7f0835 Implement chat transcript for editor and chat replay for restreamer page
ElementalAlchemist 2939089edd Upgrade luxon
ElementalAlchemist b6a2d7e16a Give the thumbnail options controls some room to breathe
ElementalAlchemist 8c872f6999 Add image preview generation
ElementalAlchemist 9fa898d5aa Fix doing the time conversion before the data required for the time conversion is loaded
ElementalAlchemist 0e787677a0 Load thumbnail data for video
ElementalAlchemist 64f0ac714f Set up thumbnail editing with data plumbing through
Mike Lang 46ad45bdb9 thrimshim: Don't 500 if MODIFIED video doesn't contain some fields
Missing fields _should_ be interpreted as "don't update these" but we weren't doing that.
Mike Lang ab985cf1b0 Fix syntax error
Mike Lang 57d89b9b39 Fix missing imports
Mike Lang 05816ac51d fix a bug where shift is calculated wrong
we need to use the hour in PST, which we just hard-code as 8 hours.
If we ever hit DST before the run, we'll go back and do it properly.
Mike Lang cfe93e31dd Fix a bug where modified videos are missing static tags
Mike Lang bd519369bd thumbnail fixes
Mike Lang 31c3f0b8b1 OS-level dependencies for Pillow
Mike Lang 24c066e3e8 Add thumbnail support to thrimshim
All thumbnail columns are modifiable, so you can eg. switch from
a templated thumbnail to a custom one, or change the time and template.
Mike Lang 0f0aee36b3 restreamer: Add endpoint for previewing thumbnails
Mike Lang 45c46df8bb Add thumbnail templating code
Mike Lang d3e21ae9b0 Implement thumbnails in cutter
Mike Lang ce1f50db06 Database changes for thumbnails
Mike Lang 0681902789 Trigger download of the image file in a hacky way
Apparently this is the Recommended Approach for doing this - you create an <a> element,
set its attributes, then temporarily add it to the page and click() it.

The downloads.download() api we found earlier is exclusive to Chrome Apps.
Mike Lang adb6e2ae10 thrimbletrimmer: Add button to download current frame
It always uses source quality and downloads as a PNG.

We use the browser.downloads api to construct the URL on demand.

Note we might not always get the exact right frame in 60fps streams,
we might get one before or after (and "frame seek" in the editor skips 2 frames in this case).
ElementalAlchemist 1cb819a4c5 Use more native HTML options for editor keyboard shortcuts help
Mike Lang ffae321d04 editor: Make public checkbox "unlisted" instead, with negated meaning
less confusing
Mike Lang b9c44375c3 playlist_manager: Don't add non-public videos to playlists
So that playlists don't pick up unlisted videos.
When the video is modified to be public, it will be added as normal.

However, note that since playlist_manager never removes videos from playlists,
making an existing video public video unlisted will not remove it from playlists.
Mike Lang 36017aaccd sheetsync: Show unlisted videos in DONE state as UNLISTED instead
We don't actually want to represent them as a different state in the backend, but showing
them differently on the sheet is helpful to humans.
Mike Lang bd948235fb thrimbletrimmer: Add advanced submission option for "public" videos
Note that the default is true, so we only expand the advanced pane if it's false.
False corresponds to uploading a video as "unlisted".

Also mark it as modifyable.
Mike Lang 46468409cb Add "public" column to control if videos are unlisted
This column is modifyable.
This replaces the old "hidden" argument to youtube upload backends.
Mike Lang 50b830bf82 github actions: check out submodules when building
Mike Lang 4f2c5c48ec build chat_archiver in CI
Mike Lang 08257386e2 Add restreamer endpoint for viewing chat messages
Mike Lang 9320251de7 Some extra documentation on chat_archiver
Mike Lang d8a9b5ddf0 chat_archiver: Always sort json object keys to ensure canonical output
Mike Lang 651658e507 JOINs and PARTs have been observed with up to 30sec difference
it turns out to be completely undocumented what the max delay is. so let's assume 45s.
anything > 60s might cause problems due to matching messages being more than 1 batch apart.
Mike Lang c50224415c more backfiller chat fixes
fixup: more backfiller fixes

Enable backfilling of chat logs
Mike Lang 05a989f67d chat-archiver: fixes
Mike Lang c1c1c11bce chat_archiver: Add prometheus metrics
Mike Lang c25d79e7c2 chat-archiver: Merge all files every minute
Mike Lang 4cfc362f76 chat-archiver: pass in node name
instead of using container hostname
Mike Lang a48beab576 chat-archiver: update girc for py3 support and fixes
Mike Lang 315c9c8297 Integrate chat archiver as a proper component
Mike Lang f8b3ace148 Backfill chat archives under the "chat" quality
Mike Lang 05ddd39504 chat_archiver: Split files into directories by hour
matching how we handle video files
Mike Lang 1d626738bd chat_archiver: Start a new client on RECONNECT
Mike Lang 96cc212bf0 chat_archiver: fixes, implement merge_all
Mike Lang d32cbbb7e1 chat-archiver: File merging and other fixes
Mike Lang 0756539b85 chat-archiver: Early work and basic archival
Mike Lang 6b9d8ab785 Fix submit changes button - should be hidden by default
Mike Lang ac6612fb85 Add ability to submit video as MODIFIED to thrimbletrimmer
Mike Lang f06be1f391 thrimshim changes for modified
would be ideal to check all args to see if any don't match (and refuse to modify in that case)
but eh too much work to properly normalise.