Fijxu and GitHub
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 and GitHub
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
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
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
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
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
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
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
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 and GitHub
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 and GitHub
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 and GitHub
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
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
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 and Émilien (perso)
067a426235
refactor: Move top level constants to it's own modules
2026-02-06 18:50:36 +01:00
Samantaz Fox and Émilien (perso)
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 and Émilien (perso)
cc7cb94095
Document use of unix sockets for db
2026-02-06 18:39:53 +01:00
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 and Émilien (perso)
a3a97ccf07
Only generate companion CSP one time to reuse it
2026-02-06 18:35:20 +01:00
ThatMatrix and Émilien (perso)
ce9494133d
fix(user/imports.cr): double header removal caused first video to be skipped
2026-02-06 18:33:58 +01:00
ThatMatrix and Émilien (perso)
e4beb00413
fix(user/imports.cr): splitting error fixed
2026-02-06 18:33:58 +01:00
ThatMatrix and Émilien (perso)
050032b188
fix(docker-compose.yml): removed hmac_key (randomly generated) used for testing
2026-02-06 18:33:58 +01:00
ThatMatrix and Émilien (perso)
471857ce8b
Fix(user/importers): Fixed typos
2026-02-06 18:33:58 +01:00
ThatMatrix and Émilien (perso)
7be6fbd75c
Fix(user/importers): Fixed youtube csv playlist importer
2026-02-06 18:33:58 +01:00
Cameron Radmore and GitHub
84a699f7b7
Playlist API: return empty author url if ucid is empty ( #5618 )
2026-02-05 11:59:27 -03:00
Cameron Radmore and GitHub
864893f4c7
Channels: parse pronouns and display them on channel page ( #5617 )
2026-02-05 11:58:52 -03:00
Cameron Radmore and GitHub
ecbc21b067
playlist: parse playlist thumbnails for topic autogenerated playlists ( #5616 )
2026-02-04 12:57:16 -03:00
Fijxu and GitHub
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 and GitHub
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 and GitHub
b521e3be6c
chore: Do not convert thin_mode preference to string to compare it ( #5568 )
2026-01-30 18:01:16 -03:00
Fijxu and GitHub
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 and GitHub
d51a7a44ad
Fix commit command in README instructions, as per #5606 ( #5607 )
2026-01-23 13:18:41 +01:00
Émilien (perso) and GitHub
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
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) and GitHub
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 and GitHub
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 and GitHub
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
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
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
Émilien (perso) and GitHub
7a4b901846
chore: update crystal 1.18.2 + alpine 3.23 ( #5574 )
2025-12-19 15:08:07 +01:00
bf17d53068
Replace deprecated blocking property of Socket ( #5538 )
...
* Replace deprecated `blocking` property of `Socket`
This replaces the deprecated argument `blocking` and uses
`Socket.set_blocking(fd, value)` instead.
Fixes a warning in the compiler
https://github.com/crystal-lang/crystal/pull/16033
* Upgrade to upstream
* chore: only Socket.set_blocking for > 1.18
---------
Co-authored-by: Emilien <4016501+unixfox@users.noreply.github.com >
2025-12-19 14:59:42 +01:00
syeopite and Émilien (perso)
1f5685ef92
Reduce indent in StaticAssetsHandler#serve_file
2025-12-19 12:35:00 +01:00
syeopite and Émilien (perso)
21049518d6
Improve cache size check to be more performant
...
Summing the sizes of each cached file every time is very inefficient.
Instead we can simply store the cache size in an constant and increase
it everytime a file is added into the cache.
2025-12-19 12:35:00 +01:00
syeopite and Émilien (perso)
7f9cfe1aa2
Refactor logic for updating temp files in tests
2025-12-19 12:35:00 +01:00
syeopite and Émilien (perso)
89a0761a19
Fix Ameba Lint/UselessAssign
2025-12-19 12:35:00 +01:00
syeopite and Émilien (perso)
7749ea1956
Isolate static assets handler spec from others
...
Running `crystal spec` without a file argument essentially produces one
big program that combines every single spec file, their imports, and
the files that those imports themselves depend on. Most of the types
within this combined program will get ignored by the compiler due to a
lack of any calls to them from the spec files.
But for some types, partially the HTTP module ones, using them within
the spec files will suddenly make the compiler enable a bunch of
previously ignored code. And those code will suddenly require the
presence of additional types, constants, etc. This not only make it
annoying for getting the specs working but also makes it difficult to
isolate behaviors for testing.
The `static_assets_handler_spec.cr` causes this issue and so will be
marked as an isolated spec for now. In the future all of the tests
should be organized into independent groupings similar to how the
Crystal compiler splits their tests into std, compiler, primitives and
interpreter.
2025-12-19 12:35:00 +01:00
syeopite and Émilien (perso)
9e482b4807
Add specs for the new StaticAssetsHandler
2025-12-19 12:35:00 +01:00
syeopite and Émilien (perso)
6fd1cb3585
Compare against 1.17.0-dev until full release
2025-12-19 12:35:00 +01:00