5810 Commits

Author SHA1 Message Date
dependabot[bot] f914ce8040 Bump int128/docker-manifest-create-action from 2.19.0 to 2.20.0 (#5705)
Bumps [int128/docker-manifest-create-action](https://github.com/int128/docker-manifest-create-action) from 2.19.0 to 2.20.0.
- [Release notes](https://github.com/int128/docker-manifest-create-action/releases)
- [Commits](https://github.com/int128/docker-manifest-create-action/compare/v2.19.0...v2.20.0)

---
updated-dependencies:
- dependency-name: int128/docker-manifest-create-action
  dependency-version: 2.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-05 09:31:29 -04:00
Fijxu 57ba257233 CI: Unify ARM64 and AMD64 Dockerfiles (#5700)
* CI: Unify ARM64 and AMD64 Dockerfiles

* chore: remove replacement of Dockerfile in docker-compose.yml for ci.yml build-docker job

* Combine images into manifest list

* fix wrong tag for nightly container release

* forgot this ^^'
2026-05-04 14:59:24 -04:00
Fijxu e012334975 chore: update Crystal to 1.20.1 in OCI 2026-05-01 14:12:15 -04:00
Fijxu 85a078a580 CI: update Crystal 1.20.0 to 1.20.1 in ci.yml matrix (#5703) 2026-04-30 13:18:49 -04:00
Fijxu afea61bb8f CI: display progress and stats when compiling Invidious in ci.yml matrix (#5696) 2026-04-28 06:42:45 -04:00
Fijxu fd313e0107 CI: Bump Crystal version matrix (#5691)
* CI: Bump Crystal version matrix

Add Crystal 1.19.2 and 1.20.0

* update crystal 1.19.1 to 1.19.2
2026-04-27 20:15:11 -04:00
Fijxu 0c600988ca chore: update Crystal to 1.20.0 in OCI (#5692)
* chore: update Crystal to 1.20.0 in amd64 OCI

* use alpine:edge with crystal 1.20.0 to build Invidious, use alpine:3.23 for final layer
2026-04-27 20:11:51 -04:00
Cameron Radmore 264e7c24e9 player: Use correct time parameter for YouTube embed redirects (#5660) 2026-04-26 14:02:11 -04:00
Fijxu 9eda6e5bc4 chore: lint api/v1/channels.cr (#5693) 2026-04-25 16:57:45 -04:00
Fijxu 73c749f13f Encapsulate helpers constants and functions inside it's own Helpers module (#5639)
It encapsulates all related code from helpers.cr into it's own module.
2026-04-25 16:57:33 -04:00
Fijxu bc64cd9b67 Encapsulate translation constants and functions inside it's own module (#5637)
It encapsulates all related code from translation into it's own module.

Required for the migration to the crystal stdlib logger: https://github.com/iv-org/invidious/pull/5426
2026-04-25 16:55:55 -04:00
dependabot[bot] 54365c0e2a Bump crystal-lang/install-crystal from 1.9.1 to 1.9.2 (#5686)
Bumps [crystal-lang/install-crystal](https://github.com/crystal-lang/install-crystal) from 1.9.1 to 1.9.2.
- [Release notes](https://github.com/crystal-lang/install-crystal/releases)
- [Commits](https://github.com/crystal-lang/install-crystal/compare/v1.9.1...v1.9.2)

---
updated-dependencies:
- dependency-name: crystal-lang/install-crystal
  dependency-version: 1.9.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-14 01:11:37 +02:00
ChunkyProgrammer 606467c693 Playlists: fix parsing error when some videos are paid for in a course (#5207)
* Playlists: fix parsing error when some videos are paid for in a course

* Remove redundant casting to string

fix rebase error

Co-Authored-By: syeopite <70992037+syeopite@users.noreply.github.com>

* Fix rebase issues

---------

Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
2026-04-09 14:52:03 +02:00
dependabot[bot] 749791cdf1 Bump docker/login-action from 3 to 4 (#5661)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3 to 4.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-10 09:59:52 +01:00
dependabot[bot] d7361cbb9a Bump docker/build-push-action from 6 to 7 (#5662)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-10 09:59:44 +01:00
dependabot[bot] f07c9a7209 Bump docker/metadata-action from 5 to 6 (#5663)
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5 to 6.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-10 09:59:34 +01:00
dependabot[bot] cf9b6c4fcb Bump docker/setup-buildx-action from 3 to 4 (#5664)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-10 09:59:26 +01:00
Ashley :3 21d0d1041a Remove noreferrer since youtube now requires referrers on embeds (#5642)
* Remove noreferer since youtube now requires referers on embeds

* Update src/invidious/views/watch.ecr

---------

Co-authored-by: Fijxu <fijxu@nadeko.net>
2026-02-23 21:36:12 -03:00
Fijxu fda8d1b528 Remove trailing whitespaces from codebase (#5634)
Removes trailing whitespaces found across the codebase using `find . -type f -exec grep -lE ' +$' {} +`

[skip ci]
2026-02-19 14:28:22 -03:00
Jeroen Boersma e7f8b15b21 Add title listen button time updates (#5625)
When switching between Listen and Watching the timestamp in the url of
the listen of watch button is now updated automatically.

This means if you switch between listening and viewing you keep in sync
with time.
2026-02-16 16:39:44 -03:00
Fijxu 60c31e3069 Remove sort by rating and date in video search filters (#5629)
* Remove sort by rating and date in video search filters

Closes https://github.com/iv-org/invidious/issues/5626

* Remove check of protobug generation of rating and date sort filters in Invidious spec
2026-02-16 14:06:06 -03:00
Emilien 11db343cfb Prepare for next release 2026-02-07 22:10:11 +01:00
Émilien (perso) 118d635650 Release v2.20260207.0 (#5621)
* Release v2.20260207.0

* Fix release notes for Crystal/OpenSSL

* fix comment about pr #5566, #5338

Co-authored-by: Fijxu <fijxu@nadeko.net>

* fix comment about memory leaks

Co-authored-by: Fijxu <fijxu@nadeko.net>

* Clarify release notes for proxy header stripping

---------

Co-authored-by: Fijxu <fijxu@nadeko.net>
v2.20260207.0
2026-02-07 21:47:19 +01:00
Fijxu 29c29f7c8d Update src/invidious/routes/routes.cr
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-06 18:50:36 +01:00
Fijxu 067a426235 refactor: Move top level constants to it's own modules 2026-02-06 18:50:36 +01:00
Samantaz Fox ffd9f4b112 pages/watch: HTML escape 'action' in download widget
Caught in the review of PR 5224, but forgot to click on "send review" in time.
I realized that too late, after the PR was already merged.
2026-02-06 18:44:37 +01:00
Fijxu cc7cb94095 Document use of unix sockets for db 2026-02-06 18:39:53 +01:00
Fijxu 0ee92e3298 Update src/invidious/routes/before_all.cr
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-06 18:35:20 +01:00
Fijxu a3a97ccf07 Only generate companion CSP one time to reuse it 2026-02-06 18:35:20 +01:00
ThatMatrix ce9494133d fix(user/imports.cr): double header removal caused first video to be skipped 2026-02-06 18:33:58 +01:00
ThatMatrix e4beb00413 fix(user/imports.cr): splitting error fixed 2026-02-06 18:33:58 +01:00
ThatMatrix 050032b188 fix(docker-compose.yml): removed hmac_key (randomly generated) used for testing 2026-02-06 18:33:58 +01:00
ThatMatrix 471857ce8b Fix(user/importers): Fixed typos 2026-02-06 18:33:58 +01:00
ThatMatrix 7be6fbd75c Fix(user/importers): Fixed youtube csv playlist importer 2026-02-06 18:33:58 +01:00
Cameron Radmore 84a699f7b7 Playlist API: return empty author url if ucid is empty (#5618) 2026-02-05 11:59:27 -03:00
Cameron Radmore 864893f4c7 Channels: parse pronouns and display them on channel page (#5617) 2026-02-05 11:58:52 -03:00
Cameron Radmore ecbc21b067 playlist: parse playlist thumbnails for topic autogenerated playlists (#5616) 2026-02-04 12:57:16 -03:00
Fijxu a9f812799c fix: add missing embedded protobuf message in continuation token for channel videos (#5614)
* fix: add missing embedded protobuf message in continuation token for channel videos

* fix: add missing embedded protobuf message in continuation token for channel shorts

* fix: add missing embedded protobuf message in continuation token for channel livestreams
2026-02-03 16:18:15 -03:00
Harm133 48be830544 Update shard.yml to include target (#5608)
[shard.yml]
- Include a target for LSPs to use as an entrypoint:
  (https://github.com/elbywan/crystalline?tab=readme-ov-file#entry-point)
2026-01-30 23:39:07 +01:00
Fijxu b521e3be6c chore: Do not convert thin_mode preference to string to compare it (#5568) 2026-01-30 18:01:16 -03:00
Fijxu abb0aa436c Fix thin_mode preference for channel community page (#5567)
thin_mode only took in account the query param because
env.get("preferences").as(Preferences).thin_mode returned a boolean and
not a string to be able to compare it with the string `"true"`
2026-01-30 18:01:04 -03:00
Kiril Isakov d51a7a44ad Fix commit command in README instructions, as per #5606 (#5607) 2026-01-23 13:18:41 +01:00
Émilien (perso) 7e36cfb667 Revert "Bump crystallang/crystal from 1.16.3-alpine to 1.19.0-alpine in /dock…" (#5604)
This reverts commit d25cc9570c.
2026-01-19 23:39:01 +01:00
dependabot[bot] d25cc9570c Bump crystallang/crystal from 1.16.3-alpine to 1.19.0-alpine in /docker (#5603)
Bumps crystallang/crystal from 1.16.3-alpine to 1.19.0-alpine.

---
updated-dependencies:
- dependency-name: crystallang/crystal
  dependency-version: 1.19.0-alpine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-19 22:59:44 +01:00
Émilien (perso) 66c67f4c7a doc: Update HTTP proxy configuration comments (#5586)
* doc: Update HTTP proxy configuration comments

Added information about proxy configuration for YouTube streams.

* Document supported proxy types in config.example.yml

Added note about supported proxy types in configuration.
2026-01-17 00:15:32 +01:00
Fijxu 344bc2d8e9 Strip unwanted headers from response headers in images and videoplayback (#5595)
Image responses contained the following unwanted headers that should not
be passed to the clients:

```
"Cross-Origin-Resource-Policy"
["cross-origin"]
"Cross-Origin-Opener-Policy-Report-Only"
["same-origin; report-to=\"youtube\""]
"Report-To"
["{\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}"]
"Timing-Allow-Origin"
["*"]
```
2026-01-16 19:39:44 -03:00
Fijxu 5f84a5b353 Generate companion check id one time and add missing companion check id on captions (#5575)
* Only generate companion check id one time

* Add missing check id for companion captions
2025-12-22 17:14:59 +01:00
Fijxu 9603f5151d Downgrade Crystal to 1.16.3 in OCI (#5577)
* downgrade to 1.16.3

* Downgrade Alpine base image from 3.23 to 3.22

---------

Co-authored-by: Émilien (perso) <4016501+unixfox@users.noreply.github.com>
2025-12-22 11:19:13 +01:00
Fijxu f7a31aa3de fix lint 2025-12-21 00:50:37 -03:00
Jeroen Boersma dbbaf51f1f Allow downloading via companion (#5561)
* Allow downloading via companion

* post request where not proxied for the download companion which made
  it impossible to download with the companion enabled

* Re-apply Channel to Channels rename which was pulled in

* Update src/invidious/routes/companion.cr

* doc: better comments for each route

---------

Co-authored-by: Fijxu <fijxu@nadeko.net>
Co-authored-by: Émilien (perso) <4016501+unixfox@users.noreply.github.com>
2025-12-19 15:09:22 +01:00