Commit Graph

58 Commits

Author SHA1 Message Date
PikachuEXE 8fa8e1fd99
! Fix handling of video data without `published` (#4788) 2024-03-25 15:23:01 +00:00
absidue 98aded9701
Fix handling of video published date in video lists (#4752)
* Fix handling of video published date in video lists

* Use same date format on the history page as before

* Switch to months at 30 days instead of 32 and correct thresholds

* Add support for formatting as weeks

* According to Invidious everything on the popular tab is a short???
2024-03-13 02:26:12 -04:00
absidue 393f889d9b
Update channel names and thumbnails when refreshing subscriptions (#4688) 2024-03-07 13:49:54 +00:00
absidue 414003336d
Fix local API search erroring, because the default parameter values were not getting applied (#4704) 2024-02-22 21:42:37 +00:00
absidue 7b74099b24
Fix local API erroring when the view count is missing on the channel shorts tab (#4689) 2024-02-19 09:35:13 +08:00
absidue 30248d6bbc
Support YouTube using PageHeader on user channels not just auto-generated ones (#4543)
* Support YouTube using PageHeader on user channels not just auto-generated ones

* Bump YouTube.js to 9.0.2 as requested
2024-02-09 11:39:01 -05:00
PikachuEXE bf83faa322
! Fix comment channel link display w/ local API (#4652) 2024-02-09 03:26:28 +00:00
ChunkyProgrammer c983e02011
Add support for viewing movie trailers with local api (#4391)
* Add support for viewing movie trailers with local api

* add support for age restricted trailers

* remove unused changes

* always show trailer, regardless of video playability status

* Improve movie parsing logic

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

* check for null instead of truthy

* Exclude unneeded properties

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2024-01-30 00:30:50 +00:00
absidue b2e1ae0c70
Cleanup shorts duration parsing now that YouTube has removed it (#4509) 2024-01-02 18:08:59 +00:00
absidue 0bde0b376b
Local API: Support the author-less auto-generated album playlists in video lists (#4371) 2023-11-25 18:16:28 -05:00
absidue 24678db81d
Handle channel URL resolve redirects in the local API (#4205)
* Handle channel URL resolve redirects in the local API

* Refactor into a for-loop
2023-10-30 22:00:18 -04:00
PikachuEXE 5c8d49bf51
! Fix playlist item fetching for local API (#4102) 2023-10-07 22:14:16 +00:00
ChunkyProgrammer 47ef3e5746
Subscriptions: Add community tab (#3973)
* Add subscription community tab

* fix up community tab

* simplify if statement

* use global.community for all references to community

* dont show community when useRss is set

* check visibleTabs for showing the community tab

* fix caching, decrease datalimit for community, add missing translations

* L: Hide shared posts, IV: Don't show errors for empty community tab

* add links to related issues
2023-09-23 00:19:50 +00:00
Benjababe 8c07ef3521
Add subscribed icon to comments (#4007)
* add subscribed icon to comments

* update subscribed img src

* update subscribed icon css

* add author id to local api comments

* update subscribe icon on theme change

* add subscription icon to comment replies

* Update src/renderer/components/watch-video-comments/watch-video-comments.css

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-09-11 07:14:18 +08:00
ChunkyProgrammer c7025b648c
Search: Add hashtags to results (#3780)
* Add hashtags to search results

* add global count , implement changes from code review

Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>

* use h3 for title of hashtag element

* implement suggestions from code review

* use hashtag.text, move url update logic

* encodeURI for hashtag url

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-09-09 18:32:59 +02:00
Wesley Appler 4a7c4d95bf
Refactoring to community polls & fixes for quizzes (#3865)
* Refactoring to community polls & fixes for quizzes

* Replaced the interactive quiz with a reveal button and small fixes

* Replaced the interactive quiz with a reveal button and small fixes

* Implemented vote formatting

* vote translation fix

* Accessibility additions

* Fixed local API is_correct typo

* Fixed inconsistent indents
2023-08-24 22:26:31 +02:00
Preston b9eb2a76fb
Add Tabs to subscriptions page for live streams and shorts (#3725)
* Add Tabs to subscriptions page for live streams and shorts

* Fix naming issue with fetching live streams via Invidious RSS

* Remove console log

* Better error handling and better live stream sorting

* Fix linter issues

* Change videos RSS feed. Make live stream call more efficient.

* Store last used tab in memory. Return to last used tab on mount

* Fix live sorting. Reorganize tabs and check for currentTab via created instead of mounted

* Fix linting issue

* Start Global locales object, add distraction free checks for subscriptions tab

* Start Global locales object for all locales

* Cleanup and reduce duplicate code

* Undo original distraction free settings change

* Fix missing change in previous commit

* Add distraction free settings to hide tabs

* Improve accessibility

* Make app-wide hide live streams setting override hide subscriptions live

* Fix incorrect all tabs disabled message

* Fix arrow key navigation

* Create shared UI component for the subscription tabs

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-07-21 07:33:34 -04:00
ChunkyProgrammer 095568e1b1
Channels: Add support for release and podcast tab (#3778)
* Channels: Add support for release and podcast tab (local)

* Add support for releases and podcasts tab (Invidious API)

* add urls with has_url

* Fix copy paste error

Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-07-20 00:16:45 +02:00
absidue 0ba63d5405
Fix local API empty search results loading forever (#3770) 2023-07-13 08:49:47 +08:00
absidue 8ab13b52d8
Extract published date and views for playlists with the local API (#3767) 2023-07-12 15:40:46 -04:00
absidue b0239d197f
Fix web throttling because of double deciphering (#3759) 2023-07-11 08:47:38 +08:00
absidue 1ba0865a09
Only use android formats when the video id in the response is correct (#3719)
* Only use android formats when the video id in the response is correct

* Fix typo in playability status check

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>

---------

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
2023-07-02 22:48:35 -04:00
absidue bcf21f6d44
Use android formats when available, web for everything else (#3715) 2023-07-02 08:42:28 +08:00
Jaden fc7c252722
Use playlist thumbnail provided by YT (#3710)
* Use playlist thumbnail provided by YT from Local API

* Use correct thumbnails for playlist page

* Fix playlistThumbnail not giving correct value

* Update youtubei.js

* Update package.json

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* Update yarn.lock to align with package.json

---------

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2023-06-30 18:18:43 +02:00
absidue 6e0395d58e
Support YouTube's new layout for shorts only playlists (#3708) 2023-06-27 13:13:48 -04:00
absidue 3c6e1d1a8e
Escape HTML in local API text runs to prevent XSS (#3675) 2023-06-19 17:01:12 +00:00
absidue 137362d7df
Parse shorts links in text runs (#3539) 2023-05-15 10:12:59 +08:00
absidue 9019be2419
Implement the shorts tab on channel pages (#3533)
* Implement the shorts tab on channel pages

* Remove testing code

* Upgrade YouTube.js
2023-05-15 10:01:18 +08:00
ChunkyProgrammer a4d45b5fa8
Local API: Add support for hashtag pages (#3483)
* Add support for hashtag pages

* Apply suggestions from code review

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

* allow searching hashtags

Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>

* Only use one card

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

* remove hashtag alias search navigation

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-05-13 13:27:41 +02:00
absidue 6ef572d1fa
Deduplicate videos on the default trending tab (#3492) 2023-05-07 08:52:39 -04:00
PikachuEXE 8765d2ae6d
Fix local run parsing to ensure URL not manipulated unnecessarily breaking the URL (#3467)
* ! Fix local run parsing to ensure URL not manipulated unnecesarily breaking the URL

* Rename new variable
2023-05-03 00:05:30 -04:00
absidue 170df2a054
Upgrade YouTube.js from 4.3 to 5.0.2 (fixes throttling) (#3474)
* Upgrade YouTube.js from 4.3 to 5.0.1 (fixes throttling)

* Fix typo

* Upgrade YouTube.js from 5.0.1 to 5.0.2 (fixes watch page views)
2023-05-01 09:12:23 -04:00
PikachuEXE f6d8e78d25
! Fix video comment external link parsing for local API (#3448) 2023-04-25 20:01:06 -04:00
PikachuEXE 8be4b0dffa
Fix "mention" in comments was rendered as link with channel URL (#3351)
* ! Fix "mention" in comments was rendered as link with channel URL

* ! Fix original space padding logic

* $ Refactor code as suggested
2023-04-17 09:22:05 -04:00
ChunkyProgrammer 9612df70cc
Small community post fixes (#3401)
* Small community post fixes

* fix #3387

* Check if post is empty

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-04-12 08:58:35 +00:00
absidue a53e7f0598
Fix DASH default quality and quality selection (#3278)
* Fix DASH default quality and quality selection

* Add comments and multiple bandwidth by 10

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* Fix typo

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>

* ! Fix default quality `auto` handling

* ! Fix quality selection for short/vertical videos

* ! Fix default quality selection for Invidious API

* * Update videojs bandwidth option value to max

* ~ Add comment about video format sorting logic when heights from 2 formats equal

* * Revert format preference back to higher bitrate with comments

* * Revert inflated initial bandwidth option value to fix #595

---------

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
2023-03-22 20:22:20 -04:00
PikachuEXE f0ba90e766
! Fix handling of `channel.subscriber.text` being `undefined` (#3340) 2023-03-22 19:10:34 +00:00
absidue 029f0cb0b9
Fetch the videos tab directly for local API subscriptions (#3315) 2023-03-18 20:27:56 +00:00
absidue 1335604554
Properly show live and upcoming videos in playlists and up next (#3250) 2023-03-05 11:20:32 -05:00
absidue 07c9212e74
Clean up some code that was leftover from before the YouTube.js migration (#3243) 2023-03-04 14:05:33 -05:00
Luca Hohmann 4ef2f709ee
Channel community page (#1568)
* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access

* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access

* Data returning added

* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access

* Data returning added

* Images are now displayed in the community tab

* Comunity page strings, Communtiy tab, Community initial API call
Added:
1) Community page strings - the first few strings are now available
2) Community tab - A clickable tab is now displayed on channel pages
3) Community initial API call - on loading the page, the initial access

* Data returning added

* Images are now displayed in the community tab

* Added primitive video display

* Current changes

* Added preston's change with the ftcard and started on some layout basics

* Created Community Post Component and added fetch more button + functionality

* Fixed problem with videothumbnails not loading and adjusted their height to 100% in the ft-list sass file

* Added poll and ft-list-video to the community page

* Added author name placeholder (missing in module), the published date, the likes and dislikes as well as comment counts to posts. Additionally scaling of images was added

* Added basis for community page playlists

* Finalized a setup for playlists when wide enough

* Fix for missing key in custom list

* Added publish date translation

* Add empty alt tags

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>

* fix accessibility issue

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>

* change: ununique ids to classes

* add missing alt tag

* Redirect channel/id/community to the channel's community tab

* update yt-channel-info

* update to 3.0.1

* Update yarn.lock

* add basic multiImage support

* use tiny-slider for multiImage community posts

* update getChannelCommunityPostsMore

* Update yarn.lock

* fix yarn lock

* swap community and about tab

* Update yarn.lock

* Fix missing comma

* Removed trailing spaces

* Clearing all community post data when changing to another channel

* Restructuring of how the post cards are added, Empty page text,
ft-element-list props customization
1) Now the community page uses the same setup of ft-element-list as the
other pages on the channel.
2) If no posts are available, now it displays a message saying so
3) The ft-element-list component's display style can now be forced into
a certain display mode (list/grid) with the new prop. It will overwrite
the corresponding default value for list display

* Fixed display text path

* Fix lint"

* Adjusted css to fit to new layout

* Final touches community page to tidy up the console

* fix icons, fix linter

* fix hiding showmore button for community page

* fix showToast calls

* change all this.showToast to showToaast

* reinstall tinyslider

* use helpers

* small fixes

* fix: getting continuation of community posts

* remove unused code

* improve slider style import

* fix hiding 'ShowMore' button

* fix weird typo in css

* add invidous community tab support

* remove console testing code

* Apply suggestions from code review

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

* implement suggestions, improve thumbnail replacement

* use flip horizontal

* readd invidious fallback code, remove author name workaround

* replace another google domain when using invidious

* suppport invidious multiImage posts

* Use youtube.js for community posts

* add invidious polls, remove support for fetching more

* reorder icons alpabetically

* re-allow loading more when using localapi

* fix styling of multiImage, hide NA text

* fix loading playlist

* fix spacing of items

* fix issue with direct url to community tab

* make review recommendations

Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>

* fix displaying selected tab, get best quality image

---------

Co-authored-by: Preston <freetubeapp@protonmail.com>
Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2023-03-04 16:56:04 +08:00
absidue 291aeff1a6
Migrate channel related functionality to YouTube.js (#3143)
* Migrate channel related functionality to YouTube.js

* Better alert handling

* Add support for special autogenerated channels

* Add support for latest YouTube.js changes

* Add support for age restricted channels

* Update YouTube.js to 3.0.0

* Obey hide search bar setting for the tag searching

* Choose a better parameter name

* Allow sharing terminated and age restricted channels

* Add handle support for handles on Invidious

* Fix the backend fallback

* Use a positive parameter name

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* Fix duplicate tags causing errors

* Fix sorting for the Invidious API

* Move URL resolving to the channel page

* Update YouTube.js to 3.1.0

---------

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2023-03-01 08:39:33 +08:00
ChunkyProgrammer 76d867a370
fix comment crash, render member info (#3196) 2023-02-16 18:47:12 +00:00
ChunkyProgrammer b360f483d7
add missing search filters (#3141)
* add missing search filters

* allow sort by to be used on all types again

* fix local api filter duration
2023-02-01 20:43:04 +00:00
absidue 5424122339
Filter out WebM DASH formats (#3105)
* Filter out WebM DASH formats

* Address pull request feedback
2023-01-25 15:58:25 -05:00
absidue 14caa8ccad
Handle missing data in search results (#3099) 2023-01-25 07:37:31 +08:00
absidue 0145a0425f
Migrate comments to YouTube.js (#3072)
* Migrate comments to YouTube.js

* Various improvements
2023-01-24 03:22:54 +01:00
absidue 97cb339ec5
Decipher format URLs with the local API (#3053) 2023-01-14 08:11:08 +01:00
absidue ae50ec7205
Migrate live chat to YouTube.js (#3054) 2023-01-13 17:54:22 +01:00
absidue 0c69fc23e6
Generate local API sessions locally (#3052) 2023-01-12 07:54:09 +01:00