Mike Lang
34a33fdeb6
partially implement playlist links in video descriptions
...
We make them conceptually "part of the footer" so they're updated only when the video
is otherwise updated (which would generally mean MODIFIED).
2 years ago
ElementalAlchemist
cae4976cf6
Fix incorrect use of substring
2 years ago
ElementalAlchemist
c6961bbd46
Add ACTION support
2 years ago
ElementalAlchemist
aa2c444d1a
Implement chat auto-scroll
2 years ago
ElementalAlchemist
4ac24fe716
Make the chat its own scrollable area
2 years ago
ElementalAlchemist
76de577695
Fix updating chat on playlist reload for restreamer page
2 years ago
ElementalAlchemist
4a1880461f
Add replies support
2 years ago
ElementalAlchemist
881073b4d4
Fix appearance of long messages
2 years ago
ElementalAlchemist
40cc601d93
Fix alignment of messages with emotes
2 years ago
ElementalAlchemist
dc4e7f0835
Implement chat transcript for editor and chat replay for restreamer page
2 years ago
ElementalAlchemist
2939089edd
Upgrade luxon
2 years ago
ElementalAlchemist
b6a2d7e16a
Give the thumbnail options controls some room to breathe
2 years ago
ElementalAlchemist
8c872f6999
Add image preview generation
2 years ago
ElementalAlchemist
9fa898d5aa
Fix doing the time conversion before the data required for the time conversion is loaded
2 years ago
ElementalAlchemist
0e787677a0
Load thumbnail data for video
2 years ago
ElementalAlchemist
64f0ac714f
Set up thumbnail editing with data plumbing through
2 years ago
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.
2 years ago
Mike Lang
ab985cf1b0
Fix syntax error
2 years ago
Mike Lang
57d89b9b39
Fix missing imports
2 years ago
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.
2 years ago
Mike Lang
cfe93e31dd
Fix a bug where modified videos are missing static tags
2 years ago
Mike Lang
bd519369bd
thumbnail fixes
2 years ago
Mike Lang
31c3f0b8b1
OS-level dependencies for Pillow
2 years ago
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.
2 years ago
Mike Lang
0f0aee36b3
restreamer: Add endpoint for previewing thumbnails
2 years ago
Mike Lang
45c46df8bb
Add thumbnail templating code
2 years ago
Mike Lang
d3e21ae9b0
Implement thumbnails in cutter
2 years ago
Mike Lang
ce1f50db06
Database changes for thumbnails
2 years ago
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.
2 years ago
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).
2 years ago
ElementalAlchemist
1cb819a4c5
Use more native HTML options for editor keyboard shortcuts help
2 years ago
Mike Lang
ffae321d04
editor: Make public checkbox "unlisted" instead, with negated meaning
...
less confusing
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
Mike Lang
50b830bf82
github actions: check out submodules when building
2 years ago
Mike Lang
4f2c5c48ec
build chat_archiver in CI
2 years ago
Mike Lang
08257386e2
Add restreamer endpoint for viewing chat messages
2 years ago
Mike Lang
9320251de7
Some extra documentation on chat_archiver
2 years ago
Mike Lang
d8a9b5ddf0
chat_archiver: Always sort json object keys to ensure canonical output
2 years ago
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.
2 years ago
Mike Lang
c50224415c
more backfiller chat fixes
...
fixup: more backfiller fixes
Enable backfilling of chat logs
2 years ago
Mike Lang
05a989f67d
chat-archiver: fixes
2 years ago
Mike Lang
c1c1c11bce
chat_archiver: Add prometheus metrics
2 years ago
Mike Lang
c25d79e7c2
chat-archiver: Merge all files every minute
2 years ago
Mike Lang
4cfc362f76
chat-archiver: pass in node name
...
instead of using container hostname
2 years ago
Mike Lang
a48beab576
chat-archiver: update girc for py3 support and fixes
2 years ago
Mike Lang
315c9c8297
Integrate chat archiver as a proper component
2 years ago
Mike Lang
f8b3ace148
Backfill chat archives under the "chat" quality
2 years ago