summaryrefslogtreecommitdiffstats
path: root/src (follow)
AgeCommit message (Collapse)Author
2021-10-11Add mising 'require' statement to 'invidious.cr'Samantaz Fox
2021-10-11Move server structure to a separate fileSamantaz Fox
2021-10-11move theme converter function to a separate fileSamantaz Fox
2021-10-11Move user preferences structure to a separate fileSamantaz Fox
2021-10-11Use kemal in production mode (#2455)syeopite
2021-10-11Fix URL-encoding in href strings (#2460)mastihios
* hrefs: replace HTML.escape w/ URI.encode_www_form * Fix search_query_encoded
2021-10-08Reduce refresh delay, increase backoff start durationSamantaz Fox
2021-10-07Fix extractor bugs (#2454)syeopite
* Add debug/trace logging to extract_items * Handle invalid timestamps for livestreams extraction * Make use of author_fallback in playlist extractor * Don't use extract_text for video length extraction The extract_text function attempts to extract from both the simpleText and the runs route. This is typically what we'd want for text extraction as it could appear in both locations. However, while this still holds true, the thumbnailOverlayTimeStatusRenderer writes a numerical length (when present on the video) to the simpleText route and uses runs for a text overlay like "LIVE" or "PREMIERE". Therefore, when a video has a text overlay instead of a numerical one, Invidious still passes it onto decode_length_seconds, which obviously raises since it cannot be converted into integers. In the future, if more routes requires one text route over the other, we should go ahead and add an argument to extract_text itself. Though for now, this is sufficient. * Handle unsupported "special" categories
2021-10-07Add config option to display source code URL in footer (#2450)Samantaz Fox
2021-10-04Revert "Fix typo (#2456)" (#2457)Samantaz Fox
This reverts commit 4982bff74df677c9e615b52075bd05d0006acc69.
2021-10-04Fix typo (#2456)Jorge Maldonado Ventura
2021-10-02Add support to make invidious API-only via flag (#2363)syeopite
2021-10-02Merge pull request #2443 from iv-org/syeopite-patch-1syeopite
Use make_client when querying instance api
2021-10-02Merge pull request #2228 from syeopite/extract-items-overhaulsyeopite
Overhaul extract_item(s) functions and add infrastructure for parsing YouTube categories
2021-10-02Actually fix lintsyeopite
2021-10-02Fix lintSamantaz Fox
2021-10-02Disable locales with less than 50% of strings translatedSamantaz Fox
2021-10-02Add Portuguese (pt) to localesSamantaz Fox
follow up to #2437
2021-10-02Use make_client when querying instance apisyeopite
2021-10-02add icon-buttons to playlist items (#2442)mastihios
2021-10-01Use break instead of short-circuit returnsyeopite
2021-09-28Improve readabltiy of SearchChannel auto-gen detectsyeopite
2021-09-28Optimize routing logic of extract_item(s) funcssyeopite
2021-09-28Rename get_browse_endpoint to get_browse_idsyeopite
2021-09-28Convert nil for AuthorFallback to empty stringssyeopite
2021-09-28Apply suggestions from code reviewsyeopite
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2021-09-26Decrease channel refresh frequency (1 min -> 1 h)Samantaz Fox
This is a temporary fix to reduce load on instances with many channels and avoid IP being flagged by Google.
2021-09-26Use default timeout (5 seconds) for YT pool (#2430)syeopite
2021-09-24Add documentation to extractors.crsyeopite
2021-09-24Typos and tiny styling changessyeopite
2021-09-24Bountiful extractor changessyeopite
- Add extract_text to simplify extraction of InnerTube texts - Add helper extractor methods to reduce repetition in parsing InnerTube - Change [] more than 2 blocks long to use #dig or #dig? - Remove useless ?.try blocks for items that always exists - Add (some) documentation to VideoRendererParser
2021-09-24Overhaul extractors.cr to use modulessyeopite
2021-09-24Switch to structs in extractors.cr for performancesyeopite
2021-09-24Improve documentation for extract_item(s) funcssyeopite
2021-09-24Fix extract_videossyeopite
2021-09-24Manually extract category refactor from 1b569bbc99207cae7c20aa285f42477ae361dd30syeopite
Also fixes some errors caused by cherry-picking
2021-09-24Rename invidiousitems.crsyeopite
2021-09-24Add description_html field to Categorysyeopite
(cherry picked from commit aa8f15f795787113e56473f8e8fd606749a14bdd)
2021-09-24Change typing of Category contents to only Arraysyeopite
(cherry picked from commit d3384e17f10d0baca70db7993df14100485be9da)
2021-09-24Move continuation_token out of Category structsyeopite
(cherry picked from commit 0e96eda28f25171a0344b972af1852a4d6fc3007)
2021-09-24Rename "items_without_cate_items" to reflect usagesyeopite
2021-09-24Unpack search items that are embedded in categoriessyeopite
This is a squash of a bunch of commits cherry-picked commits Fix category parse error on search (cherry picked from commit cc02fed4e69f0eb5f19e017173632b3a3f20519f) Fix category items not being extracted in search (cherry picked from commit 2605b9c609ff217b5a6ae09d22450596dcad90fc) Make search not include category items for now (cherry picked from commit ca4afd59f46b595e3c339f31432cad98a5771ee1) Change behavior of categories in search results (cherry picked from commit cc1067561051b1c113b490e79c4a71cd346f7b3f) Fix missing search results in extraction (cherry picked from commit abda6840d5bfe58f845128bdd1a3f4916dd3bb84) Fix miscount of search results (cherry picked from commit 491e33450eb1300d0234bb33df0d0e78a027114f)
2021-09-24Add parser for categories (shelfRenderer)syeopite
This commit adds a new parser for YT's shelfRenderers which are typically used to denote different categories.The code for featured channels parsing has also been moved to use the new parser but some additional refactoring are needed there. The ContinuationExtractor has also been improved and is now capable of extraction continuation data that is packaged under "appendContinuationItemsAction" In additional this commit adds some useful helper functions to extract the current selected tab the continuation token. This is to mainly reduce code size and repetition. -- This cherry-picked commit also removes the code for parsing featured channels present on the original. (cherry picked from commit 8000d538dbbf1eb9c78e000b1449926ba3b24da9)
2021-09-24Rewrite extract_item and extract_items functionssyeopite
This commit completely rewrites the extract_item and extract_items function. Before this commit these two function were an unreadable mess. The extract_item function was a lengthy if-elsif chain while the extract_items function contained an incomprehensible mess of .try, else and ||. With this commit both of these functions have been pulled into a separate file with the internal logic being moved to a few classes. This significantly reduces the size of these two methods, enhances readability and makes adding new extraction/parse rules much simpler. See diff for details. -- This cherry-picked commit also removes the code for parsing featured channels present on the original. (cherry picked from commit a027fbf7af1f96dc26fe5a610525ae52bcc40c28)
2021-09-25Fix livestream regex regression caused by #2271syeopite
Closes #2352 Special thanks to @WaywardHeart for finding this issue!
2021-09-23Remove login type button from frontend (#2423)syeopite
2021-09-20Fix mixes route (#2421)Walkyst
2021-09-19Unregister captcha job (#2390)syeopite
2021-09-18Pass success msg from dep script during compile-timesyeopite
2021-09-18Use correct videojs-vtt-thumbnails location in licences.ecrsyeopite