mirror of
https://github.com/iv-org/invidious.git
synced 2025-06-27 17:18:29 +00:00
Fix typos
This commit is contained in:
parent
2e7b7fbda7
commit
8d6f679019
10
CHANGELOG.md
10
CHANGELOG.md
@ -149,7 +149,7 @@ An HTTP proxy can be configured directly in Invidious, if needed. \
|
||||
* The instance list is downloaded in the background to improve redirection speed
|
||||
* New `colorize_logs` option makes each log level a different color
|
||||
|
||||
#### For developpers
|
||||
#### For developers
|
||||
|
||||
* `/api/v1/channels/{id}/shorts` now supports the `sort-by` parameter with the following values:
|
||||
`newest`, `oldest` and `popular`
|
||||
@ -301,7 +301,7 @@ Allow manual trigger of release-container build ([#4877], thanks @syeopite)
|
||||
|
||||
[inv_sig_helper]: https://github.com/iv-org/inv_sig_helper
|
||||
|
||||
#### For developpers
|
||||
#### For developers
|
||||
|
||||
* The versions of Crystal that we test in CI/CD are now: `1.9.2`, `1.10.1`, `1.11.2`, `1.12.1`.
|
||||
Please note that due to a bug in the `libxml` bindings (See [#4256]), versions prior to `1.10.0`
|
||||
@ -328,7 +328,7 @@ Allow manual trigger of release-container build ([#4877], thanks @syeopite)
|
||||
* Watch page: the items in the "add to playlist" drop down are now sorted alphabetically
|
||||
* Videos: the "genre" URL is now always pointing to a valid webpage
|
||||
* Playlists: Fixed `Could not parse N episodes` error on podcast playlists
|
||||
* All external links should now have the [`rel`] attibute set to `noreferrer noopener` for
|
||||
* All external links should now have the [`rel`] attribute set to `noreferrer noopener` for
|
||||
increased privacy.
|
||||
* Preferences: Fixed the admin-only "modified source code" input being ignored
|
||||
* Watch/channel pages: use the full image URL in `og:image` and `twitter:image` meta tags
|
||||
@ -338,7 +338,7 @@ Allow manual trigger of release-container build ([#4877], thanks @syeopite)
|
||||
#### API
|
||||
|
||||
* fixed the `local` parameter not applying to `formatStreams` on `/api/v1/videos/{id}`
|
||||
* fixed an `Index out of bounds` error hapenning when a playlist had no videos
|
||||
* fixed an `Index out of bounds` error happening when a playlist had no videos
|
||||
* fixed duplicated query parameters in proxied video URLs
|
||||
* Return actual video height/width/fps rather than hard coded values
|
||||
* Fixed the `/api/v1/popular` endpoint not returning a proper error code/message when the
|
||||
@ -357,7 +357,7 @@ Allow manual trigger of release-container build ([#4877], thanks @syeopite)
|
||||
* Channel: Render age restricted channels ([#4295], thanks @ChunkyProgrammer)
|
||||
* Ameba: Miscellaneous fixes ([#4807], thanks @syeopite)
|
||||
* API: Proxy formatStreams URLs too ([#4859], thanks @colinleroy)
|
||||
* UI: Add search button to search bar ([#4706], thanks @thansk)
|
||||
* UI: Add search button to search bar ([#4706], thanks @thanks)
|
||||
* Add ability to set po_token and visitordata ID ([#4789], thanks @unixfox)
|
||||
* Add support for an external signature server ([#4772], by @SamantazFox)
|
||||
* Ameba: Fix Naming/VariableNames ([#4790], thanks @syeopite)
|
||||
|
@ -739,7 +739,7 @@ body.dark-theme {
|
||||
|
||||
|
||||
/*
|
||||
* Miscellanous
|
||||
* Miscellaneous
|
||||
*/
|
||||
|
||||
|
||||
|
@ -259,7 +259,7 @@ https_only: false
|
||||
# use_innertube_for_captions: false
|
||||
|
||||
##
|
||||
## Send Google session informations. This is useful when Invidious is blocked
|
||||
## Send Google session information. This is useful when Invidious is blocked
|
||||
## by the message "This helps protect our community."
|
||||
## See https://github.com/iv-org/invidious/issues/4734.
|
||||
##
|
||||
@ -319,7 +319,7 @@ https_only: false
|
||||
#popular_enabled: true
|
||||
|
||||
##
|
||||
## Enable/Disable statstics (available at /api/v1/stats).
|
||||
## Enable/Disable statistics (available at /api/v1/stats).
|
||||
## The following data is available:
|
||||
## - Software name ("invidious") and version+branch (same data as
|
||||
## displayed in the footer, e.g: "2021.05.13-75e5b49" / "master")
|
||||
@ -865,7 +865,7 @@ default_user_preferences:
|
||||
##
|
||||
## Default dash video quality.
|
||||
##
|
||||
## Note: this setting only takes effet if the
|
||||
## Note: this setting only takes effect if the
|
||||
## 'quality' parameter is set to "dash".
|
||||
##
|
||||
## Accepted values:
|
||||
|
@ -18,7 +18,7 @@ sudo systemctl start postgresql.service
|
||||
sudo systemctl enable postgresql.service
|
||||
|
||||
#
|
||||
# Create databse and user
|
||||
# Create database and user
|
||||
#
|
||||
|
||||
if [ "$interactive" = "true" ]; then
|
||||
@ -51,7 +51,7 @@ if [ "$interactive" = "true" ]; then
|
||||
echo " NOTICE "
|
||||
echo "-------------"
|
||||
echo
|
||||
echo "Make sure that your postgreSQL's pg_hba.conf file contains the follwong"
|
||||
echo "Make sure that your postgreSQL's pg_hba.conf file contains the following"
|
||||
echo "lines before previous 'host' configurations:"
|
||||
echo
|
||||
echo "host invidious kemal 127.0.0.1/32 md5"
|
||||
|
@ -15,7 +15,7 @@ Spectator.describe Invidious::Search::Query do
|
||||
# Query parsing
|
||||
# -------------------
|
||||
|
||||
it "parses query with URL prameters (q)" do
|
||||
it "parses query with URL parameters (q)" do
|
||||
query = described_class.new(
|
||||
HTTP::Params.parse("q=What+is+Love+10+hour&type=video&duration=long"),
|
||||
Invidious::Search::Query::Type::Regular, nil
|
||||
@ -33,7 +33,7 @@ Spectator.describe Invidious::Search::Query do
|
||||
)
|
||||
end
|
||||
|
||||
it "parses query with URL prameters (search_query)" do
|
||||
it "parses query with URL parameters (search_query)" do
|
||||
query = described_class.new(
|
||||
HTTP::Params.parse("search_query=What+is+Love+10+hour&type=video&duration=long"),
|
||||
Invidious::Search::Query::Type::Regular, nil
|
||||
|
@ -15,14 +15,14 @@ def text_to_parsed_content(text : String) : JSON::Any
|
||||
line.scan(/https?:\/\/[^ ]*/).each do |url_match|
|
||||
# Retrieve last node and update node without match
|
||||
last_node = current_nodes[-1].as_h
|
||||
splitted_last_node = last_node["text"].as_s.split(url_match[0])
|
||||
last_node["text"] = JSON.parse(splitted_last_node[0].to_json)
|
||||
split_last_node = last_node["text"].as_s.split(url_match[0])
|
||||
last_node["text"] = JSON.parse(split_last_node[0].to_json)
|
||||
current_nodes[-1] = JSON.parse(last_node.to_json)
|
||||
# Create new node with match and navigation infos
|
||||
current_node = {"text" => url_match[0], "navigationEndpoint" => {"urlEndpoint" => {"url" => url_match[0]}}}
|
||||
current_nodes << (JSON.parse(current_node.to_json))
|
||||
# If text remain after match create new simple node with text after match
|
||||
after_node = {"text" => splitted_last_node.size > 1 ? splitted_last_node[1] : ""}
|
||||
after_node = {"text" => split_last_node.size > 1 ? split_last_node[1] : ""}
|
||||
current_nodes << (JSON.parse(after_node.to_json))
|
||||
end
|
||||
|
||||
|
@ -134,7 +134,7 @@ module Invidious::Comments
|
||||
end
|
||||
|
||||
if cvm = node["commentViewModel"]?
|
||||
# two commentViewModels for inital request
|
||||
# two commentViewModels for initial request
|
||||
# one commentViewModel when getting a replies to a comment
|
||||
cvm = cvm["commentViewModel"] if cvm["commentViewModel"]?
|
||||
|
||||
|
@ -133,7 +133,7 @@ module Invidious::Database::ChannelVideos
|
||||
return PG_DB.query_all(request, ids, as: ChannelVideo)
|
||||
end
|
||||
|
||||
def select_notfications(ucid : String, since : Time) : Array(ChannelVideo)
|
||||
def select_notifications(ucid : String, since : Time) : Array(ChannelVideo)
|
||||
request = <<-SQL
|
||||
SELECT * FROM channel_videos
|
||||
WHERE ucid = $1 AND published > $2
|
||||
|
@ -35,6 +35,6 @@ class VideoNotAvailableException < Exception
|
||||
end
|
||||
|
||||
# Exception used to indicate that the JSON response from YT is missing
|
||||
# some important informations, and that the query should be sent again.
|
||||
# some important information, and that the query should be sent again.
|
||||
class RetryOnceException < Exception
|
||||
end
|
||||
|
@ -1,7 +1,7 @@
|
||||
module Invidious::Frontend::SearchFilters
|
||||
extend self
|
||||
|
||||
# Generate the search filters collapsable widget.
|
||||
# Generate the search filters collapsible widget.
|
||||
def generate(filters : Search::Filters, query : String, page : Int, locale : String) : String
|
||||
return String.build(8000) do |str|
|
||||
str << "<div id='filters'>\n"
|
||||
|
@ -49,7 +49,7 @@ class HTTP::Client
|
||||
end
|
||||
|
||||
# Mute the ClientError exception raised when a connection is flushed.
|
||||
# This happends when the connection is unexpectedly closed by the client.
|
||||
# This happens when the connection is unexpectedly closed by the client.
|
||||
#
|
||||
class HTTP::Server::Response
|
||||
class Output
|
||||
|
@ -101,7 +101,7 @@ def create_notification_stream(env, topics, connection_channel)
|
||||
topics.try &.each do |topic|
|
||||
case topic
|
||||
when .match(/UC[A-Za-z0-9_-]{22}/)
|
||||
Invidious::Database::ChannelVideos.select_notfications(topic, since_unix).each do |video|
|
||||
Invidious::Database::ChannelVideos.select_notifications(topic, since_unix).each do |video|
|
||||
response = JSON.parse(video.to_json(locale))
|
||||
|
||||
env.response.puts "id: #{id}"
|
||||
|
@ -31,7 +31,7 @@ module Invidious::Jobs
|
||||
|
||||
def self.start_all
|
||||
JOBS.each do |job|
|
||||
# Don't run the main rountine if the job is disabled by config
|
||||
# Don't run the main routine if the job is disabled by config
|
||||
next if job.disabled?
|
||||
|
||||
spawn { job.begin }
|
||||
|
@ -33,7 +33,7 @@ module Invidious::Routes::API::Manifest
|
||||
end
|
||||
|
||||
# Proxy URLs for video playback on invidious.
|
||||
# Other API clients can get the original URLs by omiting `local=true`.
|
||||
# Other API clients can get the original URLs by omitting `local=true`.
|
||||
manifest = response.body.gsub(/<BaseURL>[^<]+<\/BaseURL>/) do |baseurl|
|
||||
url = baseurl.lchop("<BaseURL>").rchop("</BaseURL>")
|
||||
url = HttpServer::Utils.proxy_video_url(url, absolute: true) if local
|
||||
@ -74,7 +74,7 @@ module Invidious::Routes::API::Manifest
|
||||
displayname = audio_track["displayName"]?.try &.as_s || "Unknown"
|
||||
bitrate = fmt["bitrate"]
|
||||
|
||||
# Different representations of the same audio should be groupped into one AdaptationSet.
|
||||
# Different representations of the same audio should be grouped into one AdaptationSet.
|
||||
# However, most players don't support auto quality switching, so we have to trick them
|
||||
# into providing a quality selector.
|
||||
# See https://github.com/iv-org/invidious/issues/3074 for more details.
|
||||
|
@ -317,7 +317,7 @@ module Invidious::Search
|
||||
# Initialize output variable
|
||||
filters = Filters.new
|
||||
|
||||
# Get parameter, and check emptyness
|
||||
# Get parameter, and check emptiness
|
||||
search_params = params["sp"]?
|
||||
|
||||
if search_params.nil? || search_params.empty?
|
||||
|
@ -770,8 +770,8 @@ private module Parsers
|
||||
#
|
||||
# continuationItemRenderer contains various metadata ued to load more
|
||||
# content (i.e when the user scrolls down). The interesting bit is the
|
||||
# protobuf object known as the "continutation token". Previously, those
|
||||
# were generated from sratch, but recent (as of 11/2022) Youtube changes
|
||||
# protobuf object known as the "continuation token". Previously, those
|
||||
# were generated from scratch, but recent (as of 11/2022) Youtube changes
|
||||
# are forcing us to extract them from replies.
|
||||
#
|
||||
module ContinuationItemRendererParser
|
||||
|
Loading…
Reference in New Issue
Block a user