mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 12:42:09 +00:00 
			
		
		
		
	| @@ -86,7 +86,7 @@ if (location.pathname.startsWith('/embed/')) { | ||||
|     }); | ||||
| } | ||||
|  | ||||
| // Detect mobile users and initalize mobileUi for better UX | ||||
| // Detect mobile users and initialize mobileUi for better UX | ||||
| // Detection code taken from https://stackoverflow.com/a/20293441 | ||||
|  | ||||
| function isMobile() { | ||||
| @@ -119,7 +119,7 @@ if (isMobile()) { | ||||
|     operations_bar_element.className += " mobile-operations-bar" | ||||
|     player.addChild(operations_bar) | ||||
|  | ||||
|     // Playback menu doesn't work when its initalized outside of the primary control bar | ||||
|     // Playback menu doesn't work when it's initialized outside of the primary control bar | ||||
|     playback_element = document.getElementsByClassName("vjs-playback-rate")[0] | ||||
|     operations_bar_element.append(playback_element) | ||||
|  | ||||
| @@ -138,7 +138,7 @@ if (isMobile()) { | ||||
| player.on('error', function (event) { | ||||
|     if (player.error().code === 2 || player.error().code === 4) { | ||||
|         setTimeout(function (event) { | ||||
|             console.log('An error occured in the player, reloading...'); | ||||
|             console.log('An error occurred in the player, reloading...'); | ||||
|  | ||||
|             var currentTime = player.currentTime(); | ||||
|             var playbackRate = player.playbackRate(); | ||||
|   | ||||
| @@ -77,7 +77,7 @@ function update_mode (mode) { | ||||
|         // If preference for dark mode indicated | ||||
|         set_mode(true); | ||||
|     } | ||||
| 	else if (mode === 'false' /* for backwards compaibility */ || mode === 'light') { | ||||
| 	else if (mode === 'false' /* for backwards compatibility */ || mode === 'light') { | ||||
| 		// If preference for light mode indicated | ||||
| 		set_mode(false); | ||||
| 	} | ||||
|   | ||||
| @@ -163,7 +163,7 @@ https_only: false | ||||
| #use_quic: false | ||||
|  | ||||
| ## | ||||
| ## Additionnal cookies to be sent when requesting the youtube API. | ||||
| ## Additional cookies to be sent when requesting the youtube API. | ||||
| ## | ||||
| ## Accepted values: a string in the format "name1=value1; name2=value2..." | ||||
| ## Default: <none> | ||||
| @@ -188,7 +188,7 @@ https_only: false | ||||
|  | ||||
| ## | ||||
| ## Path to log file. Can be absolute or relative to the invidious | ||||
| ## binary. This is overriden if "-o OUTPUT" or "--output=OUTPUT" | ||||
| ## binary. This is overridden if "-o OUTPUT" or "--output=OUTPUT" | ||||
| ## are passed on the command line. | ||||
| ## | ||||
| ## Accepted values: a filesystem path or 'STDOUT' | ||||
| @@ -197,7 +197,7 @@ https_only: false | ||||
| #output: STDOUT | ||||
|  | ||||
| ## | ||||
| ## Logging Verbosity. This is overriden if "-l LEVEL" or | ||||
| ## Logging Verbosity. This is overridden if "-l LEVEL" or | ||||
| ## "--log-level=LEVEL" are passed on the command line. | ||||
| ## | ||||
| ## Accepted values: All, Trace, Debug, Info, Warn, Error, Fatal, Off | ||||
| @@ -306,7 +306,7 @@ https_only: false | ||||
| ## | ||||
| ## Notes: | ||||
| ##  - Setting this to 0 will disable the channel videos crawl job. | ||||
| ##  - This setting is overriden if "-c THREADS" or | ||||
| ##  - This setting is overridden if "-c THREADS" or | ||||
| ##    "--channel-threads=THREADS" are passed on the command line. | ||||
| ## | ||||
| ## Accepted values: a positive integer | ||||
| @@ -328,7 +328,7 @@ full_refresh: false | ||||
| ## | ||||
| ## Notes: | ||||
| ##  - Setting this to 0 will disable the channel videos crawl job. | ||||
| ##  - This setting is overriden if "-f THREADS" or | ||||
| ##  - This setting is overridden if "-f THREADS" or | ||||
| ##    "--feed-threads=THREADS" are passed on the command line. | ||||
| ## | ||||
| ## Accepted values: a positive integer | ||||
| @@ -371,7 +371,7 @@ feed_threads: 1 | ||||
|  | ||||
|  | ||||
| # ----------------------------- | ||||
| #  Miscellanous | ||||
| #  Miscellaneous | ||||
| # ----------------------------- | ||||
|  | ||||
| ## | ||||
| @@ -433,7 +433,7 @@ feed_threads: 1 | ||||
| #cache_annotations: false | ||||
|  | ||||
| ## | ||||
| ## Source code URL. If your instance is running a modfied source | ||||
| ## Source code URL. If your instance is running a modified source | ||||
| ## code, you MUST publish it somewhere and set this option. | ||||
| ## | ||||
| ## Accepted values: a string | ||||
| @@ -520,9 +520,9 @@ default_user_preferences: | ||||
|   #region: US | ||||
|  | ||||
|   ## | ||||
|   ## Top 3 prefered languages for video captions. | ||||
|   ## Top 3 preferred languages for video captions. | ||||
|   ## | ||||
|   ## Note: overridin the default (no preferred | ||||
|   ## Note: overriding the default (no preferred | ||||
|   ## caption language) is not recommended, in order | ||||
|   ## to not penalize people using other languages. | ||||
|   ## | ||||
| @@ -594,7 +594,7 @@ default_user_preferences: | ||||
|   #feed_menu: ["Popular", "Trending", "Subscriptions", "Playlists"] | ||||
|  | ||||
|   ## | ||||
|   ## Default feed to diplay on the home page. | ||||
|   ## Default feed to display on the home page. | ||||
|   ## | ||||
|   ## Note: setting this option to "Popular" has no | ||||
|   ## effect when 'popular_enabled' is set to false. | ||||
| @@ -812,7 +812,7 @@ default_user_preferences: | ||||
|  | ||||
|  | ||||
|   # ----------------------------- | ||||
|   #  Miscellanous | ||||
|   #  Miscellaneous | ||||
|   # ----------------------------- | ||||
|  | ||||
|   ## | ||||
|   | ||||
| @@ -91,8 +91,8 @@ class Config | ||||
|  | ||||
|   @[YAML::Field(converter: Preferences::FamilyConverter)] | ||||
|   property force_resolve : Socket::Family = Socket::Family::UNSPEC # Connect to YouTube over 'ipv6', 'ipv4'. Will sometimes resolve fix issues with rate-limiting (see https://github.com/ytdl-org/youtube-dl/issues/21729) | ||||
|   property port : Int32 = 3000                                     # Port to listen for connections (overrided by command line argument) | ||||
|   property host_binding : String = "0.0.0.0"                       # Host to bind (overrided by command line argument) | ||||
|   property port : Int32 = 3000                                     # Port to listen for connections (overridden by command line argument) | ||||
|   property host_binding : String = "0.0.0.0"                       # Host to bind (overridden by command line argument) | ||||
|   property pool_size : Int32 = 100                                 # Pool size for HTTP requests to youtube.com and ytimg.com (each domain has a separate pool of `pool_size`) | ||||
|   property use_quic : Bool = false                                 # Use quic transport for youtube api | ||||
|  | ||||
|   | ||||
| @@ -135,7 +135,7 @@ def translate_count(locale : String, key : String, count : Int, format = NumberF | ||||
|       # Try #2: Fallback to english | ||||
|       translation = translate_count("en-US", key, count) | ||||
|     else | ||||
|       # Return key if we're already in english, as the tranlation is missing | ||||
|       # Return key if we're already in english, as the translation is missing | ||||
|       LOGGER.warn("i18n: Missing translation key \"#{key}\"") | ||||
|       return key | ||||
|     end | ||||
|   | ||||
| @@ -44,7 +44,7 @@ def sign_token(key, hash) | ||||
|  | ||||
|   # TODO: figure out which "key" variable is used | ||||
|   # Ameba reports a warning for "Lint/ShadowingOuterLocalVar" on this | ||||
|   # variable, but its preferrable to not touch that (works fine atm). | ||||
|   # variable, but it's preferable to not touch that (works fine atm). | ||||
|   hash.each do |key, value| | ||||
|     next if key == "signature" | ||||
|  | ||||
|   | ||||
| @@ -161,11 +161,11 @@ def short_text_to_number(short_text : String) : Int32 | ||||
| end | ||||
|  | ||||
| def number_to_short_text(number) | ||||
|   seperated = number_with_separator(number).gsub(",", ".").split("") | ||||
|   text = seperated.first(2).join | ||||
|   separated = number_with_separator(number).gsub(",", ".").split("") | ||||
|   text = separated.first(2).join | ||||
|  | ||||
|   if seperated[2]? && seperated[2] != "." | ||||
|     text += seperated[2] | ||||
|   if separated[2]? && separated[2] != "." | ||||
|     text += separated[2] | ||||
|   end | ||||
|  | ||||
|   text = text.rchop(".0") | ||||
| @@ -323,8 +323,8 @@ def fetch_random_instance | ||||
|   instance_list.each do |data| | ||||
|     # TODO Check if current URL is onion instance and use .onion types if so. | ||||
|     if data[1]["type"] == "https" | ||||
|       # Instances can have statisitics disabled, which is an requirement of version validation. | ||||
|       # as_nil? doesn't exist. Thus we'll have to handle the error rasied if as_nil fails. | ||||
|       # Instances can have statistics disabled, which is an requirement of version validation. | ||||
|       # as_nil? doesn't exist. Thus we'll have to handle the error raised if as_nil fails. | ||||
|       begin | ||||
|         data[1]["stats"].as_nil | ||||
|         next | ||||
|   | ||||
| @@ -401,7 +401,7 @@ def fetch_playlist(plid : String) | ||||
| end | ||||
|  | ||||
| def get_playlist_videos(playlist : InvidiousPlaylist | Playlist, offset : Int32, video_id = nil) | ||||
|   # Show empy playlist if requested page is out of range | ||||
|   # Show empty playlist if requested page is out of range | ||||
|   # (e.g, when a new playlist has been created, offset will be negative) | ||||
|   if offset >= playlist.video_count || offset < 0 | ||||
|     return [] of PlaylistVideo | ||||
|   | ||||
| @@ -136,7 +136,7 @@ module Invidious::Routes::PreferencesRoute | ||||
|     notifications_only ||= "off" | ||||
|     notifications_only = notifications_only == "on" | ||||
|  | ||||
|     # Convert to JSON and back again to take advantage of converters used for compatability | ||||
|     # Convert to JSON and back again to take advantage of converters used for compatibility | ||||
|     preferences = Preferences.from_json({ | ||||
|       annotations:                 annotations, | ||||
|       annotations_subscribed:      annotations_subscribed, | ||||
|   | ||||
| @@ -568,7 +568,7 @@ def extract_item(item : JSON::Any, author_fallback : String? = "", | ||||
|  | ||||
|   # Cycles through all of the item parsers and attempt to parse the raw YT JSON data. | ||||
|   # Each parser automatically validates the data given to see if the data is | ||||
|   # applicable to itself. If not nil is returned and the next parser is attemped. | ||||
|   # applicable to itself. If not nil is returned and the next parser is attempted. | ||||
|   ITEM_PARSERS.each do |parser| | ||||
|     LOGGER.trace("extract_item: Attempting to parse item using \"#{parser.parser_name}\" (cycling...)") | ||||
|  | ||||
|   | ||||
| @@ -90,7 +90,7 @@ module YoutubeAPI | ||||
|     property client_type : ClientType | ||||
|  | ||||
|     # Region to provide to youtube, e.g to alter search results | ||||
|     # (this is passed as the `gl` parmeter). | ||||
|     # (this is passed as the `gl` parameter). | ||||
|     property region : String | Nil | ||||
|  | ||||
|     # ISO code of country where the proxy is located. | ||||
| @@ -205,7 +205,7 @@ module YoutubeAPI | ||||
|   # :ditto: | ||||
|   def browse( | ||||
|     browse_id : String, | ||||
|     *, # Force the following paramters to be passed by name | ||||
|     *, # Force the following parameters to be passed by name | ||||
|     params : String, | ||||
|     client_config : ClientConfig | Nil = nil | ||||
|   ) | ||||
| @@ -215,7 +215,7 @@ module YoutubeAPI | ||||
|       "context"  => self.make_context(client_config), | ||||
|     } | ||||
|  | ||||
|     # Append the additionnal parameters if those were provided | ||||
|     # Append the additional parameters if those were provided | ||||
|     # (this is required for channel info, playlist and community, e.g) | ||||
|     if params != "" | ||||
|       data["params"] = params | ||||
| @@ -292,14 +292,14 @@ module YoutubeAPI | ||||
|   # and POST data in order to get a JSON reply. | ||||
|   # | ||||
|   # The requested data is a video ID (`v=` parameter), with some | ||||
|   # additional paramters, formatted as a base64 string. | ||||
|   # additional parameters, formatted as a base64 string. | ||||
|   # | ||||
|   # An optional ClientConfig parameter can be passed, too (see | ||||
|   # `struct ClientConfig` above for more details). | ||||
|   # | ||||
|   def player( | ||||
|     video_id : String, | ||||
|     *, # Force the following paramters to be passed by name | ||||
|     *, # Force the following parameters to be passed by name | ||||
|     params : String, | ||||
|     client_config : ClientConfig | Nil = nil | ||||
|   ) | ||||
| @@ -309,7 +309,7 @@ module YoutubeAPI | ||||
|       "context" => self.make_context(client_config), | ||||
|     } | ||||
|  | ||||
|     # Append the additionnal parameters if those were provided | ||||
|     # Append the additional parameters if those were provided | ||||
|     if params != "" | ||||
|       data["params"] = params | ||||
|     end | ||||
| @@ -363,7 +363,7 @@ module YoutubeAPI | ||||
|   # order to get non-US results. | ||||
|   # | ||||
|   # The requested data is a search string, with some additional | ||||
|   # paramters, formatted as a base64 string. | ||||
|   # parameters, formatted as a base64 string. | ||||
|   # | ||||
|   # An optional ClientConfig parameter can be passed, too (see | ||||
|   # `struct ClientConfig` above for more details). | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Samantaz Fox
					Samantaz Fox