Commit Graph

1912 Commits (46f8b04e40e4991619d61660143f37b30a038b5b)

Author SHA1 Message Date
Omar Roth 351ecfae0f
Fix body when proxying assets with status code > 300
Omar Roth b22393092b
Fix protocol for video author thumbnails
Omar Roth 1485ee8027
Fix channel thumbnail size in FireFox
Omar Roth 60826c2d0c
Fix author thumbnail for community replies
Omar Roth fb383458d7
Add /api/v1/search/suggestions
Omar Roth 196ee1aa8b
Add '/api/v1/channels/comments'
Omar Roth 2df97cd2f5
Fix provided author for '/videos' endpoint
Omar Roth 501b523680
Fit channel link to content
Omar Roth 6efa6691b1
Clean up comment templating
Omar Roth c47f1ae236
Add Reddit comment permalink
Omar Roth aac240fe41
Resize comment thumbnails
Omar Roth 041debcd93
Revert "Chunk videoplayback response to avoid throttling"
This reverts commit 818cd2454d.
Omar Roth 0632a2d3c8
Fix logging for /watch URLs
Omar Roth 9f40b3a873
Add missing table to check_tables
Omar Roth 48ad744ebf
Add support for default channel banners
Omar Roth 556d5b0ca5
Resize channel thumbnails
Omar Roth e30d70b6d4
Refactor proxy_list into global
Omar Roth a58f5a925a
Add banner to "/playlists" page
Omar Roth 0d0d3edeae
Add thumbnail and banners to channel page
Omar Roth dd0be7c522
Revert "Push potential fix for #578"
This reverts commit ebfd7d2153.
Omar Roth 9d2982fcd7
Fix typo in '/videoplayback'
Omar Roth ebfd7d2153
Push potential fix for
Omar Roth 818cd2454d
Chunk videoplayback response to avoid throttling
Omar Roth b31d1c06f5
Fix typo in StaticFileHandler
Omar Roth 6cd884555c
Patch StaticFileHandler to serve files from memory
Omar Roth 47ef74a1bb
Refactor commonly used request and response headers
Omar Roth ca79e81b39
Fix simpleText in comments extractor
Omar Roth a9e86cecf5
Fix comment extractor
Omar Roth 807723c5b2
Fix status codes on error
Omar Roth 17edfd6573
Shorten timeout for AJAX
Omar Roth 458e9d6cc7
Update license for sse.js
Omar Roth 485459b8b2
Add clickable title for embedded videos
Omar Roth fcf377d26b
Fix escaping for login page
Omar Roth 3be1c9261f
Fix sleep in pull_top_videos
Omar Roth 38600b3347
Update list of domains for pulling Reddit comments
Omar Roth 552f616305
Fix retry on timeout for AJAX requests
Omar Roth a3164177f8
Fix SMS for Google login
Omar Roth fa6bf21cd1
Update Google login
Omar Roth eecf76c1fb
Fix typo in short_description
Omar Roth d1635cf24e
Set max preference size
Omar Roth b43e9ed7e7
Refactor 'description_html'
Omar Roth 12b2ab5da8
Add 'to_json' into respective structs
Omar Roth 1c9085556c
Add support for 'attribution_link'
Omar Roth 9122f8acee
Add title overlay to embedded videos
Omar Roth ef8c9f093c
Add premiere date to watch page
Omar Roth 801dffd571
Fix RSS content-type
Omar Roth 0b1c57b39f
Add notifications to private feed
Omar Roth 2febc268f7
Fix warnings in Crystal 0.29
Omar Roth 58995bb3a2
Add support for log levels
Omar Roth 8c944815bc
Minor refactor
Omar Roth f065a21542
Fix 404 handling for endpoints matching short URLs
Omar Roth 27e032d10d
Add '/api/v1/auth/feeds'
Omar Roth ab3980cd38
Enforce maximum email length
Omar Roth 317d8703ca
Optimize query for pulling popular videos
Omar Roth fda619f704
Fix 'unique_res' to keep resolutions unique within a representation
Omar Roth e4a0669da8
Fix typo in video param
Omar Roth 8521f04087
Use short URL for sharing videos
Omar Roth 8ba45808be
Fix typo in '/api/manifest/dash/id'
Omar Roth d876fd7f5b
Add 'unique_res' option to '/api/manifest/dash/id'
Omar Roth 352e409a6e
Fix toggle_theme when visiting preferences with JS disabled
Omar Roth d6ec441c8e
Add buffer for notification channels
Omar Roth d197497349
Add 'type' field to ChannelVideo and Video
Omar Roth d892ba6aa5
Refactor connection channel for delivering notifications
Omar Roth 84b2583973
Fix insert for empty descriptions
Omar Roth 108648b427
Optimize query for creating subscription feeds
Omar Roth 71bf8b6b4d
Refactor connect_listen for notifications
Omar Roth 576067c1e5
Fix preference for web notifications
Omar Roth 4e111c84f3
Fix typo in '/watch'
Omar Roth 8cecce7570
Fix audio mode for raw URLs
Omar Roth 0338fd42e1
Add support for Web notifications
Omar Roth b3788bc143
Fix typo for feed_needs_update
Omar Roth 18d66ddded
Add 'needs_update' column for scheduling feed refresh
Omar Roth 701b5ea561
Remove watched videos from notifications
Omar Roth 86d0de4b0e
Fix typo in post webhook
Omar Roth a95958f9f6
Fix videoplayback when encountering redirector URLs
Omar Roth 69ab236f3f
Fix typo in '/watch'
Omar Roth 4cf3c6a616
HTML-escape strings to '/api/v1/auth/preferences'
Omar Roth da48bbf312
Add support for partial POST to '/api/v1/auth/preferences'
Omar Roth ac957db6d1
Provide dash qualities as reported by YouTube player
Omar Roth 64464f23ae
Add 'views' to channel_videos
Omar Roth efd54b7523
Add 'comments' as URL parameter
Omar Roth a7578aa709
Update videojs-vtt-thumbnails version
Omar Roth fc346b4efd
Add 'View playlist on YouTube'
Omar Roth ad09e734da
Refactor refresh_feeds
Omar Roth c07ad0941c
Fix typo in refresh_feeds
Omar Roth 3ac766530d
Add proper queuing for feed events
Omar Roth f66fa1150e
Fix inconsistency in translation
Omar Roth f820706e4f
Truncate password to 55 bytes
Omar Roth 29e9e0f2cc
Provide empty response on 204
Omar Roth 71cd8918be
Fix URI for storyboard extractor
Omar Roth c049ba59ff
Add stub for '/timedtext_video'
Omar Roth 51c5f28443
Add config option for updating feeds on event
Omar Roth bb1ed902a9
Trigger feed update when modifying subscriptions
Omar Roth b016a60a75
Add triggers for updating feeds
Omar Roth 890d485bb5
Fix formatting
Omar Roth 208bb2d72f
Catch connection reset when proxying files
Omar Roth 267bf289c4
Exclude /api/v1/auth/notifications from middleware
Omar Roth b3e083d866
Add POST /api/v1/auth/subscriptions
Omar Roth a675c64c2d
Refactor DBConfig
Omar Roth 8b50c8515f
Fix content-type for captions
Omar Roth 1eaa377583
Add Greek translation (thanks Iris!)
Omar Roth 06bf0c2622
Copy proxy_file in chunks
Omar Roth 3ac8de0a64
Fix proxy_file when response body is empty
Omar Roth f237fd9847
Fix CORS headers for proxied assets
Omar Roth 5730280325
Only modify cues for auto-generated captions
Omar Roth ab4df7e078
Fix response for proxied assets
Omar Roth 7d2e1f63b5
Refactor watched_widget.js
Omar Roth e119459411
Add GET '/authorize_token'
Omar Roth 97ef2191fd
Add 'hsts' as config option
Omar Roth a4134d30fa
Fix comedy genre URL
Omar Roth bdfe170c3b
Fix length seconds for videos with longer duration
Omar Roth 7cd66e20d0
Fix typo in X-XSS-Protection
Omar Roth d93df15eff
Update licenses
Omar Roth ddfd20d997
Fix CSP for subdomains
Omar Roth fd8af88493
Use separate asset version for cache busting
Omar Roth bfa488f77d
Add option to toggle theme without reload
Omar Roth 4616f889fd
Add simple form of cache busting
Omar Roth 59cbf95c4f
Update licenses
Omar Roth 058711d3a8
Refactor player.js
Omar Roth 2ddc61fa5c
Refactor embed.js
Omar Roth e04b7d0f01
Fix video previews for embeds
Omar Roth 2faa2ed1f4
Refactor watch.js
Omar Roth 53fbb257b9
Update fix for HTTP Client
Omar Roth 65a32d6e20
Update fix for
Omar Roth 0099a9822e
Refactor subscribe_widget
Omar Roth 0cf86974dd
Add redirect for videos with no audio sources
Omar Roth 757993064e
Fix view_count_text extractor for livestreams
Omar Roth 570715100b
Fix text size for premieres
Omar Roth ad8750b40d
Fix referer escaping
Omar Roth 757ea93393
Fix typo
Omar Roth dbd5a222d5
Add '/watch_videos' endpoint
Omar Roth bba80bc80f
Fix content-type for HEAD '.jpg'
Omar Roth 6d92775ab5
Add video previews
Omar Roth 1a9360ca75
Minor formatting changes
Omar Roth 22b9bbe702
Add support for anonymous playlists
Omar Roth 6fb44083ec
Update source and licenses
Omar Roth 56fe3ede5b Add annotation preferences
glmdgrielson e48a000784 Add annotation player
This addresses issue  from master. Yay for adding annotations back!
Omar Roth 6d1c150ff5
Fix typo
Omar Roth 21190a240f
Add support for adding banner to site header
Omar Roth 8a525bc131
Add '/api/v1/auth/preferences'
Omar Roth 734905d1f7
Bump max-age for HSTS
Omar Roth 90edf2fc60
Add 'debug' topic to /api/v1/auth/notifications
Omar Roth c6c92184d9 Fix duplicate id on watch page
Omar Roth c4fbc65354 Provide bundled streams first in download widget
Omar Roth 54d250bde4 Add 'since' to '/api/v1/auth/notifications'
Omar Roth ef309bd8d0 Translate value for 'familyFriendly'
Omar Roth 6cdb6ec711 Add support for plurlization to locales
Omar Roth 03891b66b6 Show view count for related videos
Omar Roth 5c4defdb8e Add support for '/c/:user/live'
Omar Roth f08d53b0c6 Add view count to livestreams in search results
Omar Roth 6859b85266 Add 'lang' to HTML tag
Omar Roth 075adb4f03 Add http-source-selector
Omar Roth 8c2958b86d Add 'local=true' to hlsUrl
Omar Roth f15b7cebac Try to prevent timeout in /data_control
Omar Roth 19ed5bf993 Add support for 'user' URLs in NewPipe import
Omar Roth 5567e2843d Force refresh after receiving PubSub notification
Omar Roth 250860d92c Add '/api/v1/auth/subscriptions'
Omar Roth 64aecba7a0 Add option to change passwords
Omar Roth 30e567e8b6 Fix published time for /api/v1/auth/notifications
Omar Roth ddd74549fe Fix description field for /api/v1/videos
Omar Roth 14620c32aa Don't overwrite published date for channel_videos
Omar Roth fb7068d415 Add '/api/v1/notifications'
Omar Roth 8614ff40df Add support for Ukranian and Esperanto
Allan Nordhøy aa10a9d899 Language fixes ()
* Language fixes
Omar Roth bb5a1ad513 Add 'continue_autoplay' preference
Omar Roth eac0a52f10 Fix shiftKey for player hotkeys
Omar Roth 7a8d5a391a Fix downcasting with usernames
Omar Roth 2a6c81a89d Add authentication API
Omar Roth 25359e5320 Fix typo in 404 handler
Omar Roth b6fff53b21 Refactor HTTP::Client calls into make_client
Omar Roth ae7b5fac74 Fix handling for comments
Omar Roth 26168a9520 Refactor CSRF tokens (using format in )
Omar Roth 3bcb98e644 Add config option to cache annotations from IA
Omar Roth 05513bcd1e Fix "placeholder=" text in locales
Omar Roth f5dd135ed8 Add 'view as playlist' option to trending page
Omar Roth 9c8f85741c Fix search when keyword matches operator
Omar Roth ca515f2eae Use headset icon for audio mode
Omar Roth 80c1ebd768 Support 'sort_by' in reddit /api/v1/comments
Omar Roth b51fd7fc13 Add view count to video items
Omar Roth efe86c37b2 Show subscribe text when not logged in
Omar Roth d20a4a8bfc Fix grid size for smaller devices
Omar Roth 9a7fea0447 Add playlist support to embedded videos
Omar Roth ae52ff93b2 Fix 404 for annotations endpoint
Omar Roth 80a567bf1e Fix video count in playlist extractor
Omar Roth ce2a3361eb Fix missing author name for channel_videos
Omar Roth ca9ea109c6 Add id to AdaptationSets
Omar Roth 2a33a746f0 Remove content type from videoplayback redirects
Omar Roth e8c5246645 Fix share button
Omar Roth 98295b85ab Add webm to dash manifests
Omar Roth af1823db8c Fix url in storyboards
Omar Roth a2ab6b89f1 Fix width and height in manifest
Omar Roth 5de300fb35 Fix default background color for player
Omar Roth 62a4c82e95 Add storyboards and fix image caching
Omar Roth d522c864d4 Add dashUrl to /api/v1/videos
Omar Roth aa8ff7ace3 Always use ucid for channel search
Omar Roth 4e6a931de3 Make check_tables config option
Omar Roth 5e141e869d Add subtitles to download widget
Omar Roth 611555514c Remove unnecessary XML declaration
Omar Roth e1c78fcbd3 Update view names to avoid collisions
Omar Roth 8640d6bb1e Add 'extract_polymer_config'
Omar Roth 28d5bedcc7 Speed up table creation
Omar Roth 373b890e1d Log command before execution
Omar Roth aad0f90a9d Add 'sign_token'
Omar Roth 5dc45c35e6 Automatically migrate database
Omar Roth b8c87632e6 Add feed link to watch history
Omar Roth c85903383a Fix to_json for storing user preferences
Omar Roth 4aededf038 Add media-src blob: to CSP
Omar Roth 4bc6501b8d Add 'blob' to CSP
Omar Roth a1b3b47573 Add CSP, STS, and Referrer-Policy
Omar Roth c8cf4fe09c Fix subscription_ajax for Google accounts
Omar Roth ca07d75405 Add '--version' to command line
Omar Roth ea0d52c0b8 Add support for Spanish translation
Omar Roth b82fb58dc4 Fix typo in handling 'controls' param
Omar Roth c728214af7 Fix batch importing of channels
Omar Roth 305d636217 Add multithreading to pubsub job
Omar Roth 31312747e9 Fix from_yaml in ConfigPreferences
Omar Roth 5ef288b840 Add 'sort_by' to /api/v1/comments
Omar Roth f6615a490d Allow disabling download widget for specific videos (in compliance with DMCA)
Omar Roth bd4f5ebcdf Add option to configure default user preferences
Omar Roth 1fd7ff5655 Add scheme to author thumbnail
Omar Roth ab7e1b42bd Add '/api/v1/annotations/:id'
afrmtbl a7723e6ded Implement "fields" parameter from the YouTube Data API ()
* Implement fields handling
Omar Roth 1b78001201 Use struct for allocations
Omar Roth 36c0eae7ed Add /feeds/videos.xml
Omar Roth 0ae43e242f Fix pubsub job for newly added channels
Omar Roth 388e58bf1e Update handling for preferences
Omar Roth eee973fe86 Fix host in redirect
Omar Roth 61769c6f9c Fix local redirects in /videoplayback
Omar Roth 7a0f0ca5ce Fix thin mode
Omar Roth 63be05146d Fix expire for prefs cookie
Omar Roth 9239cfb3c1 Fix redirect for shortened video urls
Omar Roth d70933c9f2 Fix typo in allow_ratings
Omar Roth 9ac2ddcb4d Fix premiere_timestamp without scheduledStartTime
Omar Roth 8d9569e06b Add 'unlisted' icon to watch page
Omar Roth c15790f230 Use user preferences in embedded videos
Omar Roth 13924a8353 Fix duplicate file extension
Omar Roth fd84b57ac8 Use tuples for "qualities" in API endpoints
Omar Roth 591a6b330a Remove 'crawl_threads', fix sleep in fibers
Omar Roth a3b767bb13 Add live now indicator to playlists
Omar Roth 847ee61bf4 Fix typo in APIHandler
Omar Roth 0c6cede287 Format files and trim trailing whitespace
Omar Roth 1c8075ca40 Add 0.25 to list of playback rates
Omar Roth 56b0952cd1 Update sources
Omar Roth 57c05354c2 Move 'pretty=1' into middleware
Omar Roth 90b5479735 Fix error message for invalid video ID
Omar Roth 1079c4516c Automatically recreate views with outdated schema
Omar Roth 7381985c79 Fix typo in logger
Omar Roth fd26f9f34e Add support for premieres to search and feed
Omar Roth 88b70973cc Add 'premiereTimestamp' to /api/v1/videos
Omar Roth f0658bbd09 Add 'liveNow' to subscription feed
Omar Roth 6e51189d4d Expire nonce on register
Omar Roth f1d7aa09e4 Add fix for Google cookies with no extension
Omar Roth 88e6b865d9 Update contact email for text captcha
Omar Roth d5c6d74f14 Fix loading icon size
Omar Roth 202f3d36c4 Bake in branch, commit, version
Omar Roth 9091b36249 Don't require CAPTCHA for login
Omar Roth 21285d9f6d Fix file extension for download widget
Omar Roth 2ebc773863 Add mixes to genre channels
Omar Roth 44f4057876 Fix issue with cookie expiration
Omar Roth d85020079f Add shortcuts for changing playbackRate
Omar Roth 956dc382ea Clean up player CSS
Omar Roth 99aa214859 Add 'thumbnail_id' to playlists
Omar Roth 405e98f429 Add 1.25 and 0.75 playback rates
Omar Roth a8c375fc95 Update copyright notice
Omar Roth 4a56a2cad6 Remove outline when clicking on player
Omar Roth e738e57e26 Add 'local' option to preferences
Omar Roth 21ebc398fa Add privacy policy
Omar Roth e86eb16d91 Add temporary fix for
Omar Roth 1fcd1ff3e8 Add better fallback for '/videoplayback'
Omar Roth 58f4212aa8 Remove 'host' from query params
Omar Roth f01152eda1 Add 'host' to '/videoplayback'
Omar Roth 11ff40bcd6 Fix paths for 'local=true&raw=1'
Omar Roth 46e985b306 Add 'dark_mode', 'thin_mode' as query parameters
Omar Roth fdc014af67 Add '&local=true' to watch and embed pages
Omar Roth bf11a46abe Bump expire time for pubsub
Omar Roth 8f41130a14 Update and add missing text to locales
Omar Roth 9b8703cf49 Fix tab name for auto-generated channels
Omar Roth c4d77bc18a Use host_url for generating thumbnails
Omar Roth bc1e62ce51 Add 'external_port'
Omar Roth ce528c9783 Update sorting for subscriptions
Omar Roth b9c7501012 Fix typo in pubsub update
Omar Roth ae10052aaf Fix date parsing for RSS feeds
Omar Roth 10abcd519f Add RSS alternate to channel and subscription pages
Eugene Molotov 7380585f00
Add alternate link with rss feed to playlist page
Omar Roth 7557ffcda1 Mark deleted channels in /subscription_manager
Omar Roth bc9d70109c Fix typo in index
Omar Roth a65998274f Defer loading videojs-share until last
Omar Roth b2f4a0276a Remove "lease_seconds" from pubsub response
Omar Roth 99d9c3a900 Fix rows for subscribe job
Omar Roth e4dc430c74 Update hub topic URL
Omar Roth 1435516a9c Add port number to host URL
Omar Roth 2a1befb41a Fix sorting for latest_only
Omar Roth 2840d98fd4 Fix tagging for current version
Omar Roth 32b9c0c840 Fix tagging for current branch
Omar Roth 6375a62465 Clean up handling for callback endpoint
Omar Roth aa63c3f70e Update formatting and default feed menu
Omar Roth 004fb96b2f Add nonce to pubsub token
Tommy Miland a1af75a87f Update template.ecr
Add current branch to footer.
Add icons to footer.
Tommy Miland 732bd28c92 Update invidious.cr
Add current branch.
Omar Roth 7425700009 Update pubsub to support lease_seconds
Omar Roth 8e884fe115 Fix webhook endpoints
Omar Roth 96c09450b8 Fix column name ucid in jobs
Omar Roth 64cfd2296c Add support for subscribing to channels via PubSubHubbub
Omar Roth 17cf0772fb Set domain to be nil by default
Omar Roth 66605196ad Remove "detect_language" from dependencies
Omar Roth 2c9b148627 Add 'playlists' tab to channel page
Omar Roth 07ef48a07a Add length_seconds to playlist on watch page
Omar Roth 03f94db5e2 Fix watch filtering from subscription feed when watch history is empty
Omar Roth 9b202adebd Remove <hr> from footer
Omar Roth daf8e5b8b6 Remove array from usage statistics
Omar Roth f0cc7a925c Add 'lastChannelRefreshedAt' to /api/v1/stats
Omar Roth 057e69fe70 Update User-Agent and statistics schema
Omar Roth 4be82c5ca6 Add /api/v1/stats
Omar Roth 0eaf8f38a1 Add support for Basque translation
Omar Roth 5859cd290c Clean up footer and add version
Omar Roth a39b1583da Add administrator preferences
Omar Roth 2fe545e19a Add content element to RSS feeds
Omar Roth ea52c05f05 Fix escaping for video filenames
Omar Roth 7ffc3a0652 Set updated for deleted channels
Omar Roth 51df0860cc Update dependencies
Omar Roth e4f397d049 Fix RSS thumbnails
Omar Roth 0c8dff162d Fix embed extractor for age-gated videos
Omar Roth 4865529fed Create views if they don't exist
Omar Roth 0a404cc9a6 Add fix for missing param in "/videoplayback"
Omar Roth 17b84f32df Fix duration in /api/v1/search
Omar Roth 27cd1e73f3 Fix feed menu on mobile
Omar Roth d6bd893573 Add fix for missing hash keys
Omar Roth 7a7049b25b Escape video titles in download widget
Omar Roth 62ff9605ce Extract format streams from player response
Omar Roth 2847c34f58 Bump version
Omar Roth b5a00f3c47 Remove duplicate information from autogenerated channel page
Omar Roth 09d0972ab4 Pull dash URL from player response
Omar Roth 6b12449be4 Show playlists for auto-generated channels
Omar Roth 955b36913f Add fix for spaces in content-disposition
Omar Roth 7e6cf7b979 Add title text for icons
Omar Roth c5a17cd043 Add subscriptions to feed menu
Omar Roth 1692f7640c Remove JS from download widget
Omar Roth ebcb21dbfe Allow user to save preferences without creating an account
Omar Roth 7f75a7ca0b Add support for changing signature param
Omar Roth bdc9196b4a Escape email when creating feed for Google account
Omar Roth 85854cac77 Add support for custom channel URLs
Omar Roth 5bf3c28436 Add better indicator for livestreams
Omar Roth 40073e7089 Fix sorting options for /feed/private
Omar Roth 9a1f4de323 Convert intervals to integers
Omar Roth 83493237a5 Add support for translating time intervals
Omar Roth f647f7bdea Clear session ids when deleting an account
Omar Roth 6b61eefca7 Add support for Italian locale
Omar Roth f26ad00155 Add /api/v1/channels/playlists/:ucid
Omar Roth a210327318 Add `/api/v1/channels/latest/:ucid`
Omar Roth 58fb74179b Add fix for videos that don't have videoDetails
Omar Roth 92223dbee5 Fix channel RSS feed
Omar Roth 1ceb827a82 Check deleted channels
Omar Roth f85472c0ce Fix extracting for mixes provided by YouTube Music
Omar Roth 4933cd46d7 Fix sorting of subscriptions with 'latest_only'
Omar Roth 421ad21b40 Speed up filtering watched videos from feed
Agustin Ferrari b04a2d4f61 Just a couple of adjustments ()
* Added icons tooltips in local/en-US.json, corrected link tooltip to switch to video mode and changed heart symbol by icon in comments
Omar Roth f8467fcda6 Fix locale text for "Show replies"
Omar Roth 27663b10a2 Add minor API fixes
Omar Roth c099a5ad2e Speed up manage_subscriptions
Omar Roth ceea6e4597 Escape subscribe text
Omar Roth f02b5e8c4d Run 'crystal tool format'
Omar Roth f1820ffaf7 Add fix for user array
Omar Roth 1590393fcc Don't try to update channels in subscription manager
Avizini 45cdb81861 fix issues page url ()
* fix issues page url
Omar Roth 3646395f1d Store session_ids in separate table
Omar Roth 8bbf351d04 Fix challenge switching for Google login
Omar Roth 27934dad37 Add `region` to `latest_version`
Omar Roth 30e6d29106 Add 'deleted' to channel info
Omar Roth 7a9ef0d664 Add produce_channel_playlists_url
Omar Roth 3cce74d364 Add feed menu to popular, top, and trending
Omar Roth 9698988be3 Filter video streams to avoid duplicates in DASH player
Omar Roth 29af5fc4a6 Prune proxy list
Omar Roth a7b79824de Add support for 'region' in search
Omar Roth d625d0ffbd Use get_video for pulling comment token
Omar Roth 1dcfa90c8e Update version and bump changelog
Omar Roth 8170dad9bd Simplify video extractor
Omar Roth 699f85e773 Fix Google login
Omar Roth 2630dc8dcd Add 'related_videos' to video params
Omar Roth 276662a147 Use IO::Memory for creating continuation tokens
Omar Roth c1ed660ca0 Proxy creator thumbnail for heart container
Omar Roth d0a690c303 Add CORS to API endpoints
Omar Roth a1af27b125
Merge pull request from aaferrari/master
Color change in the links and several improvements in the comments
Omar Roth 9989c8100a Properly escape email when creating view
Agustin Ferrari c0e73e71c5 Merge branch 'master' of https://github.com/omarroth/invidious
Agustin Ferrari b0ba670c91 Comments now show if they were edited and if they received a heart from the uploader (plus additional classes in default.css). The isEdited attribute was also added in the comments API and new strings in en-US.json
Omar Roth d5c9b7dfe8 Only play after error if already playing
Omar Roth c9bc081f8c Respect DEFAULT_USER_PREFERENCES in video params
Omar Roth fbb5df0849 Default to showing recommendations for logged out users
Omar Roth cef061d6fb Fix incorrect default in user preferences
Omar Roth def58ff11f Add interval and timeout for errors in player
Omar Roth 9e73e3b153 Add errorcode for invalid video IDs
Agustin Ferrari e9ea365f2f Add additional parameters in the API comments, highlight the user name in the uploader comments and I finished permalink of the comments.
Agustin Ferrari 55118a6768 Change color to the links and add a couple of improvements in the comments
Omar Roth 1e214aae7c Reload player instead of removing invalid source
Omar Roth ff09a7255a Add handling to remove invalid sources
Omar Roth 26b7200360 Respect playback rate when reloading player
Omar Roth b38a2bbd12 Reload player on error
Omar Roth 097cbcdae3 Update subscribe button immediately
Omar Roth c0fdc28a84 Fix colors and data-url in download widget
Omar Roth 6218078c51 Pull subscribe widget into separate file
Omar Roth a9aae6b36c Add internal redirect for video URLs
Omar Roth 898b768b30 Fallback on ucid for channel search when author contains hyphen
Omar Roth 1f6078cf25 Fix links to invalid genre channels
Omar Roth ba36ab9559 Add 'pretty=1' option to API endpoints
Omar Roth 586c0a0579 Add error message for unavailable endpoint /api/v1/insights/:id
Omar Roth 1af86f6afb Add sleep to popular_videos and top_videos
Omar Roth 952b208a01 Add retry for /videoplaybacl
Omar Roth 4b60f7ddff Add logger to method calls
Omar Roth 75d8c4f5c0 Use logger instead of STDOUT
Omar Roth 1a9057a175 Add fix to download widget for titles with unescaped characters
Omar Roth 0fcfb7b82b Add redirect for legacy '/profile' endpoint
Omar Roth d88f9f3b3e Use params for importing dash sources
Omar Roth fb535ad6bb Add download widget
Omar Roth 15efac520e Stop trying to pull comments after 10 timeouts
Omar Roth 7a6a0f364c Run 'crystal tool format'
Omar Roth e1540390a8 Fix typo in config documentation
Omar Roth 71ba071160 Add documentation to config
Omar Roth af449161ff Add -o option for redirecting output
Omar Roth 633ecb524e Add 'fr' to list of supported locales
Omar Roth a7b6a67615 Use locale for "Only show latest" text
Omar Roth 5cb57fb176 Move 'domain' into config.yml
Omar Roth 95bde7bb8a Add handling for empty continuation
Omar Roth daa2329f8b Add fix for pulling comments from age-gated videos
Omar Roth b23710f89f Fix comments without startTimeSeconds
Omar Roth cf9134416c Remove unnecessary comment
Omar Roth 2425368c3a Bump version
Omar Roth 20c4d213d9 Use config.domain in place of hardcoded value
Omar Roth dfd17bdd88 Improve error message for 500 and add redirect for 404
Omar Roth 0f48d221b4 Fix hlsvp extractor
Omar Roth 8f57388cd3 Fix average rating where likes and dislikes are null
Omar Roth 138a6b1136 Add missing "avg_rating"
Omar Roth c6ec8317ac Use location.assign instead of window.location.replace
Omar Roth 81c2ecc788 Bump version and update CHANGELOG
Omar Roth a16f967085 Add popular, top, trending bar
Omar Roth 7f8349d4b1 Escape function names in signature extractor
Omar Roth 4ae57cb475 Improve playlist description extractor
Omar Roth 2fdf3d24e3 Redirect to home page on empty search
Omar Roth 0832fa9bdb Filter paid videos from RSS and channel list
Omar Roth c2c224b16f Use fibers to try to speed up importing of channels
Omar Roth 7951d4c8aa Add length_seconds to subscription search
Omar Roth 6b4ea53a32 Add sleep time for update_decrypt_function
Omar Roth db7457f135 Add nb_NO to supported locales
Omar Roth f3c9566687 Fix param ordering for fetch_playlist_videos
Omar Roth 382a6b556d Update RSS schema
tor 5ca74a8dca Fixed subscription's xml feed
Omar Roth 388b3cff8b Fix typo in data_control
Omar Roth d06c5306be Update i18n
Omar Roth 7596baf03b Fix translation with non-existent locales
Omar Roth 0feb414a1d Add menu for selecting trending page
Omar Roth 1360d67c11 Show more informative error to users signing in with Google
Omar Roth a160c645c9 Add support for translations
Omar Roth a9a0280b1a Add link to watch history in feed and manager
Omar Roth 7d47b5d4bd Use named params for SearchChannel
Omar Roth d0b30ad977 Don't pass HTTP client in args
Omar Roth 843606db65 Support changing author names
Omar Roth b030149d76 Revert "Use <audio> tag for audio only"
This reverts commit e6bc5bb35d.
Omar Roth 2ef3db334f Update CHANGELOG and bump version
Omar Roth 89439e1775 Add link to '/clear_watch_history' in '/feed/history'
Omar Roth 7fd4c76a59 Try to pull UCID instead of brand name in search results
Omar Roth 4480e9c1ba Don't downcase UCID when searching channels
Omar Roth 6033e8aed1 Add related_channels to /api/v1/channels
Omar Roth 32bd593a8a Remove log statement
Omar Roth 1c49fa3b63 Add timeout for autoplay
Omar Roth 7ab9d741bf Fix autoplay
Omar Roth dcf45d217f Don't cache results when using proxy
Omar Roth 2dfb3e7814 Minor text changes
Omar Roth 19bf0ccbf0 Add /feed/top and /feed/popular
Omar Roth 0152967d3e Fix title when downloading video
Omar Roth 934c81b02f Add second hand to image CAPTCHA
Omar Roth 9ce02e579d Update '/api/v1/popular'
Omar Roth 18bb397c7d Add '/api/v1/popular'
Omar Roth 3c98601f35 Add job for pulling popular videos
Omar Roth 26eb59e00d Add text CAPTCHA
Omar Roth ca4e8b800c Use absolute paths in /opensearch.xml
Omar Roth 568e55dfa6 Add description for home page
Omar Roth 941a773b7d Add opensearch.xml
Omar Roth 95ebfd34c5 Don't wait on server for subscription count
Omar Roth fd7aa59e0f Properly parse NewPipe imports
Omar Roth cdd916f51d Add async for manage_subscriptions
Omar Roth e80884cfce Remove unnecessary request header
Omar Roth c656a7cb9e Add link to watch history in preferences
Omar Roth a15463cf37 Clarify options in preferences
Omar Roth 2ce038fb7a Only show toggle watched button when relevant
Omar Roth 588f9b9bd6 Fix 'order' expression
Omar Roth d6d73bd336 Fix clickable titles in subscription feed
Omar Roth f01cfd0226 Use material style for trash icon
Omar Roth e5730f4cbc Use 'ion-ios-trash' for /feed/history
Omar Roth 2be43c17ab Sample proxies to avoid overloading single proxy
Omar Roth 2e99642173 Add /feed/trending
Omar Roth aeaeacbf8d Refactor geo-bypass
Omar Roth 6b12f11e10 Add ability to mark videos as watched in subscription feed
Omar Roth c7e8d623c0 Support overflow grid
Omar Roth ad20d6359b Add 'expire' to filter invalid tokens
Omar Roth b535de690e Move video count into playlist thumbnail
Omar Roth c1a60392ae Expand description when related videos are disabled
Omar Roth fff817b654 Remove timestamp fallback for nojs
Omar Roth 8706364d90 Add support for watchEndpoints in comment templating
Omar Roth ed6d321bc6 Fix identifier for AGPLv3 in licenses.ecr
Omar Roth 94c92b68a2 Add flat list of proxies for geo-bypass
Omar Roth 27488a2295 Fix invalid passing of arguments to get_video
Omar Roth 3418b82dc5 Fix typo in autoplay
Omar Roth 04d9b16a6b Add fix for optional 'rvs'
Omar Roth 43961ef035 Add 'region' parameter to captions and manifest endpoints
Omar Roth 16964ca6ce Add 'region' parameter for bypassing region locks
Omar Roth 879586d7f5 Fix subscription feed for latest unseen videos
Omar Roth cd482cfd89 Add more informative error response on incorrect CAPTCHA
Omar Roth d185ba84bf Remember nonce to prevent replay attacks
Omar Roth c7f0a6f2e1 Create proper JSON request for Google login
Omar Roth 48526435ad Add CSRF token for Google accounts
Omar Roth b92542ea35 Show autoplay when playlist is invalid
Omar Roth e6bc5bb35d Use <audio> tag for audio only
Omar Roth 6ca7a71db9 Fix channel sort on mobile
Omar Roth bf867c3fcf Add cookie sharing with subdomains
Omar Roth 6db235becf Remove nil assertions from video extractor
Omar Roth adcefa4ffa Add 'published - reverse' option to feed
Omar Roth c8b321920d Add channel video count to search results
Omar Roth 47ed8bd13f Add channel sort to '/api/v1/channels/videos'
Omar Roth 44e9b4ac2a Add channel sort options
Omar Roth 0e26e4d407 Remove video title tooltip
Omar Roth 9113846d10 Fix typo in genre urls
Omar Roth df7480bcb6 Fix comment templating when JavaScript is disabled
Omar Roth 4b76b93610 Add continuous playback
Omar Roth 1465cefa17 Move HMAC tokens into users.cr
Omar Roth dcddb6fb83 Update license information
Omar Roth 7f868ecdf9 Add unminimized sources and license information
Omar Roth e8c9641548 Update info extractor
Omar Roth b9e2fee2c9 Fix templating for videos with 0 comments
Omar Roth aaf8bdb28c Disable unimplemented route
Omar Roth b77c73df0d Clean up data import/export
Omar Roth 6066615553 Update formatting
Omar Roth 30d040b02a Fix extractor for author thumbnails
Omar Roth 8e6bee75e7 Add CSRF prevention for /signout
Omar Roth 28f564ee4c Fix XSS in title and input bar
Omar Roth 1ea563f4f1 Add error message for fetching channel videos
Omar Roth c5d2a57206 Speed up importing watch history
Omar Roth 6ae5d489ec Add 'liveNow' to /api/v1/channels
Omar Roth 0a1c84ada1 Add support for partial data restore
Omar Roth fee3b93339 Add 'liveNow' to /api/v1/channels/videos
Omar Roth 31a9abc03a Add favicon
Omar Roth 3748c0083f Update Twitter thumbnail
Omar Roth 7a6d4e6ef9 Add extra handling for autoplay
Omar Roth 1ff8579575 Check user_id as part of validating CSRF tokens
Omar Roth b9c29bf537 Add option for user to delete their account
Omar Roth f988123820 Revert "Add Origin header checks"
This reverts commit 2be240767c.
Omar Roth 2be240767c Add Origin header checks
Omar Roth 103949c61e Update twitter thumbnail
Omar Roth 316a73f07e Remove duration for playlists in search results
Omar Roth 570e09333a Add error message for empty 'v' param
Omar Roth 4e33d3a0b9 Fix index out of bounds for playlist ucid
Omar Roth 9e022f3b04 Add redirect for empty 'v' param
Omar Roth 1dcca85819 Fix typo in template.ecr
Omar Roth 4f856dd898 Add support for Crystal 0.27.0
Omar Roth c912e63fb5 Only check invalid size passwords on register
Omar Roth 7e558c5b1d Add error messages for invalid password sizes
Omar Roth d739ef8fd3 Add fix for videos without keywords
Omar Roth c92f6e44e7 Update keywords and view_count
Omar Roth 19516eaa25 Add option to view comments with JS disabled
Omar Roth 468e6b1c27 Fix mix continuation
Omar Roth 596960f35a Remove migration points
Omar Roth e39dec9778 Add option to listen by default
Omar Roth 8794e26e67 Add length_seconds to channel_videos
Omar Roth eb44a60f8d Remove migration point
Omar Roth 791f216a45 Don't remove unsupported sources
Omar Roth be601a7584 Fix handling for non-existent channels
Omar Roth ceff2763a5 Update error messages for /api/v1/channels
Omar Roth 81ea2bf799 Don't nest YouTube replies
Omar Roth ed3d9ce540 Make channel extractor more robust
Omar Roth ef95dc2380 Add fix for show playlists
Omar Roth 4875aa1d7e Add partial support for video duration in thumbnails
Omar Roth 3ee7201f5d Comma seperate comment scores
Omar Roth 94d116974b Add break between text and sub count
Omar Roth 5c87cf1547 Update subscribe buttons
Omar Roth 1cfa1f6559 Add 'paid' and 'premium' flags to API
Omar Roth 57d88ffcc8 Fix fallback for comments
Omar Roth e46e6183ae Fix proxying for videos
Omar Roth b49623f90f Revert "Attempt to bypass channel region locks"
This reverts commit 95c6747a3e.
Omar Roth 95c6747a3e Attempt to bypass channel region locks
Omar Roth 245d0b571f Add next page for channels with geo-blocked videos
Omar Roth 6e0df50a03 Remove migration points
Omar Roth f88697541c Add author_thumbnail to '/api/v1/videos'
Omar Roth 5eefab62fd Add "show replies" and "hide replies"
Omar Roth 13b0526c7a Fix subscribe button when logged out
Omar Roth 1568a35cfb Add column to video update
Omar Roth 93082c0a45 Remove migration points
Omar Roth 1a39faee75 Add subCountText and add XHR alternative for subscribing to channels
Omar Roth 81b447782a Fix speed param for playlist preferences
Omar Roth c87aa8671c Add fix for continuation on playlists smaller than 100 videos
Omar Roth 921c34aa65 Create materialized views for Google accounts
Omar Roth ccc423f682 Fix 'latest only' feed
Omar Roth 02335f3390 Fix typo
Omar Roth bcc8ba73bf Fix update_feeds job
Omar Roth 35e63fa3f5 Use materialized views for subscription feeds
Omar Roth 2dbe151ceb Add speed param to playlist redirect
Omar Roth e2c15468e0 Make usernames case-insensitive
Omar Roth 022427e20e Fix typo
Omar Roth 88430a6fc0 Add playlist playback support
Omar Roth c72b9bea64 Add '&list' to videos shown on mix page
Omar Roth 80bc29f3cd Add basic handling for (almost) valid video URLs
Omar Roth f7125c1204 Move watch page JS into seperate file