Commit Graph

4890 Commits

Author SHA1 Message Date
338d3d9f86 CSS: Fix thumbnails' aspect ratio to prevent CLS (#4278)
Force the thumbnails aspect ratio to 16/9 in order to prevent Cumulative Layout
Shifting (CLS) from hapenning during lazy loading.

It also fixes the problematic, taller thumbnails that Youtube returns for
playlists.

Closes issue 4002
2024-02-12 22:19:14 +01:00
1f51255f2f API: Remove the fields parameter (#4276)
Multiple users have reported that the fields parameter is slowing down API
response times significantly. As most API endpoints are already optimized to
make as few requests as possible to Youtube, there is no point in limiting the
output. Furthermore, the added processing might be part of the broader memory
leak problem (See 1438).

In addition, the small increase in data output is not much of an issue compared
to the huge video proxy that lies next to this API.

No related issue tracked
2024-02-12 22:10:45 +01:00
dcbe52c9fb Videos: Use start time and end time for clips (#4264)
This PR parses the start and end time for clips.

It also adds a new, dedicated API endpoint (`/api/v1/clips/{id}`) for
retrieving the start and end time of a clip.

Here is a sample response from that new endpoint (`video` is a video object,
as described in https://docs.invidious.io/api/common_types/#videoobject):

GET `/api/v1/clips/UgkxxPM3BRphCAPLP88YoUGuj79KXPfpNNO_?pretty=1`

Response:
```
{
  "startTime": 8842.645,
  "endTime": 8855.856,
  "clipTitle": "✂️ Kirby is pink!",
  "video": {}
}
```

Closes issue 3921
2024-02-12 22:10:16 +01:00
bd5df3af5f API: Unescape search suggestions (#4218)
Previously, the suggestion were HTML encoded. This PR fixes that.
2024-02-12 22:03:33 +01:00
9bd2072e1d API: Add playlist and start time to resolve_url
This adds `playlistId` and `startTimeSeconds` to /api/v1/resolveurl if these
informations were returned by Youtube's endpoint.
2024-02-12 22:01:08 +01:00
3b4358dbd4 Extractors: Don't error if AuthorId does not exist (#3869)
Some playlist author's don't have a YouTube channel, so does movies.
This caused various extractors (related videos, search) to fail.

Closes the following issues:
2530, 3349, 3766, 3812, 4133
2024-02-12 21:54:17 +01:00
cf686202e0 Merge pull request #4423 from tleydxdy/xml-namespace
Fix pubsub feed parsing
2024-02-12 08:29:44 +01:00
98c421e9f5 Fix when video from pubsub is a scheduled event 2024-02-08 18:58:23 -05:00
c864a63b6d Fix pubsub feed parsing
similar to what's done in #3793, this is causing an assert on my instance
2024-02-08 17:05:11 -05:00
c005ada487 fix: prevent censoring of self-harm related search queries (#4403)
* fix: prevent censoring of self-harm related search queries

* fix: yt_filters_spec with new flag
2024-01-29 14:59:25 +01:00
1c0b4205d4 Add parameter to disable force_resolve in make_client (#4335)
* Add option to disable force_resolve in make_client

Some websites such as archive.org and textcaptcha.com
does not support IPv6 and as such requests fail when Invidious requests
with IPv6 to those services.

* Reenable force_resolve on pubsub subcribe request

* Make force_resolve false by default in make_client

* Remove missed explicit force_resolve=false
2024-01-10 23:01:00 +00:00
b16f66ef00 Exempt issues with "exempt-stale" from staling (#4385)
The exempt-stale label was not actually set to exempt issues from staling...
2024-01-10 20:40:19 +00:00
7da4a7f72b add null safety to clip parsing 2023-12-26 22:05:09 -05:00
090b470bfc fix potential memory leak 2023-12-19 23:07:18 -05:00
97c4165f55 Improve depends_on docker-compose (#4249)
* Improve depends_on checking the service is up and healthy before start the service that might cause issue first boot

* Docker version Ubuntu 22.04 has a version which doesn't support restart
2023-12-18 22:18:05 +00:00
f1edb1d6bf fix related video author when id is empty 2023-12-07 09:39:33 -05:00
b5f8b4542a Search: Don't error if AuthorId does not exist 2023-12-07 09:39:33 -05:00
b344d98c25 Add API endpoint for Clips 2023-12-07 09:39:04 -05:00
8c22e6a640 use start time and endtime for clips 2023-12-07 09:39:03 -05:00
6488794218 Unescape search suggestions 2023-12-07 09:36:59 -05:00
9e8baa3539 Move "Projects using Invidious" section to the docs (#4283) 2023-12-06 18:30:52 +01:00
07fe648a9c Remove anti-captcha (#4277) 2023-12-06 18:29:16 +01:00
6da3287e9d Misc: Fix logic for setting user agent (#4265) 2023-12-06 18:28:12 +01:00
37c2f5caed Misc: Use #splat method for macro expressions (#4242) 2023-12-06 18:22:50 +01:00
07b366f06b Chores: Update Crystal CI (#4239) 2023-12-06 18:21:57 +01:00
e8a14446af Videos: Append '&mpd_version=5' to DASH manifest URL (#4196) 2023-12-06 18:20:26 +01:00
813dc6de1c Player: Fix iOS screen timeout in loop mode (#4076) 2023-12-06 18:19:31 +01:00
72478ba704 Remove short sha docker tag (#4312) 2023-12-06 14:20:51 +01:00
9e970fe4bd docker-meta generate versioned docker tags & OCI labels (#4161)
* Use docker-meta to generate tags and labels + versioning

I updated the workflow to have additional tags based on git tags.

This way an administrator can get images by Invidious version tag.

* Use current date as image tag

* Switch to YYYY.MM.DD-SHA_SHORT

* Use short sha to follow existing tagging style

* revert build-push-actions to v5

---------

Co-authored-by: panda <panda@purplehaze.com>
2023-12-06 12:19:21 +01:00
d76fed5850 ci: update github actions (#4209)
* ci: update actions/checkout to v4

* ci: remove patch version from crystal-lang/install-crystal

latest patch will be automatically installed which is 1.8.1 https://github.com/crystal-lang/install-crystal

* ci: update docker/setup-buildx-action to v3

* ci: update docker/build-push-action to v5

* ci: update docker/setup-qemu-action to v3

* ci: update docker/login-action to v3

* ci: actions/stale to v8

https://github.com/actions/stale/blob/main/CHANGELOG.md

* Revert "ci: remove patch version from crystal-lang/install-crystal"

This reverts commit 8c39ce846f.
2023-12-01 18:11:45 +00:00
6868cade05 Rewording and formating 2023-11-23 22:23:54 +01:00
7b6930c16b Remove the 'fields' parameter on the client side too 2023-11-23 18:30:42 +01:00
9d5fa2bcc4 Helpers: remove JSONFilter logic 2023-11-23 18:30:42 +01:00
9310d09f93 Kemal: remove APIHandler middleware 2023-11-23 18:30:37 +01:00
67571b2492 Replace projects using invidious with doc link 2023-11-21 12:49:47 -08:00
d5df81f0f8 Update README.md
Add GTK+ Pipe Viewer, PlasmaTube
2023-11-21 12:07:40 -08:00
eb27e097ed README: Improve "Projects using Invidious" section 2023-11-21 12:07:07 -08:00
9ce9c54399 Install rsvg-convert on docker images (#4230) (#4282)
In #4103 alpine was updated from 3.16 to 3.18, but in 3.17 librsvg
packages was splitted and rsvg-convert is on his own package.
2023-11-21 19:47:07 +00:00
16c79f1ef5 Fixed aspect ratio for thumnails to prevent CLS 2023-11-21 08:14:45 +01:00
3a5d408602 Remove leftover functions/specs used by the anti-captcha job 2023-11-20 17:40:31 +01:00
7e363fa3c8 Config: Remove anti-captcha related configs 2023-11-20 17:39:51 +01:00
d9416a0be5 Jobs: Remove BypassCaptchaJob 2023-11-20 17:39:13 +01:00
b40cf6544a Revert "Make head request to resolve short urls"
This reverts commit 7e267da5be.
2023-11-19 16:06:29 -05:00
8338a73e7b add user_agent if empty or crystal 2023-11-17 08:01:56 -05:00
86ee761788 Fix logic for setting user agent 2023-11-15 00:51:43 -05:00
c5b87e3b5e Channel: Fetch header informations from homepage (#4241) 2023-11-08 23:43:04 +01:00
ed8b84ed15 Replace more * in macro with #splat 2023-11-08 00:49:37 -08:00
8ce91166d6 Remove instance of the * operator in macro expr 2023-11-08 00:42:46 -08:00
8525758583 Use #splat method for macro expressions 2023-11-08 00:37:18 -08:00
ab4c0a1d3c Fetch channel info from home tab instead of about 2023-11-07 23:53:14 -08:00