syeopite
20e4e52b8b
Add tests for popular_enabled
deprecation logic
2025-08-25 01:36:05 -07:00
syeopite
245ffc8396
Mark attributes set over env var as present if needed
2025-08-25 01:35:40 -07:00
syeopite
f978c2b228
Fix config precedence with popular_enabled
...
The original approach cannot be used to properly handle the precedence
of `popular_enabled` in relations to the new `pages_enabled` since it
is impossible to determine whether they are unset due to the presence
of default values.
In addition the original precedence handling wasn't actually doing
anything since PagesEnabled.has_key? will always return true if the key
is valid and thus use page_enabled and its default values regardless of
whether popular_enabled was set or not (which again is also impossible
to know)
To fix this two new instance variables are introduced in order to track
whether these two attributes were present in the YAML config and the
logic for handling them is instead reduced to only using `page_enabled`
and copying `popular_enabled` to page_enabled["popular"] when
`page_enabled` field is unset.
2025-08-25 01:21:12 -07:00
syeopite
d496b6e34a
Use PagesEnabled
struct when setting pages_enabled
...
The config update logic for the admin panel was not updated to use
the `PagesEnabled` struct introduced in commit `e238624`
2025-08-24 23:12:20 -07:00
syeopite
ba65e4ff25
Config: Use from_yaml constructor for PagesEnabled
...
`PagesEnabled` doesn't define a blank constructor without any
parameters meaning that `PagesEnabled.new` leads to a error due to lack
of arguments
2025-08-24 23:06:12 -07:00
Richard Lora
116a5db24d
Merge branch 'iv-org:master' into optional-disable-api-features
2025-06-07 08:35:54 -04:00
NorkzYT
e238624e8f
feat(config.cr): introduce PagesEnabled struct for managing feature toggles for pages
...
refactor(routes): replace direct page_enabled checks with centralized logic in before_all.cr for cleaner endpoint management
chore(routes): remove redundant page_enabled checks from individual routes to streamline code and improve maintainability
2025-06-07 11:52:13 +00:00
syeopite
df8839d1f0
Make base-Invidious video info extraction more resilient ( #5312 )
...
Build and release container directly from master / release (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.12.2, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.13.3, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.14.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.15.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.16.3, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (nightly, false) (push) Has been cancelled
Invidious CI / build-docker (push) Has been cancelled
Invidious CI / build-docker-arm64 (push) Has been cancelled
Invidious CI / lint (push) Has been cancelled
Try next fallback client if one raises
Convert `dig` to `dig?`
Optimize companionless stream retrieval
2025-05-28 20:18:51 +00:00
syeopite
b859faebf0
Remove @iv-org/developers
from codeowners ( #5314 )
Build and release container directly from master / release (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.12.2, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.13.3, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.14.1, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.15.1, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.16.3, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (nightly, false) (push) Waiting to run
Invidious CI / build-docker (push) Waiting to run
Invidious CI / build-docker-arm64 (push) Waiting to run
Invidious CI / lint (push) Waiting to run
2025-05-28 17:34:49 +02:00
NorkzYT
3eeec8632d
🌐 (feeds.cr, search.cr): update translation keys for disabled feeds and search messages
2025-05-24 14:50:58 +00:00
NorkzYT
9fbce527e7
📝 (locales/en-US.json): remove redundant translation strings
2025-05-24 14:20:34 +00:00
Richard Lora
e1d134f6a0
Update locales/en-US.json
...
Co-authored-by: Fijxu <fijxu@nadeko.net>
2025-05-24 10:02:00 -04:00
Richard Lora
171bac97d1
Update locales/en-US.json
...
Co-authored-by: Fijxu <fijxu@nadeko.net>
2025-05-24 10:01:50 -04:00
Fijxu
4b37d47ebb
Add missing xml.text on "title" element for channels RSS ( #5320 )
Build and release container directly from master / release (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.12.2, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.13.3, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.14.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.15.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.16.3, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (nightly, false) (push) Has been cancelled
Invidious CI / build-docker (push) Has been cancelled
Invidious CI / build-docker-arm64 (push) Has been cancelled
Invidious CI / lint (push) Has been cancelled
2025-05-22 20:12:54 -04:00
Norkz
ce0a9faaae
feat: test2
2025-05-21 21:21:45 -04:00
Norkz
aeb2b1046d
feat: test
2025-05-21 19:44:35 -04:00
Richard Lora
a07750932a
Merge branch 'master' into optional-disable-api-features
2025-05-21 18:20:09 -04:00
syeopite
2c857b5ab6
Remove text captchas from Invidious ( #5308 )
...
Build and release container directly from master / release (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.12.2, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.13.3, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.14.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.15.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.16.3, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (nightly, false) (push) Has been cancelled
Invidious CI / build-docker (push) Has been cancelled
Invidious CI / build-docker-arm64 (push) Has been cancelled
Invidious CI / lint (push) Has been cancelled
textcaptcha.com seems to be down since April and it does not appear that
service will be restored.
Text captchas can be easily automated using free LLMs, so keeping the
text captcha is more like a gate to create accounts in mass on public
Invidious instances.
It also gives headaches like bots automating account creation to modify
the videos that appear popular page of each instance (since the popular
page is based on the subscriptions of the registered users).
2025-05-17 16:37:55 -07:00
Fijxu
00299ca4a0
Remove Image CAPTCHA
and Text CAPTCHA
from locale
2025-05-17 19:23:40 -04:00
syeopite
9d18c8699f
Release versioning maintenance ( #5310 )
2025-05-17 16:22:32 -07:00
syeopite
475bf7448a
Add Javascript licence information automatically ( #5297 )
2025-05-17 16:20:38 -07:00
syeopite
50e0a4361b
Add missing javascript licenses ( #5292 )
2025-05-17 16:19:21 -07:00
syeopite
6bfb61e9b4
fix: safely access "label" key ( #5282 )
2025-05-17 16:18:58 -07:00
syeopite
ef07c542dc
fix: pass user to query.process if present ( #5277 )
2025-05-17 16:18:37 -07:00
syeopite
a9180aa6c1
fix: do not strip '+' character from referer ( #5276 )
2025-05-17 16:18:15 -07:00
syeopite
4b2f9ffffc
fix: set CSP header after setting preferences of registered users ( #5275 )
2025-05-17 16:17:43 -07:00
syeopite
64ad97f308
fix(typo): 'Salect' -> 'Select' ( #5242 )
2025-05-17 16:17:08 -07:00
syeopite
d5cb653fd1
Handle parse errors gracefully on timeline items ( #5196 )
2025-05-17 16:16:20 -07:00
syeopite
0b23dd12e1
require base_job before the other jobs ( #5194 )
2025-05-17 16:15:32 -07:00
syeopite
23d66338cd
Translations update from Hosted Weblate ( #5192 )
2025-05-17 16:15:03 -07:00
syeopite
df41cb9588
Update Kemal to 1.6.0 and remove Kilt ( #5120 )
2025-05-17 16:14:40 -07:00
syeopite
49ada0aae9
Fix incorrect PR link for v2.20250504.0
2025-05-17 15:49:03 -07:00
syeopite
f6a41ce90d
Bump shard.yml version
2025-05-17 15:42:48 -07:00
Emilien
f7aefd5fb1
Release v2.20250517.0
2025-05-17 15:41:33 -07:00
Fijxu
6376fd55db
Remove text captcha due to textcaptcha.com being down
...
Fixes https://github.com/iv-org/invidious/issues/5295
textcaptcha.com seems to be down since April and it does not appear that service will be restored.
Text captchas can be easily automated using free LLMs, so keeping the text captcha is more like a gate to create accounts in mass on public Invidious instances.
It also gives headaches like bots automating account creation to modify the videos that appear popular page of each instance (since the popular page is based on the subscriptions of the registered users).
2025-05-17 13:17:26 -04:00
Hosted Weblate
9e172d8371
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
8d0834005f
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
9f192d4f74
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
ee7b8b6c61
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
b9097d0a3b
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
be469304de
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
b6b245586a
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
88195113bf
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
4d381aca60
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
a5904ecce2
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
42125dfadd
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
5953f7286f
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
31556d0f88
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:08 +02:00
Hosted Weblate
7bd1abecde
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:07 +02:00
Hosted Weblate
583195ccbd
Update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2025-05-14 07:51:07 +02:00