| Commit message (Collapse) | Author | Age | Lines |
| | |
|
| | |
|
| |
|
|
| |
closes #67
|
| | |
|
| |
|
|
|
|
|
| |
- yt-dlp should be more stable and allows more cool stuff in future
- easier to export cookies.txt with yt-dlp utility (cookies.json support removed)
- better quality fallback if not enough space
- keep progress reports after reconnections
|
| |
|
|
| |
closes #63
|
| |
|
|
| |
for better requestLeaderOnPause/unpauseWithoutLeader options
|
| | |
|
| |
|
|
| |
You also don't need to change `parent` arg in iframe src now
|
| |
|
|
| |
m3u8 videos are cached without downloading segments, only m3u8 file is downloaded and segment links are updated to use synctube proxy, so you can add video to playlist as server, ignoring ip restrictions, and stream it to everyone
|
| |
|
|
| |
closes #61
|
| | |
|
| | |
|
| |
|
|
| |
I messed up after reversing chat
|
| |
|
|
| |
closes #46
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
- Fix timer seek on server pause with double timer.pause() calls
- Implement multi-caching
- Better uploading progress with XMLHttpRequest
- Better upload/cache error reporting
|
| |
|
|
|
|
|
| |
- PWA support (needs https)
- Optimize websocket responses
- Support `/ad` for youtube cache
- New icon!
|
| |
|
|
|
|
| |
And you can play video as soon as upload starts! This is pretty useful for thicc ones. Video will be keeped in cache and will comply cache size limit.
I'm also implemented system storage check to change cache limit if it's lower than config value, so upload will be blocked if there is lower than 10MiB available on disk.
|
| |
|
|
|
|
| |
Also extended requestLeaderOnPause, so you can unpause when someone else is a leader by video click with this one. Only works for raw videos and doesn't work in FF, so there is new unsafe option that can break everything with enough clients.
There is also leader button hints when you touch player as non-leader for easier ux.
|
| | |
|
| |
|
|
| |
Also improve autoscroll with column-reverse, so viewport resize / orientation change should not scroll chat to random places
|
| |
|
|
|
|
| |
Sadly there is no info about video size for iframes, so they will be keeped as 16/9.
Let me know if this change breaks anything.
|
| | |
|
| |
|
|
|
|
|
|
| |
Server will download video from supported players and add as raw video to playlist (only youtube is supported for now).
Cache for YT player is available after installing optional dependencies, see readme. For cache size see `cacheStorageLimitGiB ` in config.
There is also minor ux improvement, latest checkbox states will be keeped in local storage now.
|
| |
|
|
|
|
|
|
| |
This works as voice over if video also has audio, changing video volume to 0.3.
Also improve autoplay by playing videos muted and unmute on first page click.
There is no mute if you use Firefox and allow autoplay on page (navigator.getAutoplayPolicy check).
|
| | |
|
| |
|
|
|
|
| |
Kick zombie users with same uuids.
Minimal node version is 14.
|
| | |
|
| |
|
|
| |
closes #49
|
| |
|
|
|
|
| |
- Fix youtube fallback, `videoItem.url` is now immutable
- JsApi.setVideoSrc now updates to supported player based on `url` arg
- Fix auto-pause when video is ended (with `requestLeaderOnPause`)
|
| |
|
|
|
|
|
| |
Also:
- fix `tryLocalIp` replacement (NAT workaround)
- improve proxy headers a bit
- use json2object fork for better generated diffs
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
for skipping youtube sponsored blocks
|
| | |
|
| |
|
|
| |
Or long tap on touch devices
|
| | |
|
| |
|
|
| |
Save without server timezone offset
|
| |
|
|
| |
And add "toggleItemType" permission. Closes #36
|
| | |
|
| | |
|
| | |
|