From 95283efc1f9a63376a99184ef69b699beba45802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Sat, 13 Jan 2024 13:47:54 +0100 Subject: [PATCH 01/86] feat(legacy): add aac/opus support to dashboard player (#2881) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Description The Player on the dashbaord does not correctly play an AAC stream. The rewritng logic only takes into account the ogg format. Add rewriting from aac to m4a in the javascript calls so the player works. **This is a new feature**: AAC output currently only works with replacing liquidsoap, so technically this is a new feature. **I have updated the documentation to reflect these changes**: The dashboard player is not documented. The player widget works with AAC streams already. ### Testing Notes **What I did:** Swapped liquidsoap and reconfigured the default mp3 stream as AAC **How you can replicate my testing:** on ubuntu focal, drop in the upstream liquidsoap deb to enable aac, then configure the secondary output to use 128kbit aac instead of mp3. Restart the target, login to the dashboard and open the dashboard player. Both streams from the dropdown should work. --------- Co-authored-by: Thomas Göttgens Co-authored-by: Jonas L --- .../views/scripts/dashboard/stream-player.phtml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/legacy/application/views/scripts/dashboard/stream-player.phtml b/legacy/application/views/scripts/dashboard/stream-player.phtml index f190a1027..536eaea1e 100644 --- a/legacy/application/views/scripts/dashboard/stream-player.phtml +++ b/legacy/application/views/scripts/dashboard/stream-player.phtml @@ -39,8 +39,10 @@ $url = $streamData["${id}_public_url"]; $type = $streamData["${id}_type"]; $serverType = $streamData["${id}_output"]; - if ($type == "ogg") + if ($type == "ogg" || $type == "opus") $type = "oga"; + if ($type == "aac") + $type = "m4a"; echo "setjPlayer('$url', '$type', '$serverType');"; } ?> @@ -71,8 +73,10 @@ $url = $streamData["${id}_public_url"]; $type = $streamData["${id}_type"]; $serverType = $streamData["${id}_output"]; - if ($type == "ogg") + if ($type == "ogg" || $type == "opus") $type = "oga"; + if ($type == "aac") + $type = "m4a"; $label = "(" . $streamData["${id}_host"] . ") " . $streamData["${id}_description"] . " - " . $streamData["${id}_bitrate"] . " kbit/s"; echo sprintf("", $id, $url, $type, $serverType, $label); From 5a581c034e3a751e502b1dfba63e28c31811a0a0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 04:37:56 +0000 Subject: [PATCH 02/86] chore(deps): lock file maintenance (legacy/composer.json) --- legacy/composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/legacy/composer.lock b/legacy/composer.lock index ba997cf4a..bfaa54b7f 100644 --- a/legacy/composer.lock +++ b/legacy/composer.lock @@ -3599,16 +3599,16 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.7.3", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" + "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", - "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fad452781b3d774e3337b0c0b245dd8e5a4455fc", + "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc", "shasum": "" }, "require": { @@ -3651,9 +3651,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.0" }, - "time": "2023-08-12T11:01:26+00:00" + "time": "2024-01-11T11:49:22+00:00" }, { "name": "phpspec/prophecy", From 2a91320bb5e9b57c1ec132b228b2bf0c094c86cf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 17 Jan 2024 19:19:27 +0100 Subject: [PATCH 03/86] chore(deps): update dependency uvicorn to >=0.17.6,<0.27.0 (#2901) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [uvicorn](https://togithub.com/encode/uvicorn) ([changelog](https://togithub.com/encode/uvicorn/blob/master/CHANGELOG.md)) | `>=0.17.6,<0.26.0` -> `>=0.17.6,<0.27.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/uvicorn/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/uvicorn/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/uvicorn/0.25.0/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/uvicorn/0.25.0/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
encode/uvicorn (uvicorn) ### [`v0.26.0`](https://togithub.com/encode/uvicorn/blob/HEAD/CHANGELOG.md#0260---2024-01-16) [Compare Source](https://togithub.com/encode/uvicorn/compare/0.25.0...0.26.0) ##### Changed - Update `--root-path` to include the root path prefix in the full ASGI `path` as per the ASGI spec ([#​2213](https://togithub.com/encode/uvicorn/issues/2213)) 16/01/24 - Use `__future__.annotations` on some internal modules ([#​2199](https://togithub.com/encode/uvicorn/issues/2199)) 16/01/24
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- api/requirements.txt | 2 +- api/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/requirements.txt b/api/requirements.txt index 93f7116b2..e74918b0f 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -8,4 +8,4 @@ drf-spectacular>=0.22.1,<0.28 gunicorn>=20.1.0,<21.3 psycopg[c]>=3.1.8,<3.2 requests>=2.31.0,<2.32 -uvicorn[standard]>=0.17.6,<0.26.0 +uvicorn[standard]>=0.17.6,<0.27.0 diff --git a/api/setup.py b/api/setup.py index b921d2443..d26c64133 100644 --- a/api/setup.py +++ b/api/setup.py @@ -37,7 +37,7 @@ setup( "prod": [ "gunicorn>=20.1.0,<21.3", "psycopg[c]>=3.1.8,<3.2", - "uvicorn[standard]>=0.17.6,<0.26.0", + "uvicorn[standard]>=0.17.6,<0.27.0", ], "dev": [ "django-coverage-plugin>=3.0.0,<4", From c42a1c66603466d23195ef7ded8f1ebaf4385a77 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Fri, 19 Jan 2024 17:56:16 +0100 Subject: [PATCH 04/86] chore(legacy): translations update from Hosted Weblate (#2907) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Translations update from [Hosted Weblate](https://hosted.weblate.org) for [LibreTime/Legacy](https://hosted.weblate.org/projects/libretime/legacy/). Current translation status: ![Weblate translation status](https://hosted.weblate.org/widget/libretime/legacy/horizontal-auto.svg) Co-authored-by: Domenik Töfflinger --- legacy/locale/de_DE/LC_MESSAGES/libretime.po | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/legacy/locale/de_DE/LC_MESSAGES/libretime.po b/legacy/locale/de_DE/LC_MESSAGES/libretime.po index 8be000143..0c9a9e55d 100644 --- a/legacy/locale/de_DE/LC_MESSAGES/libretime.po +++ b/legacy/locale/de_DE/LC_MESSAGES/libretime.po @@ -15,15 +15,16 @@ msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" "POT-Creation-Date: 2023-12-25 01:55+0000\n" -"PO-Revision-Date: 2023-05-19 16:32+0000\n" -"Last-Translator: Dave Berg \n" -"Language-Team: German \n" +"PO-Revision-Date: 2024-01-19 16:00+0000\n" +"Last-Translator: Domenik Töfflinger \n" +"Language-Team: German \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.18-dev\n" +"X-Generator: Weblate 5.4-dev\n" #: application/common/DateHelper.php:216 #, php-format @@ -582,11 +583,11 @@ msgstr "Zulu" #: application/common/Timezone.php:21 msgid "Use station default" -msgstr "" +msgstr "Standardeinstellung der Station verwenden" #: application/common/UsabilityHints.php:65 msgid "Upload some tracks below to add them to your library!" -msgstr "Lade Tracks hoch, um sie deiner Bibliotheke hinzuzufügen!" +msgstr "Lade Tracks hoch, um sie deiner Bibliothek hinzuzufügen!" #: application/common/UsabilityHints.php:69 #, php-format From b6c3ece7d9a4ec0b50c6c0f0a152a6a1e88ede38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Fri, 19 Jan 2024 17:58:22 +0100 Subject: [PATCH 05/86] docs(playout): add a tutorial to enable AAC in liquidsoap (#2904) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Documentation update regarding #2184 --------- Co-authored-by: Thomas Göttgens --- docs/admin-manual/stream-configuration.md | 6 +++ .../setup-liquidsoap-aac-streaming.md | 54 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md diff --git a/docs/admin-manual/stream-configuration.md b/docs/admin-manual/stream-configuration.md index 609b708bb..5f0811904 100644 --- a/docs/admin-manual/stream-configuration.md +++ b/docs/admin-manual/stream-configuration.md @@ -17,6 +17,12 @@ Setting a higher bitrate for your output stream will only benefit your listeners ::: +:::caution + +The liquidsoap playout handler version 1.4.3 shipped in Debian Bullseye and 1.4.1 shipped in Ubuntu Focal doesn't support AAC streaming output. If you want to stream AAC, you will need to replace the liquidsoap package with a version that supports AAC. See this [tutorial](./tutorials/setup-liquidsoap-aac-streaming.md) for more information. + +::: + ## Icecast ### UTF-8 metadata in Icecast MP3 streams diff --git a/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md b/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md new file mode 100644 index 000000000..3030f355c --- /dev/null +++ b/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md @@ -0,0 +1,54 @@ +--- +title: How to update liquidsoap to support AAC streaming +--- + +This tutorials walks you though the steps required to replace the liquidsoap package with a version that supports AAC streaming. + +:::warning + +Replacing the liquidsoap package has security implications, since this will remove the package from the system's package manager. This means that the package manager will not be able to update the liquidsoap package in the future. This includes backports of security fixes. + +Libretime is NOT compatible with Liquidsoap 2.x at the time of this writing. Future versions of Libretime will support Liquidsoap 2.x which will render these instructions obsolete. + +:::info + +Lets assume you already [installed LibreTime using the native OS installer](../install/install-using-the-installer/). Execute the following commands as the libretime user. + +::: + +## 1. Obtain liquidsoap with AAC support + +For Ubuntu 20.04 LTS ('focal'), use the following file: + +```bash +wget https://github.com/savonet/liquidsoap/releases/download/v1.4.4/liquidsoap-v1.4.4_1.4.4-ubuntu-focal-amd64-1_amd64.deb +``` + +For Debian 11 ('Bullseye'), use the following file: + +```bash +wget https://github.com/savonet/liquidsoap/releases/download/v1.4.4/liquidsoap-v1.4.4_1.4.4-debian-stable-amd64-1_amd64.deb +``` + +## 2. Install and replace the liquidsoap package + +Install the package using `apt`, then remove the old liquidsoap dependencies: + +```bash +sudo apt -y install ./liquidsoap-v1.4.4_1.4.4-*-amd64-1_amd64.deb +sudo apt -y autoremove +``` + +## 3. Configure LibreTime to use the new liquidsoap package + +Nothing to do, this is a drop-in replacement. Just restart the libretime target once and then check the status page in the LibreTime web interface to see if the liquidsoap service is running. + +```bash +sudo systemctl restart libretime.target +``` + +:::warning + +If you want to update LibreTime in the future, you'll need to re-run the installer schript. This will replace the liquidsoap package with the version that doesn't support AAC streaming. Add `--packages-excludes liquidsoap` to the installer command to prevent this from happening. + +::: From 0b5d63c54703b9bfce8003239f88b2aaa9771637 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Jan 2024 17:05:01 +0000 Subject: [PATCH 06/86] chore(deps): update actions/cache action to v4 (#2906) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/cache](https://togithub.com/actions/cache) | action | major | `v3` -> `v4` | --- ### Release Notes
actions/cache (actions/cache) ### [`v4`](https://togithub.com/actions/cache/compare/v3...v4) [Compare Source](https://togithub.com/actions/cache/compare/v3...v4)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/_python.yml | 4 ++-- .github/workflows/api-schema.yml | 2 +- .github/workflows/api.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/housekeeping.yml | 2 +- .github/workflows/legacy.yml | 2 +- .github/workflows/project.yml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/_python.yml b/.github/workflows/_python.yml index 2f38d1348..e4bde2266 100644 --- a/.github/workflows/_python.yml +++ b/.github/workflows/_python.yml @@ -29,7 +29,7 @@ jobs: - uses: actions/setup-python@v5 with: python-version: "3.x" - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ inputs.context }}-${{ hashFiles(format('{0}/{1}', inputs.context, '**/setup.py')) }} @@ -65,7 +65,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ matrix.release }}-pip-${{ inputs.context }}-${{ hashFiles(format('{0}/{1}', inputs.context, '**/setup.py')) }} diff --git a/.github/workflows/api-schema.yml b/.github/workflows/api-schema.yml index b91c68180..a2519a65f 100644 --- a/.github/workflows/api-schema.yml +++ b/.github/workflows/api-schema.yml @@ -29,7 +29,7 @@ jobs: with: python-version: "3.x" - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-api-${{ hashFiles('api/**/setup.py') }} diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index 80504fcb7..fd9f64b7c 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -64,7 +64,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ matrix.release }}-pip-api-${{ hashFiles('api/**/setup.py') }} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index e1f2d52e2..0b5ebf273 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -26,7 +26,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: | /usr/local/bin/vale* diff --git a/.github/workflows/housekeeping.yml b/.github/workflows/housekeeping.yml index 94c6bd16c..df2b42b22 100644 --- a/.github/workflows/housekeeping.yml +++ b/.github/workflows/housekeeping.yml @@ -40,7 +40,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: .lycheecache key: housekeeping-find-broken-links-${{ github.sha }} diff --git a/.github/workflows/legacy.yml b/.github/workflows/legacy.yml index c8371cfcc..7bd3c5ccd 100644 --- a/.github/workflows/legacy.yml +++ b/.github/workflows/legacy.yml @@ -74,7 +74,7 @@ jobs: run: | echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml index af0bb9e2b..b7e00f4e4 100644 --- a/.github/workflows/project.yml +++ b/.github/workflows/project.yml @@ -21,7 +21,7 @@ jobs: with: python-version: "3.x" - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ runner.os }}-project-pre-commit-pip-${{ hashFiles('.pre-commit-config.yaml') }} From 54ec07d2bdca1fd81cd84c9d8edba4f821675122 Mon Sep 17 00:00:00 2001 From: Kyle Robbertze Date: Fri, 19 Jan 2024 17:12:30 +0000 Subject: [PATCH 07/86] docs: fix broken link to install guide (#2908) ### Description Follow up to #2904 --- docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md b/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md index 3030f355c..7b5b792d6 100644 --- a/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md +++ b/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md @@ -12,7 +12,7 @@ Libretime is NOT compatible with Liquidsoap 2.x at the time of this writing. Fut :::info -Lets assume you already [installed LibreTime using the native OS installer](../install/install-using-the-installer/). Execute the following commands as the libretime user. +Lets assume you already [installed LibreTime using the native OS installer](../install/install-using-the-installer.md). Execute the following commands as the libretime user. ::: From b14469722ecdaef2781c78dbec88eea06344c199 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Sat, 20 Jan 2024 18:06:35 +0100 Subject: [PATCH 08/86] docs(playout): close warning box properly (#2911) --- docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md b/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md index 7b5b792d6..e465f2a05 100644 --- a/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md +++ b/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md @@ -10,6 +10,8 @@ Replacing the liquidsoap package has security implications, since this will remo Libretime is NOT compatible with Liquidsoap 2.x at the time of this writing. Future versions of Libretime will support Liquidsoap 2.x which will render these instructions obsolete. +::: + :::info Lets assume you already [installed LibreTime using the native OS installer](../install/install-using-the-installer.md). Execute the following commands as the libretime user. From dab6c486b8e3ba47862fb70de6dc5ce4090cfe2f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Jan 2024 21:57:06 +0100 Subject: [PATCH 09/86] chore(deps): update dependency uvicorn to >=0.17.6,<0.28.0 (#2913) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [uvicorn](https://togithub.com/encode/uvicorn) ([changelog](https://togithub.com/encode/uvicorn/blob/master/CHANGELOG.md)) | `>=0.17.6,<0.27.0` -> `>=0.17.6,<0.28.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/uvicorn/0.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/uvicorn/0.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/uvicorn/0.26.0/0.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/uvicorn/0.26.0/0.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
encode/uvicorn (uvicorn) ### [`v0.27.0`](https://togithub.com/encode/uvicorn/blob/HEAD/CHANGELOG.md#0270---2024-01-20) [Compare Source](https://togithub.com/encode/uvicorn/compare/0.26.0...0.27.0) ##### Added - Raise `ClientDisconnect(IOError)` on `send()` when client disconnected ([#​2218](https://togithub.com/encode/uvicorn/issues/2218)) 19/01/24 - Bump ASGI WebSocket spec version to 2.4 ([#​2221](https://togithub.com/encode/uvicorn/issues/2221)) 20/01/24
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- api/requirements.txt | 2 +- api/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/requirements.txt b/api/requirements.txt index e74918b0f..f4401fefa 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -8,4 +8,4 @@ drf-spectacular>=0.22.1,<0.28 gunicorn>=20.1.0,<21.3 psycopg[c]>=3.1.8,<3.2 requests>=2.31.0,<2.32 -uvicorn[standard]>=0.17.6,<0.27.0 +uvicorn[standard]>=0.17.6,<0.28.0 diff --git a/api/setup.py b/api/setup.py index d26c64133..b30611218 100644 --- a/api/setup.py +++ b/api/setup.py @@ -37,7 +37,7 @@ setup( "prod": [ "gunicorn>=20.1.0,<21.3", "psycopg[c]>=3.1.8,<3.2", - "uvicorn[standard]>=0.17.6,<0.27.0", + "uvicorn[standard]>=0.17.6,<0.28.0", ], "dev": [ "django-coverage-plugin>=3.0.0,<4", From 3d13f41bbdd2d383c7f75a546d3fa47d49d24431 Mon Sep 17 00:00:00 2001 From: Kyle Robbertze Date: Tue, 30 Jan 2024 17:15:15 +0000 Subject: [PATCH 10/86] ci: pin docker/metadata-action to working version (#2924) Pin docker/metadata-action to 5.4 until https://github.com/docker/metadata-action/issues/381 is fixed --- .github/workflows/container.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index 29be28248..15bc60a09 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -31,7 +31,11 @@ jobs: repository: libretime/libretime-${{ matrix.target }} readme-filepath: ./README.md - - uses: docker/metadata-action@v5 + # This cannot be upgraded until we develop a workaround for medata-action + # appending cwd:// to the bake-file output. 5.5 is not compatible with + # upload-artifact + # https://github.com/docker/metadata-action/issues/381 + - uses: docker/metadata-action@v5.4.0 id: meta with: bake-target: ${{ matrix.target }} From 0c89350c2fd687323345082f4617614bbbcbd815 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 17:22:28 +0000 Subject: [PATCH 11/86] chore(deps): update peter-evans/dockerhub-description action to v4 (#2918) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [peter-evans/dockerhub-description](https://togithub.com/peter-evans/dockerhub-description) | action | major | `v3` -> `v4` | --- ### Release Notes
peter-evans/dockerhub-description (peter-evans/dockerhub-description) ### [`v4`](https://togithub.com/peter-evans/dockerhub-description/compare/v3...v4) [Compare Source](https://togithub.com/peter-evans/dockerhub-description/compare/v3...v4)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/container.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index 15bc60a09..9f18d6266 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -24,7 +24,7 @@ jobs: - name: Update Docker Hub description if: github.event_name == 'push' - uses: peter-evans/dockerhub-description@v3 + uses: peter-evans/dockerhub-description@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} From f6d7be9b1ce253f9cec5c817c5a9913a354b7812 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 17:22:44 +0000 Subject: [PATCH 12/86] chore(deps): update lycheeverse/lychee-action action to v1.9.3 (#2920) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [lycheeverse/lychee-action](https://togithub.com/lycheeverse/lychee-action) | action | patch | `v1.9.1` -> `v1.9.3` | --- ### Release Notes
lycheeverse/lychee-action (lycheeverse/lychee-action) ### [`v1.9.3`](https://togithub.com/lycheeverse/lychee-action/releases/tag/v1.9.3): Version 1.9.3 [Compare Source](https://togithub.com/lycheeverse/lychee-action/compare/v1.9.2...v1.9.3) #### What's Changed - Bugfix: Pass custom `token` as input argument to action by [@​mre](https://togithub.com/mre) in [https://github.com/lycheeverse/lychee-action/pull/222](https://togithub.com/lycheeverse/lychee-action/pull/222) Previously, the name of the token was incorrect, leading to no token being used if the user specified `with: [token: ...]`. Thanks to [@​tobon4](https://togithub.com/tobon4) for pointing this out. **Full Changelog**: https://github.com/lycheeverse/lychee-action/compare/v1...v1.9.3 ### [`v1.9.2`](https://togithub.com/lycheeverse/lychee-action/releases/tag/v1.9.2): Version 1.9.2 [Compare Source](https://togithub.com/lycheeverse/lychee-action/compare/v1.9.1...v1.9.2) #### What's Changed - Bump actions/cache from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/lycheeverse/lychee-action/pull/221](https://togithub.com/lycheeverse/lychee-action/pull/221) - Bump peter-evans/create-issue-from-file from 4 to 5 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/lycheeverse/lychee-action/pull/223](https://togithub.com/lycheeverse/lychee-action/pull/223) - Bump to lychee 0.14.2 in https://github.com/lycheeverse/lychee-action/commit/eeb9cb63fe093e4d17e5853314dbf862bb35f28d **Full Changelog**: https://github.com/lycheeverse/lychee-action/compare/v1...v1.9.2
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/housekeeping.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/housekeeping.yml b/.github/workflows/housekeeping.yml index df2b42b22..8dd5379d4 100644 --- a/.github/workflows/housekeeping.yml +++ b/.github/workflows/housekeeping.yml @@ -48,7 +48,7 @@ jobs: - name: Check Links id: lychee - uses: lycheeverse/lychee-action@v1.9.1 + uses: lycheeverse/lychee-action@v1.9.3 with: args: >- '**/*.md' From 12dd47731290bf539be7a2a81571f8ada223e9c4 Mon Sep 17 00:00:00 2001 From: Julien Valentin Date: Tue, 30 Jan 2024 18:24:28 +0100 Subject: [PATCH 13/86] fix(legacy): avoid crash when lot of streams in configuration (#2915) ### Description lot of streams forbid http://libretime.example.org/preference/stream-setting to open (max=4) this patch prevent the crash by displaying an error message and truncate streamcount to 4. Co-authored-by: Kyle Robbertze --- legacy/application/controllers/PreferenceController.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/legacy/application/controllers/PreferenceController.php b/legacy/application/controllers/PreferenceController.php index 3b2f0c530..1351343e6 100644 --- a/legacy/application/controllers/PreferenceController.php +++ b/legacy/application/controllers/PreferenceController.php @@ -156,6 +156,11 @@ class PreferenceController extends Zend_Controller_Action $setting = Application_Model_StreamSetting::getStreamSetting(); $form->setSetting($setting); + if ($num_of_stream > MAX_NUM_STREAMS) { + Logging::error('Your streams count (' . $num_of_stream . ') exceed the maximum, some of them will not be displayed'); + $num_of_stream = MAX_NUM_STREAMS; + } + for ($i = 1; $i <= $num_of_stream; ++$i) { $subform = new Application_Form_StreamSettingSubForm(); $subform->setPrefix($i); From c2e6d15014cd131a3a6501a6f7076e6e8d348d42 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 17:25:55 +0000 Subject: [PATCH 14/86] chore(deps): update dependency pydantic to >=2.5.0,<2.7 (#2922) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `>=2.5.0,<2.6` -> `>=2.5.0,<2.7` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
pydantic/pydantic (pydantic) ### [`v2.6.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v260-2024-01-23) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.5.3...v2.6.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.0) The code released in v2.6.0 is practically identical to that of v2.6.0b1. ##### What's Changed ##### Packaging - Check for `email-validator` version >= 2.0 by [@​commonism](https://togithub.com/commonism) in [#​6033](https://togithub.com/pydantic/pydantic/pull/6033) - Upgrade \`ruff\`\` target version to Python 3.8 by [@​Elkiwa](https://togithub.com/Elkiwa) in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - Update to `pydantic-extra-types==2.4.1` by [@​yezz123](https://togithub.com/yezz123) in [#​8478](https://togithub.com/pydantic/pydantic/pull/8478) - Update to `pyright==1.1.345` by [@​Viicos](https://togithub.com/Viicos) in [#​8453](https://togithub.com/pydantic/pydantic/pull/8453) - Update pydantic-core from 2.14.6 to 2.16.1, significant changes from these updates are described below, full changelog [here](https://togithub.com/pydantic/pydantic-core/compare/v2.14.6...v2.16.1) ##### New Features - Add `NatsDsn` by [@​ekeew](https://togithub.com/ekeew) in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - Add `ConfigDict.ser_json_inf_nan` by [@​davidhewitt](https://togithub.com/davidhewitt) in [#​8159](https://togithub.com/pydantic/pydantic/pull/8159) - Add `types.OnErrorOmit` by [@​adriangb](https://togithub.com/adriangb) in [#​8222](https://togithub.com/pydantic/pydantic/pull/8222) - Support `AliasGenerator` usage by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8282](https://togithub.com/pydantic/pydantic/pull/8282) - Add Pydantic People Page to docs by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8345](https://togithub.com/pydantic/pydantic/pull/8345) - Support `yyyy-MM-DD` datetime parsing by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8404](https://togithub.com/pydantic/pydantic/pull/8404) - Added bits conversions to the `ByteSize` class [#​8415](https://togithub.com/pydantic/pydantic/issues/8415) by [@​luca-matei](https://togithub.com/luca-matei) in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - Enable json schema creation with type `ByteSize` by [@​geospackle](https://togithub.com/geospackle) in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - Add `eval_type_backport` to handle union operator and builtin generic subscripting in older Pythons by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8209](https://togithub.com/pydantic/pydantic/pull/8209) - Add support for `dataclass` fields `init` by [@​dmontagu](https://togithub.com/dmontagu) in [#​8552](https://togithub.com/pydantic/pydantic/pull/8552) - Implement pickling for `ValidationError` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1119](https://togithub.com/pydantic/pydantic-core/pull/1119) - Add unified tuple validator that can handle "variadic" tuples via PEP-646 by [@​dmontagu](https://togithub.com/dmontagu) in [pydantic/pydantic-core#865](https://togithub.com/pydantic/pydantic-core/pull/865) ##### Changes - Drop Python3.7 support by [@​hramezani](https://togithub.com/hramezani) in [#​7188](https://togithub.com/pydantic/pydantic/pull/7188) - Drop Python 3.7, and PyPy 3.7 and 3.8 by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1129](https://togithub.com/pydantic/pydantic-core/pull/1129) - Use positional-only `self` in `BaseModel` constructor, so no field name can ever conflict with it by [@​ariebovenberg](https://togithub.com/ariebovenberg) in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - Make `@validate_call` return a function instead of a custom descriptor - fixes binding issue with inheritance and adds `self/cls` argument to validation errors by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8268](https://togithub.com/pydantic/pydantic/pull/8268) - Exclude `BaseModel` docstring from JSON schema description by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8352](https://togithub.com/pydantic/pydantic/pull/8352) - Introducing `classproperty` decorator for `model_computed_fields` by [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - Explicitly raise an error if field names clashes with types by [@​Viicos](https://togithub.com/Viicos) in [#​8243](https://togithub.com/pydantic/pydantic/pull/8243) - Use stricter serializer for unions of simple types by [@​alexdrydew](https://togithub.com/alexdrydew) [pydantic/pydantic-core#1132](https://togithub.com/pydantic/pydantic-core/pull/1132) ##### Performance - Add Codspeed profiling Actions workflow by [@​lambertsbennett](https://togithub.com/lambertsbennett) in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - Improve `int` extraction by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1155](https://togithub.com/pydantic/pydantic-core/pull/1155) - Improve performance of recursion guard by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1156](https://togithub.com/pydantic/pydantic-core/pull/1156) - `dataclass` serialization speedups by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1162](https://togithub.com/pydantic/pydantic-core/pull/1162) - Avoid `HashMap` creation when looking up small JSON objects in `LazyIndexMaps` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#55](https://togithub.com/pydantic/jiter/pull/55) - use hashbrown to speedup python string caching by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/jiter#51](https://togithub.com/pydantic/jiter/pull/51) - Replace `Peak` with more efficient `Peek` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/jiter#48](https://togithub.com/pydantic/jiter/pull/48) ##### Fixes - Move `getattr` warning in deprecated `BaseConfig` by [@​tlambert03](https://togithub.com/tlambert03) in [#​7183](https://togithub.com/pydantic/pydantic/pull/7183) - Only hash `model_fields`, not whole `__dict__` by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​7786](https://togithub.com/pydantic/pydantic/pull/7786) - Fix mishandling of unions while freezing types in the `mypy` plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​7411](https://togithub.com/pydantic/pydantic/pull/7411) - Fix `mypy` error on untyped `ClassVar` by [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - Only compare pydantic fields in `BaseModel.__eq__` instead of whole `__dict__` by [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - Update `strict` docstring in `model_validate` method. by [@​LukeTonin](https://togithub.com/LukeTonin) in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - Fix overload position of `computed_field` by [@​Viicos](https://togithub.com/Viicos) in [#​8227](https://togithub.com/pydantic/pydantic/pull/8227) - Fix custom type type casting used in multiple attributes by [@​ianhfc](https://togithub.com/ianhfc) in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - Fix issue not allowing `validate_call` decorator to be dynamically assigned to a class method by [@​jusexton](https://togithub.com/jusexton) in [#​8249](https://togithub.com/pydantic/pydantic/pull/8249) - Fix issue `unittest.mock` deprecation warnings by [@​ibleedicare](https://togithub.com/ibleedicare) in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - Added tests for the case `JsonValue` contains subclassed primitive values by [@​jusexton](https://togithub.com/jusexton) in [#​8286](https://togithub.com/pydantic/pydantic/pull/8286) - Fix `mypy` error on free before validator (classmethod) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8285](https://togithub.com/pydantic/pydantic/pull/8285) - Fix `to_snake` conversion by [@​jevins09](https://togithub.com/jevins09) in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - Fix type annotation of `ModelMetaclass.__prepare__` by [@​slanzmich](https://togithub.com/slanzmich) in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8365](https://togithub.com/pydantic/pydantic/pull/8365) - Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by [@​dmontagu](https://togithub.com/dmontagu) in [#​8389](https://togithub.com/pydantic/pydantic/pull/8389) - Fix type annotation in pydantic people script by [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - Add support for field `alias` in `dataclass` signature by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - Fix bug with schema generation with `Field(...)` in a forward ref by [@​dmontagu](https://togithub.com/dmontagu) in [#​8494](https://togithub.com/pydantic/pydantic/pull/8494) - Fix ordering of keys in `__dict__` with `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8500](https://togithub.com/pydantic/pydantic/pull/8500) - Fix module `path_type` creation when globals does not contain `__name__` by [@​hramezani](https://togithub.com/hramezani) in [#​8470](https://togithub.com/pydantic/pydantic/pull/8470) - Fix for namespace issue with dataclasses with `from __future__ import annotations` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8513](https://togithub.com/pydantic/pydantic/pull/8513) - Fix: make function validator types positional-only by [@​pmmmwh](https://togithub.com/pmmmwh) in [#​8479](https://togithub.com/pydantic/pydantic/pull/8479) - Fix usage of `@deprecated` by [@​Viicos](https://togithub.com/Viicos) in [#​8294](https://togithub.com/pydantic/pydantic/pull/8294) - Add more support for private attributes in `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8525](https://togithub.com/pydantic/pydantic/pull/8525) - Use a stack for the types namespace by [@​dmontagu](https://togithub.com/dmontagu) in [#​8378](https://togithub.com/pydantic/pydantic/pull/8378) - Fix schema-building bug with `TypeAliasType` for types with refs by [@​dmontagu](https://togithub.com/dmontagu) in [#​8526](https://togithub.com/pydantic/pydantic/pull/8526) - Support `pydantic.Field(repr=False)` in dataclasses by [@​tigeryy2](https://togithub.com/tigeryy2) in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - Override `dataclass_transform` behavior for `RootModel` by [@​Viicos](https://togithub.com/Viicos) in [#​8163](https://togithub.com/pydantic/pydantic/pull/8163) - Refactor signature generation for simplicity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8572](https://togithub.com/pydantic/pydantic/pull/8572) - Fix ordering bug of PlainValidator annotation by [@​Anvil](https://togithub.com/Anvil) in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - Fix `exclude_none` for json serialization of `computed_field`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1098](https://togithub.com/pydantic/pydantic-core/pull/1098) - Support yyyy-MM-DD string for datetimes by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1124](https://togithub.com/pydantic/pydantic-core/pull/1124) - Tweak ordering of definitions in generated schemas by [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) ##### New Contributors ##### `pydantic` - [@​ekeew](https://togithub.com/ekeew) made their first contribution in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - [@​lambertsbennett](https://togithub.com/lambertsbennett) made their first contribution in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) made their first contribution in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) made their first contribution in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - [@​ariebovenberg](https://togithub.com/ariebovenberg) made their first contribution in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - [@​LukeTonin](https://togithub.com/LukeTonin) made their first contribution in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - [@​denisart](https://togithub.com/denisart) made their first contribution in [#​8231](https://togithub.com/pydantic/pydantic/pull/8231) - [@​ianhfc](https://togithub.com/ianhfc) made their first contribution in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - [@​eonu](https://togithub.com/eonu) made their first contribution in [#​8255](https://togithub.com/pydantic/pydantic/pull/8255) - [@​amandahla](https://togithub.com/amandahla) made their first contribution in [#​8263](https://togithub.com/pydantic/pydantic/pull/8263) - [@​ibleedicare](https://togithub.com/ibleedicare) made their first contribution in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - [@​jevins09](https://togithub.com/jevins09) made their first contribution in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - [@​cuu508](https://togithub.com/cuu508) made their first contribution in [#​8322](https://togithub.com/pydantic/pydantic/pull/8322) - [@​slanzmich](https://togithub.com/slanzmich) made their first contribution in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - [@​jensenbox](https://togithub.com/jensenbox) made their first contribution in [#​8331](https://togithub.com/pydantic/pydantic/pull/8331) - [@​szepeviktor](https://togithub.com/szepeviktor) made their first contribution in [#​8356](https://togithub.com/pydantic/pydantic/pull/8356) - [@​Elkiwa](https://togithub.com/Elkiwa) made their first contribution in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - [@​parhamfh](https://togithub.com/parhamfh) made their first contribution in [#​8395](https://togithub.com/pydantic/pydantic/pull/8395) - [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) made their first contribution in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - [@​NeevCohen](https://togithub.com/NeevCohen) made their first contribution in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - [@​zby](https://togithub.com/zby) made their first contribution in [#​8497](https://togithub.com/pydantic/pydantic/pull/8497) - [@​patelnets](https://togithub.com/patelnets) made their first contribution in [#​8491](https://togithub.com/pydantic/pydantic/pull/8491) - [@​edwardwli](https://togithub.com/edwardwli) made their first contribution in [#​8503](https://togithub.com/pydantic/pydantic/pull/8503) - [@​luca-matei](https://togithub.com/luca-matei) made their first contribution in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) made their first contribution in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - [@​bL34cHig0](https://togithub.com/bL34cHig0) made their first contribution in [#​8501](https://togithub.com/pydantic/pydantic/pull/8501) - [@​tigeryy2](https://togithub.com/tigeryy2) made their first contribution in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - [@​geospackle](https://togithub.com/geospackle) made their first contribution in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - [@​Anvil](https://togithub.com/Anvil) made their first contribution in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - [@​hungtsetse](https://togithub.com/hungtsetse) made their first contribution in [#​8546](https://togithub.com/pydantic/pydantic/pull/8546) - [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made their first contribution in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) ##### `pydantic-core` - [@​mariuswinger](https://togithub.com/mariuswinger) made their first contribution in [pydantic/pydantic-core#1087](https://togithub.com/pydantic/pydantic-core/pull/1087) - [@​adamchainz](https://togithub.com/adamchainz) made their first contribution in [pydantic/pydantic-core#1090](https://togithub.com/pydantic/pydantic-core/pull/1090) - [@​akx](https://togithub.com/akx) made their first contribution in [pydantic/pydantic-core#1123](https://togithub.com/pydantic/pydantic-core/pull/1123)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- shared/requirements.txt | 2 +- shared/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/shared/requirements.txt b/shared/requirements.txt index 651a8c2a6..215ce3f08 100644 --- a/shared/requirements.txt +++ b/shared/requirements.txt @@ -2,5 +2,5 @@ # This file is auto-generated by tools/extract_requirements.py. backports.zoneinfo>=0.2.1,<0.3;python_version<'3.9' click>=8.0.4,<8.2 -pydantic>=2.5.0,<2.6 +pydantic>=2.5.0,<2.7 pyyaml>=5.3.1,<6.1 diff --git a/shared/setup.py b/shared/setup.py index 719c6f1cd..2b1409af6 100644 --- a/shared/setup.py +++ b/shared/setup.py @@ -14,7 +14,7 @@ setup( install_requires=[ "backports.zoneinfo>=0.2.1,<0.3;python_version<'3.9'", "click>=8.0.4,<8.2", - "pydantic>=2.5.0,<2.6", + "pydantic>=2.5.0,<2.7", "pyyaml>=5.3.1,<6.1", ], extras_require={ From 88a293370d1d969c7b966a2430841a76228f7064 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 17:34:11 +0000 Subject: [PATCH 15/86] chore(deps): update dependency pytest to v8 (#2921) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pytest](https://docs.pytest.org/en/latest/) ([source](https://togithub.com/pytest-dev/pytest), [changelog](https://docs.pytest.org/en/stable/changelog.html)) | `>=7.2.1,<8` -> `>=7.2.1,<9` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest/7.4.4/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest/7.4.4/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
pytest-dev/pytest (pytest) ### [`v8.0.0`](https://togithub.com/pytest-dev/pytest/compare/7.4.4...8.0.0) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/7.4.4...8.0.0)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tools/python-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/python-requirements.txt b/tools/python-requirements.txt index 96add39fc..4c8053fc1 100644 --- a/tools/python-requirements.txt +++ b/tools/python-requirements.txt @@ -6,4 +6,4 @@ mypy>=1.6.0,<2 pylint>=2.16.1,<4 pytest-cov>=4.0.0,<5 pytest-xdist>=3.1.0,<4 -pytest>=7.2.1,<8 +pytest>=7.2.1,<9 From 199831458f734bb60c323dc43cf9637ac6cd8a98 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 16:23:04 +0000 Subject: [PATCH 16/86] chore(deps): update docker/metadata-action action to v5.5.1 (#2928) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [docker/metadata-action](https://togithub.com/docker/metadata-action) | action | minor | `v5.4.0` -> `v5.5.1` | --- ### Release Notes
docker/metadata-action (docker/metadata-action) ### [`v5.5.1`](https://togithub.com/docker/metadata-action/releases/tag/v5.5.1) [Compare Source](https://togithub.com/docker/metadata-action/compare/v5.5.0...v5.5.1) - Don't set `cwd://` prefix for local bake files by [@​crazy-max](https://togithub.com/crazy-max) in [https://github.com/docker/metadata-action/pull/382](https://togithub.com/docker/metadata-action/pull/382) **Full Changelog**: https://github.com/docker/metadata-action/compare/v5.5.0...v5.5.1 ### [`v5.5.0`](https://togithub.com/docker/metadata-action/releases/tag/v5.5.0) [Compare Source](https://togithub.com/docker/metadata-action/compare/v5.4.0...v5.5.0) - Set `cwd://` prefix for bake files path by [@​crazy-max](https://togithub.com/crazy-max) in [https://github.com/docker/metadata-action/pull/370](https://togithub.com/docker/metadata-action/pull/370) - Bump [@​docker/actions-toolkit](https://togithub.com/docker/actions-toolkit) from 0.16.0 to 0.16.1 in [https://github.com/docker/metadata-action/pull/371](https://togithub.com/docker/metadata-action/pull/371) - Bump moment from 2.29.4 to 2.30.1 in [https://github.com/docker/metadata-action/pull/373](https://togithub.com/docker/metadata-action/pull/373) - Bump moment-timezone from 0.5.43 to 0.5.44 in [https://github.com/docker/metadata-action/pull/374](https://togithub.com/docker/metadata-action/pull/374) **Full Changelog**: https://github.com/docker/metadata-action/compare/v5.4.0...v5.5.0
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Kyle Robbertze --- .github/workflows/container.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index 9f18d6266..d3838269f 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -31,11 +31,7 @@ jobs: repository: libretime/libretime-${{ matrix.target }} readme-filepath: ./README.md - # This cannot be upgraded until we develop a workaround for medata-action - # appending cwd:// to the bake-file output. 5.5 is not compatible with - # upload-artifact - # https://github.com/docker/metadata-action/issues/381 - - uses: docker/metadata-action@v5.4.0 + - uses: docker/metadata-action@v5 id: meta with: bake-target: ${{ matrix.target }} From 170d09545e4fcfeeb95f9fc5c355329764501854 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Fri, 2 Feb 2024 19:04:12 +0100 Subject: [PATCH 17/86] feat(legacy): disable public radio page and redirect to login (#2903) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Description Many people don't need the public page and use libretime purely for playout management. This adds the ability to have libretime publicly available but only present the login page to the user. **I have updated the documentation to reflect these changes**: no, but i will add documentation if this PR is accepted. ### Testing Notes **What I did:** Toggle the new ceckbox on the general settings, log out and back in and check behaviour. note: this may have conflicts with the trim overbooked PR since the toggle sits in the same place. If both are accepted this needs to be formatted nicely :-) --------- Co-authored-by: Thomas Göttgens Co-authored-by: Jonas L. Co-authored-by: Kyle Robbertze Co-authored-by: jo --- docs/user-manual/settings.md | 19 +++++++++++++++---- .../controllers/IndexController.php | 6 ++++++ .../controllers/PreferenceController.php | 1 + .../application/forms/GeneralPreferences.php | 15 ++++++++++++++- legacy/application/models/Preference.php | 10 ++++++++++ .../scripts/form/preferences_general.phtml | 3 +++ 6 files changed, 49 insertions(+), 5 deletions(-) diff --git a/docs/user-manual/settings.md b/docs/user-manual/settings.md index 52d918049..7026cc7b2 100644 --- a/docs/user-manual/settings.md +++ b/docs/user-manual/settings.md @@ -21,6 +21,12 @@ time for the convenience of your station staff. You can also set the day of the week that you wish to start your station's weekly schedule on, which defaults to Sunday. +:::note + +The **Station Timezone** setting can not be modified on this page. It is set in the [configuration file](../admin-manual/configuration/#general). + +::: + The **Track Type Default** enables you to select a track type default for uploads. Initially, the **Default Fade In** and **Default Fade Out** times for automated @@ -60,15 +66,20 @@ wish. (There is more about this feature in the [_Exporting the schedule_](./playout-history.md) chapter, in the _Advanced Configuration_ section of this book). -The **Allowed CORS URLs** is intended to deal with situations where you want a -remote site with a different domain to access the API. This is relevant when -there is a reverse proxy server in front of LibreTime. If you are using a -reverse proxy, the URLs that will be used to access it should be added here. +:::note + +The **Allowed CORS URLs** you can still see in this screenshot was moved to the [configuration file](../admin-manual/configuration/#general). + +::: The **Display login button on your Radio Page?** will determine whether visitors to your site see a link to login. If this is disabled, DJs and admins will need to goto http://example.org/login to be able to login. +The **Disable the public radio page and redirect to the login page?** will +switch off the public radio page and redirect all visitors to the login page. +This is useful if you want to use LibreTime as a backend for a custom website. + The **Tune-In Settings** section is intended for stations that have partnered with TuneIn to automatically push their now playing metadata to TuneIn. This hasn't been tested and also requires special credentials from TuneIn. diff --git a/legacy/application/controllers/IndexController.php b/legacy/application/controllers/IndexController.php index 0347bd593..add9bf57e 100644 --- a/legacy/application/controllers/IndexController.php +++ b/legacy/application/controllers/IndexController.php @@ -8,6 +8,12 @@ class IndexController extends Zend_Controller_Action { $CC_CONFIG = Config::getConfig(); $baseUrl = Config::getBasePath(); + if (Application_Model_Preference::getRadioPageDisabled()) { + $this->_helper->redirector->gotoUrl($baseUrl . 'login'); + + return; + } + $this->view->headTitle(Application_Model_Preference::GetHeadTitle()); $this->view->headScript()->appendFile(Assets::url('js/libs/jquery-1.8.3.min.js'), 'text/javascript'); diff --git a/legacy/application/controllers/PreferenceController.php b/legacy/application/controllers/PreferenceController.php index 1351343e6..8dba80c22 100644 --- a/legacy/application/controllers/PreferenceController.php +++ b/legacy/application/controllers/PreferenceController.php @@ -50,6 +50,7 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetDefaultLocale($values['locale']); Application_Model_Preference::SetWeekStartDay($values['weekStartDay']); Application_Model_Preference::setRadioPageDisplayLoginButton($values['radioPageLoginButton']); + Application_Model_Preference::setRadioPageDisabled($values['radioPageDisabled']); Application_Model_Preference::SetFeaturePreviewMode($values['featurePreviewMode']); $logoUploadElement = $form->getSubForm('preferences_general')->getElement('stationLogo'); diff --git a/legacy/application/forms/GeneralPreferences.php b/legacy/application/forms/GeneralPreferences.php index e41eee368..bec987c56 100644 --- a/legacy/application/forms/GeneralPreferences.php +++ b/legacy/application/forms/GeneralPreferences.php @@ -202,11 +202,24 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm if ($displayRadioPageLoginButtonValue == '') { $displayRadioPageLoginButtonValue = true; } - $radioPageLoginButton->addDecorator('Label', ['class' => 'enable-tunein']); + $radioPageLoginButton->addDecorator('Label'); $radioPageLoginButton->setLabel(_('Display login button on your Radio Page?')); $radioPageLoginButton->setValue($displayRadioPageLoginButtonValue); $this->addElement($radioPageLoginButton); + // add a checkbox for completely disabling the radio page + $radioPageDisabled = new Zend_Form_Element_Checkbox('radioPageDisabled'); + $radioPageDisabled->setDecorators([ + 'ViewHelper', + 'Errors', + 'Label', + ]); + $radioPageDisabledValue = Application_Model_Preference::getRadioPageDisabled(); + $radioPageDisabled->addDecorator('Label'); + $radioPageDisabled->setLabel(_('Disable the public radio page and redirect to the login page?')); + $radioPageDisabled->setValue($radioPageDisabledValue); + $this->addElement($radioPageDisabled); + $feature_preview_mode = new Zend_Form_Element_Radio('featurePreviewMode'); $feature_preview_mode->setLabel(_('Feature Previews')); $feature_preview_mode->setMultiOptions([ diff --git a/legacy/application/models/Preference.php b/legacy/application/models/Preference.php index 4297e874c..0ea3034aa 100644 --- a/legacy/application/models/Preference.php +++ b/legacy/application/models/Preference.php @@ -1399,6 +1399,16 @@ class Application_Model_Preference self::setValue('radio_page_display_login_button', $value); } + public static function getRadioPageDisabled() + { + return boolval(self::getValue('radio_page_disabled', false)); + } + + public static function setRadioPageDisabled($value) + { + self::setValue('radio_page_disabled', $value); + } + public static function getLangTimezoneSetupComplete() { return self::getValue('lang_tz_setup_complete'); diff --git a/legacy/application/views/scripts/form/preferences_general.phtml b/legacy/application/views/scripts/form/preferences_general.phtml index 85b5bb2bc..31517aa2d 100644 --- a/legacy/application/views/scripts/form/preferences_general.phtml +++ b/legacy/application/views/scripts/form/preferences_general.phtml @@ -47,5 +47,8 @@ element->getElement('radioPageLoginButton')->renderViewHelper() ?> element->getElement('radioPageLoginButton')->renderLabel() ?> +
+ element->getElement('radioPageDisabled')->renderViewHelper() ?> + element->getElement('radioPageDisabled')->renderLabel() ?> From a95ce3d2296bb864b379dcce14090bd821c1dfc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Fri, 2 Feb 2024 20:17:23 +0100 Subject: [PATCH 18/86] feat(legacy): trim overbooked shows after autoloading a playlist (#2897) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Description Some combination of preload/postload and autoloding playlists with smartblocks generate massively overbooked shows that clutter up the interface. This addition performs a 'trim overbooked' after filling up the autoload list, and does the same as pushing the 'trim overbooked' button in the UI. ### Testing Notes Define an autoloading playlist of 2 hours and schedule it for a one hour show. Without patch, you'll get entries for 2 hours, with the patch, you only get one hour and a 'overboarding' orange entry at most. --------- Co-authored-by: Kyle Robbertze Co-authored-by: Thomas Göttgens Co-authored-by: jo --- .../common/AutoPlaylistManager.php | 5 ++++ .../controllers/PreferenceController.php | 1 + .../application/forms/GeneralPreferences.php | 12 ++++++++ legacy/application/models/Preference.php | 10 +++++++ legacy/application/models/ShowInstance.php | 29 +++++++++++++++++++ .../scripts/form/preferences_general.phtml | 3 ++ 6 files changed, 60 insertions(+) diff --git a/legacy/application/common/AutoPlaylistManager.php b/legacy/application/common/AutoPlaylistManager.php index 54f62170d..e504c3013 100644 --- a/legacy/application/common/AutoPlaylistManager.php +++ b/legacy/application/common/AutoPlaylistManager.php @@ -81,6 +81,11 @@ class AutoPlaylistManager $si->addPlaylistToShow($outroplaylistid, false); } $si->setAutoPlaylistBuilt(true); + + // now trim excessively overbooked shows so the display isn't cluttered with myriads of red off-time blocks + if (Application_Model_Preference::getScheduleTrimOverbooked()) { + $si->trimOverbooked(); + } } Application_Model_Preference::setAutoPlaylistPollLock(microtime(true)); } diff --git a/legacy/application/controllers/PreferenceController.php b/legacy/application/controllers/PreferenceController.php index 8dba80c22..db48390dd 100644 --- a/legacy/application/controllers/PreferenceController.php +++ b/legacy/application/controllers/PreferenceController.php @@ -49,6 +49,7 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetAllow3rdPartyApi($values['thirdPartyApi']); Application_Model_Preference::SetDefaultLocale($values['locale']); Application_Model_Preference::SetWeekStartDay($values['weekStartDay']); + Application_Model_Preference::setScheduleTrimOverbooked($values['scheduleTrimOverbooked']); Application_Model_Preference::setRadioPageDisplayLoginButton($values['radioPageLoginButton']); Application_Model_Preference::setRadioPageDisabled($values['radioPageDisabled']); Application_Model_Preference::SetFeaturePreviewMode($values['featurePreviewMode']); diff --git a/legacy/application/forms/GeneralPreferences.php b/legacy/application/forms/GeneralPreferences.php index bec987c56..59ace16a4 100644 --- a/legacy/application/forms/GeneralPreferences.php +++ b/legacy/application/forms/GeneralPreferences.php @@ -150,6 +150,18 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm ]); $this->addElement($podcast_auto_smartblock); + $scheduleTrimOverbooked = new Zend_Form_Element_Checkbox('scheduleTrimOverbooked'); + $scheduleTrimOverbooked->setDecorators([ + 'ViewHelper', + 'Errors', + 'Label', + ]); + $displayScheduleTrimOverbookedValue = Application_Model_Preference::getScheduleTrimOverbooked(); + $scheduleTrimOverbooked->addDecorator('Label'); + $scheduleTrimOverbooked->setLabel(_('Trim overbooked shows after autoloading?')); + $scheduleTrimOverbooked->setValue($displayScheduleTrimOverbookedValue); + $this->addElement($scheduleTrimOverbooked); + // TODO add and insert Podcast Smartblock and Playlist autogenerate options $third_party_api = new Zend_Form_Element_Radio('thirdPartyApi'); diff --git a/legacy/application/models/Preference.php b/legacy/application/models/Preference.php index 0ea3034aa..bc3cd3753 100644 --- a/legacy/application/models/Preference.php +++ b/legacy/application/models/Preference.php @@ -1399,6 +1399,16 @@ class Application_Model_Preference self::setValue('radio_page_display_login_button', $value); } + public static function getScheduleTrimOverbooked() + { + return boolval(self::getValue('schedule_trim_overbooked', false)); + } + + public static function setScheduleTrimOverbooked($value) + { + self::setValue('schedule_trim_overbooked', $value); + } + public static function getRadioPageDisabled() { return boolval(self::getValue('radio_page_disabled', false)); diff --git a/legacy/application/models/ShowInstance.php b/legacy/application/models/ShowInstance.php index b5aa109df..7b91dc8ed 100644 --- a/legacy/application/models/ShowInstance.php +++ b/legacy/application/models/ShowInstance.php @@ -844,4 +844,33 @@ SQL; { return $this->getShow()->isRepeating(); } + + public function trimOverbooked() + { + // Remove all scheduled items that start time after the show has ended + $sql = <<<'SQL' + delete + from + cc_schedule + where + id in ( + select + s.id + from + cc_schedule s + left join cc_show_instances si on + s.instance_id = si.id + where + si.id = :instance_id + and si.ends < s.starts + and s.playout_status = 0 -- playout_status = 0 double check that si.ends < s.starts + ); + SQL; + + return Application_Common_Database::prepareAndExecute( + $sql, + [':instance_id' => $this->_instanceId], + 'execute' + ); + } } diff --git a/legacy/application/views/scripts/form/preferences_general.phtml b/legacy/application/views/scripts/form/preferences_general.phtml index 31517aa2d..43adb22dc 100644 --- a/legacy/application/views/scripts/form/preferences_general.phtml +++ b/legacy/application/views/scripts/form/preferences_general.phtml @@ -45,6 +45,9 @@ element->getElement('thirdPartyApi')->render() ?> + element->getElement('scheduleTrimOverbooked')->renderViewHelper() ?> + element->getElement('scheduleTrimOverbooked')->renderLabel() ?> +
element->getElement('radioPageLoginButton')->renderViewHelper() ?> element->getElement('radioPageLoginButton')->renderLabel() ?>
From 7a3fffd45f7a52fd58f302e7f3c4654d0d8a5577 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 20:24:25 +0100 Subject: [PATCH 19/86] chore(deps): update pre-commit hook psf/black-pre-commit-mirror to v24 (#2917) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [psf/black-pre-commit-mirror](https://togithub.com/psf/black-pre-commit-mirror) | repository | major | `23.12.1` -> `24.1.1` | Note: The `pre-commit` manager in Renovate is not supported by the `pre-commit` maintainers or community. Please do not report any problems there, instead [create a Discussion in the Renovate repository](https://togithub.com/renovatebot/renovate/discussions/new) if you have any questions. --- ### Release Notes
psf/black-pre-commit-mirror (psf/black-pre-commit-mirror) ### [`v24.1.1`](https://togithub.com/psf/black-pre-commit-mirror/compare/24.1.0...24.1.1) [Compare Source](https://togithub.com/psf/black-pre-commit-mirror/compare/24.1.0...24.1.1) ### [`v24.1.0`](https://togithub.com/psf/black-pre-commit-mirror/compare/23.12.1...24.1.0) [Compare Source](https://togithub.com/psf/black-pre-commit-mirror/compare/23.12.1...24.1.0)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: jo --- .pre-commit-config.yaml | 2 +- analyzer/libretime_analyzer/pipeline/pipeline.py | 3 +-- api/libretime_api/urls.py | 1 + playout/libretime_playout/main.py | 1 + playout/libretime_playout/notify/main.py | 1 + 5 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9b6b32c02..2dc284b24 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -54,7 +54,7 @@ repos: args: [--resolve-all-configs] - repo: https://github.com/psf/black-pre-commit-mirror - rev: 23.12.1 + rev: 24.1.1 hooks: - id: black diff --git a/analyzer/libretime_analyzer/pipeline/pipeline.py b/analyzer/libretime_analyzer/pipeline/pipeline.py index fa0c29b74..9b856301d 100644 --- a/analyzer/libretime_analyzer/pipeline/pipeline.py +++ b/analyzer/libretime_analyzer/pipeline/pipeline.py @@ -16,8 +16,7 @@ logger = logging.getLogger(__name__) class Step(Protocol): @staticmethod - def __call__(filename: str, metadata: Dict[str, Any]): - ... + def __call__(filename: str, metadata: Dict[str, Any]): ... class PipelineStatus(int, Enum): diff --git a/api/libretime_api/urls.py b/api/libretime_api/urls.py index c03f662e8..9d109ddc4 100644 --- a/api/libretime_api/urls.py +++ b/api/libretime_api/urls.py @@ -4,6 +4,7 @@ URL Configuration For more information on this file, see https://docs.djangoproject.com/en/3.2/topics/http/urls/ """ + from django.urls import include, path from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView diff --git a/playout/libretime_playout/main.py b/playout/libretime_playout/main.py index 0ec4e6464..31354162a 100644 --- a/playout/libretime_playout/main.py +++ b/playout/libretime_playout/main.py @@ -1,6 +1,7 @@ """ Python part of radio playout (pypo) """ + import logging import os import sys diff --git a/playout/libretime_playout/notify/main.py b/playout/libretime_playout/notify/main.py index a5dfb07cb..1d77b3fa9 100644 --- a/playout/libretime_playout/notify/main.py +++ b/playout/libretime_playout/notify/main.py @@ -12,6 +12,7 @@ Main case: media id from it, and then calls back to the API to tell about it about it. """ + import logging from pathlib import Path from typing import Literal, Optional From ed2f874633980721fa77a73709ee879cddfd325f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 20:39:00 +0100 Subject: [PATCH 20/86] chore(deps): update dependency black to v24 (#2916) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [black](https://togithub.com/psf/black) ([changelog](https://togithub.com/psf/black/blob/main/CHANGES.md)) | `>=23.1.0,<24` -> `>=23.1.0,<25` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/black/24.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/black/24.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/black/23.12.1/24.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/black/23.12.1/24.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
psf/black (black) ### [`v24.1.1`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2411) [Compare Source](https://togithub.com/psf/black/compare/24.1.0...24.1.1) Bugfix release to fix a bug that made Black unusable on certain file systems with strict limits on path length. ##### Preview style - Consistently add trailing comma on typed parameters ([#​4164](https://togithub.com/psf/black/issues/4164)) ##### Configuration - Shorten the length of the name of the cache file to fix crashes on file systems that do not support long paths ([#​4176](https://togithub.com/psf/black/issues/4176)) ### [`v24.1.0`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2410) [Compare Source](https://togithub.com/psf/black/compare/23.12.1...24.1.0) ##### Highlights This release introduces the new 2024 stable style ([#​4106](https://togithub.com/psf/black/issues/4106)), stabilizing the following changes: - Add parentheses around `if`-`else` expressions ([#​2278](https://togithub.com/psf/black/issues/2278)) - Dummy class and function implementations consisting only of `...` are formatted more compactly ([#​3796](https://togithub.com/psf/black/issues/3796)) - If an assignment statement is too long, we now prefer splitting on the right-hand side ([#​3368](https://togithub.com/psf/black/issues/3368)) - Hex codes in Unicode escape sequences are now standardized to lowercase ([#​2916](https://togithub.com/psf/black/issues/2916)) - Allow empty first lines at the beginning of most blocks ([#​3967](https://togithub.com/psf/black/issues/3967), [#​4061](https://togithub.com/psf/black/issues/4061)) - Add parentheses around long type annotations ([#​3899](https://togithub.com/psf/black/issues/3899)) - Enforce newline after module docstrings ([#​3932](https://togithub.com/psf/black/issues/3932), [#​4028](https://togithub.com/psf/black/issues/4028)) - Fix incorrect magic trailing comma handling in return types ([#​3916](https://togithub.com/psf/black/issues/3916)) - Remove blank lines before class docstrings ([#​3692](https://togithub.com/psf/black/issues/3692)) - Wrap multiple context managers in parentheses if combined in a single `with` statement ([#​3489](https://togithub.com/psf/black/issues/3489)) - Fix bug in line length calculations for power operations ([#​3942](https://togithub.com/psf/black/issues/3942)) - Add trailing commas to collection literals even if there's a comment after the last entry ([#​3393](https://togithub.com/psf/black/issues/3393)) - When using `--skip-magic-trailing-comma` or `-C`, trailing commas are stripped from subscript expressions with more than 1 element ([#​3209](https://togithub.com/psf/black/issues/3209)) - Add extra blank lines in stubs in a few cases ([#​3564](https://togithub.com/psf/black/issues/3564), [#​3862](https://togithub.com/psf/black/issues/3862)) - Accept raw strings as docstrings ([#​3947](https://togithub.com/psf/black/issues/3947)) - Split long lines in case blocks ([#​4024](https://togithub.com/psf/black/issues/4024)) - Stop removing spaces from walrus operators within subscripts ([#​3823](https://togithub.com/psf/black/issues/3823)) - Fix incorrect formatting of certain async statements ([#​3609](https://togithub.com/psf/black/issues/3609)) - Allow combining `# fmt: skip` with other comments ([#​3959](https://togithub.com/psf/black/issues/3959)) There are already a few improvements in the `--preview` style, which are slated for the 2025 stable style. Try them out and [share your feedback](https://togithub.com/psf/black/issues). In the past, the preview style has included some features that we were not able to stabilize. This year, we're adding a separate `--unstable` style for features with known problems. Now, the `--preview` style only includes features that we actually expect to make it into next year's stable style. ##### Stable style Several bug fixes were made in features that are moved to the stable style in this release: - Fix comment handling when parenthesising conditional expressions ([#​4134](https://togithub.com/psf/black/issues/4134)) - Fix bug where spaces were not added around parenthesized walruses in subscripts, unlike other binary operators ([#​4109](https://togithub.com/psf/black/issues/4109)) - Remove empty lines before docstrings in async functions ([#​4132](https://togithub.com/psf/black/issues/4132)) - Address a missing case in the change to allow empty lines at the beginning of all blocks, except immediately before a docstring ([#​4130](https://togithub.com/psf/black/issues/4130)) - For stubs, fix logic to enforce empty line after nested classes with bodies ([#​4141](https://togithub.com/psf/black/issues/4141)) ##### Preview style - Add `--unstable` style, covering preview features that have known problems that would block them from going into the stable style. Also add the `--enable-unstable-feature` flag; for example, use `--enable-unstable-feature hug_parens_with_braces_and_square_brackets` to apply this preview feature throughout 2024, even if a later Black release downgrades the feature to unstable ([#​4096](https://togithub.com/psf/black/issues/4096)) - Format module docstrings the same as class and function docstrings ([#​4095](https://togithub.com/psf/black/issues/4095)) - Fix crash when using a walrus in a dictionary ([#​4155](https://togithub.com/psf/black/issues/4155)) - Fix unnecessary parentheses when wrapping long dicts ([#​4135](https://togithub.com/psf/black/issues/4135)) - Stop normalizing spaces before `# fmt: skip` comments ([#​4146](https://togithub.com/psf/black/issues/4146)) ##### Configuration - Print warning when configuration in `pyproject.toml` contains an invalid key ([#​4165](https://togithub.com/psf/black/issues/4165)) - Fix symlink handling, properly ignoring symlinks that point outside of root ([#​4161](https://togithub.com/psf/black/issues/4161)) - Fix cache mtime logic that resulted in false positive cache hits ([#​4128](https://togithub.com/psf/black/issues/4128)) - Remove the long-deprecated `--experimental-string-processing` flag. This feature can currently be enabled with `--preview --enable-unstable-feature string_processing`. ([#​4096](https://togithub.com/psf/black/issues/4096)) ##### Integrations - Revert the change to run Black's pre-commit integration only on specific git hooks ([#​3940](https://togithub.com/psf/black/issues/3940)) for better compatibility with older versions of pre-commit ([#​4137](https://togithub.com/psf/black/issues/4137))
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tools/python-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/python-requirements.txt b/tools/python-requirements.txt index 4c8053fc1..e95226427 100644 --- a/tools/python-requirements.txt +++ b/tools/python-requirements.txt @@ -1,5 +1,5 @@ bandit>=1.7.4,<2 -black>=23.1.0,<24 +black>=23.1.0,<25 flake8>=6.0.0,<8 isort>=5.12.0,<6 mypy>=1.6.0,<2 From 3e05748d2d1180b8dad55b6f997e6aa7117735f1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 20:39:10 +0100 Subject: [PATCH 21/86] fix(deps): update dependency friendsofphp/php-cs-fixer to <3.49.1 (#2899) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [friendsofphp/php-cs-fixer](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer) | `<3.46.1` -> `<3.49.1` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/friendsofphp%2fphp-cs-fixer/3.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/friendsofphp%2fphp-cs-fixer/3.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/friendsofphp%2fphp-cs-fixer/3.46.0/3.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/friendsofphp%2fphp-cs-fixer/3.46.0/3.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
PHP-CS-Fixer/PHP-CS-Fixer (friendsofphp/php-cs-fixer) ### [`v3.49.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3490) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.48.0...v3.49.0) - chore(checkbashisms): update to 2.23.7 ([#​7780](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7780)) - chore: add missing key types in PHPDoc types ([#​7779](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7779)) - chore: Exclude `topic/core` issues/PRs from Stale Bot ([#​7788](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7788)) - chore: `DescribeCommand` - better handling of deprecations ([#​7778](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7778)) - docs: docker - use gitlab reporter in GitLab integration example ([#​7764](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7764)) - docs: docker in CI - don't suggest command that overrides path from config file ([#​7763](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7763)) - DX: check deprecations exactly ([#​7742](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7742)) - feat: Add `ordered_types` to `@Symfony` ([#​7356](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7356)) - feat: introduce `PhpdocListTypeFixer` ([#​7796](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7796)) - feat: introduce `string_implicit_backslashes` as `escape_implicit_backslashes` replacement ([#​7669](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7669)) - feat: update `Symfony.nullable_type_declaration_for_default_null_value` config ([#​7773](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7773)) - feat: `@PhpCsFixer` ruleset - enable `php_unit_data_provider_static` ([#​7685](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7685)) - fix: Allow using cache when running in Docker distribution ([#​7769](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7769)) - fix: ClassDefinitionFixer for anonymous class with phpdoc/attribute on separate line ([#​7546](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7546)) - fix: `ClassKeywordFixer` must run before `FullyQualifiedStrictTypesFixer` ([#​7767](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7767)) - fix: `function_to_constant` `get_class()` replacement ([#​7770](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7770)) - fix: `LowercaseStaticReferenceFixer` - do not change typed constants ([#​7775](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7775)) - fix: `PhpdocTypesFixer` - handle more complex types ([#​7791](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7791)) - fix: `TypeExpression` - do not break type using `walkTypes` method ([#​7785](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7785)) ### [`v3.48.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3480) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.47.1...v3.48.0) - chore: `FullyQualifiedStrictTypesFixer` must run before `OrderedInterfacesFixer` ([#​7762](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7762)) - docs: Add PHP-CS-Fixer integration in a GitHub Action step ([#​7757](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7757)) - feat: `PhpdocTypesOrderFixer` Support DNF types ([#​7732](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7732)) - fix: Support shebang in fixers operating on PHP opening tag ([#​7687](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7687)) - fix: work correctly for a switch/case with ternary operator ([#​7756](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7756)) - fix: `NoUselessConcatOperatorFixer` - do not remove new line ([#​7759](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7759)) ### [`v3.47.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3471) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.47.0...v3.47.1) - fix: Do not override short name with relative reference ([#​7752](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7752)) - fix: make `BinaryOperatorSpacesFixer` work as pre-v3.47 ([#​7751](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7751)) - fix: Proper Docker image name suffix ([#​7739](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7739)) - fix: `FullyQualifiedStrictTypesFixer` - do not change case of the symbol when there's name collision between imported class and imported function ([#​7750](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7750)) - fix: `FullyQualifiedStrictTypesFixer` - do not modify statements with property fetch and `::` ([#​7749](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7749)) ### [`v3.47.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3470) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.46.0...v3.47.0) - chore: better identify EXPERIMENTAL rules ([#​7729](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7729)) - chore: fix issue detected by unlocked PHPStan + upgrade dev-tools ([#​7678](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7678)) - chore: handle extract() ([#​7684](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7684)) - chore: Mention contributors in app info ([#​7668](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7668)) - chore: no need to mark private methods as internal ([#​7715](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7715)) - chore: ProjectCodeTests - dry for function usage extractions ([#​7690](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7690)) - chore: reduce PHPStan baseline ([#​7644](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7644)) - chore: use numeric literal separator for PHP version IDs ([#​7712](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7712)) - chore: use numeric_literal_separator for project ([#​7713](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7713)) - chore: Utils::sortElements - better typing ([#​7646](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7646)) - CI: Allow running Stale Bot on demand ([#​7711](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7711)) - CI: Fix PHP 8.4 ([#​7702](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7702)) - CI: Give write permissions to Stale Bot ([#​7716](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7716)) - CI: Use `actions/stale` v9 ([#​7710](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7710)) - docs: Add information about allowing maintainers to update PRs ([#​7683](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7683)) - docs: CONTRIBUTING.md - update Opening a PR ([#​7691](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7691)) - docs: Display/include tool info/version by default in commands and reports ([#​7733](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7733)) - DX: fix deprecation tests warnings for PHP 7.4 ([#​7725](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7725)) - DX: update `host.docker.internal` in Compose override template ([#​7661](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7661)) - DX: `NumericLiteralSeparatorFixer` - change default strategy to `use_separator` ([#​7730](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7730)) - feat: Add support for official Docker images of Fixer ([#​7555](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7555)) - feat: Add `spacing` option to `PhpdocAlignFixer` ([#​6505](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6505)) - feat: Add `union_types` option to `phpdoc_to_param_type`, `phpdoc_to_property_type`, and `phpdoc_to_return_type` fixers ([#​7672](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7672)) - feat: Introduce `heredoc_closing_marker` fixer ([#​7660](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7660)) - feat: Introduce `multiline_string_to_heredoc` fixer ([#​7665](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7665)) - feat: Introduce `NumericLiteralSeparatorFixer` ([#​6761](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6761)) - feat: no_superfluous_phpdoc_tags - support for arrow function ([#​7666](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7666)) - feat: Simplify closing marker when possible in `heredoc_closing_marker` fixer ([#​7676](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7676)) - feat: Support typed properties and attributes in `fully_qualified_strict_types` ([#​7659](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7659)) - feat: `@PhpCsFixer` ruleset - enable no_whitespace_before_comma_in_array.after_heredoc ([#​7670](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7670)) - fix: Improve progress bar visual layer ([#​7708](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7708)) - fix: indentation of control structure body without braces ([#​7663](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7663)) - fix: make sure all PHP extensions required by PHPUnit are installed ([#​7727](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7727)) - fix: PhpdocToReturnTypeFixerTest - support for arrow functions ([#​7645](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7645)) - fix: Several improvements for `fully_qualified_strict_types` (respect declared symbols, relative imports, leading backslash in global namespace) ([#​7679](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7679)) - fix: SimplifiedNullReturnFixer - support array return typehint ([#​7728](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7728)) - fix: Support numeric values without leading zero in `numeric_literal_separator` ([#​7735](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7735)) - fix: `BinaryOperatorSpacesFixer` - align correctly when multiple shifts occurs in single line ([#​7593](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7593)) - fix: `ClassReferenceNameCasingFixer` capitalizes the property name after the nullsafe operator ([#​7696](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7696)) - fix: `fully_qualified_strict_types` with `leading_backslash_in_global_namespace` enabled - handle reserved types in phpDoc ([#​7648](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7648)) - fix: `NoSpaceAroundDoubleColonFixer` must run before `MethodChainingIndentationFixer` ([#​7723](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7723)) - fix: `no_superfluous_phpdoc_tags` must honor multiline docs ([#​7697](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7697)) - fix: `numeric_literal_separator` - Handle zero-leading floats properly ([#​7737](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7737)) - refactor: increase performance by ~7% thanks to `Tokens::block*Cache` hit increased by ~12% ([#​6176](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6176)) - refactor: Tokens - fast check for non-block in 'detectBlockType', evaluate definitions only once in 'getBlockEdgeDefinitions' ([#​7655](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7655)) - refactor: `Tokens::clearEmptyTokens` - play defensive with cache clearing ([#​7658](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7658)) - test: ensure we do not forget to test any short_open_tag test ([#​7638](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7638))
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: jo --- legacy/application/views/helpers/VersionNotify.php | 10 +++++----- legacy/tools/composer.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/legacy/application/views/helpers/VersionNotify.php b/legacy/application/views/helpers/VersionNotify.php index 4b5ad579b..38fb03cb9 100644 --- a/legacy/application/views/helpers/VersionNotify.php +++ b/legacy/application/views/helpers/VersionNotify.php @@ -45,16 +45,16 @@ class Airtime_View_Helper_VersionNotify extends Zend_View_Helper_Abstract $isPreRelease = $isGitRelease || array_key_exists(4, $currentParts); // we are always interested in a major when we pre-release, hence the isPreRelease part - $majorCandidates = SemVer::satisfiedBy($latest, sprintf('>=%1$s-stable', $currentParts[0] + ($isPreRelease ? 0 : 1))); - $minorCandidates = SemVer::satisfiedBy($latest, sprintf('~%1$s.%2$s', $currentParts[0], $currentParts[1] + 1)); - $patchCandidates = SemVer::satisfiedBy($latest, sprintf('>=%1$s.%2$s.%3$s <%1$s.%3$s', $currentParts[0], $currentParts[1], $currentParts[2] + 1)); + $majorCandidates = Semver::satisfiedBy($latest, sprintf('>=%1$s-stable', $currentParts[0] + ($isPreRelease ? 0 : 1))); + $minorCandidates = Semver::satisfiedBy($latest, sprintf('~%1$s.%2$s', $currentParts[0], $currentParts[1] + 1)); + $patchCandidates = Semver::satisfiedBy($latest, sprintf('>=%1$s.%2$s.%3$s <%1$s.%3$s', $currentParts[0], $currentParts[1], $currentParts[2] + 1)); $hasMajor = !empty($majorCandidates); $hasMinor = !empty($minorCandidates); $hasPatch = !empty($patchCandidates); $hasMultiMajor = count($majorCandidates) > 1; if ($isPreRelease) { - $stableVersions = SemVer::satisfiedBy($latest, sprintf('>=%1$s.%2$s.%3$s-stable', $currentParts[0], $currentParts[1], $currentParts[2])); + $stableVersions = Semver::satisfiedBy($latest, sprintf('>=%1$s.%2$s.%3$s-stable', $currentParts[0], $currentParts[1], $currentParts[2])); // git releases are never interested in a stable version :P $hasStable = !empty($stableVersions) && !$isGitRelease; // no warning if no major release available, orange warning if you are on unreleased code @@ -71,7 +71,7 @@ class Airtime_View_Helper_VersionNotify extends Zend_View_Helper_Abstract } else { $class = 'uptodate'; } - $latest = SemVer::rsort($latest); + $latest = Semver::rsort($latest); $highestVersion = $latest[0]; $data = (object) [ diff --git a/legacy/tools/composer.json b/legacy/tools/composer.json index 1716b97b0..d665a7b41 100644 --- a/legacy/tools/composer.json +++ b/legacy/tools/composer.json @@ -1,6 +1,6 @@ { "require": { "php": "^7.4", - "friendsofphp/php-cs-fixer": "<3.46.1" + "friendsofphp/php-cs-fixer": "<3.49.1" } } From 29f73e0dcb1fd668a79a2ffedc33e16172277376 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Fri, 2 Feb 2024 20:44:15 +0100 Subject: [PATCH 22/86] fix(analyzer): backslash non utf-8 data when probing replaygain (#2931) ### Description Fixes #2910 --- analyzer/libretime_analyzer/pipeline/_ffmpeg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/analyzer/libretime_analyzer/pipeline/_ffmpeg.py b/analyzer/libretime_analyzer/pipeline/_ffmpeg.py index c8d9f7df0..b9f5471c6 100644 --- a/analyzer/libretime_analyzer/pipeline/_ffmpeg.py +++ b/analyzer/libretime_analyzer/pipeline/_ffmpeg.py @@ -36,7 +36,7 @@ def probe_replaygain(filepath: Path) -> Optional[float]: """ Probe replaygain will probe the given audio file and return the replaygain if available. """ - cmd = _ffprobe("-i", filepath) + cmd = _ffprobe("-i", filepath, errors="backslashreplace") track_gain_match = _PROBE_REPLAYGAIN_RE.search(cmd.stderr) From f4b260fdf70c0dd1830166d3856239dae5366599 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Sat, 3 Feb 2024 22:31:00 +0100 Subject: [PATCH 23/86] fix(legacy): fix hidden fields in edit file form (#2932) this removes a visual gap between artwork and editor fields. I stumbled across this while updating the form to include replay gain. ![grafik](https://github.com/libretime/libretime/assets/25002/267f4d7b-e12e-4c86-b37e-420311dc3dec) --- legacy/application/forms/EditAudioMD.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/legacy/application/forms/EditAudioMD.php b/legacy/application/forms/EditAudioMD.php index 68a33ba36..fc3539ae6 100644 --- a/legacy/application/forms/EditAudioMD.php +++ b/legacy/application/forms/EditAudioMD.php @@ -23,25 +23,25 @@ class Application_Form_EditAudioMD extends Zend_Form ->setValidators([ new Zend_Validate_StringLength(['max' => 2048]), ]); - $file_id->addDecorator('HtmlTag', ['tag' => 'div', 'style' => 'display:none']); - $file_id->removeDecorator('Label'); - $file_id->setAttrib('class', 'artwork'); + $artwork->addDecorator('HtmlTag', ['tag' => 'div', 'style' => 'display:none']); + $artwork->removeDecorator('Label'); + $artwork->setAttrib('class', 'artwork'); $this->addElement($artwork); // Set artwork hidden field $set_artwork = new Zend_Form_Element_Hidden('set_artwork'); $set_artwork->class = 'input_text set_artwork_' . $p_id; - $file_id->addDecorator('HtmlTag', ['tag' => 'div', 'style' => 'display:none']); - $file_id->removeDecorator('Label'); - $file_id->setAttrib('class', 'set_artwork'); + $set_artwork->addDecorator('HtmlTag', ['tag' => 'div', 'style' => 'display:none']); + $set_artwork->removeDecorator('Label'); + $set_artwork->setAttrib('class', 'set_artwork'); $this->addElement($set_artwork); // Remove artwork hidden field $remove_artwork = new Zend_Form_Element_Hidden('remove_artwork'); $remove_artwork->class = 'input_text remove_artwork_' . $p_id; - $file_id->addDecorator('HtmlTag', ['tag' => 'div', 'style' => 'display:none']); - $file_id->removeDecorator('Label'); - $file_id->setAttrib('class', 'remove_artwork'); + $remove_artwork->addDecorator('HtmlTag', ['tag' => 'div', 'style' => 'display:none']); + $remove_artwork->removeDecorator('Label'); + $remove_artwork->setAttrib('class', 'remove_artwork'); $this->addElement($remove_artwork); // Add title field From 2b119adab27803cddb4fee9b159808361d8c2e8a Mon Sep 17 00:00:00 2001 From: libretime-bot Date: Mon, 5 Feb 2024 01:52:47 +0000 Subject: [PATCH 24/86] chore(legacy): update locales --- legacy/locale/cs_CZ/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/de_AT/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/de_DE/LC_MESSAGES/libretime.po | 67 ++++++------ legacy/locale/el_GR/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/en_CA/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/en_GB/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/en_US/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/es_ES/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/fr_FR/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/hr_HR/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/hu_HU/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/it_IT/LC_MESSAGES/libretime.po | 102 ++++++++---------- legacy/locale/ja_JP/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/ko_KR/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/nl_NL/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/pl_PL/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/pt_BR/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/ru_RU/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/sr_RS/LC_MESSAGES/libretime.po | 64 ++++++----- .../sr_RS@latin/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/tr_TR/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/uk_UA/LC_MESSAGES/libretime.po | 64 ++++++----- legacy/locale/zh_CN/LC_MESSAGES/libretime.po | 64 ++++++----- 23 files changed, 839 insertions(+), 674 deletions(-) diff --git a/legacy/locale/cs_CZ/LC_MESSAGES/libretime.po b/legacy/locale/cs_CZ/LC_MESSAGES/libretime.po index 85dd4a815..a9e18de89 100644 --- a/legacy/locale/cs_CZ/LC_MESSAGES/libretime.po +++ b/legacy/locale/cs_CZ/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: Czech (Czech Republic)\n" @@ -855,12 +855,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1864,37 +1864,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Neděle" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Pondělí" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Úterý" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Středa" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Čtvrtek" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Pátek" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Sobota" @@ -2579,8 +2579,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Povoleno" @@ -2588,8 +2588,8 @@ msgstr "Povoleno" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Vypnuto" @@ -2754,23 +2754,23 @@ msgstr "Chytrý block bez názvu" msgid "Unknown Playlist" msgstr "Neznámý Playlist" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Preference aktualizovány." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Nastavení streamu aktualizováno." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "cesta by měla být specifikována" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problém s Liquidsoap ..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3305,42 +3305,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Časové pásmo stanice" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Týden začíná" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/de_AT/LC_MESSAGES/libretime.po b/legacy/locale/de_AT/LC_MESSAGES/libretime.po index 714cc5408..40441fd84 100644 --- a/legacy/locale/de_AT/LC_MESSAGES/libretime.po +++ b/legacy/locale/de_AT/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2021-10-17 08:09+0000\n" "Last-Translator: Kyle Robbertze \n" "Language-Team: German (Austria) \n" @@ -856,12 +856,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1874,37 +1874,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Sonntag" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Montag" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Dienstag" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Mittwoch" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Donnerstag" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Freitag" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Samstag" @@ -2589,8 +2589,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Aktiviert" @@ -2598,8 +2598,8 @@ msgstr "Aktiviert" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Deaktiviert" @@ -2764,23 +2764,23 @@ msgstr "Unbenannter Smart Block" msgid "Unknown Playlist" msgstr "Unbenannte Playlist" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Einstellungen aktualisiert" -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Stream-Einstellungen aktualisiert." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "Pfad muß angegeben werden" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problem mit Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3315,42 +3315,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Zeitzone Radiostation" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Woche startet mit " -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/de_DE/LC_MESSAGES/libretime.po b/legacy/locale/de_DE/LC_MESSAGES/libretime.po index 0c9a9e55d..ac3068470 100644 --- a/legacy/locale/de_DE/LC_MESSAGES/libretime.po +++ b/legacy/locale/de_DE/LC_MESSAGES/libretime.po @@ -14,11 +14,10 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2024-01-19 16:00+0000\n" "Last-Translator: Domenik Töfflinger \n" -"Language-Team: German \n" +"Language-Team: German \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -860,12 +859,12 @@ msgstr "Sie sind nicht berechtigt, auf diese Resource zuzugreifen. " msgid "An internal application error has occurred." msgstr "Ein interner Fehler ist aufgetreten." -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "%s Podcast" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "Es wurden noch keine Tracks veröffentlicht." @@ -1878,37 +1877,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Sonntag" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Montag" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Dienstag" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Mittwoch" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Donnerstag" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Freitag" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Samstag" @@ -2593,8 +2592,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Aktiviert" @@ -2602,8 +2601,8 @@ msgstr "Aktiviert" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Deaktiviert" @@ -2768,23 +2767,23 @@ msgstr "Unbenannter Smart Block" msgid "Unknown Playlist" msgstr "Unbekannte Playlist" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Einstellungen aktualisiert." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Stream-Einstellungen aktualisiert." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "Pfad muß angegeben werden" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problem mit Liquidsoap ..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3319,42 +3318,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Sendestation Zeitzone" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Woche beginnt am" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/el_GR/LC_MESSAGES/libretime.po b/legacy/locale/el_GR/LC_MESSAGES/libretime.po index afb2fd7c2..ca52d7a57 100644 --- a/legacy/locale/el_GR/LC_MESSAGES/libretime.po +++ b/legacy/locale/el_GR/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2021-10-17 08:09+0000\n" "Last-Translator: Kyle Robbertze \n" "Language-Team: Greek \n" @@ -856,12 +856,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1865,37 +1865,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Κυριακή" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Δευτέρα" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Τρίτη" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Τετάρτη" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Πέμπτη" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Παρασκευή" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Σάββατο" @@ -2580,8 +2580,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Ενεργοποιημένο" @@ -2589,8 +2589,8 @@ msgstr "Ενεργοποιημένο" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Απενεργοποιημένο" @@ -2755,23 +2755,23 @@ msgstr "Smart Block χωρίς Τίτλο" msgid "Unknown Playlist" msgstr "Άγνωστη λίστα αναπαραγωγής" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Οι προτιμήσεις ενημερώθηκαν." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Η Ρύθμιση Stream Ενημερώθηκε." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "η διαδρομή πρέπει να καθοριστεί" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Πρόβλημα με Liquidsoap ..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3306,42 +3306,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Ζώνη Ώρας Σταθμού" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Η Εβδομάδα αρχίζει " -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/en_CA/LC_MESSAGES/libretime.po b/legacy/locale/en_CA/LC_MESSAGES/libretime.po index 46f3372a6..dbd8cbf35 100644 --- a/legacy/locale/en_CA/LC_MESSAGES/libretime.po +++ b/legacy/locale/en_CA/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: English (Canada)\n" @@ -855,12 +855,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1864,37 +1864,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Sunday" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Monday" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Tuesday" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Wednesday" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Thursday" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Friday" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Saturday" @@ -2579,8 +2579,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Enabled" @@ -2588,8 +2588,8 @@ msgstr "Enabled" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Disabled" @@ -2754,23 +2754,23 @@ msgstr "Untitled Smart Block" msgid "Unknown Playlist" msgstr "Unknown Playlist" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Preferences updated." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Stream Setting Updated." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "path should be specified" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problem with Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3305,42 +3305,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Station Timezone" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Week Starts On" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/en_GB/LC_MESSAGES/libretime.po b/legacy/locale/en_GB/LC_MESSAGES/libretime.po index 0898ccf8c..6dcf21680 100644 --- a/legacy/locale/en_GB/LC_MESSAGES/libretime.po +++ b/legacy/locale/en_GB/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2022-07-14 09:18+0000\n" "Last-Translator: Kyle Robbertze \n" "Language-Team: English (United Kingdom) \n" @@ -860,12 +860,12 @@ msgstr "You do not have permission to access this resource." msgid "An internal application error has occurred." msgstr "An internal application error has occurred." -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1869,37 +1869,37 @@ msgid "Month" msgstr "Month" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Sunday" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Monday" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Tuesday" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Wednesday" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Thursday" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Friday" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Saturday" @@ -2584,8 +2584,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Enabled" @@ -2593,8 +2593,8 @@ msgstr "Enabled" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Disabled" @@ -2759,23 +2759,23 @@ msgstr "Untitled Smart Block" msgid "Unknown Playlist" msgstr "Unknown Playlist" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Preferences updated." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Stream Setting Updated." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "path should be specified" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problem with Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "Request method not accepted" @@ -3310,15 +3310,19 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "Public LibreTime API" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "Required for embeddable schedule widget." -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." @@ -3326,28 +3330,32 @@ msgstr "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "Default Language" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Station Timezone" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Week Starts On" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "Display login button on your Radio Page?" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/en_US/LC_MESSAGES/libretime.po b/legacy/locale/en_US/LC_MESSAGES/libretime.po index b471db529..0336596cf 100644 --- a/legacy/locale/en_US/LC_MESSAGES/libretime.po +++ b/legacy/locale/en_US/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2023-05-21 17:52+0000\n" "Last-Translator: Zachary Klosko \n" "Language-Team: English (United States) \n" @@ -856,12 +856,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1865,37 +1865,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Sunday" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Monday" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Tuesday" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Wednesday" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Thursday" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Friday" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Saturday" @@ -2580,8 +2580,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Enabled" @@ -2589,8 +2589,8 @@ msgstr "Enabled" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Disabled" @@ -2755,23 +2755,23 @@ msgstr "Untitled Smart Block" msgid "Unknown Playlist" msgstr "Unknown Playlist" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Preferences updated." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Stream Setting Updated." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "path should be specified" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problem with Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3306,42 +3306,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Station Timezone" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Week Starts On" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/es_ES/LC_MESSAGES/libretime.po b/legacy/locale/es_ES/LC_MESSAGES/libretime.po index db6b622bd..52adb025a 100644 --- a/legacy/locale/es_ES/LC_MESSAGES/libretime.po +++ b/legacy/locale/es_ES/LC_MESSAGES/libretime.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2023-03-21 11:41+0000\n" "Last-Translator: gallegonovato \n" "Language-Team: Spanish \n" @@ -867,12 +867,12 @@ msgstr "No tiene permiso para acceder a este recurso." msgid "An internal application error has occurred." msgstr "Se ha producido un error interno de la aplicación." -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "%s Podcast" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "No se han publicado pistas todavía." @@ -1876,37 +1876,37 @@ msgid "Month" msgstr "Mes" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Domingo" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Lunes" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Martes" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Miércoles" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Jueves" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Viernes" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Sábado" @@ -2591,8 +2591,8 @@ msgstr "No se ha encontrado ningún tipo de pista" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Activado" @@ -2600,8 +2600,8 @@ msgstr "Activado" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Desactivado" @@ -2768,23 +2768,23 @@ msgstr "Bloque inteligente sin nombre" msgid "Unknown Playlist" msgstr "Lista de reproducción desconocida" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Se actualizaron las preferencias." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Se actualizaron las configuraciones del stream." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "se debe especificar la ruta" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Hay un problema con Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "Método de solicitud no aceptado" @@ -3319,15 +3319,19 @@ msgstr "Genere un bloque inteligente y una lista de reproducción al crear un nu msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "Si esta opción está activada, se generará un nuevo bloque inteligente y una nueva lista de reproducción que coincidan con la pista más reciente de un podcast inmediatamente después de la creación de un nuevo podcast. Tenga en cuenta que la función \"Sobrescribir metatags de episodios de podcast\" también debe estar activada para que los smartblocks encuentren episodios de forma fiable." -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "API Pública de Libretime" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "Requerido para el widget de programación." -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." @@ -3335,28 +3339,32 @@ msgstr "" "Habilitar esta función permite a Libretime proporcionar datos de programación\n" " a widgets externos que se pueden integrar en tu sitio web." -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "Idioma predeterminado" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Zona horaria de la Estación" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "La semana empieza el" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "¿Mostrar el botón de inicio de sesión en su página de radio?" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "Vistas previas de funciones" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "Active esta opción para probar nuevas funciones." diff --git a/legacy/locale/fr_FR/LC_MESSAGES/libretime.po b/legacy/locale/fr_FR/LC_MESSAGES/libretime.po index 04f20a8a5..fadd505a1 100644 --- a/legacy/locale/fr_FR/LC_MESSAGES/libretime.po +++ b/legacy/locale/fr_FR/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2023-03-06 23:45+0000\n" "Last-Translator: \"Jonas L.\" \n" "Language-Team: French \n" @@ -865,12 +865,12 @@ msgstr "Vous n'avez pas la permission d'accéder à cette ressource." msgid "An internal application error has occurred." msgstr "Une erreur interne est survenue." -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "%s Podcast" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "Aucune piste n'a encore été publiée." @@ -1874,37 +1874,37 @@ msgid "Month" msgstr "Mois" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Dimanche" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Lundi" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Mardi" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Mercredi" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Jeudi" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Vendredi" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Samedi" @@ -2589,8 +2589,8 @@ msgstr "Aucun type de piste correspondant trouvé" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Activé" @@ -2598,8 +2598,8 @@ msgstr "Activé" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Désactivé" @@ -2766,23 +2766,23 @@ msgstr "Bloc intelligent sans titre" msgid "Unknown Playlist" msgstr "Liste de lecture inconnue" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Préférences mises à jour." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Réglages du Flux mis à jour." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "le chemin doit être spécifié" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problème avec Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "Cette méthode de requête ne peut aboutir" @@ -3317,15 +3317,19 @@ msgstr "Générer un bloc intelligent et une playlist à la création d'un nouve msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "Si cette option est activée, un nouveau bloc intelligent et une playlist correspondant à la dernière piste d'un podcast seront générés immédiatement lors de la création d'un nouveau podcast. Notez que la fonctionnalité \"Remplacer les métatags de l'épisode\" doit aussi être activée pour que les blocs intelligent puissent trouver des épisodes correctement." -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "API publique LibreTime" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "Requis pour le widget de programmation." -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." @@ -3333,28 +3337,32 @@ msgstr "" "L'activation de cette fonctionnalité permettra à LibreTime de fournir des données de planification\n" " à des widgets externes pouvant être intégrés à votre site Web." -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "Langage par défaut" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Fuseau horaire de la Station" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "La semaine commence le" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "Afficher le bouton de connexion sur votre page radio ?" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "Aperçus de fonctionnalités" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "Activer ceci pour vous inscrire pour tester les nouvelles fonctionnalités." diff --git a/legacy/locale/hr_HR/LC_MESSAGES/libretime.po b/legacy/locale/hr_HR/LC_MESSAGES/libretime.po index a18145e37..5d0696620 100644 --- a/legacy/locale/hr_HR/LC_MESSAGES/libretime.po +++ b/legacy/locale/hr_HR/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2023-10-29 05:18+0000\n" "Last-Translator: Milo Ivir \n" "Language-Team: Croatian \n" @@ -855,12 +855,12 @@ msgstr "Nemaš dozvole za pristupanje ovom resursu." msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1864,37 +1864,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Nedjelja" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Ponedjeljak" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Utorak" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Srijeda" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Četvrtak" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Petak" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Subota" @@ -2580,8 +2580,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Aktivirano" @@ -2589,8 +2589,8 @@ msgstr "Aktivirano" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Deaktivirano" @@ -2757,23 +2757,23 @@ msgstr "Neimenovan pametni blok" msgid "Unknown Playlist" msgstr "Nepoznata playlista" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Postavke su ažurirane." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Postavka prijenosa je ažurirana." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "put bi trebao biti specificiran" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problem s Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3309,42 +3309,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "Javni LibreTime API" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "Standardni jezik" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Vremenska zona stanice" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Prvi dan tjedna" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "Pregledi funkcija" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "Aktiviraj ovo za testiranje novih funkcija." diff --git a/legacy/locale/hu_HU/LC_MESSAGES/libretime.po b/legacy/locale/hu_HU/LC_MESSAGES/libretime.po index bc1547a67..c8ed40512 100644 --- a/legacy/locale/hu_HU/LC_MESSAGES/libretime.po +++ b/legacy/locale/hu_HU/LC_MESSAGES/libretime.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2021-12-27 20:52+0000\n" "Last-Translator: f3rr31 <5920873@disroot.org>\n" "Language-Team: Hungarian \n" @@ -866,12 +866,12 @@ msgstr "Nincs jogosultsága ennek a forrásnak az eléréséhez." msgid "An internal application error has occurred." msgstr "Belső alkalmazáshiba történt." -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "%s Podcast" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "Még nincsenek közzétett sávok." @@ -1877,37 +1877,37 @@ msgid "Month" msgstr "Hónap" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Vasárnap" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Hétfő" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Kedd" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Szerda" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Csütörtök" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Péntek" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Szombat" @@ -2596,8 +2596,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Engedélyezve" @@ -2605,8 +2605,8 @@ msgstr "Engedélyezve" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Letiltva" @@ -2771,23 +2771,23 @@ msgstr "Névtelen okosblokk" msgid "Unknown Playlist" msgstr "Ismeretlen lejátszási lista" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Beállítások frissítve." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Adásfolyam beállítások frissítve." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "az útvonalat meg kell határozni" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Probléma lépett fel a Liquidsoap-al..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "A kérés módja nem elfogadott" @@ -3326,42 +3326,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "Public LibreTime API" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "Kötelező a beágyazható ütemezés felületi elemhez." -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "Bejelölve engedélyezi az AirTime-nak, hogy ütemezési adatokat biztosítson a weboldalakba beágyazható külső felületi elemek számára." -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "Alapértelmezett nyelv" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Állomás időzóna" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "A hét kezdőnapja" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "Bejelentkezési gomb megjelenítése a Rádióoldalon?" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/it_IT/LC_MESSAGES/libretime.po b/legacy/locale/it_IT/LC_MESSAGES/libretime.po index b641b2677..5fb03260a 100644 --- a/legacy/locale/it_IT/LC_MESSAGES/libretime.po +++ b/legacy/locale/it_IT/LC_MESSAGES/libretime.po @@ -12,11 +12,10 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2023-12-27 23:06+0000\n" "Last-Translator: Maurizio Castelvetro \n" -"Language-Team: Italian \n" +"Language-Team: Italian \n" "Language: it_IT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -590,9 +589,7 @@ msgstr "Carica qui sotto alcune tracce per aggiungerle alla tua libreria!" #: application/common/UsabilityHints.php:69 #, php-format msgid "It looks like you haven't uploaded any audio files yet. %sUpload a file now%s." -msgstr "" -"Sembra che tu non abbia ancora caricato nessun file audio. %sCarica un file " -"ora%s." +msgstr "Sembra che tu non abbia ancora caricato nessun file audio. %sCarica un file ora%s." #: application/common/UsabilityHints.php:76 msgid "Click the 'New Show' button and fill out the required fields." @@ -605,9 +602,7 @@ msgstr "Sembra che non ci sia nessuno show programmato. %sCrea uno show ora%s." #: application/common/UsabilityHints.php:89 msgid "To start broadcasting, cancel the current linked show by clicking on it and selecting 'Cancel Show'." -msgstr "" -"Per iniziare a trasmettere, cancella lo show attualmente collegato cliccando " -"su di esso e selezionando 'Cancella show'." +msgstr "Per iniziare a trasmettere, cancella lo show attualmente collegato cliccando su di esso e selezionando 'Cancella show'." #: application/common/UsabilityHints.php:92 #, php-format @@ -615,23 +610,17 @@ msgid "" "Linked shows need to be filled with tracks before it starts. To start broadcasting cancel the current linked show and schedule an unlinked show.\n" " %sCreate an unlinked show now%s." msgstr "" -"Lo show collegato richiede di essere riempito di tracce per poter iniziare. " -"Per iniziare la trasmissione cancella lo show attualmente collegato e " -"programma uno show non collegato. \n" +"Lo show collegato richiede di essere riempito di tracce per poter iniziare. Per iniziare la trasmissione cancella lo show attualmente collegato e programma uno show non collegato. \n" "\t\t\t\t\t\t%sCrea uno show non collegato%s." #: application/common/UsabilityHints.php:96 msgid "To start broadcasting, click on the current show and select 'Schedule Tracks'" -msgstr "" -"Per iniziare a trasmettere, premi lo show in corso e seleziona 'Programma le " -"tracce'" +msgstr "Per iniziare a trasmettere, premi lo show in corso e seleziona 'Programma le tracce'" #: application/common/UsabilityHints.php:100 #, php-format msgid "It looks like the current show needs more tracks. %sAdd tracks to your show now%s." -msgstr "" -"Sembra che lo show richieda l'inserimento di ulteriori tracce. %sAggiungi " -"tracce allo show%s." +msgstr "Sembra che lo show richieda l'inserimento di ulteriori tracce. %sAggiungi tracce allo show%s." #: application/common/UsabilityHints.php:107 msgid "Click on the show starting next and select 'Schedule Tracks'" @@ -648,9 +637,7 @@ msgstr "LibreTime - Servizio analisi dei media" #: application/configs/config-check.php:174 msgid "Check that the libretime-analyzer service is installed correctly in " -msgstr "" -"Controlla che il servizio di analisi di LibreTime sia installato " -"correttamente in " +msgstr "Controlla che il servizio di analisi di LibreTime sia installato correttamente in " #: application/configs/config-check.php:175 #: application/configs/config-check.php:194 @@ -674,9 +661,7 @@ msgstr "Servizio di playout di LibreTime" #: application/configs/config-check.php:193 msgid "Check that the libretime-playout service is installed correctly in " -msgstr "" -"Controlla che il servizio di playolut di LibreTime sia installato " -"correttamente in " +msgstr "Controlla che il servizio di playolut di LibreTime sia installato correttamente in " #: application/configs/config-check.php:205 msgid "LibreTime liquidsoap service" @@ -700,8 +685,7 @@ msgstr "Servizio librerie API LibreTime" #: application/configs/config-check.php:250 msgid "Check that the libretime-api service is installed correctly in " -msgstr "" -"Controlla che il servizio LibreTime API sia installato correttamente in " +msgstr "Controlla che il servizio LibreTime API sia installato correttamente in " #: application/configs/navigation.php:28 msgid "Radio Page" @@ -875,12 +859,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1884,37 +1868,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Domenica" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Lunedì" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Martedì" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Mercoledì" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Giovedì" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Venerdì" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Sabato" @@ -2445,9 +2429,7 @@ msgstr "" #: application/controllers/LocaleController.php:416 #, php-format msgid "%sPrint view%sPlease use your browser's print function to print this table. Press escape when finished." -msgstr "" -"%sFinestra di stampa%sSi prega di usare la funzione di stampa del tuo " -"browser per stampare questa tavola. Premi \"escape\" appena terminato." +msgstr "%sFinestra di stampa%sSi prega di usare la funzione di stampa del tuo browser per stampare questa tavola. Premi \"escape\" appena terminato." #: application/controllers/LocaleController.php:417 msgid "New Show" @@ -2601,8 +2583,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Abilitato" @@ -2610,8 +2592,8 @@ msgstr "Abilitato" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Disattivato" @@ -2776,23 +2758,23 @@ msgstr "Blocco intelligente senza nome" msgid "Unknown Playlist" msgstr "Playlist sconosciuta" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Preferenze aggiornate." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Aggiornamento impostazioni Stream." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "il percorso deve essere specificato" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problemi con Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3327,42 +3309,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "La settimana inizia il" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/ja_JP/LC_MESSAGES/libretime.po b/legacy/locale/ja_JP/LC_MESSAGES/libretime.po index d35d9e5b9..48f56273c 100644 --- a/legacy/locale/ja_JP/LC_MESSAGES/libretime.po +++ b/legacy/locale/ja_JP/LC_MESSAGES/libretime.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2021-10-17 08:09+0000\n" "Last-Translator: Kyle Robbertze \n" "Language-Team: Japanese \n" @@ -857,12 +857,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1864,37 +1864,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "日曜日" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "月曜日" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "火曜日" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "水曜日" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "木曜日" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "金曜日" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "土曜日" @@ -2579,8 +2579,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "有効" @@ -2588,8 +2588,8 @@ msgstr "有効" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "無効" @@ -2754,23 +2754,23 @@ msgstr "無題のスマートブロック" msgid "Unknown Playlist" msgstr "不明なプレイリスト" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "設定が更新されました。" -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "配信設定が更新されました。" -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "パスを指定する必要があります" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Liquidsoapに問題があります。" -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3305,42 +3305,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "ステーションのタイムゾーン" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "週の開始曜日" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/ko_KR/LC_MESSAGES/libretime.po b/legacy/locale/ko_KR/LC_MESSAGES/libretime.po index 5763f3101..96f227c38 100644 --- a/legacy/locale/ko_KR/LC_MESSAGES/libretime.po +++ b/legacy/locale/ko_KR/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: Korean (Korea)\n" @@ -854,12 +854,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1861,37 +1861,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "일요일" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "월요일" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "화요일" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "수요일" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "목요일" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "금요일" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "토요일" @@ -2576,8 +2576,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "사용" @@ -2585,8 +2585,8 @@ msgstr "사용" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "미사용" @@ -2751,23 +2751,23 @@ msgstr "제목없는 스마트 블록" msgid "Unknown Playlist" msgstr "모르는 재생목록" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "설정이 업데이트 되었습니다" -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "스트림 설정이 업데이트 되었습니다" -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "경로를 입력해주세요" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Liquidsoap 문제..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3302,42 +3302,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "주 시작일" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/nl_NL/LC_MESSAGES/libretime.po b/legacy/locale/nl_NL/LC_MESSAGES/libretime.po index 93cf74e80..a8be218c4 100644 --- a/legacy/locale/nl_NL/LC_MESSAGES/libretime.po +++ b/legacy/locale/nl_NL/LC_MESSAGES/libretime.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2023-05-18 19:28+0000\n" "Last-Translator: Dave Berg \n" "Language-Team: Dutch \n" @@ -866,12 +866,12 @@ msgstr "U bent niet gemachtigd voor toegang tot deze bron." msgid "An internal application error has occurred." msgstr "Een interne toepassingsfout opgetreden." -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "%s Podcast" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "Er zijn nog geen tracks gepubliceerd." @@ -1875,37 +1875,37 @@ msgid "Month" msgstr "maand" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "zondag" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "maandag" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "dinsdag" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "woensdag" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "donderdag" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "vrijdag" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "zaterdag" @@ -2590,8 +2590,8 @@ msgstr "Geen overeenkomende track types gevonden" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Ingeschakeld" @@ -2599,8 +2599,8 @@ msgstr "Ingeschakeld" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Uitgeschakeld" @@ -2767,23 +2767,23 @@ msgstr "Naamloze slimme block" msgid "Unknown Playlist" msgstr "Onbekende afspeellijst" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Voorkeuren bijgewerkt." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Stream vaststelling van bijgewerkte." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "pad moet worden opgegeven" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Probleem met Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "Verzoek methode niet geaccepteerd" @@ -3318,15 +3318,19 @@ msgstr "Genereer een smartblock en een afspeellijst bij het maken van een nieuwe msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "Als deze optie is ingeschakeld, worden bij het aanmaken van een nieuwe podcast onmiddellijk een nieuw smartblock en een nieuwe afspeellijst gegenereerd die overeenkomen met het nieuwste nummer van de podcast. Merk op dat de functie \"Metatags van podcastafleveringen overschrijven\" ook moet zijn ingeschakeld, zodat smartblocks betrouwbaar afleveringen kunnen vinden." -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "Openbare LibreTime API" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "Vereist voor embeddable schedule widget." -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." @@ -3334,28 +3338,32 @@ msgstr "" "Door deze functie in te schakelen kan LibreTime planningsgegevens leveren\n" " aan externe widgets die in uw website kunnen worden geïntegreerd." -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "Standaardtaal" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "station tijdzone" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Week start aan" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "Inlogknop op uw radiopagina weergeven?" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "Functievoorbeelden" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "Schakel dit in om u aan te melden voor het testen van nieuwe functies." diff --git a/legacy/locale/pl_PL/LC_MESSAGES/libretime.po b/legacy/locale/pl_PL/LC_MESSAGES/libretime.po index 59604a069..bb88162cb 100644 --- a/legacy/locale/pl_PL/LC_MESSAGES/libretime.po +++ b/legacy/locale/pl_PL/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2023-10-12 10:01+0000\n" "Last-Translator: Piotr Strebski \n" "Language-Team: Polish \n" @@ -856,12 +856,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1865,37 +1865,37 @@ msgid "Month" msgstr "Miesiąc" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Niedziela" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Poniedziałek" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Wtorek" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Środa" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Czwartek" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Piątek" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Sobota" @@ -2580,8 +2580,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Włączone" @@ -2589,8 +2589,8 @@ msgstr "Włączone" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Wyłączone" @@ -2755,23 +2755,23 @@ msgstr "Smartblock bez tytułu" msgid "Unknown Playlist" msgstr "Nieznana playlista" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Zaktualizowano preferencje." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Zaktualizowano ustawienia strumienia" -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "należy okreslić ścieżkę" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problem z Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3306,42 +3306,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Tydzień zaczynaj od" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/pt_BR/LC_MESSAGES/libretime.po b/legacy/locale/pt_BR/LC_MESSAGES/libretime.po index 18167475e..5de7d2fec 100644 --- a/legacy/locale/pt_BR/LC_MESSAGES/libretime.po +++ b/legacy/locale/pt_BR/LC_MESSAGES/libretime.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2023-03-26 18:38+0000\n" "Last-Translator: Felipe Nogueira \n" "Language-Team: Portuguese (Brazil) \n" @@ -857,12 +857,12 @@ msgstr "Você não tem permissão para acessar este recurso." msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "Podcast %s" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1866,37 +1866,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Domingo" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Segunda" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Terça" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Quarta" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Quinta" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Sexta" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Sábado" @@ -2581,8 +2581,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Ativo" @@ -2590,8 +2590,8 @@ msgstr "Ativo" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Inativo" @@ -2756,23 +2756,23 @@ msgstr "Bloco Sem Título" msgid "Unknown Playlist" msgstr "Lista Desconhecida" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Preferências atualizadas." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Preferências de fluxo atualizadas." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "o caminho precisa ser informado" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problemas com o Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3307,42 +3307,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Semana Inicia Em" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/ru_RU/LC_MESSAGES/libretime.po b/legacy/locale/ru_RU/LC_MESSAGES/libretime.po index 1e375298e..bdbe09d56 100644 --- a/legacy/locale/ru_RU/LC_MESSAGES/libretime.po +++ b/legacy/locale/ru_RU/LC_MESSAGES/libretime.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2022-06-05 10:17+0000\n" "Last-Translator: МАН69К \n" "Language-Team: Russian \n" @@ -869,12 +869,12 @@ msgstr "У вас нет доступа к данному ресурсу." msgid "An internal application error has occurred." msgstr "Произошла внутренняя ошибка." -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "%s Подкаст" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "Ни одного трека пока не опубликовано." @@ -1878,37 +1878,37 @@ msgid "Month" msgstr "Месяц" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Воскресенье" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Понедельник" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Вторник" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Среда" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Четверг" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Пятница" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Суббота" @@ -2593,8 +2593,8 @@ msgstr "Не найдено подходящих типов треков" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Включено" @@ -2602,8 +2602,8 @@ msgstr "Включено" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Отключено" @@ -2770,23 +2770,23 @@ msgstr "Смарт-блок без названия" msgid "Unknown Playlist" msgstr "Неизвестный Плейлист" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Настройки сохранены." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Настройки потока обновлены." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "необходимо указать путь" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Проблема с Liquidsoap ..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "Метод запроса не принят" @@ -3321,42 +3321,50 @@ msgstr "Генерация Смарт-блока и Плейлиста посл msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "Если эта опция включена, новый Смарт-блок и Плейлист, соответствующие новой дорожке Подкаста, будут созданы сразу же после создания нового Подкаста. Обратите внимание, что функция «Перезапись мета-тегов эпизодов Подкастов» также должна быть включена, чтобы Смарт-блоки могли гарантированно находить эпизоды." -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "Разрешить публичный API для LibreTime?" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "Требуется для встраиваемого виджета-расписания." -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "Активация данной функции позволит LibreTime предоставлять данные на внешние виджеты, которые могут быть встроены на сайт." -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "Язык по умолчанию:" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Часовой пояс станции:" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Неделя начинается с:" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "Отображать кнопку «Вход» на Странице Радио?" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/sr_RS/LC_MESSAGES/libretime.po b/legacy/locale/sr_RS/LC_MESSAGES/libretime.po index f581a5682..028f8c6d0 100644 --- a/legacy/locale/sr_RS/LC_MESSAGES/libretime.po +++ b/legacy/locale/sr_RS/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: Serbian (Serbia)\n" @@ -854,12 +854,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1863,37 +1863,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Недеља" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Понедељак" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Уторак" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Среда" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Четвртак" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Петак" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Субота" @@ -2578,8 +2578,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Омогућено" @@ -2587,8 +2587,8 @@ msgstr "Омогућено" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Онемогућено" @@ -2753,23 +2753,23 @@ msgstr "Неименовани Smart Block" msgid "Unknown Playlist" msgstr "Непознати Списак Песама" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Подешавања су ажуриране." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Пренос Подешавање је Ажурирано." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "пут би требао да буде специфициран" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Проблем са Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3304,42 +3304,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Станична Временска Зона" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Први Дан у Недељи" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/sr_RS@latin/LC_MESSAGES/libretime.po b/legacy/locale/sr_RS@latin/LC_MESSAGES/libretime.po index d277c2085..bc721194e 100644 --- a/legacy/locale/sr_RS@latin/LC_MESSAGES/libretime.po +++ b/legacy/locale/sr_RS@latin/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: Serbian (Latin) (Serbia)\n" @@ -854,12 +854,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1863,37 +1863,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Nedelja" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Ponedeljak" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Utorak" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Sreda" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Četvrtak" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Petak" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Subota" @@ -2578,8 +2578,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Omogućeno" @@ -2587,8 +2587,8 @@ msgstr "Omogućeno" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Onemogućeno" @@ -2753,23 +2753,23 @@ msgstr "Neimenovani Smart Block" msgid "Unknown Playlist" msgstr "Nepoznati Spisak Pesama" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Podešavanja su ažurirane." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Prenos Podešavanje je Ažurirano." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "put bi trebao da bude specificiran" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Problem sa Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3304,42 +3304,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Stanična Vremenska Zona" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Prvi Dan u Nedelji" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/tr_TR/LC_MESSAGES/libretime.po b/legacy/locale/tr_TR/LC_MESSAGES/libretime.po index 3778018a3..56ea5d72b 100644 --- a/legacy/locale/tr_TR/LC_MESSAGES/libretime.po +++ b/legacy/locale/tr_TR/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2022-06-28 07:22+0000\n" "Last-Translator: metezd \n" "Language-Team: Turkish \n" @@ -855,12 +855,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1862,37 +1862,37 @@ msgid "Month" msgstr "Ay" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Pazar" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Pazartesi" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Salı" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Çarşamba" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Perşembe" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "Cuma" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Cumartesi" @@ -2577,8 +2577,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Aktif" @@ -2586,8 +2586,8 @@ msgstr "Aktif" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Devre dışı" @@ -2752,23 +2752,23 @@ msgstr "" msgid "Unknown Playlist" msgstr "" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "" -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "" -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "" -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3303,42 +3303,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Radyo Saat Dilimi" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Hafta Başlangıcı" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" diff --git a/legacy/locale/uk_UA/LC_MESSAGES/libretime.po b/legacy/locale/uk_UA/LC_MESSAGES/libretime.po index 23d700ebf..a301fa23d 100644 --- a/legacy/locale/uk_UA/LC_MESSAGES/libretime.po +++ b/legacy/locale/uk_UA/LC_MESSAGES/libretime.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2023-07-11 20:49+0000\n" "Last-Translator: Ihor Hordiichuk \n" "Language-Team: Ukrainian \n" @@ -861,12 +861,12 @@ msgstr "Ви не маєте дозволу на доступ до цього р msgid "An internal application error has occurred." msgstr "Сталася внутрішня помилка програми." -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "%s Підкаст" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "Треків ще не опубліковано." @@ -1870,37 +1870,37 @@ msgid "Month" msgstr "Місяць" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "Неділя" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "Понеділок" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "Вівторок" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "Середа" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "Четвер" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "П'ятниця" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "Субота" @@ -2585,8 +2585,8 @@ msgstr "Відповідних типів треків не знайдено" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "Увімкнено" @@ -2594,8 +2594,8 @@ msgstr "Увімкнено" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "Вимкнено" @@ -2762,23 +2762,23 @@ msgstr "Смарт-блок без назви" msgid "Unknown Playlist" msgstr "Невідомий плейлист" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "Налаштування оновлено." -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "Налаштування потоку оновлено." -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "слід вказати шлях" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Проблема з Liquidsoap..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "Метод запиту не прийнято" @@ -3313,15 +3313,19 @@ msgstr "Створіть смартблок і список відтворенн msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "Якщо цей параметр увімкнено, новий смарт-блок і список відтворення, які відповідають найновішому треку подкасту, будуть створені одразу після створення нового подкасту. Зауважте, що функція «Перезаписати метатеги епізоду подкасту» також має бути ввімкнена, щоб смарт-блок міг надійно знаходити епізоди." -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "Public LibreTime API" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "Потрібний для вбудованого віджета розкладу." -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." @@ -3329,28 +3333,32 @@ msgstr "" "Увімкнення цієї функції дозволить LibreTime надавати дані розкладу\n" " до зовнішніх віджетів, які можна вбудувати на ваш веб-сайт." -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "Мова за замовчуванням" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "Часовий пояс станції" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "Тиждень починається з" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "Відображати кнопку входу на сторінці радіо?" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "Попередній перегляд функцій" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "Увімкніть це, щоб тестувати нові функції." diff --git a/legacy/locale/zh_CN/LC_MESSAGES/libretime.po b/legacy/locale/zh_CN/LC_MESSAGES/libretime.po index 6d4a885e7..e96c93c9b 100644 --- a/legacy/locale/zh_CN/LC_MESSAGES/libretime.po +++ b/legacy/locale/zh_CN/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2023-12-25 01:55+0000\n" +"POT-Creation-Date: 2024-02-05 01:52+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: Chinese (China)\n" @@ -854,12 +854,12 @@ msgstr "" msgid "An internal application error has occurred." msgstr "" -#: application/controllers/IndexController.php:86 +#: application/controllers/IndexController.php:92 #, php-format msgid "%s Podcast" msgstr "" -#: application/controllers/IndexController.php:87 +#: application/controllers/IndexController.php:93 msgid "No tracks have been published yet." msgstr "" @@ -1863,37 +1863,37 @@ msgid "Month" msgstr "" #: application/controllers/LocaleController.php:253 -#: application/forms/GeneralPreferences.php:230 +#: application/forms/GeneralPreferences.php:255 msgid "Sunday" msgstr "周日" #: application/controllers/LocaleController.php:254 -#: application/forms/GeneralPreferences.php:231 +#: application/forms/GeneralPreferences.php:256 msgid "Monday" msgstr "周一" #: application/controllers/LocaleController.php:255 -#: application/forms/GeneralPreferences.php:232 +#: application/forms/GeneralPreferences.php:257 msgid "Tuesday" msgstr "周二" #: application/controllers/LocaleController.php:256 -#: application/forms/GeneralPreferences.php:233 +#: application/forms/GeneralPreferences.php:258 msgid "Wednesday" msgstr "周三" #: application/controllers/LocaleController.php:257 -#: application/forms/GeneralPreferences.php:234 +#: application/forms/GeneralPreferences.php:259 msgid "Thursday" msgstr "周四" #: application/controllers/LocaleController.php:258 -#: application/forms/GeneralPreferences.php:235 +#: application/forms/GeneralPreferences.php:260 msgid "Friday" msgstr "周五" #: application/controllers/LocaleController.php:259 -#: application/forms/GeneralPreferences.php:236 +#: application/forms/GeneralPreferences.php:261 msgid "Saturday" msgstr "周六" @@ -2578,8 +2578,8 @@ msgstr "" #: application/forms/AddTracktype.php:50 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 -#: application/forms/GeneralPreferences.php:160 -#: application/forms/GeneralPreferences.php:214 +#: application/forms/GeneralPreferences.php:172 +#: application/forms/GeneralPreferences.php:239 msgid "Enabled" msgstr "启用" @@ -2587,8 +2587,8 @@ msgstr "启用" #: application/forms/AddTracktype.php:49 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 -#: application/forms/GeneralPreferences.php:159 -#: application/forms/GeneralPreferences.php:213 +#: application/forms/GeneralPreferences.php:171 +#: application/forms/GeneralPreferences.php:238 msgid "Disabled" msgstr "禁用" @@ -2753,23 +2753,23 @@ msgstr "未命名的智能模块" msgid "Unknown Playlist" msgstr "位置播放列表" -#: application/controllers/PreferenceController.php:69 +#: application/controllers/PreferenceController.php:71 msgid "Preferences updated." msgstr "属性已更新。" -#: application/controllers/PreferenceController.php:201 +#: application/controllers/PreferenceController.php:208 msgid "Stream Setting Updated." msgstr "流设置已更新。" -#: application/controllers/PreferenceController.php:246 +#: application/controllers/PreferenceController.php:253 msgid "path should be specified" msgstr "请指定路径" -#: application/controllers/PreferenceController.php:289 +#: application/controllers/PreferenceController.php:296 msgid "Problem with Liquidsoap..." msgstr "Liquidsoap出错..." -#: application/controllers/PreferenceController.php:332 +#: application/controllers/PreferenceController.php:339 msgid "Request method not accepted" msgstr "" @@ -3304,42 +3304,50 @@ msgstr "" msgid "If this option is enabled, a new smartblock and playlist matching the newest track of a podcast will be generated immediately upon creation of a new podcast. Note that the \"Overwrite Podcast Episode Metatags\" feature must also be enabled in order for smartblocks to reliably find episodes." msgstr "" -#: application/forms/GeneralPreferences.php:156 +#: application/forms/GeneralPreferences.php:161 +msgid "Trim overbooked shows after autoloading?" +msgstr "" + +#: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" msgstr "" -#: application/forms/GeneralPreferences.php:157 +#: application/forms/GeneralPreferences.php:169 msgid "Required for embeddable schedule widget." msgstr "" -#: application/forms/GeneralPreferences.php:163 +#: application/forms/GeneralPreferences.php:175 msgid "" "Enabling this feature will allow LibreTime to provide schedule data\n" " to external widgets that can be embedded in your website." msgstr "" -#: application/forms/GeneralPreferences.php:175 +#: application/forms/GeneralPreferences.php:187 msgid "Default Language" msgstr "" -#: application/forms/GeneralPreferences.php:182 +#: application/forms/GeneralPreferences.php:194 #: application/forms/SetupLanguageTimezone.php:22 msgid "Station Timezone" msgstr "系统使用的时区" -#: application/forms/GeneralPreferences.php:190 +#: application/forms/GeneralPreferences.php:202 msgid "Week Starts On" msgstr "一周开始于" -#: application/forms/GeneralPreferences.php:206 +#: application/forms/GeneralPreferences.php:218 msgid "Display login button on your Radio Page?" msgstr "" -#: application/forms/GeneralPreferences.php:211 +#: application/forms/GeneralPreferences.php:231 +msgid "Disable the public radio page and redirect to the login page?" +msgstr "" + +#: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" msgstr "" -#: application/forms/GeneralPreferences.php:217 +#: application/forms/GeneralPreferences.php:242 msgid "Enable this to opt-in to test new features." msgstr "" From f7405f18ed3fb2ff2bba37faf530e2bc7de0963e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Feb 2024 01:53:43 +0000 Subject: [PATCH 25/86] chore(deps): update codecov/codecov-action action to v4 --- .github/workflows/_python.yml | 2 +- .github/workflows/api.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/_python.yml b/.github/workflows/_python.yml index e4bde2266..9f26c28a6 100644 --- a/.github/workflows/_python.yml +++ b/.github/workflows/_python.yml @@ -77,7 +77,7 @@ jobs: working-directory: ${{ inputs.context }} - name: Report coverage - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: files: ${{ inputs.context }}/coverage.xml flags: ${{ inputs.context }} diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index fd9f64b7c..c4fd2ec5c 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -76,7 +76,7 @@ jobs: working-directory: api - name: Report coverage - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: files: api/coverage.xml flags: api From 3b353ec74bc776c0f1d16482ab8ea7998c41d2aa Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Thu, 8 Feb 2024 00:47:31 +0100 Subject: [PATCH 26/86] chore(legacy): translations update from Hosted Weblate (#2942) Translations update from [Hosted Weblate](https://hosted.weblate.org) for [LibreTime/Legacy](https://hosted.weblate.org/projects/libretime/legacy/). Current translation status: ![Weblate translation status](https://hosted.weblate.org/widget/libretime/legacy/horizontal-auto.svg) Co-authored-by: gallegonovato --- legacy/locale/es_ES/LC_MESSAGES/libretime.po | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/legacy/locale/es_ES/LC_MESSAGES/libretime.po b/legacy/locale/es_ES/LC_MESSAGES/libretime.po index 52adb025a..087a0211e 100644 --- a/legacy/locale/es_ES/LC_MESSAGES/libretime.po +++ b/legacy/locale/es_ES/LC_MESSAGES/libretime.po @@ -14,15 +14,16 @@ msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" "POT-Creation-Date: 2024-02-05 01:52+0000\n" -"PO-Revision-Date: 2023-03-21 11:41+0000\n" +"PO-Revision-Date: 2024-02-07 22:01+0000\n" "Last-Translator: gallegonovato \n" -"Language-Team: Spanish \n" +"Language-Team: Spanish \n" "Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.16.2-dev\n" +"X-Generator: Weblate 5.4-dev\n" #: application/common/DateHelper.php:216 #, php-format @@ -3321,7 +3322,7 @@ msgstr "Si esta opción está activada, se generará un nuevo bloque inteligente #: application/forms/GeneralPreferences.php:161 msgid "Trim overbooked shows after autoloading?" -msgstr "" +msgstr "¿Recortar programas con overbooking después de la carga automática?" #: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" @@ -3359,6 +3360,8 @@ msgstr "¿Mostrar el botón de inicio de sesión en su página de radio?" #: application/forms/GeneralPreferences.php:231 msgid "Disable the public radio page and redirect to the login page?" msgstr "" +"¿Desactivar la página de la radio pública y redirigir a la página de inicio " +"de sesión?" #: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" From 37d1a7685e37e45734553a0eb4a4da793ca858cb Mon Sep 17 00:00:00 2001 From: Jonas L Date: Thu, 8 Feb 2024 19:48:49 +0100 Subject: [PATCH 27/86] fix(legacy): replay_gain_modifier should be a system preference (#2943) --- docs/releases/unreleased.md | 4 ++++ legacy/application/models/Preference.php | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/releases/unreleased.md b/docs/releases/unreleased.md index 18bad9f26..e7ea58d3d 100644 --- a/docs/releases/unreleased.md +++ b/docs/releases/unreleased.md @@ -26,6 +26,10 @@ Please follow this **before the upgrade procedure**. ## :arrow_up: Upgrading +### Replay gain modifier preference + +The `replay_gain_modifier` preference is now stored as system preference. Please check and save the replay gain modifier preference manually to make sure the preference is up to date and usable. + ## :warning: Known issues The following issues may need a workaround for the time being. Please search the [issues](https://github.com/libretime/libretime/issues) before reporting problems not listed below. diff --git a/legacy/application/models/Preference.php b/legacy/application/models/Preference.php index bc3cd3753..6f4f52e6b 100644 --- a/legacy/application/models/Preference.php +++ b/legacy/application/models/Preference.php @@ -1265,7 +1265,7 @@ class Application_Model_Preference public static function setReplayGainModifier($rg_modifier) { - self::setValue('replay_gain_modifier', $rg_modifier, true); + self::setValue('replay_gain_modifier', $rg_modifier, false); } public static function SetHistoryItemTemplate($value) From 35d0dec4a887cdaea2d73dc9bee60eb6624a2aca Mon Sep 17 00:00:00 2001 From: Jonas L Date: Thu, 8 Feb 2024 20:29:10 +0100 Subject: [PATCH 28/86] fix: apply replay gain preferences on scheduled files (#2945) ### Description The replay gain preferences are applied in the legacy code, but the playout code was missing this feature. The replay gain was not applied when playout fetched the schedules. https://github.com/libretime/libretime/blob/37d1a7685e37e45734553a0eb4a4da793ca858cb/legacy/application/models/Schedule.php#L881-L886 --- api/libretime_api/core/models/preference.py | 7 ++- api/libretime_api/core/serializers/stream.py | 2 + .../core/tests/models/test_preference.py | 2 + .../core/tests/views/test_stream.py | 2 + api/libretime_api/core/views/stream.py | 2 + api/schema.yml | 9 +++ .../libretime_playout/liquidsoap/models.py | 2 + playout/libretime_playout/player/schedule.py | 22 ++++--- playout/tests/conftest.py | 12 ++++ playout/tests/liquidsoap/entrypoint_test.py | 36 +++++------ playout/tests/player/schedule_test.py | 59 ++++++++++++++----- 11 files changed, 112 insertions(+), 43 deletions(-) diff --git a/api/libretime_api/core/models/preference.py b/api/libretime_api/core/models/preference.py index 8a99f807f..68a0f6952 100644 --- a/api/libretime_api/core/models/preference.py +++ b/api/libretime_api/core/models/preference.py @@ -18,12 +18,13 @@ class StreamPreferences(BaseModel): input_fade_transition: float message_format: MessageFormatKind message_offline: str + replay_gain_enabled: bool + replay_gain_offset: float + # input_auto_switch_off: bool # input_auto_switch_on: bool # input_main_user: str # input_main_password: str - # replay_gain_enabled: bool - # replay_gain_offset: float # track_fade_in: float # track_fade_out: float # track_fade_transition: float @@ -82,6 +83,8 @@ class Preference(models.Model): int(entries.get("stream_label_format") or 0) ), message_offline=entries.get("off_air_meta") or "Offline", + replay_gain_enabled=entries.get("enable_replay_gain") == "1", + replay_gain_offset=float(entries.get("replay_gain_modifier") or 0.0), ) @classmethod diff --git a/api/libretime_api/core/serializers/stream.py b/api/libretime_api/core/serializers/stream.py index c0c265f34..f3c6e5588 100644 --- a/api/libretime_api/core/serializers/stream.py +++ b/api/libretime_api/core/serializers/stream.py @@ -6,6 +6,8 @@ class StreamPreferencesSerializer(serializers.Serializer): input_fade_transition = serializers.FloatField(read_only=True) message_format = serializers.IntegerField(read_only=True) message_offline = serializers.CharField(read_only=True) + replay_gain_enabled = serializers.BooleanField(read_only=True) + replay_gain_offset = serializers.FloatField(read_only=True) # pylint: disable=abstract-method diff --git a/api/libretime_api/core/tests/models/test_preference.py b/api/libretime_api/core/tests/models/test_preference.py index 12efa45f9..f1683f458 100644 --- a/api/libretime_api/core/tests/models/test_preference.py +++ b/api/libretime_api/core/tests/models/test_preference.py @@ -16,6 +16,8 @@ def test_preference_get_stream_preferences(db): "input_fade_transition": 0.0, "message_format": 0, "message_offline": "LibreTime - offline", + "replay_gain_enabled": True, + "replay_gain_offset": 0.0, } diff --git a/api/libretime_api/core/tests/views/test_stream.py b/api/libretime_api/core/tests/views/test_stream.py index 7f9f9bfa0..0cd3082a0 100644 --- a/api/libretime_api/core/tests/views/test_stream.py +++ b/api/libretime_api/core/tests/views/test_stream.py @@ -9,6 +9,8 @@ def test_stream_preferences_get(db, api_client: APIClient): "input_fade_transition": 0.0, "message_format": 0, "message_offline": "LibreTime - offline", + "replay_gain_enabled": True, + "replay_gain_offset": 0.0, } diff --git a/api/libretime_api/core/views/stream.py b/api/libretime_api/core/views/stream.py index 531113aba..afa11b663 100644 --- a/api/libretime_api/core/views/stream.py +++ b/api/libretime_api/core/views/stream.py @@ -19,6 +19,8 @@ class StreamPreferencesView(views.APIView): "input_fade_transition", "message_format", "message_offline", + "replay_gain_enabled", + "replay_gain_offset", } ) ) diff --git a/api/schema.yml b/api/schema.yml index 3534846d4..8b55b0c14 100644 --- a/api/schema.yml +++ b/api/schema.yml @@ -7535,10 +7535,19 @@ components: message_offline: type: string readOnly: true + replay_gain_enabled: + type: boolean + readOnly: true + replay_gain_offset: + type: number + format: double + readOnly: true required: - input_fade_transition - message_format - message_offline + - replay_gain_enabled + - replay_gain_offset StreamState: type: object properties: diff --git a/playout/libretime_playout/liquidsoap/models.py b/playout/libretime_playout/liquidsoap/models.py index c8d9520fe..3cd4413b8 100644 --- a/playout/libretime_playout/liquidsoap/models.py +++ b/playout/libretime_playout/liquidsoap/models.py @@ -17,6 +17,8 @@ class StreamPreferences(BaseModel): input_fade_transition: float message_format: MessageFormatKind message_offline: str + replay_gain_enabled: bool + replay_gain_offset: float class StreamState(BaseModel): diff --git a/playout/libretime_playout/player/schedule.py b/playout/libretime_playout/player/schedule.py index 42bf0a5cb..9e7d4f602 100644 --- a/playout/libretime_playout/player/schedule.py +++ b/playout/libretime_playout/player/schedule.py @@ -64,15 +64,11 @@ def get_schedule(api_client: ApiClient) -> Events: if show["live_enabled"]: show_instance["starts_at"] = event_isoparse(show_instance["starts_at"]) show_instance["ends_at"] = event_isoparse(show_instance["ends_at"]) - generate_live_events( - events, - show_instance, - stream_preferences.input_fade_transition, - ) + generate_live_events(events, show_instance, stream_preferences) if item["file"]: file = api_client.get_file(item["file"]).json() - generate_file_events(events, item, file, show) + generate_file_events(events, item, file, show, stream_preferences) elif item["stream"]: webstream = api_client.get_webstream(item["stream"]).json() @@ -84,9 +80,9 @@ def get_schedule(api_client: ApiClient) -> Events: def generate_live_events( events: Events, show_instance: dict, - input_fade_transition: float, + stream_preferences: StreamPreferences, ): - transition = timedelta(seconds=input_fade_transition) + transition = timedelta(seconds=stream_preferences.input_fade_transition) switch_off = show_instance["ends_at"] - transition kick_out = show_instance["ends_at"] @@ -118,6 +114,7 @@ def generate_file_events( schedule: dict, file: dict, show: dict, + stream_preferences: StreamPreferences, ): """ Generate events for a scheduled file. @@ -143,6 +140,15 @@ def generate_file_events( replay_gain=file["replay_gain"], filesize=file["size"], ) + + if event.replay_gain is None: + event.replay_gain = 0.0 + + if stream_preferences.replay_gain_enabled: + event.replay_gain += stream_preferences.replay_gain_offset + else: + event.replay_gain = None + insert_event(events, event.start_key, event) diff --git a/playout/tests/conftest.py b/playout/tests/conftest.py index de868374c..043a8d157 100644 --- a/playout/tests/conftest.py +++ b/playout/tests/conftest.py @@ -1,6 +1,7 @@ import pytest from libretime_playout.config import Config +from libretime_playout.liquidsoap.models import StreamPreferences @pytest.fixture() @@ -36,3 +37,14 @@ def config(): }, } ) + + +@pytest.fixture() +def stream_preferences(): + return StreamPreferences( + input_fade_transition=0.0, + message_format=0, + message_offline="LibreTime - offline", + replay_gain_enabled=True, + replay_gain_offset=-3.5, + ) diff --git a/playout/tests/liquidsoap/entrypoint_test.py b/playout/tests/liquidsoap/entrypoint_test.py index c92a68ec7..3ddc91664 100644 --- a/playout/tests/liquidsoap/entrypoint_test.py +++ b/playout/tests/liquidsoap/entrypoint_test.py @@ -21,7 +21,12 @@ from .fixtures import TEST_STREAM_CONFIGS, make_config_with_stream "stream_config", TEST_STREAM_CONFIGS, ) -def test_generate_entrypoint(stream_config: Config, version, snapshot): +def test_generate_entrypoint( + stream_config: Config, + stream_preferences: StreamPreferences, + version, + snapshot, +): with mock.patch( "libretime_playout.liquidsoap.entrypoint.here", Path("/fake"), @@ -29,11 +34,7 @@ def test_generate_entrypoint(stream_config: Config, version, snapshot): found = generate_entrypoint( log_filepath=Path("/var/log/radio.log"), config=stream_config, - preferences=StreamPreferences( - input_fade_transition=0.0, - message_format=0, - message_offline="LibreTime - offline", - ), + preferences=stream_preferences, info=Info( station_name="LibreTime", ), @@ -51,7 +52,11 @@ def test_generate_entrypoint(stream_config: Config, version, snapshot): "stream_config", TEST_STREAM_CONFIGS, ) -def test_liquidsoap_syntax(tmp_path: Path, stream_config): +def test_liquidsoap_syntax( + tmp_path: Path, + stream_config: Config, + stream_preferences: StreamPreferences, +): entrypoint_filepath = tmp_path / "radio.liq" log_filepath = tmp_path / "radio.log" @@ -59,11 +64,7 @@ def test_liquidsoap_syntax(tmp_path: Path, stream_config): generate_entrypoint( log_filepath=log_filepath, config=stream_config, - preferences=StreamPreferences( - input_fade_transition=0.0, - message_format=0, - message_offline="LibreTime - offline", - ), + preferences=stream_preferences, info=Info( station_name="LibreTime", ), @@ -79,7 +80,10 @@ def test_liquidsoap_syntax(tmp_path: Path, stream_config): LIQ_VERSION >= (2, 0, 0), reason="unsupported liquidsoap >= 2.0.0", ) -def test_liquidsoap_unsupported_output_aac(tmp_path: Path): +def test_liquidsoap_unsupported_output_aac( + tmp_path: Path, + stream_preferences: StreamPreferences, +): entrypoint_filepath = tmp_path / "radio.liq" log_filepath = tmp_path / "radio.log" @@ -98,11 +102,7 @@ def test_liquidsoap_unsupported_output_aac(tmp_path: Path): ] } ), - preferences=StreamPreferences( - input_fade_transition=0.0, - message_format=0, - message_offline="LibreTime - offline", - ), + preferences=stream_preferences, info=Info( station_name="LibreTime", ), diff --git a/playout/tests/player/schedule_test.py b/playout/tests/player/schedule_test.py index ba1e1d4c5..a29b0d5ee 100644 --- a/playout/tests/player/schedule_test.py +++ b/playout/tests/player/schedule_test.py @@ -4,6 +4,7 @@ from datetime import datetime import pytest from libretime_api_client.v2 import ApiClient +from libretime_playout.liquidsoap.models import StreamPreferences from libretime_playout.player.events import ( ActionEvent, EventKind, @@ -271,13 +272,13 @@ SCHEDULE = [ ] -def test_generate_live_events(): +def test_generate_live_events(stream_preferences: StreamPreferences): show_instance_3 = SHOW_INSTANCE_3.copy() show_instance_3["starts_at"] = event_isoparse(show_instance_3["starts_at"]) show_instance_3["ends_at"] = event_isoparse(show_instance_3["ends_at"]) result = {} - generate_live_events(result, show_instance_3, 0.0) + generate_live_events(result, show_instance_3, stream_preferences) assert result == { "2022-09-05-13-00-00": ActionEvent( start=datetime(2022, 9, 5, 13, 0), @@ -288,7 +289,8 @@ def test_generate_live_events(): } result = {} - generate_live_events(result, show_instance_3, 2.0) + stream_preferences.input_fade_transition = 2.0 + generate_live_events(result, show_instance_3, stream_preferences) assert result == { "2022-09-05-12-59-58": ActionEvent( start=datetime(2022, 9, 5, 12, 59, 58), @@ -305,13 +307,13 @@ def test_generate_live_events(): } -def test_generate_file_events(): +def test_generate_file_events(stream_preferences: StreamPreferences): schedule_1 = SCHEDULE_1.copy() schedule_1["starts_at"] = event_isoparse(schedule_1["starts_at"]) schedule_1["ends_at"] = event_isoparse(schedule_1["ends_at"]) result = {} - generate_file_events(result, schedule_1, FILE_2, SHOW_1) + generate_file_events(result, schedule_1, FILE_2, SHOW_1, stream_preferences) assert result == { "2022-09-05-11-00-00": FileEvent( start=datetime(2022, 9, 5, 11, 0), @@ -328,7 +330,32 @@ def test_generate_file_events(): track_title="My Friend the Forest", artist_name="Nils Frahm", mime="audio/flac", - replay_gain=11.46, + replay_gain=11.46 - 3.5, + filesize=10000, + file_ready=False, + ) + } + + result = {} + stream_preferences.replay_gain_enabled = False + generate_file_events(result, schedule_1, FILE_2, SHOW_1, stream_preferences) + assert result == { + "2022-09-05-11-00-00": FileEvent( + start=datetime(2022, 9, 5, 11, 0), + end=datetime(2022, 9, 5, 11, 5, 2), + type=EventKind.FILE, + row_id=1, + uri=None, + id=2, + show_name="Show 1", + fade_in=500.0, + fade_out=500.0, + cue_in=13.7008, + cue_out=315.845, + track_title="My Friend the Forest", + artist_name="Nils Frahm", + mime="audio/flac", + replay_gain=None, filesize=10000, file_ready=False, ) @@ -398,6 +425,8 @@ def test_get_schedule(schedule, requests_mock, api_client: ApiClient): "input_fade_transition": 2.0, "message_format": 0, "message_offline": "", + "replay_gain_enabled": True, + "replay_gain_offset": -3.5, }, ) @@ -434,7 +463,7 @@ def test_get_schedule(schedule, requests_mock, api_client: ApiClient): track_title="My Friend the Forest", artist_name="Nils Frahm", mime="audio/flac", - replay_gain=11.46, + replay_gain=11.46 - 3.5, filesize=10000, file_ready=False, ), @@ -453,7 +482,7 @@ def test_get_schedule(schedule, requests_mock, api_client: ApiClient): track_title="#2", artist_name="Nils Frahm", mime="audio/flac", - replay_gain=-1.65, + replay_gain=-1.65 - 3.5, filesize=10000, file_ready=False, ), @@ -472,7 +501,7 @@ def test_get_schedule(schedule, requests_mock, api_client: ApiClient): track_title="Democracy Now! 2022-09-05 Monday", artist_name="Democracy Now! Audio", mime="audio/mp3", - replay_gain=-1.39, + replay_gain=-1.39 - 3.5, filesize=10000, file_ready=False, ), @@ -491,7 +520,7 @@ def test_get_schedule(schedule, requests_mock, api_client: ApiClient): track_title="#2", artist_name="Nils Frahm", mime="audio/flac", - replay_gain=-1.65, + replay_gain=-1.65 - 3.5, filesize=10000, file_ready=False, ), @@ -546,7 +575,7 @@ def test_get_schedule(schedule, requests_mock, api_client: ApiClient): track_title="All Melody", artist_name="Nils Frahm", mime="audio/flac", - replay_gain=-2.13, + replay_gain=-2.13 - 3.5, filesize=10000, file_ready=False, ), @@ -565,7 +594,7 @@ def test_get_schedule(schedule, requests_mock, api_client: ApiClient): track_title="My Friend the Forest", artist_name="Nils Frahm", mime="audio/flac", - replay_gain=11.46, + replay_gain=11.46 - 3.5, filesize=10000, file_ready=False, ), @@ -584,7 +613,7 @@ def test_get_schedule(schedule, requests_mock, api_client: ApiClient): track_title="The Dane", artist_name="Nils Frahm", mime="audio/flac", - replay_gain=4.52, + replay_gain=4.52 - 3.5, filesize=10000, file_ready=False, ), @@ -615,7 +644,7 @@ def test_get_schedule(schedule, requests_mock, api_client: ApiClient): track_title="My Friend the Forest", artist_name="Nils Frahm", mime="audio/flac", - replay_gain=11.46, + replay_gain=11.46 - 3.5, filesize=10000, file_ready=False, ), @@ -634,7 +663,7 @@ def test_get_schedule(schedule, requests_mock, api_client: ApiClient): track_title="#2", artist_name="Nils Frahm", mime="audio/flac", - replay_gain=-1.65, + replay_gain=-1.65 - 3.5, filesize=10000, file_ready=False, ), From 117bc79809ec78d19e4ce971b6fa4eb7ca43e907 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 9 Feb 2024 23:37:02 +0000 Subject: [PATCH 29/86] chore(deps): update pre-commit/action action to v3.0.1 (#2948) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [pre-commit/action](https://togithub.com/pre-commit/action) | action | patch | `v3.0.0` -> `v3.0.1` | --- ### Release Notes
pre-commit/action (pre-commit/action) ### [`v3.0.1`](https://togithub.com/pre-commit/action/releases/tag/v3.0.1): pre-commit/action@v3.0.1 [Compare Source](https://togithub.com/pre-commit/action/compare/v3.0.0...v3.0.1) ##### Misc - Update actions/cache to v4 - [#​190](https://togithub.com/pre-commit/action/issues/190) PR by [@​SukiCZ](https://togithub.com/SukiCZ). - [#​189](https://togithub.com/pre-commit/action/issues/189) issue by [@​bakerkj](https://togithub.com/bakerkj).
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/project.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml index b7e00f4e4..ac6021e57 100644 --- a/.github/workflows/project.yml +++ b/.github/workflows/project.yml @@ -28,7 +28,7 @@ jobs: restore-keys: | ${{ runner.os }}-project-pre-commit-pip - - uses: pre-commit/action@v3.0.0 + - uses: pre-commit/action@v3.0.1 test-tools: runs-on: ubuntu-latest From 12461c459739f0eb5790fc964dc6279d357c0b3b Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Mon, 12 Feb 2024 06:48:36 +0100 Subject: [PATCH 30/86] chore(legacy): translations update from Hosted Weblate (#2949) Translations update from [Hosted Weblate](https://hosted.weblate.org) for [LibreTime/Legacy](https://hosted.weblate.org/projects/libretime/legacy/). Current translation status: ![Weblate translation status](https://hosted.weblate.org/widget/libretime/legacy/horizontal-auto.svg) Co-authored-by: Ihor Hordiichuk --- legacy/locale/uk_UA/LC_MESSAGES/libretime.po | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/legacy/locale/uk_UA/LC_MESSAGES/libretime.po b/legacy/locale/uk_UA/LC_MESSAGES/libretime.po index a301fa23d..7c39a81d9 100644 --- a/legacy/locale/uk_UA/LC_MESSAGES/libretime.po +++ b/legacy/locale/uk_UA/LC_MESSAGES/libretime.po @@ -8,15 +8,17 @@ msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" "POT-Creation-Date: 2024-02-05 01:52+0000\n" -"PO-Revision-Date: 2023-07-11 20:49+0000\n" +"PO-Revision-Date: 2024-02-11 23:11+0000\n" "Last-Translator: Ihor Hordiichuk \n" -"Language-Team: Ukrainian \n" +"Language-Team: Ukrainian \n" "Language: uk_UA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 5.0-dev\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.4-dev\n" #: application/common/DateHelper.php:216 #, php-format @@ -3315,7 +3317,7 @@ msgstr "Якщо цей параметр увімкнено, новий смар #: application/forms/GeneralPreferences.php:161 msgid "Trim overbooked shows after autoloading?" -msgstr "" +msgstr "Обрізати переповнені покази після автозавантаження?" #: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" @@ -3352,7 +3354,7 @@ msgstr "Відображати кнопку входу на сторінці р #: application/forms/GeneralPreferences.php:231 msgid "Disable the public radio page and redirect to the login page?" -msgstr "" +msgstr "Вимкнути сторінку суспільного радіо і перенаправити на сторінку входу?" #: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" From 64401150b106231a7a73b159a05f3aeefe3afffa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Feb 2024 05:49:31 +0000 Subject: [PATCH 31/86] chore(deps): update pre-commit hook adamchainz/django-upgrade to v1.16.0 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2dc284b24..adc57c207 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -42,7 +42,7 @@ repos: args: [--py38-plus] - repo: https://github.com/adamchainz/django-upgrade - rev: 1.15.0 + rev: 1.16.0 hooks: - id: django-upgrade args: [--target-version, "4.2"] From 0e6e9ff7ffe6323c47f3d765b4cea61d2292c718 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 Feb 2024 12:26:57 +0000 Subject: [PATCH 32/86] chore(deps): update pre-commit hook psf/black-pre-commit-mirror to v24.2.0 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index adc57c207..1bdaf0ea7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -54,7 +54,7 @@ repos: args: [--resolve-all-configs] - repo: https://github.com/psf/black-pre-commit-mirror - rev: 24.1.1 + rev: 24.2.0 hooks: - id: black From 270aa08ae6c7207de1cc3ea552dabeb018bcfe0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Sun, 18 Feb 2024 19:10:30 +0100 Subject: [PATCH 33/86] fix(legacy): allow updating track types code (#2955) Since moving to an indexed track_type model for 3.0, the constraint of the code being immutable is no longer valid, since it's not used as index anymore. This commit removes the readonly flag from that form field. --- legacy/application/assets.json | 2 +- legacy/public/js/airtime/tracktype/tracktype.js | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/legacy/application/assets.json b/legacy/application/assets.json index 5737ebed9..ad0eaa857 100644 --- a/legacy/application/assets.json +++ b/legacy/application/assets.json @@ -87,7 +87,7 @@ "js/airtime/showbuilder/main_builder.js": "d1ea3c3d834e47cd35c27efd75516190", "js/airtime/showbuilder/tabs.js": "a0b5284afde950a6f32c7e9e75550690", "js/airtime/status/status.js": "41456c6ed40f820e1e99215e81eb4bc4", - "js/airtime/tracktype/tracktype.js": "cca00731e212727908bec54f21d4be58", + "js/airtime/tracktype/tracktype.js": "1d11ec7ba6a79bc7a3cde1f167f4dc6e", "js/airtime/user/user.js": "28811eb65c17bc9954900daeaed6c1ad", "js/airtime/utilities/utilities.js": "e5d83eea1b38d2ff19bb968d30af9c98", "js/airtime/widgets/table-example.js": "77d448b6496adf5be0a360640cd3980c", diff --git a/legacy/public/js/airtime/tracktype/tracktype.js b/legacy/public/js/airtime/tracktype/tracktype.js index 468b83b59..689700413 100644 --- a/legacy/public/js/airtime/tracktype/tracktype.js +++ b/legacy/public/js/airtime/tracktype/tracktype.js @@ -15,12 +15,6 @@ function populateForm(entries) { $("#visibility").val(visibility_value); $("#analyze_cue_points").prop("checked", entries.analyze_cue_points); - - if (entries.id.length != 0) { - $("#code").attr("readonly", "readonly"); - } else { - $("#code").removeAttr("readonly"); - } } function rowClickCallback(row_id) { From 4584b52121035fa996f0df34843d78594b3727ec Mon Sep 17 00:00:00 2001 From: Kyle Robbertze Date: Mon, 19 Feb 2024 08:06:02 +0000 Subject: [PATCH 34/86] docs: fix broken link --- docs/user-manual/settings.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/user-manual/settings.md b/docs/user-manual/settings.md index 7026cc7b2..349c2be2a 100644 --- a/docs/user-manual/settings.md +++ b/docs/user-manual/settings.md @@ -23,7 +23,7 @@ to Sunday. :::note -The **Station Timezone** setting can not be modified on this page. It is set in the [configuration file](../admin-manual/configuration/#general). +The **Station Timezone** setting can not be modified on this page. It is set in the [configuration file](../admin-manual/configuration.md#general). ::: @@ -68,7 +68,7 @@ _Advanced Configuration_ section of this book). :::note -The **Allowed CORS URLs** you can still see in this screenshot was moved to the [configuration file](../admin-manual/configuration/#general). +The **Allowed CORS URLs** you can still see in this screenshot was moved to the [configuration file](../admin-manual/configuration.md#general). ::: From bace9ed917896b84fc10e98179783bfcc987dcbc Mon Sep 17 00:00:00 2001 From: Kyle Robbertze Date: Mon, 19 Feb 2024 08:21:38 +0000 Subject: [PATCH 35/86] ci: disable overly-sensitive vale rule --- .vale.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.vale.ini b/.vale.ini index d74b872b5..1a86bcaf3 100644 --- a/.vale.ini +++ b/.vale.ini @@ -15,3 +15,6 @@ BlockIgnores = (:[a-z-_]+:) Microsoft.GeneralURL = False Microsoft.RangeFormat = False Vale.Spelling = False + +# Disabled due to https://github.com/errata-ai/Microsoft/issues/58 +Microsoft.Negative = False From 8deebb3f85dbb4184cfb2e8d5b998834af9cb065 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 10:37:26 +0000 Subject: [PATCH 36/86] chore(deps): update pre-commit hook asottile/pyupgrade to v3.15.1 (#2958) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [asottile/pyupgrade](https://togithub.com/asottile/pyupgrade) | repository | patch | `v3.15.0` -> `v3.15.1` | Note: The `pre-commit` manager in Renovate is not supported by the `pre-commit` maintainers or community. Please do not report any problems there, instead [create a Discussion in the Renovate repository](https://togithub.com/renovatebot/renovate/discussions/new) if you have any questions. --- ### Release Notes
asottile/pyupgrade (asottile/pyupgrade) ### [`v3.15.1`](https://togithub.com/asottile/pyupgrade/compare/v3.15.0...v3.15.1) [Compare Source](https://togithub.com/asottile/pyupgrade/compare/v3.15.0...v3.15.1)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1bdaf0ea7..f27b41ea9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -36,7 +36,7 @@ repos: exclude: ^(legacy/public(?!/js/airtime)|CHANGELOG.md$|.github/release-please-manifest.json) - repo: https://github.com/asottile/pyupgrade - rev: v3.15.0 + rev: v3.15.1 hooks: - id: pyupgrade args: [--py38-plus] From 6acf2e3f5aff58288d6a0dba6920221877ce6742 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 10:37:45 +0000 Subject: [PATCH 37/86] chore(deps): lock file maintenance (legacy/composer.json) (#2959) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed | 🔧 This Pull Request updates lock files to use the latest dependency versions. --- ### Configuration 📅 **Schedule**: Branch creation - "after 4am and before 5am on monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- legacy/composer.lock | 108 +++++++++++++++++++------------------------ 1 file changed, 48 insertions(+), 60 deletions(-) diff --git a/legacy/composer.lock b/legacy/composer.lock index bfaa54b7f..2d0201be5 100644 --- a/legacy/composer.lock +++ b/legacy/composer.lock @@ -760,16 +760,16 @@ }, { "name": "php-amqplib/php-amqplib", - "version": "v3.6.0", + "version": "v3.6.1", "source": { "type": "git", "url": "https://github.com/php-amqplib/php-amqplib.git", - "reference": "fb84e99589de0904a25861451b0552f806284ee5" + "reference": "76eee289e98b0b309a761787e65cbe1acbaf8c72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/fb84e99589de0904a25861451b0552f806284ee5", - "reference": "fb84e99589de0904a25861451b0552f806284ee5", + "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/76eee289e98b0b309a761787e65cbe1acbaf8c72", + "reference": "76eee289e98b0b309a761787e65cbe1acbaf8c72", "shasum": "" }, "require": { @@ -835,9 +835,9 @@ ], "support": { "issues": "https://github.com/php-amqplib/php-amqplib/issues", - "source": "https://github.com/php-amqplib/php-amqplib/tree/v3.6.0" + "source": "https://github.com/php-amqplib/php-amqplib/tree/v3.6.1" }, - "time": "2023-10-22T15:02:02+00:00" + "time": "2024-02-07T17:21:26+00:00" }, { "name": "phpseclib/phpseclib", @@ -1080,16 +1080,16 @@ }, { "name": "symfony/config", - "version": "v5.4.31", + "version": "v5.4.35", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9" + "reference": "6b763438a22a4f20885e994ad6702f6a3f25430e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/dd5ea39de228813aba0c23c3a4153da2a4cf3cd9", - "reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9", + "url": "https://api.github.com/repos/symfony/config/zipball/6b763438a22a4f20885e994ad6702f6a3f25430e", + "reference": "6b763438a22a4f20885e994ad6702f6a3f25430e", "shasum": "" }, "require": { @@ -1139,7 +1139,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v5.4.31" + "source": "https://github.com/symfony/config/tree/v5.4.35" }, "funding": [ { @@ -1155,7 +1155,7 @@ "type": "tidelift" } ], - "time": "2023-11-09T08:22:43+00:00" + "time": "2024-01-23T13:51:25+00:00" }, { "name": "symfony/deprecation-contracts", @@ -1226,16 +1226,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.4.25", + "version": "v5.4.35", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364" + "reference": "5a553607d4ffbfa9c0ab62facadea296c9db7086" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364", - "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/5a553607d4ffbfa9c0ab62facadea296c9db7086", + "reference": "5a553607d4ffbfa9c0ab62facadea296c9db7086", "shasum": "" }, "require": { @@ -1270,7 +1270,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.25" + "source": "https://github.com/symfony/filesystem/tree/v5.4.35" }, "funding": [ { @@ -1286,20 +1286,20 @@ "type": "tidelift" } ], - "time": "2023-05-31T13:04:02+00:00" + "time": "2024-01-23T13:51:25+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -1313,9 +1313,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -1352,7 +1349,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -1368,20 +1365,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -1395,9 +1392,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -1435,7 +1429,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -1451,20 +1445,20 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "shasum": "" }, "require": { @@ -1472,9 +1466,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -1518,7 +1509,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, "funding": [ { @@ -1534,20 +1525,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" + "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d", + "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d", "shasum": "" }, "require": { @@ -1555,9 +1546,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -1597,7 +1585,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0" }, "funding": [ { @@ -1613,7 +1601,7 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "zf1s/zend-acl", @@ -3313,16 +3301,16 @@ "packages-dev": [ { "name": "doctrine/deprecations", - "version": "1.1.2", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", "shasum": "" }, "require": { @@ -3354,9 +3342,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.2" + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" }, - "time": "2023-09-27T20:04:15+00:00" + "time": "2024-01-30T19:34:25+00:00" }, { "name": "doctrine/instantiator", From 288a30d77bfaddaac1a8ed6806688d7cfc6faec6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 10:38:44 +0000 Subject: [PATCH 38/86] chore(deps): lock file maintenance (legacy/composer.json) --- legacy/composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/legacy/composer.lock b/legacy/composer.lock index 2d0201be5..b524da49e 100644 --- a/legacy/composer.lock +++ b/legacy/composer.lock @@ -3587,16 +3587,16 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.8.0", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc" + "reference": "bc3dc91a5e9b14aa06d1d9e90647c5c5a2cc5353" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fad452781b3d774e3337b0c0b245dd8e5a4455fc", - "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/bc3dc91a5e9b14aa06d1d9e90647c5c5a2cc5353", + "reference": "bc3dc91a5e9b14aa06d1d9e90647c5c5a2cc5353", "shasum": "" }, "require": { @@ -3639,9 +3639,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.0" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.1" }, - "time": "2024-01-11T11:49:22+00:00" + "time": "2024-01-18T19:15:27+00:00" }, { "name": "phpspec/prophecy", From 9ef153fc6ba98eee81b723e0020b9cb170d0a3ea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 25 Feb 2024 05:39:10 +0000 Subject: [PATCH 39/86] chore(deps): update rabbitmq docker tag to v3.13 (#2962) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | rabbitmq | minor | `3.12-alpine` -> `3.13-alpine` | --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 30220f085..176235413 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,7 @@ services: test: pg_isready -U libretime rabbitmq: - image: rabbitmq:3.12-alpine + image: rabbitmq:3.13-alpine environment: RABBITMQ_DEFAULT_VHOST: ${RABBITMQ_DEFAULT_VHOST:-/libretime} RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER:-libretime} From 22c303cfffdc777177bd74273e2c24da58cf1682 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 29 Feb 2024 22:00:17 +0100 Subject: [PATCH 40/86] fix(deps): update dependency friendsofphp/php-cs-fixer to <3.51.1 (#2963) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [friendsofphp/php-cs-fixer](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer) | `<3.49.1` -> `<3.51.1` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/friendsofphp%2fphp-cs-fixer/3.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/friendsofphp%2fphp-cs-fixer/3.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/friendsofphp%2fphp-cs-fixer/3.49.0/3.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/friendsofphp%2fphp-cs-fixer/3.49.0/3.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
PHP-CS-Fixer/PHP-CS-Fixer (friendsofphp/php-cs-fixer) ### [`v3.51.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3510) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.50.0...v3.51.0) - chore: add missing tests for non-documentation classes ([#​7848](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7848)) - chore: do not perform type analysis in tests ([#​7852](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7852)) - chore: list over array in more places ([#​7857](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7857)) - chore: tests documentation classes ([#​7855](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7855)) - feat: `@Symfony` - add nullable_type_declaration ([#​7856](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7856)) - test: fix wrong type in param annotation ([#​7858](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7858)) ### [`v3.50.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3500) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.49.0...v3.50.0) - chore: add missing types ([#​7842](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7842)) - chore: BlocksAnalyzer - raise exception on invalid index ([#​7819](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7819)) - chore: DataProviderAnalysis - expect list over array ([#​7800](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7800)) - chore: do not use `@large` on method level ([#​7832](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7832)) - chore: do not use `@medium` on method level ([#​7833](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7833)) - chore: Fix typos ([#​7835](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7835)) - chore: rename variables ([#​7847](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7847)) - chore: some improvements around array typehints ([#​7799](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7799)) - CI: fix PHP 8.4 job ([#​7829](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7829)) - DX: Include `symfony/var-dumper` in dev tools ([#​7795](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7795)) - feat: Ability to remove unused imports from multi-use statements ([#​7815](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7815)) - feat: allow PHPUnit 11 ([#​7824](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7824)) - feat: Allow shortening symbols from multi-use statements (only classes for now) ([#​7816](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7816)) - feat: introduce `PhpdocArrayTypeFixer` ([#​7812](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7812)) - feat: PhpUnitTestCaseStaticMethodCallsFixer - cover PHPUnit v11 methods ([#​7822](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7822)) - feat: Support for multi-use statements in `NamespaceUsesAnalyzer` ([#​7814](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7814)) - feat: `MbStrFunctionsFixer` - add support for `mb_trim`, `mb_ltrim` and `mb_rtrim` functions ([#​7840](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7840)) - feat: `NoEmptyPhpdocFixer` - do not leave empty line after removing PHPDoc ([#​7820](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7820)) - feat: `no_superfluous_phpdoc_tags` - introduce `allow_future_params` option ([#​7743](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7743)) - fix: do not use wrongly named arguments in data providers ([#​7823](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7823)) - fix: Ensure PCNTL extension is always installed in Docker ([#​7782](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7782)) - fix: PhpdocListTypeFixer - support key types containing `<…>` ([#​7817](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7817)) - fix: Proper build target for local Docker Compose ([#​7834](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7834)) - fix: union PHPDoc support in `fully_qualified_strict_types` fixer ([#​7719](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7719)) - fix: `ExecutorWithoutErrorHandler` - remove invalid PHP 7.4 type ([#​7845](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7845)) - fix: `fully_qualified_strict_types` must honor template/local type identifiers ([#​7724](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7724)) - fix: `MethodArgumentSpaceFixer` - do not break heredoc/nowdoc ([#​7828](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7828)) - fix: `NumericLiteralSeparatorFixer` - do not change `float` to `int` when there is nothing after the dot ([#​7805](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7805)) - fix: `PhpUnitStrictFixer` - do not crash on property having the name of method to fix ([#​7804](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7804)) - fix: `SingleSpaceAroundConstructFixer` - correctly recognise multiple constants ([#​7700](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7700)) - fix: `TypeExpression` - handle array shape key with dash ([#​7841](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7841))
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- legacy/tools/composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/legacy/tools/composer.json b/legacy/tools/composer.json index d665a7b41..ad0f37c53 100644 --- a/legacy/tools/composer.json +++ b/legacy/tools/composer.json @@ -1,6 +1,6 @@ { "require": { "php": "^7.4", - "friendsofphp/php-cs-fixer": "<3.49.1" + "friendsofphp/php-cs-fixer": "<3.51.1" } } From feca75b28bbd56285f28ff257622c03e75e7a692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Thu, 29 Feb 2024 22:08:51 +0100 Subject: [PATCH 41/86] docs: get libfdk-aac from non-free source for debian 11 (#2954) Co-authored-by: Jonas L --- .../tutorials/setup-liquidsoap-aac-streaming.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md b/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md index e465f2a05..4704d8ac5 100644 --- a/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md +++ b/docs/admin-manual/tutorials/setup-liquidsoap-aac-streaming.md @@ -26,10 +26,17 @@ For Ubuntu 20.04 LTS ('focal'), use the following file: wget https://github.com/savonet/liquidsoap/releases/download/v1.4.4/liquidsoap-v1.4.4_1.4.4-ubuntu-focal-amd64-1_amd64.deb ``` -For Debian 11 ('Bullseye'), use the following file: +For Debian 11 ('Bullseye'), first enable non-free package source for libfdk-aac support: ```bash -wget https://github.com/savonet/liquidsoap/releases/download/v1.4.4/liquidsoap-v1.4.4_1.4.4-debian-stable-amd64-1_amd64.deb +sudo apt install software-properties-common +sudo apt-add-repository -c non-free +``` + +Then use the following file: + +```bash +wget https://github.com/savonet/liquidsoap/releases/download/v1.4.4/liquidsoap-v1.4.4_1.4.4-debian-testing-amd64-1_amd64.deb ``` ## 2. Install and replace the liquidsoap package From 200dffef4499daa60de06a380c0b0b03305157e3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 2 Mar 2024 14:12:37 +0100 Subject: [PATCH 42/86] chore(deps): update dependency python-dateutil to >=2.8.1,<2.10 (#2964) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [python-dateutil](https://togithub.com/dateutil/dateutil) | `>=2.8.1,<2.9` -> `>=2.8.1,<2.10` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/python-dateutil/2.9.0.post0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/python-dateutil/2.9.0.post0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/python-dateutil/2.8.2/2.9.0.post0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/python-dateutil/2.8.2/2.9.0.post0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
dateutil/dateutil (python-dateutil) ### [`v2.9.0.post0`](https://togithub.com/dateutil/dateutil/releases/tag/2.9.0.post0) [Compare Source](https://togithub.com/dateutil/dateutil/compare/2.9.0...2.9.0.post0) ### Version 2.9.0.post0 (2024-03-01) #### Bugfixes - Pinned `setuptools_scm` to `<8`, which should make the generated `_version.py` file compatible with all supported versions of Python. ### [`v2.9.0`](https://togithub.com/dateutil/dateutil/releases/tag/2.9.0) [Compare Source](https://togithub.com/dateutil/dateutil/compare/2.8.2...2.9.0) ### Version 2.9.0 (2024-02-29) #### Data updates - Updated tzdata version to 2024a. (gh pr [#​1342](https://togithub.com/dateutil/dateutil/issues/1342)) #### Features - Made all `dateutil` submodules lazily imported using [PEP 562](https://www.python.org/dev/peps/pep-0562/). On Python 3.7+, things like `import dateutil; dateutil.tz.gettz("America/New_York")` will now work without explicitly importing `dateutil.tz`, with the import occurring behind the scenes on first use. The old behavior remains on Python 3.6 and earlier. Fixed by Orson Adams. (gh issue [#​771](https://togithub.com/dateutil/dateutil/issues/771), gh pr [#​1007](https://togithub.com/dateutil/dateutil/issues/1007)) #### Bugfixes - Removed a call to `datetime.utcfromtimestamp`, which is deprecated as of Python 3.12. Reported by Hugo van Kemenade (gh pr [#​1284](https://togithub.com/dateutil/dateutil/issues/1284)), fixed by Thomas Grainger (gh pr [#​1285](https://togithub.com/dateutil/dateutil/issues/1285)). #### Documentation changes - Added note into docs and tests where relativedelta would return last day of the month only if the same day on a different month resolves to a date that doesn't exist. Reported by [@​hawkEye-01](https://togithub.com/hawkEye-01) (gh issue [#​1167](https://togithub.com/dateutil/dateutil/issues/1167)). Fixed by [@​Mifrill](https://togithub.com/Mifrill) (gh pr [#​1168](https://togithub.com/dateutil/dateutil/issues/1168))
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- api-client/requirements.txt | 2 +- api-client/setup.py | 2 +- playout/requirements.txt | 2 +- playout/setup.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api-client/requirements.txt b/api-client/requirements.txt index 8f2e17699..434d2c7eb 100644 --- a/api-client/requirements.txt +++ b/api-client/requirements.txt @@ -1,4 +1,4 @@ # Please do not edit this file, edit the setup.py file! # This file is auto-generated by tools/extract_requirements.py. -python-dateutil>=2.8.1,<2.9 +python-dateutil>=2.8.1,<2.10 requests>=2.31.0,<2.32 diff --git a/api-client/setup.py b/api-client/setup.py index d4f3c7d70..73160fcdd 100644 --- a/api-client/setup.py +++ b/api-client/setup.py @@ -18,7 +18,7 @@ setup( package_data={"": ["py.typed"]}, python_requires=">=3.8", install_requires=[ - "python-dateutil>=2.8.1,<2.9", + "python-dateutil>=2.8.1,<2.10", "requests>=2.31.0,<2.32", ], extras_require={ diff --git a/playout/requirements.txt b/playout/requirements.txt index 9869c077b..35c1c882a 100644 --- a/playout/requirements.txt +++ b/playout/requirements.txt @@ -5,6 +5,6 @@ jinja2>=3.0.3,<3.2 kombu==4.6.11 lxml>=4.5.0,<6.0.0 mutagen>=1.45.1,<1.48 -python-dateutil>=2.8.1,<2.9 +python-dateutil>=2.8.1,<2.10 requests>=2.31.0,<2.32 typing-extensions diff --git a/playout/setup.py b/playout/setup.py index e16549cbb..06e6d108c 100644 --- a/playout/setup.py +++ b/playout/setup.py @@ -30,7 +30,7 @@ setup( "kombu==4.6.11", "lxml>=4.5.0,<6.0.0", "mutagen>=1.45.1,<1.48", - "python-dateutil>=2.8.1,<2.9", + "python-dateutil>=2.8.1,<2.10", "requests>=2.31.0,<2.32", "typing-extensions", ], From cc28293150c7a15b90a904adc81f9758cf82ef73 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Sat, 2 Mar 2024 14:15:50 +0100 Subject: [PATCH 43/86] chore: reenable vale rule after fix (#2965) Fixes #2957 --- .vale.ini | 3 --- 1 file changed, 3 deletions(-) diff --git a/.vale.ini b/.vale.ini index 1a86bcaf3..d74b872b5 100644 --- a/.vale.ini +++ b/.vale.ini @@ -15,6 +15,3 @@ BlockIgnores = (:[a-z-_]+:) Microsoft.GeneralURL = False Microsoft.RangeFormat = False Vale.Spelling = False - -# Disabled due to https://github.com/errata-ai/Microsoft/issues/58 -Microsoft.Negative = False From d92168ac19547f758a88e5d5d9490452d8444e8b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 23:16:57 +0000 Subject: [PATCH 44/86] chore(deps): update softprops/action-gh-release action to v2 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 92d91c4b1..959119ad1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: run: make tarball - name: Upload tarball - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: files: | libretime-*.tar.gz From 8ddd601b35cf011d3b6caa9c20b2e61abf6a57e0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Mar 2024 11:46:05 +0100 Subject: [PATCH 45/86] chore(deps): update dependency uvicorn to >=0.17.6,<0.29.0 (#2967) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [uvicorn](https://togithub.com/encode/uvicorn) ([changelog](https://togithub.com/encode/uvicorn/blob/master/CHANGELOG.md)) | `>=0.17.6,<0.28.0` -> `>=0.17.6,<0.29.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/uvicorn/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/uvicorn/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/uvicorn/0.27.1/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/uvicorn/0.27.1/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
encode/uvicorn (uvicorn) ### [`v0.28.0`](https://togithub.com/encode/uvicorn/blob/HEAD/CHANGELOG.md#0280---2024-03-09) [Compare Source](https://togithub.com/encode/uvicorn/compare/0.27.1...0.28.0) ##### Added - Raise `ClientDisconnected` on `send()` when client disconnected ([#​2220](https://togithub.com/encode/uvicorn/issues/2220)) 12/02/24 ##### Fixed - Except `AttributeError` on `sys.stdin.fileno()` for Windows IIS10 ([#​1947](https://togithub.com/encode/uvicorn/issues/1947)) 29/02/24 - Use `X-Forwarded-Proto` for WebSockets scheme when the proxy provides it ([#​2258](https://togithub.com/encode/uvicorn/issues/2258)) 01/03/24
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- api/requirements.txt | 2 +- api/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/requirements.txt b/api/requirements.txt index f4401fefa..3f3fa0f6c 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -8,4 +8,4 @@ drf-spectacular>=0.22.1,<0.28 gunicorn>=20.1.0,<21.3 psycopg[c]>=3.1.8,<3.2 requests>=2.31.0,<2.32 -uvicorn[standard]>=0.17.6,<0.28.0 +uvicorn[standard]>=0.17.6,<0.29.0 diff --git a/api/setup.py b/api/setup.py index b30611218..bd4823e43 100644 --- a/api/setup.py +++ b/api/setup.py @@ -37,7 +37,7 @@ setup( "prod": [ "gunicorn>=20.1.0,<21.3", "psycopg[c]>=3.1.8,<3.2", - "uvicorn[standard]>=0.17.6,<0.28.0", + "uvicorn[standard]>=0.17.6,<0.29.0", ], "dev": [ "django-coverage-plugin>=3.0.0,<4", From 18a0eec000683a44a8164b80754d082fbf3b902b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Mar 2024 11:46:52 +0100 Subject: [PATCH 46/86] chore(deps): update dependency django-filter to v24 (#2966) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [django-filter](https://togithub.com/carltongibson/django-filter) ([changelog](https://togithub.com/carltongibson/django-filter/blob/main/CHANGES.rst)) | `>=2.4.0,<23.6` -> `>=2.4.0,<24.2` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/django-filter/24.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/django-filter/24.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/django-filter/23.5/24.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/django-filter/23.5/24.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
carltongibson/django-filter (django-filter) ### [`v24.1`](https://togithub.com/carltongibson/django-filter/blob/HEAD/CHANGES.rst#Version-241-2024-03-08) [Compare Source](https://togithub.com/carltongibson/django-filter/compare/23.5...24.1) - Updated supported Python and Django versions, and resolved upcoming Django deprecations. Required versions are now at least Python 3.8 and Django 4.2. Thanks to Michael Manganiello. - Allowed passing a FilterSet class to the filterset_factory(). Thanks to Birger Schacht. - Set empty default value of filterset data to MultiValueDict. Thanks to Shlomo Gordon. - Preserve list values passed to the data dict in CSV widgets. Thanks to Bryan Brancotte. - Updates French and Ukrainian localisations. Thanks to Weblate.
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- api/requirements.txt | 2 +- api/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/requirements.txt b/api/requirements.txt index 3f3fa0f6c..72366b0f7 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -1,7 +1,7 @@ # Please do not edit this file, edit the setup.py file! # This file is auto-generated by tools/extract_requirements.py. django-cors-headers>=3.14.0,<4.4 -django-filter>=2.4.0,<23.6 +django-filter>=2.4.0,<24.2 django>=4.2.0,<4.3 djangorestframework>=3.14.0,<3.15 drf-spectacular>=0.22.1,<0.28 diff --git a/api/setup.py b/api/setup.py index bd4823e43..832f1a0b0 100644 --- a/api/setup.py +++ b/api/setup.py @@ -27,7 +27,7 @@ setup( }, install_requires=[ "django-cors-headers>=3.14.0,<4.4", - "django-filter>=2.4.0,<23.6", + "django-filter>=2.4.0,<24.2", "django>=4.2.0,<4.3", "djangorestframework>=3.14.0,<3.15", "drf-spectacular>=0.22.1,<0.28", From d067d640dcf826113394267e5a2cd03191eb6c2e Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Sun, 17 Mar 2024 09:49:52 +0100 Subject: [PATCH 47/86] chore(legacy): translations update from Hosted Weblate (#2970) Translations update from [Hosted Weblate](https://hosted.weblate.org) for [LibreTime/Legacy](https://hosted.weblate.org/projects/libretime/legacy/). Current translation status: ![Weblate translation status](https://hosted.weblate.org/widget/libretime/legacy/horizontal-auto.svg) Co-authored-by: Mikachu --- legacy/locale/nl_NL/LC_MESSAGES/libretime.po | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/legacy/locale/nl_NL/LC_MESSAGES/libretime.po b/legacy/locale/nl_NL/LC_MESSAGES/libretime.po index a8be218c4..03aada531 100644 --- a/legacy/locale/nl_NL/LC_MESSAGES/libretime.po +++ b/legacy/locale/nl_NL/LC_MESSAGES/libretime.po @@ -13,15 +13,16 @@ msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" "POT-Creation-Date: 2024-02-05 01:52+0000\n" -"PO-Revision-Date: 2023-05-18 19:28+0000\n" -"Last-Translator: Dave Berg \n" -"Language-Team: Dutch \n" +"PO-Revision-Date: 2024-03-17 07:32+0000\n" +"Last-Translator: Mikachu \n" +"Language-Team: Dutch \n" "Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.18-dev\n" +"X-Generator: Weblate 5.5-dev\n" #: application/common/DateHelper.php:216 #, php-format @@ -3320,7 +3321,7 @@ msgstr "Als deze optie is ingeschakeld, worden bij het aanmaken van een nieuwe p #: application/forms/GeneralPreferences.php:161 msgid "Trim overbooked shows after autoloading?" -msgstr "" +msgstr "Overboekte shows inkorten na automatisch laden?" #: application/forms/GeneralPreferences.php:168 msgid "Public LibreTime API" @@ -3357,7 +3358,7 @@ msgstr "Inlogknop op uw radiopagina weergeven?" #: application/forms/GeneralPreferences.php:231 msgid "Disable the public radio page and redirect to the login page?" -msgstr "" +msgstr "Openbare radiopagina uitschakelen en doorverwijzen naar de inlogpagina?" #: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" From f44445ae21a9f89804940901c5a4b89e23c4c818 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 17 Mar 2024 08:50:39 +0000 Subject: [PATCH 48/86] chore(deps): update pre-commit hook psf/black-pre-commit-mirror to v24.3.0 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f27b41ea9..ce0e94a61 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -54,7 +54,7 @@ repos: args: [--resolve-all-configs] - repo: https://github.com/psf/black-pre-commit-mirror - rev: 24.2.0 + rev: 24.3.0 hooks: - id: black From e8e88f7d4693f9bd28bfd4ddb1f8fce184b22c1b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 15:28:47 +0000 Subject: [PATCH 49/86] chore(deps): lock file maintenance (legacy/composer.json) --- legacy/composer.lock | 607 ++++++++++++++++++++++--------------------- 1 file changed, 313 insertions(+), 294 deletions(-) diff --git a/legacy/composer.lock b/legacy/composer.lock index b524da49e..a9f2a1544 100644 --- a/legacy/composer.lock +++ b/legacy/composer.lock @@ -841,16 +841,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.35", + "version": "3.0.37", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "4b1827beabce71953ca479485c0ae9c51287f2fe" + "reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/4b1827beabce71953ca479485c0ae9c51287f2fe", - "reference": "4b1827beabce71953ca479485c0ae9c51287f2fe", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/cfa2013d0f68c062055180dd4328cc8b9d1f30b8", + "reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8", "shasum": "" }, "require": { @@ -931,7 +931,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.35" + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.37" }, "funding": [ { @@ -947,7 +947,7 @@ "type": "tidelift" } ], - "time": "2023-12-29T01:59:53+00:00" + "time": "2024-03-03T02:14:58+00:00" }, { "name": "psr/http-message", @@ -1080,16 +1080,16 @@ }, { "name": "symfony/config", - "version": "v5.4.35", + "version": "v5.4.36", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "6b763438a22a4f20885e994ad6702f6a3f25430e" + "reference": "0a4f363dc2f13d2f871f917cc563796d9ddc78d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/6b763438a22a4f20885e994ad6702f6a3f25430e", - "reference": "6b763438a22a4f20885e994ad6702f6a3f25430e", + "url": "https://api.github.com/repos/symfony/config/zipball/0a4f363dc2f13d2f871f917cc563796d9ddc78d1", + "reference": "0a4f363dc2f13d2f871f917cc563796d9ddc78d1", "shasum": "" }, "require": { @@ -1139,7 +1139,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v5.4.35" + "source": "https://github.com/symfony/config/tree/v5.4.36" }, "funding": [ { @@ -1155,7 +1155,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-02-23T16:13:23+00:00" }, { "name": "symfony/deprecation-contracts", @@ -1605,21 +1605,21 @@ }, { "name": "zf1s/zend-acl", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-acl.git", - "reference": "15957d463baf1a5cc9bce4da2034cbf748826d80" + "reference": "ccbd7998ddf8a769654079d1fc4ae7f5211e312a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-acl/zipball/15957d463baf1a5cc9bce4da2034cbf748826d80", - "reference": "15957d463baf1a5cc9bce4da2034cbf748826d80", + "url": "https://api.github.com/repos/zf1s/zend-acl/zipball/ccbd7998ddf8a769654079d1fc4ae7f5211e312a", + "reference": "ccbd7998ddf8a769654079d1fc4ae7f5211e312a", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-acl": "^1.12" @@ -1648,35 +1648,49 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-acl/tree/1.15.3" + "source": "https://github.com/zf1s/zend-acl/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-application", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-application.git", - "reference": "84ab3e47459d53f605b2c09ea22bdcd5a19ee5c7" + "reference": "e2fe9cbdb75c45a5044e8e85d4189f688e981bc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-application/zipball/84ab3e47459d53f605b2c09ea22bdcd5a19ee5c7", - "reference": "84ab3e47459d53f605b2c09ea22bdcd5a19ee5c7", + "url": "https://api.github.com/repos/zf1s/zend-application/zipball/e2fe9cbdb75c45a5044e8e85d4189f688e981bc9", + "reference": "e2fe9cbdb75c45a5044e8e85d4189f688e981bc9", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-controller": "^1.15.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-config": "^1.15.4", + "zf1s/zend-controller": "^1.15.4", + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-loader": "^1.15.4", + "zf1s/zend-registry": "^1.15.4" }, "replace": { "zf1/zend-application": "^1.12" }, "suggest": { "ext-date": "Used in special situations or with special adapters", - "zf1s/zend-config": "Used in special situations or with special adapters" + "zf1s/zend-cache": "Used in special situations or with special adapters", + "zf1s/zend-db": "Used in special situations or with special adapters", + "zf1s/zend-dojo": "Used in special situations or with special adapters", + "zf1s/zend-http": "Used in special situations or with special adapters", + "zf1s/zend-layout": "Used in special situations or with special adapters", + "zf1s/zend-locale": "Used in special situations or with special adapters", + "zf1s/zend-log": "Used in special situations or with special adapters", + "zf1s/zend-mail": "Used in special situations or with special adapters", + "zf1s/zend-navigation": "Used in special situations or with special adapters", + "zf1s/zend-session": "Used in special situations or with special adapters", + "zf1s/zend-translate": "Used in special situations or with special adapters", + "zf1s/zend-view": "Used in special situations or with special adapters" }, "type": "library", "extra": { @@ -1703,35 +1717,37 @@ ], "support": { "issues": "https://github.com/zf1s/zend-application/issues", - "source": "https://github.com/zf1s/zend-application/tree/1.15.3" + "source": "https://github.com/zf1s/zend-application/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-auth", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-auth.git", - "reference": "351e8764d3c48922177d64711e8276d6a323a01d" + "reference": "1f12cfa0289c34781127532e669eefaa7f1d53e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-auth/zipball/351e8764d3c48922177d64711e8276d6a323a01d", - "reference": "351e8764d3c48922177d64711e8276d6a323a01d", + "url": "https://api.github.com/repos/zf1s/zend-auth/zipball/1f12cfa0289c34781127532e669eefaa7f1d53e2", + "reference": "1f12cfa0289c34781127532e669eefaa7f1d53e2", "shasum": "" }, "require": { "ext-ctype": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-auth": "^1.12" }, "suggest": { "ext-hash": "Used in special situations or with special adapters", + "zf1s/zend-controller": "Used in special situations or with special adapters", "zf1s/zend-db": "Used in special situations or with special adapters", + "zf1s/zend-http": "Used in special situations or with special adapters", "zf1s/zend-ldap": "Used in special situations or with special adapters", "zf1s/zend-openid": "Used in special situations or with special adapters", "zf1s/zend-session": "Used in special situations or with special adapters" @@ -1760,27 +1776,27 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-auth/tree/1.15.3" + "source": "https://github.com/zf1s/zend-auth/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-cache", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-cache.git", - "reference": "2bddefbb94363ebe5a5e5b29df215f3d2c81ccc2" + "reference": "bd20dd88aa1bafabd0d9e2b34579a6b0c75347e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-cache/zipball/2bddefbb94363ebe5a5e5b29df215f3d2c81ccc2", - "reference": "2bddefbb94363ebe5a5e5b29df215f3d2c81ccc2", + "url": "https://api.github.com/repos/zf1s/zend-cache/zipball/bd20dd88aa1bafabd0d9e2b34579a6b0c75347e6", + "reference": "bd20dd88aa1bafabd0d9e2b34579a6b0c75347e6", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-cache": "^1.12" @@ -1817,28 +1833,28 @@ ], "support": { "issues": "https://github.com/zf1s/zend-cache/issues", - "source": "https://github.com/zf1s/zend-cache/tree/1.15.3" + "source": "https://github.com/zf1s/zend-cache/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-config", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-config.git", - "reference": "259559da5eedfcd3db69ad1bb1c3481b28b624cd" + "reference": "4ea8fe63654289640b03dd66fe31afaada78430e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-config/zipball/259559da5eedfcd3db69ad1bb1c3481b28b624cd", - "reference": "259559da5eedfcd3db69ad1bb1c3481b28b624cd", + "url": "https://api.github.com/repos/zf1s/zend-config/zipball/4ea8fe63654289640b03dd66fe31afaada78430e", + "reference": "4ea8fe63654289640b03dd66fe31afaada78430e", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-xml": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-xml": "^1.15.4" }, "replace": { "zf1/zend-config": "^1.12" @@ -1870,44 +1886,47 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-config/tree/1.15.3" + "source": "https://github.com/zf1s/zend-config/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-controller", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-controller.git", - "reference": "ac3159d6de71beac73168b54cce85eff390ce782" + "reference": "49c44fbf8a3a4524770e0e2b3e244271058312c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-controller/zipball/ac3159d6de71beac73168b54cce85eff390ce782", - "reference": "ac3159d6de71beac73168b54cce85eff390ce782", + "url": "https://api.github.com/repos/zf1s/zend-controller/zipball/49c44fbf8a3a4524770e0e2b3e244271058312c2", + "reference": "49c44fbf8a3a4524770e0e2b3e244271058312c2", "shasum": "" }, "require": { "ext-reflection": "*", "ext-session": "*", "php": ">=5.3.3", - "zf1s/zend-config": "^1.15.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-filter": "^1.15.3", - "zf1s/zend-loader": "^1.15.3", - "zf1s/zend-registry": "^1.15.3", - "zf1s/zend-uri": "^1.15.3", - "zf1s/zend-view": "^1.15.3", - "zf1s/zend-xml": "^1.15.3" + "zf1s/zend-config": "^1.15.4", + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-filter": "^1.15.4", + "zf1s/zend-loader": "^1.15.4", + "zf1s/zend-registry": "^1.15.4", + "zf1s/zend-uri": "^1.15.4", + "zf1s/zend-view": "^1.15.4" }, "replace": { "zf1/zend-controller": "^1.12" }, "suggest": { + "zf1s/zend-cache": "Used in special situations or with special adapters", "zf1s/zend-dojo": "Used in special situations or with special adapters", "zf1s/zend-json": "Used in special situations or with special adapters", - "zf1s/zend-layout": "Used in special situations or with special adapters" + "zf1s/zend-layout": "Used in special situations or with special adapters", + "zf1s/zend-locale": "Used in special situations or with special adapters", + "zf1s/zend-session": "Used in special situations or with special adapters", + "zf1s/zend-translate": "Used in special situations or with special adapters" }, "type": "library", "extra": { @@ -1933,27 +1952,27 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-controller/tree/1.15.3" + "source": "https://github.com/zf1s/zend-controller/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-crypt", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-crypt.git", - "reference": "e86a5287f430cb09f7861756904dac7ebedc95ea" + "reference": "149642a41e9988f70e7c15bf7a0b770f87f1dbc8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-crypt/zipball/e86a5287f430cb09f7861756904dac7ebedc95ea", - "reference": "e86a5287f430cb09f7861756904dac7ebedc95ea", + "url": "https://api.github.com/repos/zf1s/zend-crypt/zipball/149642a41e9988f70e7c15bf7a0b770f87f1dbc8", + "reference": "149642a41e9988f70e7c15bf7a0b770f87f1dbc8", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-crypt": "^1.12" @@ -1982,28 +2001,28 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-crypt/tree/1.15.3" + "source": "https://github.com/zf1s/zend-crypt/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-date", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-date.git", - "reference": "c341c900c0d5431bc90e710d23bcf6d59105f625" + "reference": "3254353e61331b8daaecdffa7e5e62d05669c15d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-date/zipball/c341c900c0d5431bc90e710d23bcf6d59105f625", - "reference": "c341c900c0d5431bc90e710d23bcf6d59105f625", + "url": "https://api.github.com/repos/zf1s/zend-date/zipball/3254353e61331b8daaecdffa7e5e62d05669c15d", + "reference": "3254353e61331b8daaecdffa7e5e62d05669c15d", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-locale": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-locale": "^1.15.4" }, "replace": { "zf1/zend-date": "^1.12" @@ -2032,28 +2051,28 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-date/tree/1.15.3" + "source": "https://github.com/zf1s/zend-date/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-db", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-db.git", - "reference": "2ebb064767be11cf691efdb629cc98d2c2db67f7" + "reference": "07e4521b144807721dd8a0f67654ce9bc1ef337d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-db/zipball/2ebb064767be11cf691efdb629cc98d2c2db67f7", - "reference": "2ebb064767be11cf691efdb629cc98d2c2db67f7", + "url": "https://api.github.com/repos/zf1s/zend-db/zipball/07e4521b144807721dd8a0f67654ce9bc1ef337d", + "reference": "07e4521b144807721dd8a0f67654ce9bc1ef337d", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-loader": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-loader": "^1.15.4" }, "replace": { "zf1/zend-db": "^1.12" @@ -2090,13 +2109,13 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-db/tree/1.15.3" + "source": "https://github.com/zf1s/zend-db/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-exception", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-exception.git", @@ -2138,13 +2157,13 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-exception/tree/1.15.3" + "source": "https://github.com/zf1s/zend-exception/tree/1.15.4" }, "time": "2024-01-04T13:33:07+00:00" }, { "name": "zf1s/zend-file", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-file.git", @@ -2189,27 +2208,27 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-file/tree/1.15.3" + "source": "https://github.com/zf1s/zend-file/tree/1.15.4" }, "time": "2024-01-04T13:33:07+00:00" }, { "name": "zf1s/zend-file-transfer", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-file-transfer.git", - "reference": "11e0fe34575b3d5e5d6783fdc40c8eb82798b54e" + "reference": "5e2b4f7de1d75728efa2b9b07653f6ec7c42a934" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-file-transfer/zipball/11e0fe34575b3d5e5d6783fdc40c8eb82798b54e", - "reference": "11e0fe34575b3d5e5d6783fdc40c8eb82798b54e", + "url": "https://api.github.com/repos/zf1s/zend-file-transfer/zipball/5e2b4f7de1d75728efa2b9b07653f6ec7c42a934", + "reference": "5e2b4f7de1d75728efa2b9b07653f6ec7c42a934", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-file-transfer": "^1.12" @@ -2243,31 +2262,31 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-file-transfer/tree/1.15.3" + "source": "https://github.com/zf1s/zend-file-transfer/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-filter", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-filter.git", - "reference": "ae7e2e992eb576fd4517d9512c6c15b4c517d31b" + "reference": "aaf5ee4ae97b233cbb149593e797b9c5d71e0a21" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-filter/zipball/ae7e2e992eb576fd4517d9512c6c15b4c517d31b", - "reference": "ae7e2e992eb576fd4517d9512c6c15b4c517d31b", + "url": "https://api.github.com/repos/zf1s/zend-filter/zipball/aaf5ee4ae97b233cbb149593e797b9c5d71e0a21", + "reference": "aaf5ee4ae97b233cbb149593e797b9c5d71e0a21", "shasum": "" }, "require": { "ext-reflection": "*", "php": ">=5.3.3", - "zf1s/zend-crypt": "^1.15.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-loader": "^1.15.3", - "zf1s/zend-validate": "^1.15.3" + "zf1s/zend-crypt": "^1.15.4", + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-loader": "^1.15.4", + "zf1s/zend-validate": "^1.15.4" }, "replace": { "zf1/zend-filter": "^1.12" @@ -2300,29 +2319,29 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-filter/tree/1.15.3" + "source": "https://github.com/zf1s/zend-filter/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-form", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-form.git", - "reference": "b3f899575d34e535b78db7cb04bf1bbfc23dcd5e" + "reference": "a98e9242e7a4e86343cce7a2b3644e81d4296511" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-form/zipball/b3f899575d34e535b78db7cb04bf1bbfc23dcd5e", - "reference": "b3f899575d34e535b78db7cb04bf1bbfc23dcd5e", + "url": "https://api.github.com/repos/zf1s/zend-form/zipball/a98e9242e7a4e86343cce7a2b3644e81d4296511", + "reference": "a98e9242e7a4e86343cce7a2b3644e81d4296511", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-filter": "^1.15.3", - "zf1s/zend-validate": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-filter": "^1.15.4", + "zf1s/zend-validate": "^1.15.4" }, "replace": { "zf1/zend-form": "^1.12" @@ -2359,30 +2378,30 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-form/tree/1.15.3" + "source": "https://github.com/zf1s/zend-form/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-http", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-http.git", - "reference": "cf2e5164d7e75fbcc42cc661ed2a9f89d91c46d3" + "reference": "50b50ffebd82439702666725626f8b5f86cf179c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-http/zipball/cf2e5164d7e75fbcc42cc661ed2a9f89d91c46d3", - "reference": "cf2e5164d7e75fbcc42cc661ed2a9f89d91c46d3", + "url": "https://api.github.com/repos/zf1s/zend-http/zipball/50b50ffebd82439702666725626f8b5f86cf179c", + "reference": "50b50ffebd82439702666725626f8b5f86cf179c", "shasum": "" }, "require": { "ext-ctype": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-loader": "^1.15.3", - "zf1s/zend-uri": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-loader": "^1.15.4", + "zf1s/zend-uri": "^1.15.4" }, "replace": { "zf1/zend-http": "^1.12" @@ -2415,31 +2434,30 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-http/tree/1.15.3" + "source": "https://github.com/zf1s/zend-http/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-json", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-json.git", - "reference": "6781552af7821fb15c51c4c5db5f17c7ee2f9720" + "reference": "b57e4ad65aa2fc5d26f16603cc30678aff8070f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-json/zipball/6781552af7821fb15c51c4c5db5f17c7ee2f9720", - "reference": "6781552af7821fb15c51c4c5db5f17c7ee2f9720", + "url": "https://api.github.com/repos/zf1s/zend-json/zipball/b57e4ad65aa2fc5d26f16603cc30678aff8070f0", + "reference": "b57e4ad65aa2fc5d26f16603cc30678aff8070f0", "shasum": "" }, "require": { "ext-reflection": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-loader": "^1.15.3", - "zf1s/zend-server": "^1.15.3", - "zf1s/zend-xml": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-server": "^1.15.4", + "zf1s/zend-xml": "^1.15.4" }, "replace": { "zf1/zend-json": "^1.12" @@ -2471,36 +2489,37 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-json/tree/1.15.3" + "source": "https://github.com/zf1s/zend-json/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-layout", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-layout.git", - "reference": "1fb127efc3f3584e300ec6b79e9ffc1e669b9ce4" + "reference": "d46f0a68b8fb0272d6a1e7df77383f04e92146fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-layout/zipball/1fb127efc3f3584e300ec6b79e9ffc1e669b9ce4", - "reference": "1fb127efc3f3584e300ec6b79e9ffc1e669b9ce4", + "url": "https://api.github.com/repos/zf1s/zend-layout/zipball/d46f0a68b8fb0272d6a1e7df77383f04e92146fb", + "reference": "d46f0a68b8fb0272d6a1e7df77383f04e92146fb", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-controller": "^1.15.4", + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-filter": "^1.15.4", + "zf1s/zend-loader": "^1.15.4", + "zf1s/zend-view": "^1.15.4" }, "replace": { "zf1/zend-layout": "^1.12" }, "suggest": { - "zf1s/zend-controller": "Used in special situations or with special adapters", - "zf1s/zend-filter": "Used in special situations or with special adapters", - "zf1s/zend-loader": "Used in special situations or with special adapters", - "zf1s/zend-view": "Used in special situations or with special adapters" + "zf1s/zend-config": "Used in special situations or with special adapters" }, "type": "library", "extra": { @@ -2526,27 +2545,27 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-layout/tree/1.15.3" + "source": "https://github.com/zf1s/zend-layout/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-loader", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-loader.git", - "reference": "b4db227927ade40806738c4004ff4a212b7cd37d" + "reference": "1d870af384f1cf4ec6846b251ee38710deaadd80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-loader/zipball/b4db227927ade40806738c4004ff4a212b7cd37d", - "reference": "b4db227927ade40806738c4004ff4a212b7cd37d", + "url": "https://api.github.com/repos/zf1s/zend-loader/zipball/1d870af384f1cf4ec6846b251ee38710deaadd80", + "reference": "1d870af384f1cf4ec6846b251ee38710deaadd80", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-loader": "^1.12" @@ -2575,31 +2594,31 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-loader/tree/1.15.3" + "source": "https://github.com/zf1s/zend-loader/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-locale", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-locale.git", - "reference": "03cd8f0f845e596a75ae2bfc05325efff6a8a627" + "reference": "d0bfffd7ab9d86392aae7dac68f507bfed123d66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-locale/zipball/03cd8f0f845e596a75ae2bfc05325efff6a8a627", - "reference": "03cd8f0f845e596a75ae2bfc05325efff6a8a627", + "url": "https://api.github.com/repos/zf1s/zend-locale/zipball/d0bfffd7ab9d86392aae7dac68f507bfed123d66", + "reference": "d0bfffd7ab9d86392aae7dac68f507bfed123d66", "shasum": "" }, "require": { "ext-iconv": "*", "php": ">=5.3.3", - "zf1s/zend-cache": "^1.15.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-registry": "^1.15.3", - "zf1s/zend-xml": "^1.15.3" + "zf1s/zend-cache": "^1.15.4", + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-registry": "^1.15.4", + "zf1s/zend-xml": "^1.15.4" }, "replace": { "zf1/zend-locale": "^1.12" @@ -2631,28 +2650,28 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-locale/tree/1.15.3" + "source": "https://github.com/zf1s/zend-locale/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-log", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-log.git", - "reference": "f0181302b33b550b2bf278414f211f2860a58719" + "reference": "cdaf3e3eb344e4c3ceafeba55f860b083f7680c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-log/zipball/f0181302b33b550b2bf278414f211f2860a58719", - "reference": "f0181302b33b550b2bf278414f211f2860a58719", + "url": "https://api.github.com/repos/zf1s/zend-log/zipball/cdaf3e3eb344e4c3ceafeba55f860b083f7680c6", + "reference": "cdaf3e3eb344e4c3ceafeba55f860b083f7680c6", "shasum": "" }, "require": { "ext-reflection": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-log": "^1.12" @@ -2685,28 +2704,28 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-log/tree/1.15.3" + "source": "https://github.com/zf1s/zend-log/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-navigation", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-navigation.git", - "reference": "d07fe4d27527ccc8a27919ec23c6d733cf2b02ac" + "reference": "c6ebcdda053c2753e82c7b70d13dfaa3aa12e5c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-navigation/zipball/d07fe4d27527ccc8a27919ec23c6d733cf2b02ac", - "reference": "d07fe4d27527ccc8a27919ec23c6d733cf2b02ac", + "url": "https://api.github.com/repos/zf1s/zend-navigation/zipball/c6ebcdda053c2753e82c7b70d13dfaa3aa12e5c9", + "reference": "c6ebcdda053c2753e82c7b70d13dfaa3aa12e5c9", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-controller": "^1.15.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-controller": "^1.15.4", + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-navigation": "^1.12" @@ -2740,27 +2759,27 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-navigation/tree/1.15.3" + "source": "https://github.com/zf1s/zend-navigation/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-registry", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-registry.git", - "reference": "6b494320f099eaaf0a1fe01079217e9b7ec8716b" + "reference": "edaed339207832121432217620606add814b6399" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-registry/zipball/6b494320f099eaaf0a1fe01079217e9b7ec8716b", - "reference": "6b494320f099eaaf0a1fe01079217e9b7ec8716b", + "url": "https://api.github.com/repos/zf1s/zend-registry/zipball/edaed339207832121432217620606add814b6399", + "reference": "edaed339207832121432217620606add814b6399", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-registry": "^1.12" @@ -2792,22 +2811,22 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-registry/tree/1.15.3" + "source": "https://github.com/zf1s/zend-registry/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-rest", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-rest.git", - "reference": "6f191902db3de2e868928aae0f7c66da9c2ddabe" + "reference": "22286b49a4097efff034bd1d738a8ac4c35c2324" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-rest/zipball/6f191902db3de2e868928aae0f7c66da9c2ddabe", - "reference": "6f191902db3de2e868928aae0f7c66da9c2ddabe", + "url": "https://api.github.com/repos/zf1s/zend-rest/zipball/22286b49a4097efff034bd1d738a8ac4c35c2324", + "reference": "22286b49a4097efff034bd1d738a8ac4c35c2324", "shasum": "" }, "require": { @@ -2816,11 +2835,11 @@ "ext-reflection": "*", "ext-simplexml": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-server": "^1.15.3", - "zf1s/zend-service": "^1.15.3", - "zf1s/zend-uri": "^1.15.3", - "zf1s/zend-xml": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-server": "^1.15.4", + "zf1s/zend-service": "^1.15.4", + "zf1s/zend-uri": "^1.15.4", + "zf1s/zend-xml": "^1.15.4" }, "replace": { "zf1/zend-rest": "^1.12" @@ -2849,29 +2868,29 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-rest/tree/1.15.3" + "source": "https://github.com/zf1s/zend-rest/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-server", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-server.git", - "reference": "a0dbb721c1e835beee3fce65255d40933fa5f6b7" + "reference": "56acc67e1880de77e89f54b44d9bc9327bad0319" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-server/zipball/a0dbb721c1e835beee3fce65255d40933fa5f6b7", - "reference": "a0dbb721c1e835beee3fce65255d40933fa5f6b7", + "url": "https://api.github.com/repos/zf1s/zend-server/zipball/56acc67e1880de77e89f54b44d9bc9327bad0319", + "reference": "56acc67e1880de77e89f54b44d9bc9327bad0319", "shasum": "" }, "require": { "ext-reflection": "*", "ext-spl": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-server": "^1.12" @@ -2900,28 +2919,28 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-server/tree/1.15.3" + "source": "https://github.com/zf1s/zend-server/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-service", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-service.git", - "reference": "a35df652a19c253b1eb9687bfcc35643519231f5" + "reference": "2f2bfa2a850bec76587b31ce86afb6733f8697a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-service/zipball/a35df652a19c253b1eb9687bfcc35643519231f5", - "reference": "a35df652a19c253b1eb9687bfcc35643519231f5", + "url": "https://api.github.com/repos/zf1s/zend-service/zipball/2f2bfa2a850bec76587b31ce86afb6733f8697a0", + "reference": "2f2bfa2a850bec76587b31ce86afb6733f8697a0", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-http": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-http": "^1.15.4" }, "replace": { "zf1/zend-service": "^1.12" @@ -2950,28 +2969,28 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-service/tree/1.15.3" + "source": "https://github.com/zf1s/zend-service/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-session", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-session.git", - "reference": "7d3d4fe39fd48e88974d7ee953b93b6180bbf1db" + "reference": "c0b2a07e8ef784ce13cdcac81bed786c8a161389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-session/zipball/7d3d4fe39fd48e88974d7ee953b93b6180bbf1db", - "reference": "7d3d4fe39fd48e88974d7ee953b93b6180bbf1db", + "url": "https://api.github.com/repos/zf1s/zend-session/zipball/c0b2a07e8ef784ce13cdcac81bed786c8a161389", + "reference": "c0b2a07e8ef784ce13cdcac81bed786c8a161389", "shasum": "" }, "require": { "ext-session": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-session": "^1.12" @@ -3005,30 +3024,30 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-session/tree/1.15.3" + "source": "https://github.com/zf1s/zend-session/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-uri", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-uri.git", - "reference": "2c09fa277558d36088442bd852b64e5563090405" + "reference": "97d32a5c55d7e0b97bd787ea2f8841c0cec77e6c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-uri/zipball/2c09fa277558d36088442bd852b64e5563090405", - "reference": "2c09fa277558d36088442bd852b64e5563090405", + "url": "https://api.github.com/repos/zf1s/zend-uri/zipball/97d32a5c55d7e0b97bd787ea2f8841c0cec77e6c", + "reference": "97d32a5c55d7e0b97bd787ea2f8841c0cec77e6c", "shasum": "" }, "require": { "ext-ctype": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-loader": "^1.15.3", - "zf1s/zend-validate": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-loader": "^1.15.4", + "zf1s/zend-validate": "^1.15.4" }, "replace": { "zf1/zend-uri": "^1.12" @@ -3061,30 +3080,30 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-uri/tree/1.15.3" + "source": "https://github.com/zf1s/zend-uri/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-validate", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-validate.git", - "reference": "6805718ea05ae95018f415109884648bd398880d" + "reference": "5b899a42d512164e1fd2877747db7be4dfac7e50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-validate/zipball/6805718ea05ae95018f415109884648bd398880d", - "reference": "6805718ea05ae95018f415109884648bd398880d", + "url": "https://api.github.com/repos/zf1s/zend-validate/zipball/5b899a42d512164e1fd2877747db7be4dfac7e50", + "reference": "5b899a42d512164e1fd2877747db7be4dfac7e50", "shasum": "" }, "require": { "ext-ctype": "*", "ext-reflection": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-registry": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-registry": "^1.15.4" }, "replace": { "zf1/zend-validate": "^1.12" @@ -3126,13 +3145,13 @@ ], "support": { "issues": "https://github.com/zf1s/zend-validate/issues", - "source": "https://github.com/zf1s/zend-validate/tree/1.15.3" + "source": "https://github.com/zf1s/zend-validate/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-version", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-version.git", @@ -3174,30 +3193,30 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-version/tree/1.15.3" + "source": "https://github.com/zf1s/zend-version/tree/1.15.4" }, "time": "2024-01-04T13:33:07+00:00" }, { "name": "zf1s/zend-view", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-view.git", - "reference": "4f80822860e5a37ab7d70e724f9dcc2859d5e9dd" + "reference": "b5fea19fcc6d941b8a5b60086dcaacff81d6bed7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-view/zipball/4f80822860e5a37ab7d70e724f9dcc2859d5e9dd", - "reference": "4f80822860e5a37ab7d70e724f9dcc2859d5e9dd", + "url": "https://api.github.com/repos/zf1s/zend-view/zipball/b5fea19fcc6d941b8a5b60086dcaacff81d6bed7", + "reference": "b5fea19fcc6d941b8a5b60086dcaacff81d6bed7", "shasum": "" }, "require": { "ext-reflection": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-loader": "^1.15.3", - "zf1s/zend-registry": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-loader": "^1.15.4", + "zf1s/zend-registry": "^1.15.4" }, "replace": { "zf1/zend-view": "^1.12" @@ -3241,22 +3260,22 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-view/tree/1.15.3" + "source": "https://github.com/zf1s/zend-view/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-xml", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-xml.git", - "reference": "dcae4e19f8e1a3510ed6f865c7fbe28b9c2c1ec4" + "reference": "130eeef095e24b0ac456a08488344d7c3d50e884" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-xml/zipball/dcae4e19f8e1a3510ed6f865c7fbe28b9c2c1ec4", - "reference": "dcae4e19f8e1a3510ed6f865c7fbe28b9c2c1ec4", + "url": "https://api.github.com/repos/zf1s/zend-xml/zipball/130eeef095e24b0ac456a08488344d7c3d50e884", + "reference": "130eeef095e24b0ac456a08488344d7c3d50e884", "shasum": "" }, "require": { @@ -3264,7 +3283,7 @@ "ext-simplexml": "*", "ext-xml": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3" + "zf1s/zend-exception": "^1.15.4" }, "replace": { "zf1/zend-xml": "^1.12" @@ -3293,9 +3312,9 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-xml/tree/1.15.3" + "source": "https://github.com/zf1s/zend-xml/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" } ], "packages-dev": [ @@ -3587,21 +3606,21 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.8.1", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "bc3dc91a5e9b14aa06d1d9e90647c5c5a2cc5353" + "reference": "153ae662783729388a584b4361f2545e4d841e3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/bc3dc91a5e9b14aa06d1d9e90647c5c5a2cc5353", - "reference": "bc3dc91a5e9b14aa06d1d9e90647c5c5a2cc5353", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", + "reference": "153ae662783729388a584b4361f2545e4d841e3c", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", - "php": "^7.4 || ^8.0", + "php": "^7.3 || ^8.0", "phpdocumentor/reflection-common": "^2.0", "phpstan/phpdoc-parser": "^1.13" }, @@ -3639,9 +3658,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.1" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2" }, - "time": "2024-01-18T19:15:27+00:00" + "time": "2024-02-23T11:10:43+00:00" }, { "name": "phpspec/prophecy", @@ -3712,16 +3731,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.25.0", + "version": "1.26.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240" + "reference": "231e3186624c03d7e7c890ec662b81e6b0405227" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bd84b629c8de41aa2ae82c067c955e06f1b00240", - "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/231e3186624c03d7e7c890ec662b81e6b0405227", + "reference": "231e3186624c03d7e7c890ec662b81e6b0405227", "shasum": "" }, "require": { @@ -3753,9 +3772,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.25.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.26.0" }, - "time": "2024-01-04T17:06:16+00:00" + "time": "2024-02-23T16:05:55+00:00" }, { "name": "phpunit/dbunit", @@ -4243,16 +4262,16 @@ }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619" + "reference": "92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54", + "reference": "92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54", "shasum": "" }, "require": { @@ -4286,7 +4305,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.3" }, "funding": [ { @@ -4294,7 +4313,7 @@ "type": "github" } ], - "time": "2020-11-30T08:15:22+00:00" + "time": "2024-03-01T13:45:45+00:00" }, { "name": "sebastian/comparator", @@ -4931,23 +4950,23 @@ }, { "name": "zf1s/zend-dom", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-dom.git", - "reference": "ef16ad72bcf6c24aa532f394e82d46927c972ae9" + "reference": "05e322cd34b971f3586a15389341230f977c1536" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-dom/zipball/ef16ad72bcf6c24aa532f394e82d46927c972ae9", - "reference": "ef16ad72bcf6c24aa532f394e82d46927c972ae9", + "url": "https://api.github.com/repos/zf1s/zend-dom/zipball/05e322cd34b971f3586a15389341230f977c1536", + "reference": "05e322cd34b971f3586a15389341230f977c1536", "shasum": "" }, "require": { "ext-dom": "*", "php": ">=5.3.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-xml": "^1.15.3" + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-xml": "^1.15.4" }, "replace": { "zf1/zend-dom": "^1.12" @@ -4976,32 +4995,32 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-dom/tree/1.15.3" + "source": "https://github.com/zf1s/zend-dom/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" }, { "name": "zf1s/zend-test", - "version": "1.15.3", + "version": "1.15.4", "source": { "type": "git", "url": "https://github.com/zf1s/zend-test.git", - "reference": "44109783adb19ea5f01d52f1264a0e4f883dcc50" + "reference": "206bd8fba9acf9713716c74c1a781b01959d8693" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zf1s/zend-test/zipball/44109783adb19ea5f01d52f1264a0e4f883dcc50", - "reference": "44109783adb19ea5f01d52f1264a0e4f883dcc50", + "url": "https://api.github.com/repos/zf1s/zend-test/zipball/206bd8fba9acf9713716c74c1a781b01959d8693", + "reference": "206bd8fba9acf9713716c74c1a781b01959d8693", "shasum": "" }, "require": { "php": ">=5.3.3", - "zf1s/zend-controller": "^1.15.3", - "zf1s/zend-dom": "^1.15.3", - "zf1s/zend-exception": "^1.15.3", - "zf1s/zend-layout": "^1.15.3", - "zf1s/zend-registry": "^1.15.3", - "zf1s/zend-session": "^1.15.3" + "zf1s/zend-controller": "^1.15.4", + "zf1s/zend-dom": "^1.15.4", + "zf1s/zend-exception": "^1.15.4", + "zf1s/zend-layout": "^1.15.4", + "zf1s/zend-registry": "^1.15.4", + "zf1s/zend-session": "^1.15.4" }, "replace": { "zf1/zend-test": "^1.12" @@ -5033,9 +5052,9 @@ "zend" ], "support": { - "source": "https://github.com/zf1s/zend-test/tree/1.15.3" + "source": "https://github.com/zf1s/zend-test/tree/1.15.4" }, - "time": "2024-01-04T13:33:07+00:00" + "time": "2024-02-25T14:57:38+00:00" } ], "aliases": [], From c286774e991a7e5c67f3acec56f8ba836e3a4838 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 24 Mar 2024 17:09:16 +0000 Subject: [PATCH 50/86] chore(deps): update pre-commit hook asottile/pyupgrade to v3.15.2 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ce0e94a61..3bc264ad0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -36,7 +36,7 @@ repos: exclude: ^(legacy/public(?!/js/airtime)|CHANGELOG.md$|.github/release-please-manifest.json) - repo: https://github.com/asottile/pyupgrade - rev: v3.15.1 + rev: v3.15.2 hooks: - id: pyupgrade args: [--py38-plus] From 634e6e236d908994d586c946bbe28bcba8a357fa Mon Sep 17 00:00:00 2001 From: Keoni Mahelona Date: Tue, 26 Mar 2024 22:29:16 +1300 Subject: [PATCH 51/86] fix: incorrect docker compose version (#2975) ### Description There is no docker compose file version 3.9, see https://docs.docker.com/compose/compose-file/compose-versioning/. The `init` command is used in the compose file and I wonder if we can set this to 3.7. When I followed the docs here https://libretime.org/docs/admin-manual/install/install-using-docker/, I was unable to get the docker compose to work because of a version issue. So I upgraded docker (on Ubuntu focal) but realised that 3.9 isn't even mentioned on the Docker website. 3.8 is, which I tried to use but it failed. 3.7 worked for me. **I have updated the documentation to reflect these changes**: Docs are not affected. ### Testing Notes **What I did:** I was following the [docs](https://libretime.org/docs/admin-manual/install/install-using-docker/) but then rand into a docker compose file version error. I'm using docker engine version 26, ``` Client: Docker Engine - Community Version: 26.0.0 API version: 1.45 Go version: go1.21.8 Git commit: 2ae903e Built: Wed Mar 20 15:17:51 2024 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 26.0.0 API version: 1.45 (minimum version 1.24) Go version: go1.21.8 Git commit: 8b79278 Built: Wed Mar 20 15:17:51 2024 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.28 GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb runc: Version: 1.1.12 GitCommit: v1.1.12-0-g51d5e94 docker-init: Version: 0.19.0 GitCommit: de40ad0 Ubuntu Version Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal ``` which is very recent. When I checked the docker compose version [page](https://docs.docker.com/compose/compose-file/compose-versioning/), it doesn't even list 3.9 as a version, only 3.8. For whatever reason 3.8 did not work for me, but 3.7 does. **How you can replicate my testing:** Follow the docs, https://libretime.org/docs/admin-manual/install/install-using-docker/. If docker compose fails to run, and says ``` ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1. ``` then change the version to 3.7. ### **Links** N/A --- docker-compose.override.yml | 2 +- docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 3be135b6d..df907d7c3 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -2,7 +2,7 @@ # This file is used for development. It it not intended for production! # See https://libretime.org/docs/developer-manual/development/environment/#docker-compose # -version: "3.9" +version: "3.7" services: postgres: diff --git a/docker-compose.yml b/docker-compose.yml index 176235413..cb02af30d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3.9" +version: "3.7" services: postgres: From f6092e84d7047bb622960b417e262b6141bc456c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 09:30:34 +0000 Subject: [PATCH 52/86] chore(deps): lock file maintenance (legacy/composer.json) --- legacy/composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/legacy/composer.lock b/legacy/composer.lock index a9f2a1544..d60bbeadc 100644 --- a/legacy/composer.lock +++ b/legacy/composer.lock @@ -3731,16 +3731,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.26.0", + "version": "1.27.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "231e3186624c03d7e7c890ec662b81e6b0405227" + "reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/231e3186624c03d7e7c890ec662b81e6b0405227", - "reference": "231e3186624c03d7e7c890ec662b81e6b0405227", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/86e4d5a4b036f8f0be1464522f4c6b584c452757", + "reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757", "shasum": "" }, "require": { @@ -3772,9 +3772,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.26.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.27.0" }, - "time": "2024-02-23T16:05:55+00:00" + "time": "2024-03-21T13:14:53+00:00" }, { "name": "phpunit/dbunit", From 78f4fcfec87a0ad3c5027d348d7ee7df0785228d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 18:47:53 +0200 Subject: [PATCH 53/86] chore(deps): update dependency pytest-cov to v5 (#2976) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pytest-cov](https://togithub.com/pytest-dev/pytest-cov) ([changelog](https://pytest-cov.readthedocs.io/en/latest/changelog.html)) | `>=4.0.0,<5` -> `>=4.0.0,<6` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest-cov/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest-cov/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest-cov/4.1.0/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest-cov/4.1.0/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
pytest-dev/pytest-cov (pytest-cov) ### [`v5.0.0`](https://togithub.com/pytest-dev/pytest-cov/blob/HEAD/CHANGELOG.rst#500-2024-03-24) [Compare Source](https://togithub.com/pytest-dev/pytest-cov/compare/v4.1.0...v5.0.0) - Removed support for xdist rsync (now deprecated). Contributed by Matthias Reichenbach in `#​623 `\_. - Switched docs theme to Furo. - Various legacy Python cleanup and CI improvements. Contributed by Christian Clauss and Hugo van Kemenade in `#​630 `*, `#​631 `*, `#​632 `\_ and `#​633 `\_. - Added a `pyproject.toml` example in the docs. Contributed by Dawn James in `#​626 `\_. - Modernized project's pre-commit hooks to use ruff. Initial POC contributed by Christian Clauss in `#​584 `\_.
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tools/python-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/python-requirements.txt b/tools/python-requirements.txt index e95226427..1dc02884e 100644 --- a/tools/python-requirements.txt +++ b/tools/python-requirements.txt @@ -4,6 +4,6 @@ flake8>=6.0.0,<8 isort>=5.12.0,<6 mypy>=1.6.0,<2 pylint>=2.16.1,<4 -pytest-cov>=4.0.0,<5 +pytest-cov>=4.0.0,<6 pytest-xdist>=3.1.0,<4 pytest>=7.2.1,<9 From d31d4fc5bf368433b70e7a79cf862d508b3f1df3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 18:48:02 +0200 Subject: [PATCH 54/86] chore(deps): update dependency uvicorn to >=0.17.6,<0.30.0 (#2974) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [uvicorn](https://togithub.com/encode/uvicorn) ([changelog](https://togithub.com/encode/uvicorn/blob/master/CHANGELOG.md)) | `>=0.17.6,<0.29.0` -> `>=0.17.6,<0.30.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/uvicorn/0.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/uvicorn/0.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/uvicorn/0.28.1/0.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/uvicorn/0.28.1/0.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
encode/uvicorn (uvicorn) ### [`v0.29.0`](https://togithub.com/encode/uvicorn/blob/HEAD/CHANGELOG.md#0290---2024-03-19) [Compare Source](https://togithub.com/encode/uvicorn/compare/0.28.1...0.29.0) ##### Added - Cooperative signal handling ([#​1600](https://togithub.com/encode/uvicorn/issues/1600)) 19/03/24
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- api/requirements.txt | 2 +- api/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/requirements.txt b/api/requirements.txt index 72366b0f7..089281db9 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -8,4 +8,4 @@ drf-spectacular>=0.22.1,<0.28 gunicorn>=20.1.0,<21.3 psycopg[c]>=3.1.8,<3.2 requests>=2.31.0,<2.32 -uvicorn[standard]>=0.17.6,<0.29.0 +uvicorn[standard]>=0.17.6,<0.30.0 diff --git a/api/setup.py b/api/setup.py index 832f1a0b0..edf7eee3c 100644 --- a/api/setup.py +++ b/api/setup.py @@ -37,7 +37,7 @@ setup( "prod": [ "gunicorn>=20.1.0,<21.3", "psycopg[c]>=3.1.8,<3.2", - "uvicorn[standard]>=0.17.6,<0.29.0", + "uvicorn[standard]>=0.17.6,<0.30.0", ], "dev": [ "django-coverage-plugin>=3.0.0,<4", From a5949ee15505911e4cff37a02b8668339f374c91 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 18:48:14 +0200 Subject: [PATCH 55/86] chore(deps): update dependency django-filter to >=2.4.0,<24.3 (#2978) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [django-filter](https://togithub.com/carltongibson/django-filter) ([changelog](https://togithub.com/carltongibson/django-filter/blob/main/CHANGES.rst)) | `>=2.4.0,<24.2` -> `>=2.4.0,<24.3` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/django-filter/24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/django-filter/24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/django-filter/24.1/24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/django-filter/24.1/24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
carltongibson/django-filter (django-filter) ### [`v24.2`](https://togithub.com/carltongibson/django-filter/blob/HEAD/CHANGES.rst#Version-242-2024-03-27) [Compare Source](https://togithub.com/carltongibson/django-filter/compare/24.1...24.2) - Fixed a regression in v23.4 where callable choices were incorrectly evaluated at filter instantiation, on Django versions prior to 5.0. Thanks to Craig de Stigter for the report and reproduce.
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- api/requirements.txt | 2 +- api/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/requirements.txt b/api/requirements.txt index 089281db9..6e6668da7 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -1,7 +1,7 @@ # Please do not edit this file, edit the setup.py file! # This file is auto-generated by tools/extract_requirements.py. django-cors-headers>=3.14.0,<4.4 -django-filter>=2.4.0,<24.2 +django-filter>=2.4.0,<24.3 django>=4.2.0,<4.3 djangorestframework>=3.14.0,<3.15 drf-spectacular>=0.22.1,<0.28 diff --git a/api/setup.py b/api/setup.py index edf7eee3c..886f6f852 100644 --- a/api/setup.py +++ b/api/setup.py @@ -27,7 +27,7 @@ setup( }, install_requires=[ "django-cors-headers>=3.14.0,<4.4", - "django-filter>=2.4.0,<24.2", + "django-filter>=2.4.0,<24.3", "django>=4.2.0,<4.3", "djangorestframework>=3.14.0,<3.15", "drf-spectacular>=0.22.1,<0.28", From 66436a7b9e9fe4ecf6a40b9edbb84a4cf091c23c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 20:38:03 +0000 Subject: [PATCH 56/86] chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v4.6.0 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3bc264ad0..6aa97ead3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,7 @@ # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.5.0 + rev: v4.6.0 hooks: - id: check-added-large-files - id: check-case-conflict From 0296446b7009fc70cf7eb78ba762a7a8bcfe8f63 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 14:29:58 +0200 Subject: [PATCH 57/86] chore(deps): update dependency pydantic to >=2.5.0,<2.8 (#2981) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `>=2.5.0,<2.7` -> `>=2.5.0,<2.8` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.6.4/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.6.4/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
pydantic/pydantic (pydantic) ### [`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0) The code released in v2.7.0 is practically identical to that of v2.7.0b1. ##### What's Changed ##### Packaging - Reorganize `pyproject.toml` sections by [@​Viicos](https://togithub.com/Viicos) in [#​8899](https://togithub.com/pydantic/pydantic/pull/8899) - Bump `pydantic-core` to `v2.18.1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9211](https://togithub.com/pydantic/pydantic/pull/9211) - Adopt `jiter` `v0.2.0` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250) ##### New Features - Extract attribute docstrings from `FieldInfo.description` by [@​Viicos](https://togithub.com/Viicos) in [#​6563](https://togithub.com/pydantic/pydantic/pull/6563) - Add a `with_config` decorator to comply with typing spec by [@​Viicos](https://togithub.com/Viicos) in [#​8611](https://togithub.com/pydantic/pydantic/pull/8611) - Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by [@​jks15satoshi](https://togithub.com/jks15satoshi) in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - Add generic `Secret` base type by [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - Make use of `Sphinx` inventories for cross references in docs by [@​Viicos](https://togithub.com/Viicos) in [#​8682](https://togithub.com/pydantic/pydantic/pull/8682) - Add environment variable to disable plugins by [@​geospackle](https://togithub.com/geospackle) in [#​8767](https://togithub.com/pydantic/pydantic/pull/8767) - Add support for `deprecated` fields by [@​Viicos](https://togithub.com/Viicos) in [#​8237](https://togithub.com/pydantic/pydantic/pull/8237) - Allow `field_serializer('*')` by [@​ornariece](https://togithub.com/ornariece) in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - Handle a case when `model_config` is defined as a model property by [@​alexeyt101](https://togithub.com/alexeyt101) in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - Update `create_model()` to support `typing.Annotated` as input by [@​wannieman98](https://togithub.com/wannieman98) in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - Add `ClickhouseDsn` support by [@​solidguy7](https://togithub.com/solidguy7) in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - Add support for `re.Pattern[str]` to `pattern` field by [@​jag-k](https://togithub.com/jag-k) in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - Support for `serialize_as_any` runtime setting by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8830](https://togithub.com/pydantic/pydantic/pull/8830) - Add support for `typing.Self` by [@​Youssefares](https://togithub.com/Youssefares) in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - Ability to pass `context` to serialization by [@​ornariece](https://togithub.com/ornariece) in [#​8965](https://togithub.com/pydantic/pydantic/pull/8965) - Add feedback widget to docs with flarelytics integration by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9129](https://togithub.com/pydantic/pydantic/pull/9129) - Support for parsing partial JSON strings in Python by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66) **Finalized in v2.7.0, rather than v2.7.0b1:** - Add support for field level number to str coercion option by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9137](https://togithub.com/pydantic/pydantic/pull/9137) - Update `warnings` parameter for serialization utilities to allow raising a warning by [@​Lance-Drane](https://togithub.com/Lance-Drane) in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) ##### Changes - Correct docs, logic for `model_construct` behavior with `extra` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8807](https://togithub.com/pydantic/pydantic/pull/8807) - Improve error message for improper `RootModel` subclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8857](https://togithub.com/pydantic/pydantic/pull/8857) - Use `PEP570` syntax by [@​Viicos](https://togithub.com/Viicos) in [#​8940](https://togithub.com/pydantic/pydantic/pull/8940) - Add `enum` and `type` to the JSON schema for single item literals by [@​dmontagu](https://togithub.com/dmontagu) in [#​8944](https://togithub.com/pydantic/pydantic/pull/8944) - Deprecate `update_json_schema` internal function by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9125](https://togithub.com/pydantic/pydantic/pull/9125) - Serialize duration to hour minute second, instead of just seconds by [@​kakilangit](https://togithub.com/kakilangit) in [pydantic/speedate#50](https://togithub.com/pydantic/speedate/pull/50) - Trimming str before parsing to int and float by [@​hungtsetse](https://togithub.com/hungtsetse) in [pydantic/pydantic-core#1203](https://togithub.com/pydantic/pydantic-core/pull/1203) ##### Performance - `enum` validator improvements by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9045](https://togithub.com/pydantic/pydantic/pull/9045) - Move `enum` validation and serialization to Rust by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9064](https://togithub.com/pydantic/pydantic/pull/9064) - Improve schema generation for nested dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9114](https://togithub.com/pydantic/pydantic/pull/9114) - Fast path for ASCII python string creation in JSON by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#72](https://togithub.com/pydantic/jiter/pull/72) - SIMD integer and string JSON parsing on `aarch64`(**Note:** SIMD on x86 will be implemented in a future release) by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#65](https://togithub.com/pydantic/jiter/pull/65) - Support JSON `Cow` from `jiter` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1231](https://togithub.com/pydantic/pydantic-core/pull/1231) - MAJOR performance improvement: update to PyO3 0.21 final by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1248](https://togithub.com/pydantic/pydantic-core/pull/1248) - cache Python strings by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1240](https://togithub.com/pydantic/pydantic-core/pull/1240) ##### Fixes - Fix strict parsing for some `Sequence`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8614](https://togithub.com/pydantic/pydantic/pull/8614) - Add a check on the existence of `__qualname__` by [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - Handle `__pydantic_extra__` annotation being a string or inherited by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8659](https://togithub.com/pydantic/pydantic/pull/8659) - Fix json validation for `NameEmail` by [@​Holi0317](https://togithub.com/Holi0317) in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - Fix type-safety of attribute access in `BaseModel` by [@​bluenote10](https://togithub.com/bluenote10) in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - Fix bug with `mypy` plugin and `no_strict_optional = True` by [@​dmontagu](https://togithub.com/dmontagu) in [#​8666](https://togithub.com/pydantic/pydantic/pull/8666) - Fix `ByteSize` error `type` change by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8681](https://togithub.com/pydantic/pydantic/pull/8681) - Fix inheriting annotations in dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8679](https://togithub.com/pydantic/pydantic/pull/8679) - Fix regression in core schema generation for indirect definition references by [@​dmontagu](https://togithub.com/dmontagu) in [#​8702](https://togithub.com/pydantic/pydantic/pull/8702) - Fix unsupported types bug with plain validator by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8710](https://togithub.com/pydantic/pydantic/pull/8710) - Reverting problematic fix from 2.6 release, fixing schema building bug by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8718](https://togithub.com/pydantic/pydantic/pull/8718) - fixes `__pydantic_config__` ignored for TypeDict by [@​13sin](https://togithub.com/13sin) in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - Fix test failures with `pytest v8.0.0` due to `pytest.warns()` starting to work inside `pytest.raises()` by [@​mgorny](https://togithub.com/mgorny) in [#​8678](https://togithub.com/pydantic/pydantic/pull/8678) - Use `is_valid_field` from 1.x for `mypy` plugin by [@​DanielNoord](https://togithub.com/DanielNoord) in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - Better-support `mypy` strict equality flag by [@​dmontagu](https://togithub.com/dmontagu) in [#​8799](https://togithub.com/pydantic/pydantic/pull/8799) - model_json_schema export with Annotated types misses 'required' parameters by [@​LouisGobert](https://togithub.com/LouisGobert) in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - Fix default inclusion in `FieldInfo.__repr_args__` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8801](https://togithub.com/pydantic/pydantic/pull/8801) - Fix resolution of forward refs in dataclass base classes that are not present in the subclass module namespace by [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - Fix `BaseModel` type annotations to be resolvable by `typing.get_type_hints` by [@​devmonkey22](https://togithub.com/devmonkey22) in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - Fix: allow empty string aliases with `AliasGenerator` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8810](https://togithub.com/pydantic/pydantic/pull/8810) - Fix test along with `date` -> `datetime` timezone assumption fix by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8823](https://togithub.com/pydantic/pydantic/pull/8823) - Fix deprecation warning with usage of `ast.Str` by [@​Viicos](https://togithub.com/Viicos) in [#​8837](https://togithub.com/pydantic/pydantic/pull/8837) - Add missing `deprecated` decorators by [@​Viicos](https://togithub.com/Viicos) in [#​8877](https://togithub.com/pydantic/pydantic/pull/8877) - Fix serialization of `NameEmail` if name includes an email address by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8860](https://togithub.com/pydantic/pydantic/pull/8860) - Add information about class in error message of schema generation by [@​Czaki](https://togithub.com/Czaki) in [#​8917](https://togithub.com/pydantic/pydantic/pull/8917) - Make `TypeAdapter`'s typing compatible with special forms by [@​adriangb](https://togithub.com/adriangb) in [#​8923](https://togithub.com/pydantic/pydantic/pull/8923) - Fix issue with config behavior being baked into the ref schema for `enum`s by [@​dmontagu](https://togithub.com/dmontagu) in [#​8920](https://togithub.com/pydantic/pydantic/pull/8920) - More helpful error re wrong `model_json_schema` usage by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8928](https://togithub.com/pydantic/pydantic/pull/8928) - Fix nested discriminated union schema gen, pt 2 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8932](https://togithub.com/pydantic/pydantic/pull/8932) - Fix schema build for nested dataclasses / TypedDicts with discriminators by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8950](https://togithub.com/pydantic/pydantic/pull/8950) - Remove unnecessary logic for definitions schema gen with discriminated unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8951](https://togithub.com/pydantic/pydantic/pull/8951) - Fix handling of optionals in `mypy` plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9008](https://togithub.com/pydantic/pydantic/pull/9008) - Fix `PlainSerializer` usage with std type constructor by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9031](https://togithub.com/pydantic/pydantic/pull/9031) - Remove unnecessary warning for config in plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9039](https://togithub.com/pydantic/pydantic/pull/9039) - Fix default value serializing by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9066](https://togithub.com/pydantic/pydantic/pull/9066) - Fix extra fields check in `Model.__getattr__()` by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9082](https://togithub.com/pydantic/pydantic/pull/9082) - Fix `ClassVar` forward ref inherited from parent class by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​9097](https://togithub.com/pydantic/pydantic/pull/9097) - fix sequence like validator with strict `True` by [@​andresliszt](https://togithub.com/andresliszt) in [#​8977](https://togithub.com/pydantic/pydantic/pull/8977) - Improve warning message when a field name shadows a field in a parent model by [@​chan-vince](https://togithub.com/chan-vince) in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - Do not warn about shadowed fields if they are not redefined in a child class by [@​chan-vince](https://togithub.com/chan-vince) in [#​9111](https://togithub.com/pydantic/pydantic/pull/9111) - Fix discriminated union bug with unsubstituted type var by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9124](https://togithub.com/pydantic/pydantic/pull/9124) - Support serialization of `deque` when passed to `Sequence[blah blah blah]` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9128](https://togithub.com/pydantic/pydantic/pull/9128) - Init private attributes from super-types in `model_post_init` by [@​Viicos](https://togithub.com/Viicos) in [#​9134](https://togithub.com/pydantic/pydantic/pull/9134) - fix `model_construct` with `validation_alias` by [@​ornariece](https://togithub.com/ornariece) in [#​9144](https://togithub.com/pydantic/pydantic/pull/9144) - Ensure json-schema generator handles `Literal` `null` types by [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - **Fixed in v2.7.0**: Fix allow extra generic by [@​dmontagu](https://togithub.com/dmontagu) in [#​9193](https://togithub.com/pydantic/pydantic/pull/9193) ##### New Contributors - [@​hungtsetse](https://togithub.com/hungtsetse) made their first contribution in [#​8546](https://togithub.com/pydantic/pydantic/pull/8546) - [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made their first contribution in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) - [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) made their first contribution in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - [@​Holi0317](https://togithub.com/Holi0317) made their first contribution in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - [@​bluenote10](https://togithub.com/bluenote10) made their first contribution in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - [@​ADSteele916](https://togithub.com/ADSteele916) made their first contribution in [#​8703](https://togithub.com/pydantic/pydantic/pull/8703) - [@​musicinmybrain](https://togithub.com/musicinmybrain) made their first contribution in [#​8731](https://togithub.com/pydantic/pydantic/pull/8731) - [@​jks15satoshi](https://togithub.com/jks15satoshi) made their first contribution in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - [@​13sin](https://togithub.com/13sin) made their first contribution in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - [@​DanielNoord](https://togithub.com/DanielNoord) made their first contribution in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) made their first contribution in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - [@​chris-griffin](https://togithub.com/chris-griffin) made their first contribution in [#​8775](https://togithub.com/pydantic/pydantic/pull/8775) - [@​LouisGobert](https://togithub.com/LouisGobert) made their first contribution in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) made their first contribution in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - [@​devmonkey22](https://togithub.com/devmonkey22) made their first contribution in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - [@​adamency](https://togithub.com/adamency) made their first contribution in [#​8847](https://togithub.com/pydantic/pydantic/pull/8847) - [@​MamfTheKramf](https://togithub.com/MamfTheKramf) made their first contribution in [#​8851](https://togithub.com/pydantic/pydantic/pull/8851) - [@​ornariece](https://togithub.com/ornariece) made their first contribution in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - [@​alexeyt101](https://togithub.com/alexeyt101) made their first contribution in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - [@​wannieman98](https://togithub.com/wannieman98) made their first contribution in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - [@​solidguy7](https://togithub.com/solidguy7) made their first contribution in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - [@​kloczek](https://togithub.com/kloczek) made their first contribution in [#​9047](https://togithub.com/pydantic/pydantic/pull/9047) - [@​jag-k](https://togithub.com/jag-k) made their first contribution in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - [@​priya-gitTest](https://togithub.com/priya-gitTest) made their first contribution in [#​9088](https://togithub.com/pydantic/pydantic/pull/9088) - [@​Youssefares](https://togithub.com/Youssefares) made their first contribution in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - [@​chan-vince](https://togithub.com/chan-vince) made their first contribution in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) made their first contribution in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - [@​Lance-Drane](https://togithub.com/Lance-Drane) made their first contribution in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: jo --- shared/requirements.txt | 2 +- shared/setup.py | 2 +- shared/tests/config/base_test.py | 36 ++++++++++++++++++++++++++------ 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/shared/requirements.txt b/shared/requirements.txt index 215ce3f08..df72fdd51 100644 --- a/shared/requirements.txt +++ b/shared/requirements.txt @@ -2,5 +2,5 @@ # This file is auto-generated by tools/extract_requirements.py. backports.zoneinfo>=0.2.1,<0.3;python_version<'3.9' click>=8.0.4,<8.2 -pydantic>=2.5.0,<2.7 +pydantic>=2.5.0,<2.8 pyyaml>=5.3.1,<6.1 diff --git a/shared/setup.py b/shared/setup.py index 2b1409af6..dbb54c288 100644 --- a/shared/setup.py +++ b/shared/setup.py @@ -14,7 +14,7 @@ setup( install_requires=[ "backports.zoneinfo>=0.2.1,<0.3;python_version<'3.9'", "click>=8.0.4,<8.2", - "pydantic>=2.5.0,<2.7", + "pydantic>=2.5.0,<2.8", "pyyaml>=5.3.1,<6.1", ], extras_require={ diff --git a/shared/tests/config/base_test.py b/shared/tests/config/base_test.py index 93e9b900f..f9a4c0ef0 100644 --- a/shared/tests/config/base_test.py +++ b/shared/tests/config/base_test.py @@ -41,7 +41,13 @@ FIXTURE_CONFIG_JSON_SCHEMA = { "default": "stereo", }, "bitrate": {"title": "Bitrate", "type": "integer"}, - "format": {"const": "aac", "default": "aac", "title": "Format"}, + "format": { + "const": "aac", + "default": "aac", + "enum": ["aac"], + "title": "Format", + "type": "string", + }, }, "required": ["bitrate"], "title": "AudioAAC", @@ -59,7 +65,13 @@ FIXTURE_CONFIG_JSON_SCHEMA = { "default": "stereo", }, "bitrate": {"title": "Bitrate", "type": "integer"}, - "format": {"const": "mp3", "default": "mp3", "title": "Format"}, + "format": { + "const": "mp3", + "default": "mp3", + "enum": ["mp3"], + "title": "Format", + "type": "string", + }, }, "required": ["bitrate"], "title": "AudioMP3", @@ -72,7 +84,13 @@ FIXTURE_CONFIG_JSON_SCHEMA = { "default": "stereo", }, "bitrate": {"title": "Bitrate", "type": "integer"}, - "format": {"const": "ogg", "default": "ogg", "title": "Format"}, + "format": { + "const": "ogg", + "default": "ogg", + "enum": ["ogg"], + "title": "Format", + "type": "string", + }, "enable_metadata": { "anyOf": [{"type": "boolean"}, {"type": "null"}], "default": False, @@ -93,7 +111,9 @@ FIXTURE_CONFIG_JSON_SCHEMA = { "format": { "const": "opus", "default": "opus", + "enum": ["opus"], "title": "Format", + "type": "string", }, }, "required": ["bitrate"], @@ -132,7 +152,9 @@ FIXTURE_CONFIG_JSON_SCHEMA = { "kind": { "const": "icecast", "default": "icecast", + "enum": ["icecast"], "title": "Kind", + "type": "string", }, "enabled": { "default": False, @@ -141,7 +163,7 @@ FIXTURE_CONFIG_JSON_SCHEMA = { }, "public_url": { "anyOf": [ - {"type": "string", "format": "uri"}, + {"format": "uri", "type": "string"}, {"type": "null"}, ], "default": None, @@ -253,7 +275,9 @@ FIXTURE_CONFIG_JSON_SCHEMA = { "kind": { "const": "shoutcast", "default": "shoutcast", + "enum": ["shoutcast"], "title": "Kind", + "type": "string", }, "enabled": { "default": False, @@ -262,7 +286,7 @@ FIXTURE_CONFIG_JSON_SCHEMA = { }, "public_url": { "anyOf": [ - {"type": "string", "format": "uri"}, + {"format": "uri", "type": "string"}, {"type": "null"}, ], "default": None, @@ -334,7 +358,7 @@ FIXTURE_CONFIG_JSON_SCHEMA = { }, }, "properties": { - "public_url": {"title": "Public Url", "type": "string", "format": "uri"}, + "public_url": {"format": "uri", "title": "Public Url", "type": "string"}, "api_key": {"title": "Api Key", "type": "string"}, "allowed_hosts": { "default": [], From 9192aaa2bb2dada470e03537493160d9b14a42f4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 14:36:31 +0200 Subject: [PATCH 58/86] fix(deps): update dependency friendsofphp/php-cs-fixer to <3.53.1 (#2972) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [friendsofphp/php-cs-fixer](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer) | `<3.51.1` -> `<3.53.1` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/friendsofphp%2fphp-cs-fixer/3.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/friendsofphp%2fphp-cs-fixer/3.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/friendsofphp%2fphp-cs-fixer/3.51.0/3.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/friendsofphp%2fphp-cs-fixer/3.51.0/3.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
PHP-CS-Fixer/PHP-CS-Fixer (friendsofphp/php-cs-fixer) ### [`v3.53.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3530) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.52.1...v3.53.0) - chore: Use `list` over `array` in more places ([#​7905](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7905)) - CI: allow for self-approvals for maintainers ([#​7921](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7921)) - CI: Improve Infection setup ([#​7913](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7913)) - CI: no need to trigger enable auto-merge when self-approve ([#​7929](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7929)) - DX: reduce `array_filter` function usages ([#​7923](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7923)) - DX: remove duplicated character from `trim` call ([#​7930](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7930)) - DX: update actions producing warnings ([#​7925](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7925)) - DX: update actions producing warnings ([#​7928](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7928)) - DX: update `phpstan/phpstan-strict-rules` ([#​7924](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7924)) - feat: Add trailing comma in multiline to PER-CS 2.0 ([#​7916](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7916)) - feat: Introduce `AttributeAnalysis` ([#​7909](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7909)) - feat: `@PHP84Migration` introduction ([#​7774](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7774)) - fix: Constant invocation detected in typed constants ([#​7892](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7892)) - fix: `PhpdocArrayTypeFixer` - JIT stack limit exhausted ([#​7895](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7895)) - test: Introduce Infection for mutation tests ([#​7874](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7874)) ### [`v3.52.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3521) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.52.0...v3.52.1) - fix: StatementIndentationFixer - do not crash on ternary operator in class property ([#​7899](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7899)) - fix: `PhpCsFixer\Tokenizer\Tokens::setSize` return type ([#​7900](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7900)) ### [`v3.52.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3520) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.51.0...v3.52.0) - chore: fix PHP 8.4 deprecations ([#​7894](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7894)) - chore: fix PHPStan 1.10.60 issues ([#​7873](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7873)) - chore: list over array in more places ([#​7876](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7876)) - chore: replace template with variable in Preg class ([#​7882](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7882)) - chore: update PHPStan ([#​7871](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7871)) - depr: `nullable_type_declaration_for_default_null_value` - deprecate option that is against `@PHP84Migration` ([#​7872](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7872)) - docs: Fix typo ([#​7889](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7889)) - feat: Add support for callable template in PHPDoc parser ([#​7084](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7084)) - feat: Add `array_indentation` to `PER-CS2.0` ruleset ([#​7881](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7881)) - feat: `@Symfony:risky` - add `no_unreachable_default_argument_value` ([#​7863](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7863)) - feat: `PhpCsFixer` ruleset - enable `nullable_type_declaration_for_default_null_value` ([#​7870](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7870)) - fix: Constant invocation detected in DNF types ([#​7869](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7869)) - fix: Correctly indent multiline constants and properties ([#​7875](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7875)) - fix: `no_useless_concat_operator` - do not break variable ([#​7827](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7827)) - fix: `TokensAnalyzer` - handle unary operator in arrow functions ([#​7862](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7862)) - fix: `TypeExpression` - fix "JIT stack limit exhausted" error ([#​7843](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7843))
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: jo --- legacy/application/common/HTTPHelper.php | 2 +- legacy/application/logging/AirtimeLog.php | 2 +- legacy/application/models/airtime/CcShow.php | 6 +++--- legacy/application/models/airtime/CcShowInstances.php | 2 +- .../modules/rest/controllers/RouteController.php | 2 +- legacy/tools/composer.json | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/legacy/application/common/HTTPHelper.php b/legacy/application/common/HTTPHelper.php index 3047685cc..11780c5ed 100644 --- a/legacy/application/common/HTTPHelper.php +++ b/legacy/application/common/HTTPHelper.php @@ -63,7 +63,7 @@ class ZendActionHttpException extends Exception $statusCode, $message, $code = 0, - Exception $previous = null + ?Exception $previous = null ) { Logging::error('Error in action ' . $action->getRequest()->getActionName() . " with status code {$statusCode}: {$message}"); diff --git a/legacy/application/logging/AirtimeLog.php b/legacy/application/logging/AirtimeLog.php index 5759936b8..e27493d12 100644 --- a/legacy/application/logging/AirtimeLog.php +++ b/legacy/application/logging/AirtimeLog.php @@ -17,7 +17,7 @@ class Airtime_Zend_Log extends Zend_Log */ protected $_origErrorHandler; - public function __construct(Zend_Log_Writer_Abstract $writer = null) + public function __construct(?Zend_Log_Writer_Abstract $writer = null) { parent::__construct($writer); } diff --git a/legacy/application/models/airtime/CcShow.php b/legacy/application/models/airtime/CcShow.php index 02c6c569e..81f44f817 100644 --- a/legacy/application/models/airtime/CcShow.php +++ b/legacy/application/models/airtime/CcShow.php @@ -42,7 +42,7 @@ class CcShow extends BaseCcShow * * @throws PropelException */ - public function getFirstCcShowDay($criteria = null, PropelPDO $con = null) + public function getFirstCcShowDay($criteria = null, ?PropelPDO $con = null) { /*CcShowPeer::clearInstancePool(); CcShowPeer::clearRelatedInstancePool();*/ @@ -161,7 +161,7 @@ class CcShow extends BaseCcShow * * @throws PropelException */ - public function getFutureCcShowInstancess($criteria = null, PropelPDO $con = null) + public function getFutureCcShowInstancess($criteria = null, ?PropelPDO $con = null) { if (null === $this->collCcShowInstancess || null !== $criteria) { if ($this->isNew() && null === $this->collCcShowInstancess) { @@ -246,7 +246,7 @@ class CcShow extends BaseCcShow * * @throws PropelException */ - public function getCcShowInstancess($criteria = null, PropelPDO $con = null) + public function getCcShowInstancess($criteria = null, ?PropelPDO $con = null) { return CcShowInstancesQuery::create(null, $criteria) ->filterByCcShow($this) diff --git a/legacy/application/models/airtime/CcShowInstances.php b/legacy/application/models/airtime/CcShowInstances.php index 0a495a833..30cd519a9 100644 --- a/legacy/application/models/airtime/CcShowInstances.php +++ b/legacy/application/models/airtime/CcShowInstances.php @@ -192,7 +192,7 @@ class CcShowInstances extends BaseCcShowInstances $this->save($con); } - public function preInsert(PropelPDO $con = null) + public function preInsert(?PropelPDO $con = null) { $now = new DateTime('now', new DateTimeZone('UTC')); $this->setDbCreated($now); diff --git a/legacy/application/modules/rest/controllers/RouteController.php b/legacy/application/modules/rest/controllers/RouteController.php index 0b3482a1c..4d9b61b87 100644 --- a/legacy/application/modules/rest/controllers/RouteController.php +++ b/legacy/application/modules/rest/controllers/RouteController.php @@ -24,7 +24,7 @@ class Rest_RouteController extends Zend_Controller_Router_Route * @param Zend_Translate $translator Translator to use for this instance * @param null|mixed $locale */ - public function __construct(Zend_Controller_Front $front, $route, $defaults = [], $reqs = [], Zend_Translate $translator = null, $locale = null) + public function __construct(Zend_Controller_Front $front, $route, $defaults = [], $reqs = [], ?Zend_Translate $translator = null, $locale = null) { $this->_front = $front; $this->_dispatcher = $front->getDispatcher(); diff --git a/legacy/tools/composer.json b/legacy/tools/composer.json index ad0f37c53..96b9bd134 100644 --- a/legacy/tools/composer.json +++ b/legacy/tools/composer.json @@ -1,6 +1,6 @@ { "require": { "php": "^7.4", - "friendsofphp/php-cs-fixer": "<3.51.1" + "friendsofphp/php-cs-fixer": "<3.53.1" } } From fb0584b021fd1c966181c7ab3989938cdfe4e642 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Sat, 13 Apr 2024 14:37:04 +0200 Subject: [PATCH 59/86] fix: remove obsolete docker compose version (#2982) ### Description ``` WARN[0000] /home/jo/code/github.com/libretime/libretime/docker-compose.yml: `version` is obsolete WARN[0000] /home/jo/code/github.com/libretime/libretime/docker-compose.override.yml: `version` is obsolete ``` --- docker-compose.override.yml | 2 -- docker-compose.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/docker-compose.override.yml b/docker-compose.override.yml index df907d7c3..334025bd8 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -2,8 +2,6 @@ # This file is used for development. It it not intended for production! # See https://libretime.org/docs/developer-manual/development/environment/#docker-compose # -version: "3.7" - services: postgres: ports: diff --git a/docker-compose.yml b/docker-compose.yml index cb02af30d..3a619248d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: "3.7" - services: postgres: image: postgres:15 From f1c7dd89f110cb0f3937b8d25b4e5a3831b5ef91 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Sat, 13 Apr 2024 15:12:07 +0200 Subject: [PATCH 60/86] docs: prevent reverse proxy from constraining the upload limits (#2984) ### Description The upload limits settings are configured in the libretime nginx config, but must also be part of the reverse proxy. --- docs/admin-manual/install/install-using-the-installer.md | 3 +++ docs/admin-manual/install/reverse-proxy.md | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/docs/admin-manual/install/install-using-the-installer.md b/docs/admin-manual/install/install-using-the-installer.md index 4d132ec73..b1f39029c 100644 --- a/docs/admin-manual/install/install-using-the-installer.md +++ b/docs/admin-manual/install/install-using-the-installer.md @@ -230,6 +230,9 @@ server { server_name libretime.example.org; + client_max_body_size 512M; + client_body_timeout 300s; + location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; diff --git a/docs/admin-manual/install/reverse-proxy.md b/docs/admin-manual/install/reverse-proxy.md index b84a5bfb4..d81808d7b 100644 --- a/docs/admin-manual/install/reverse-proxy.md +++ b/docs/admin-manual/install/reverse-proxy.md @@ -76,6 +76,9 @@ server { listen 80; server_name libretime.example.org; + client_max_body_size 512M; + client_body_timeout 300s; + location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; @@ -124,6 +127,9 @@ server { listen 80; server_name libretime.example.org; + client_max_body_size 512M; + client_body_timeout 300s; + if ($host = libretime.example.org) { return 301 https://$host$request_uri; } # managed by Certbot @@ -135,6 +141,9 @@ server { listen 443 ssl; # managed by Certbot server_name libretime.example.org; + client_max_body_size 512M; + client_body_timeout 300s; + ssl_certificate /etc/letsencrypt/live/libretime.example.org/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/libretime.example.org/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot From 5ad69bf0b76ff2e5065551b6a7d154cb26834605 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Sat, 13 Apr 2024 15:54:47 +0200 Subject: [PATCH 61/86] fix(legacy): ensure validation is performed on the track type form (#2985) ### Description Fixes #2939 The zend form validation was not performed, only a custom method to validate the code was used. This merge both validation, and leverage the Zend form validation framework. Also allow updating the track type code from the track type form. Related to #2955 --- .../controllers/TracktypeController.php | 6 ++--- legacy/application/forms/AddTracktype.php | 26 ++++++++----------- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/legacy/application/controllers/TracktypeController.php b/legacy/application/controllers/TracktypeController.php index b528da642..587e16912 100644 --- a/legacy/application/controllers/TracktypeController.php +++ b/legacy/application/controllers/TracktypeController.php @@ -44,11 +44,9 @@ class TracktypeController extends Zend_Controller_Action $formData[$v[0]] = urldecode($v[1]); } - if ($form->validateCode($formData)) { + if ($form->isValid($formData)) { $tracktype = new Application_Model_Tracktype($formData['tracktype_id']); - if (empty($formData['tracktype_id'])) { - $tracktype->setCode($formData['code']); - } + $tracktype->setCode($formData['code']); $tracktype->setTypeName($formData['type_name']); $tracktype->setDescription($formData['description']); $tracktype->setVisibility($formData['visibility']); diff --git a/legacy/application/forms/AddTracktype.php b/legacy/application/forms/AddTracktype.php index 798794f20..5fcf856a6 100644 --- a/legacy/application/forms/AddTracktype.php +++ b/legacy/application/forms/AddTracktype.php @@ -28,6 +28,17 @@ class Application_Form_AddTracktype extends Zend_Form $code->setAttrib('style', 'width: 40%'); $code->setRequired(true); $code->addValidator($notEmptyValidator); + + $uniqueTrackTypeCodeValidator = new Zend_Validate_Callback(function ($value, $context) { + if (strlen($context['tracktype_id']) === 0) { // Only check uniqueness on create + return CcTracktypesQuery::create()->filterByDbCode($value)->count() === 0; + } + + return true; + }); + $uniqueTrackTypeCodeValidator->setMessage(_('Code is not unique.')); + $code->addValidator($uniqueTrackTypeCodeValidator); + $code->addFilter('StringTrim'); $this->addElement($code); @@ -64,19 +75,4 @@ class Application_Form_AddTracktype extends Zend_Form $saveBtn->setLabel(_('Save')); $this->addElement($saveBtn); } - - public function validateCode($data) - { - if (strlen($data['tracktype_id']) == 0) { - $count = CcTracktypesQuery::create()->filterByDbCode($data['code'])->count(); - - if ($count != 0) { - $this->getElement('code')->setErrors([_('Code is not unique.')]); - - return false; - } - } - - return true; - } } From a63df8c989c39802c98a740615676f4208d9b0e9 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Sat, 13 Apr 2024 16:08:45 +0200 Subject: [PATCH 62/86] chore: mark php-cs-fixer as dev dependency (#2986) ### Description This should remove the update entries from the release-please changelog, as renovate will now consider updates for this dep as `chore` and not `fix`. --- legacy/tools/composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/legacy/tools/composer.json b/legacy/tools/composer.json index 96b9bd134..10565f8a4 100644 --- a/legacy/tools/composer.json +++ b/legacy/tools/composer.json @@ -1,5 +1,5 @@ { - "require": { + "require-dev": { "php": "^7.4", "friendsofphp/php-cs-fixer": "<3.53.1" } From bcaa77ff3c8586f2be239fb8cc453ba45bac9a9c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 16:13:32 +0200 Subject: [PATCH 63/86] chore(deps): update dependency djangorestframework to >=3.14.0,<3.16 (#2969) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [djangorestframework](https://www.django-rest-framework.org/) ([source](https://togithub.com/encode/django-rest-framework), [changelog](https://www.django-rest-framework.org/community/release-notes/)) | `>=3.14.0,<3.15` -> `>=3.14.0,<3.16` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/djangorestframework/3.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/djangorestframework/3.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/djangorestframework/3.14.0/3.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/djangorestframework/3.14.0/3.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
encode/django-rest-framework (djangorestframework) ### [`v3.15.1`](https://togithub.com/encode/django-rest-framework/compare/3.15.0...3.15.1) [Compare Source](https://togithub.com/encode/django-rest-framework/compare/3.15.0...3.15.1) ### [`v3.15.0`](https://togithub.com/encode/django-rest-framework/compare/3.14.0...3.15.0) [Compare Source](https://togithub.com/encode/django-rest-framework/compare/3.14.0...3.15.0)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- api/requirements.txt | 2 +- api/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/requirements.txt b/api/requirements.txt index 6e6668da7..a83118af9 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -3,7 +3,7 @@ django-cors-headers>=3.14.0,<4.4 django-filter>=2.4.0,<24.3 django>=4.2.0,<4.3 -djangorestframework>=3.14.0,<3.15 +djangorestframework>=3.14.0,<3.16 drf-spectacular>=0.22.1,<0.28 gunicorn>=20.1.0,<21.3 psycopg[c]>=3.1.8,<3.2 diff --git a/api/setup.py b/api/setup.py index 886f6f852..7b170da6b 100644 --- a/api/setup.py +++ b/api/setup.py @@ -29,7 +29,7 @@ setup( "django-cors-headers>=3.14.0,<4.4", "django-filter>=2.4.0,<24.3", "django>=4.2.0,<4.3", - "djangorestframework>=3.14.0,<3.15", + "djangorestframework>=3.14.0,<3.16", "drf-spectacular>=0.22.1,<0.28", "requests>=2.31.0,<2.32", ], From 7040d0e4bd92911a9072226f49ad59ce575d6ed9 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Sat, 13 Apr 2024 19:12:45 +0200 Subject: [PATCH 64/86] fix: trigger legacy tasks manager every 5m (#2987) ### Description This ensures that when the LibreTime interface is not used for a long time, we still have the task manager run essential tasks for the schedule. Related to #2670 --- Dockerfile | 2 ++ api-client/libretime_api_client/v1.py | 3 +++ worker/Makefile | 1 + .../install/systemd/libretime-worker.service | 1 + worker/libretime_worker/config.py | 1 + worker/libretime_worker/tasks.py | 23 +++++++++++++++++++ 6 files changed, 31 insertions(+) diff --git a/Dockerfile b/Dockerfile index cb8f1a5c5..5047ed674 100644 --- a/Dockerfile +++ b/Dockerfile @@ -189,6 +189,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ pip install --no-compile -r requirements.txt COPY --from=python-builder /build/shared/*.whl . +COPY --from=python-builder /build/api-client/*.whl . RUN --mount=type=cache,target=/root/.cache/pip \ pip install --no-compile *.whl && rm -Rf *.whl @@ -203,6 +204,7 @@ WORKDIR /app CMD ["/usr/local/bin/celery", "worker", \ "--app=libretime_worker.tasks:worker", \ "--config=libretime_worker.config", \ + "--beat", \ "--time-limit=1800", \ "--concurrency=1", \ "--loglevel=info"] diff --git a/api-client/libretime_api_client/v1.py b/api-client/libretime_api_client/v1.py index b5e4301a7..955dd6340 100644 --- a/api-client/libretime_api_client/v1.py +++ b/api-client/libretime_api_client/v1.py @@ -214,3 +214,6 @@ class ApiClient: def update_metadata_on_tunein(self): self._base_client.update_metadata_on_tunein() + + def trigger_task_manager(self): + self._base_client.version() diff --git a/worker/Makefile b/worker/Makefile index cecf2b4c5..03d0b0af1 100644 --- a/worker/Makefile +++ b/worker/Makefile @@ -3,6 +3,7 @@ all: lint test include ../tools/python.mk PIP_INSTALL := \ + --editable ../api-client \ --editable ../shared \ --editable .[dev,sentry] PYLINT_ARG := libretime_worker diff --git a/worker/install/systemd/libretime-worker.service b/worker/install/systemd/libretime-worker.service index 6a6d8c7da..65c728d8c 100644 --- a/worker/install/systemd/libretime-worker.service +++ b/worker/install/systemd/libretime-worker.service @@ -25,6 +25,7 @@ WorkingDirectory=@@WORKING_DIR@@/worker ExecStart=/usr/bin/sh -c '@@VENV_DIR@@/bin/celery worker \ --app=libretime_worker.tasks:worker \ --config=libretime_worker.config \ + --beat \ --time-limit=1800 \ --concurrency=1 \ --loglevel=INFO \ diff --git a/worker/libretime_worker/config.py b/worker/libretime_worker/config.py index 79a143a59..68aef5feb 100644 --- a/worker/libretime_worker/config.py +++ b/worker/libretime_worker/config.py @@ -20,6 +20,7 @@ CELERY_RESULT_PERSISTENT = True # Persist through a broker restart CELERY_TASK_RESULT_EXPIRES = 900 # Expire task results after 15 minutes CELERY_RESULT_EXCHANGE = "celeryresults" # Default exchange - needed due to php-celery CELERY_QUEUES = ( + Queue("celery", exchange=Exchange("celery"), routing_key="celery"), Queue("podcast", exchange=Exchange("podcast"), routing_key="podcast"), Queue(exchange=Exchange("celeryresults"), auto_delete=True), ) diff --git a/worker/libretime_worker/tasks.py b/worker/libretime_worker/tasks.py index 1934c5551..bf8af02cf 100644 --- a/worker/libretime_worker/tasks.py +++ b/worker/libretime_worker/tasks.py @@ -9,7 +9,9 @@ from urllib.parse import urlsplit import mutagen import requests from celery import Celery, signals +from celery.schedules import crontab from celery.utils.log import get_task_logger +from libretime_api_client.v1 import ApiClient as LegacyClient from mutagen import MutagenError from requests import RequestException, Response @@ -19,6 +21,11 @@ from .config import config worker = Celery() logger = get_task_logger(__name__) +legacy_client = LegacyClient( + base_url=config.general.public_url, + api_key=config.general.api_key, +) + @signals.worker_init.connect def init_sentry(**_kwargs): @@ -37,6 +44,22 @@ def init_sentry(**_kwargs): ) +worker.conf.beat_schedule = { + "legacy-trigger-task-manager": { + "task": "libretime_worker.tasks.legacy_trigger_task_manager", + "schedule": crontab(minute="*/5"), + }, +} + + +@worker.task() +def legacy_trigger_task_manager(): + """ + Trigger the legacy task manager to perform background tasks. + """ + legacy_client.trigger_task_manager() + + @worker.task(name="podcast-download", acks_late=True) def podcast_download( episode_id: int, From 9c548b365ec114c6789d2a69e66cc721da6ae100 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Sat, 13 Apr 2024 21:03:57 +0200 Subject: [PATCH 65/86] feat: start celery worker programmatically (#2988) ### Description Allow us to be more flexible with the option passed the celery worker, for example, to change the logging level. --- Dockerfile | 9 +----- .../install/systemd/libretime-worker.service | 9 +----- worker/libretime_worker/main.py | 28 +++++++++++++++++++ worker/setup.py | 5 ++++ 4 files changed, 35 insertions(+), 16 deletions(-) create mode 100644 worker/libretime_worker/main.py diff --git a/Dockerfile b/Dockerfile index 5047ed674..eb074eee7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -201,14 +201,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ USER ${UID}:${GID} WORKDIR /app -CMD ["/usr/local/bin/celery", "worker", \ - "--app=libretime_worker.tasks:worker", \ - "--config=libretime_worker.config", \ - "--beat", \ - "--time-limit=1800", \ - "--concurrency=1", \ - "--loglevel=info"] - +CMD ["/usr/local/bin/libretime-worker"] ARG LIBRETIME_VERSION ENV LIBRETIME_VERSION=$LIBRETIME_VERSION diff --git a/worker/install/systemd/libretime-worker.service b/worker/install/systemd/libretime-worker.service index 65c728d8c..0158d6c2f 100644 --- a/worker/install/systemd/libretime-worker.service +++ b/worker/install/systemd/libretime-worker.service @@ -22,14 +22,7 @@ Environment=LIBRETIME_CONFIG_FILEPATH=@@CONFIG_FILEPATH@@ Environment=LIBRETIME_LOG_FILEPATH=@@LOG_DIR@@/worker.log WorkingDirectory=@@WORKING_DIR@@/worker -ExecStart=/usr/bin/sh -c '@@VENV_DIR@@/bin/celery worker \ - --app=libretime_worker.tasks:worker \ - --config=libretime_worker.config \ - --beat \ - --time-limit=1800 \ - --concurrency=1 \ - --loglevel=INFO \ - --logfile=$LIBRETIME_LOG_FILEPATH' +ExecStart=/usr/local/bin/libretime-worker Restart=always User=libretime diff --git a/worker/libretime_worker/main.py b/worker/libretime_worker/main.py new file mode 100644 index 000000000..5a542f316 --- /dev/null +++ b/worker/libretime_worker/main.py @@ -0,0 +1,28 @@ +from pathlib import Path +from typing import Optional + +import click +from libretime_shared.cli import cli_logging_options +from libretime_shared.config import DEFAULT_ENV_PREFIX + +from .config import __name__ as config_module +from .tasks import worker + + +@click.command(context_settings={"auto_envvar_prefix": DEFAULT_ENV_PREFIX}) +@cli_logging_options() +def cli(log_level: str, log_filepath: Optional[Path]): + """ + Run celery. + """ + args = [ + f"--config={config_module}", + "--beat", + "--time-limit=1800", + "--concurrency=1", + f"--loglevel={log_level}", + ] + if log_filepath is not None: + args.append(f"--logfile={log_filepath}") + + worker.worker_main(args) diff --git a/worker/setup.py b/worker/setup.py index 0551c7627..c34aafc78 100644 --- a/worker/setup.py +++ b/worker/setup.py @@ -15,6 +15,11 @@ setup( }, license="MIT", packages=find_packages(exclude=["*tests*", "*fixtures*"]), + entry_points={ + "console_scripts": [ + "libretime-worker=libretime_worker.main:cli", + ] + }, python_requires=">=3.8", install_requires=[ "celery==4.4.7", From 7575b684727d63f4b596600472fdb88b20714e6c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 19:04:57 +0000 Subject: [PATCH 66/86] chore(deps): update pre-commit hook psf/black-pre-commit-mirror to v24.4.0 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6aa97ead3..0241697a4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -54,7 +54,7 @@ repos: args: [--resolve-all-configs] - repo: https://github.com/psf/black-pre-commit-mirror - rev: 24.3.0 + rev: 24.4.0 hooks: - id: black From b721dbecd1aa2abc840196bbed39e4fa073886d8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 01:39:55 +0000 Subject: [PATCH 67/86] chore(deps): lock file maintenance (legacy/composer.json) --- legacy/composer.lock | 77 ++++++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 35 deletions(-) diff --git a/legacy/composer.lock b/legacy/composer.lock index d60bbeadc..db05b9f74 100644 --- a/legacy/composer.lock +++ b/legacy/composer.lock @@ -1080,16 +1080,16 @@ }, { "name": "symfony/config", - "version": "v5.4.36", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "0a4f363dc2f13d2f871f917cc563796d9ddc78d1" + "reference": "3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/0a4f363dc2f13d2f871f917cc563796d9ddc78d1", - "reference": "0a4f363dc2f13d2f871f917cc563796d9ddc78d1", + "url": "https://api.github.com/repos/symfony/config/zipball/3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14", + "reference": "3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14", "shasum": "" }, "require": { @@ -1139,7 +1139,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v5.4.36" + "source": "https://github.com/symfony/config/tree/v5.4.38" }, "funding": [ { @@ -1155,20 +1155,20 @@ "type": "tidelift" } ], - "time": "2024-02-23T16:13:23+00:00" + "time": "2024-03-22T10:04:40+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.2", + "version": "v2.5.3", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + "reference": "80d075412b557d41002320b96a096ca65aa2c98d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d", + "reference": "80d075412b557d41002320b96a096ca65aa2c98d", "shasum": "" }, "require": { @@ -1206,7 +1206,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.3" }, "funding": [ { @@ -1222,20 +1222,20 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2023-01-24T14:02:46+00:00" }, { "name": "symfony/filesystem", - "version": "v5.4.35", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "5a553607d4ffbfa9c0ab62facadea296c9db7086" + "reference": "899330a01056077271e2f614c7b28b0379a671eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/5a553607d4ffbfa9c0ab62facadea296c9db7086", - "reference": "5a553607d4ffbfa9c0ab62facadea296c9db7086", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/899330a01056077271e2f614c7b28b0379a671eb", + "reference": "899330a01056077271e2f614c7b28b0379a671eb", "shasum": "" }, "require": { @@ -1270,7 +1270,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.35" + "source": "https://github.com/symfony/filesystem/tree/v5.4.38" }, "funding": [ { @@ -1286,7 +1286,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-03-21T08:05:07+00:00" }, { "name": "symfony/polyfill-ctype", @@ -3549,28 +3549,35 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.3.0", + "version": "5.4.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" + "reference": "298d2febfe79d03fe714eb871d5538da55205b1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/298d2febfe79d03fe714eb871d5538da55205b1a", + "reference": "298d2febfe79d03fe714eb871d5538da55205b1a", "shasum": "" }, "require": { + "doctrine/deprecations": "^1.1", "ext-filter": "*", - "php": "^7.2 || ^8.0", + "php": "^7.4 || ^8.0", "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.3", + "phpdocumentor/type-resolver": "^1.7", + "phpstan/phpdoc-parser": "^1.7", "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2", - "psalm/phar": "^4.8" + "mockery/mockery": "~1.3.5", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^5.13" }, "type": "library", "extra": { @@ -3594,15 +3601,15 @@ }, { "name": "Jaap van Otterdijk", - "email": "account@ijaap.nl" + "email": "opensource@ijaap.nl" } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.0" }, - "time": "2021-10-19T17:43:47+00:00" + "time": "2024-04-09T21:13:58+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -3731,16 +3738,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.27.0", + "version": "1.28.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757" + "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/86e4d5a4b036f8f0be1464522f4c6b584c452757", - "reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", + "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", "shasum": "" }, "require": { @@ -3772,9 +3779,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.27.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.28.0" }, - "time": "2024-03-21T13:14:53+00:00" + "time": "2024-04-03T18:51:33+00:00" }, { "name": "phpunit/dbunit", From a56edd9e9834a9ac9b84702660f4294aba5f12ac Mon Sep 17 00:00:00 2001 From: libretime-bot Date: Mon, 15 Apr 2024 03:48:57 +0000 Subject: [PATCH 68/86] chore(legacy): update locales --- legacy/locale/cs_CZ/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/de_AT/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/de_DE/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/el_GR/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/en_CA/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/en_GB/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/en_US/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/es_ES/LC_MESSAGES/libretime.po | 33 +++++++++---------- legacy/locale/fr_FR/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/hr_HR/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/hu_HU/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/it_IT/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/ja_JP/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/ko_KR/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/nl_NL/LC_MESSAGES/libretime.po | 29 ++++++++-------- legacy/locale/pl_PL/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/pt_BR/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/ru_RU/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/sr_RS/LC_MESSAGES/libretime.po | 26 +++++++-------- .../sr_RS@latin/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/tr_TR/LC_MESSAGES/libretime.po | 26 +++++++-------- legacy/locale/uk_UA/LC_MESSAGES/libretime.po | 32 +++++++++--------- legacy/locale/zh_CN/LC_MESSAGES/libretime.po | 26 +++++++-------- 23 files changed, 304 insertions(+), 310 deletions(-) diff --git a/legacy/locale/cs_CZ/LC_MESSAGES/libretime.po b/legacy/locale/cs_CZ/LC_MESSAGES/libretime.po index a9e18de89..b1f04591f 100644 --- a/legacy/locale/cs_CZ/LC_MESSAGES/libretime.po +++ b/legacy/locale/cs_CZ/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: Czech (Czech Republic)\n" @@ -2036,7 +2036,7 @@ msgid "Moving %s Items" msgstr "Posunutí %s položek" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2576,7 +2576,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2585,7 +2585,7 @@ msgid "Enabled" msgstr "Povoleno" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2791,11 +2791,11 @@ msgstr "Odstranit kurzor" msgid "show does not exist" msgstr "vysílání neexistuje" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3007,7 +3007,7 @@ msgstr "URL" msgid "Genre:" msgstr "Žánr:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Popis:" @@ -3090,18 +3090,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/de_AT/LC_MESSAGES/libretime.po b/legacy/locale/de_AT/LC_MESSAGES/libretime.po index 40441fd84..406c1b14e 100644 --- a/legacy/locale/de_AT/LC_MESSAGES/libretime.po +++ b/legacy/locale/de_AT/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2021-10-17 08:09+0000\n" "Last-Translator: Kyle Robbertze \n" "Language-Team: German (Austria) \n" @@ -2046,7 +2046,7 @@ msgid "Moving %s Items" msgstr "Verschiebe %s Objekte" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2586,7 +2586,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2595,7 +2595,7 @@ msgid "Enabled" msgstr "Aktiviert" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2801,11 +2801,11 @@ msgstr "Cursor entfernen" msgid "show does not exist" msgstr "Sendung existiert nicht." -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3017,7 +3017,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Genre:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Beschreibung:" @@ -3100,18 +3100,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/de_DE/LC_MESSAGES/libretime.po b/legacy/locale/de_DE/LC_MESSAGES/libretime.po index ac3068470..62d28defc 100644 --- a/legacy/locale/de_DE/LC_MESSAGES/libretime.po +++ b/legacy/locale/de_DE/LC_MESSAGES/libretime.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2024-01-19 16:00+0000\n" "Last-Translator: Domenik Töfflinger \n" "Language-Team: German \n" @@ -2049,7 +2049,7 @@ msgid "Moving %s Items" msgstr "Verschiebe %s Objekte" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2589,7 +2589,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2598,7 +2598,7 @@ msgid "Enabled" msgstr "Aktiviert" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2804,11 +2804,11 @@ msgstr "Cursor entfernen" msgid "show does not exist" msgstr "Sendung existiert nicht" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3020,7 +3020,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Genre:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Beschreibung:" @@ -3103,18 +3103,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/el_GR/LC_MESSAGES/libretime.po b/legacy/locale/el_GR/LC_MESSAGES/libretime.po index ca52d7a57..99a190bc4 100644 --- a/legacy/locale/el_GR/LC_MESSAGES/libretime.po +++ b/legacy/locale/el_GR/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2021-10-17 08:09+0000\n" "Last-Translator: Kyle Robbertze \n" "Language-Team: Greek \n" @@ -2037,7 +2037,7 @@ msgid "Moving %s Items" msgstr "Μετακίνηση Στοιχείων %s" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2577,7 +2577,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2586,7 +2586,7 @@ msgid "Enabled" msgstr "Ενεργοποιημένο" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2792,11 +2792,11 @@ msgstr "Αφαίρεση cursor" msgid "show does not exist" msgstr "η εκπομπή δεν υπάρχει" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3008,7 +3008,7 @@ msgstr "Διεύθυνση URL:" msgid "Genre:" msgstr "Είδος:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Περιγραφή:" @@ -3091,18 +3091,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/en_CA/LC_MESSAGES/libretime.po b/legacy/locale/en_CA/LC_MESSAGES/libretime.po index dbd8cbf35..5711ab409 100644 --- a/legacy/locale/en_CA/LC_MESSAGES/libretime.po +++ b/legacy/locale/en_CA/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: English (Canada)\n" @@ -2036,7 +2036,7 @@ msgid "Moving %s Items" msgstr "Moving %s Items" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2576,7 +2576,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2585,7 +2585,7 @@ msgid "Enabled" msgstr "Enabled" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2791,11 +2791,11 @@ msgstr "Remove cursor" msgid "show does not exist" msgstr "show does not exist" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3007,7 +3007,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Genre:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Description:" @@ -3090,18 +3090,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/en_GB/LC_MESSAGES/libretime.po b/legacy/locale/en_GB/LC_MESSAGES/libretime.po index 6dcf21680..fc670741e 100644 --- a/legacy/locale/en_GB/LC_MESSAGES/libretime.po +++ b/legacy/locale/en_GB/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2022-07-14 09:18+0000\n" "Last-Translator: Kyle Robbertze \n" "Language-Team: English (United Kingdom) \n" @@ -2041,7 +2041,7 @@ msgid "Moving %s Items" msgstr "Moving %s Items" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2581,7 +2581,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2590,7 +2590,7 @@ msgid "Enabled" msgstr "Enabled" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2796,11 +2796,11 @@ msgstr "Remove cursor" msgid "show does not exist" msgstr "show does not exist" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3012,7 +3012,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Genre:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Description:" @@ -3095,18 +3095,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/en_US/LC_MESSAGES/libretime.po b/legacy/locale/en_US/LC_MESSAGES/libretime.po index 0336596cf..1c56404fb 100644 --- a/legacy/locale/en_US/LC_MESSAGES/libretime.po +++ b/legacy/locale/en_US/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2023-05-21 17:52+0000\n" "Last-Translator: Zachary Klosko \n" "Language-Team: English (United States) \n" @@ -2037,7 +2037,7 @@ msgid "Moving %s Items" msgstr "Moving %s Items" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2577,7 +2577,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2586,7 +2586,7 @@ msgid "Enabled" msgstr "Enabled" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2792,11 +2792,11 @@ msgstr "Remove cursor" msgid "show does not exist" msgstr "show does not exist" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3008,7 +3008,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Genre:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Description:" @@ -3091,18 +3091,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/es_ES/LC_MESSAGES/libretime.po b/legacy/locale/es_ES/LC_MESSAGES/libretime.po index 087a0211e..8fbc87111 100644 --- a/legacy/locale/es_ES/LC_MESSAGES/libretime.po +++ b/legacy/locale/es_ES/LC_MESSAGES/libretime.po @@ -13,11 +13,10 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2024-02-07 22:01+0000\n" "Last-Translator: gallegonovato \n" -"Language-Team: Spanish \n" +"Language-Team: Spanish \n" "Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2049,7 +2048,7 @@ msgid "Moving %s Items" msgstr "Moviendo %s elementos" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2589,7 +2588,7 @@ msgid "No matching track types found" msgstr "No se ha encontrado ningún tipo de pista" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2598,7 +2597,7 @@ msgid "Enabled" msgstr "Activado" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2806,11 +2805,11 @@ msgstr "Eliminar cursor" msgid "show does not exist" msgstr "El show no existe" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "¡Tipo de pista añadido con éxito!" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "¡Tipo de pista actualizado con éxito!" @@ -3022,7 +3021,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Género:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Descripción:" @@ -3105,18 +3104,18 @@ msgstr "Escribe un nombre:" msgid "Code:" msgstr "Código:" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "El código no es único." + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "Visibilidad:" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "Analizar los puntos de referencia:" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "El código no es único." - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 @@ -3359,9 +3358,7 @@ msgstr "¿Mostrar el botón de inicio de sesión en su página de radio?" #: application/forms/GeneralPreferences.php:231 msgid "Disable the public radio page and redirect to the login page?" -msgstr "" -"¿Desactivar la página de la radio pública y redirigir a la página de inicio " -"de sesión?" +msgstr "¿Desactivar la página de la radio pública y redirigir a la página de inicio de sesión?" #: application/forms/GeneralPreferences.php:236 msgid "Feature Previews" diff --git a/legacy/locale/fr_FR/LC_MESSAGES/libretime.po b/legacy/locale/fr_FR/LC_MESSAGES/libretime.po index fadd505a1..bd5dfafcb 100644 --- a/legacy/locale/fr_FR/LC_MESSAGES/libretime.po +++ b/legacy/locale/fr_FR/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2023-03-06 23:45+0000\n" "Last-Translator: \"Jonas L.\" \n" "Language-Team: French \n" @@ -2046,7 +2046,7 @@ msgid "Moving %s Items" msgstr "Déplacer %s éléments" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2586,7 +2586,7 @@ msgid "No matching track types found" msgstr "Aucun type de piste correspondant trouvé" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2595,7 +2595,7 @@ msgid "Enabled" msgstr "Activé" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2803,11 +2803,11 @@ msgstr "Enlever le Curseur" msgid "show does not exist" msgstr "l'émission n'existe pas" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "Type de piste ajouté avec succès !" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "Type de piste mis à jour avec succès !" @@ -3019,7 +3019,7 @@ msgstr "URL :" msgid "Genre:" msgstr "Genre :" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Description :" @@ -3102,18 +3102,18 @@ msgstr "Nom du type :" msgid "Code:" msgstr "Code :" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "Ce code n'est pas unique." + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "Visibilité :" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "Analyser les points d'entrée et de sortie :" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "Ce code n'est pas unique." - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/hr_HR/LC_MESSAGES/libretime.po b/legacy/locale/hr_HR/LC_MESSAGES/libretime.po index 5d0696620..56fcdbf91 100644 --- a/legacy/locale/hr_HR/LC_MESSAGES/libretime.po +++ b/legacy/locale/hr_HR/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2023-10-29 05:18+0000\n" "Last-Translator: Milo Ivir \n" "Language-Team: Croatian \n" @@ -2037,7 +2037,7 @@ msgid "Moving %s Items" msgstr "Premještanje %s stavki" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2577,7 +2577,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2586,7 +2586,7 @@ msgid "Enabled" msgstr "Aktivirano" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2794,11 +2794,11 @@ msgstr "Ukloni pokazivač" msgid "show does not exist" msgstr "emisija ne postoji" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "Vrsta snimke uspješno dodana!" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "Vrsta snimke uspješno ažurirana!" @@ -3011,7 +3011,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Žanr:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Opis:" @@ -3094,18 +3094,18 @@ msgstr "Ime vrste:" msgid "Code:" msgstr "Kod:" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "Kod nije jedinstven." + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "Vidljivost:" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "Kod nije jedinstven." - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/hu_HU/LC_MESSAGES/libretime.po b/legacy/locale/hu_HU/LC_MESSAGES/libretime.po index c8ed40512..7a915c306 100644 --- a/legacy/locale/hu_HU/LC_MESSAGES/libretime.po +++ b/legacy/locale/hu_HU/LC_MESSAGES/libretime.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2021-12-27 20:52+0000\n" "Last-Translator: f3rr31 <5920873@disroot.org>\n" "Language-Team: Hungarian \n" @@ -2049,7 +2049,7 @@ msgid "Moving %s Items" msgstr "%s elem áthelyezése" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2593,7 +2593,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2602,7 +2602,7 @@ msgid "Enabled" msgstr "Engedélyezve" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2808,11 +2808,11 @@ msgstr "Kurzor eltávolítása" msgid "show does not exist" msgstr "a műsor nem található" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3025,7 +3025,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Műfaj:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Leírás:" @@ -3108,18 +3108,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/it_IT/LC_MESSAGES/libretime.po b/legacy/locale/it_IT/LC_MESSAGES/libretime.po index 5fb03260a..a4a4ef1b3 100644 --- a/legacy/locale/it_IT/LC_MESSAGES/libretime.po +++ b/legacy/locale/it_IT/LC_MESSAGES/libretime.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2023-12-27 23:06+0000\n" "Last-Translator: Maurizio Castelvetro \n" "Language-Team: Italian \n" @@ -2040,7 +2040,7 @@ msgid "Moving %s Items" msgstr "Spostamento degli elementi %s in corso" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2580,7 +2580,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2589,7 +2589,7 @@ msgid "Enabled" msgstr "Abilitato" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2795,11 +2795,11 @@ msgstr "Rimuovere il cursore" msgid "show does not exist" msgstr "lo show non esiste" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3011,7 +3011,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Genere:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Descrizione:" @@ -3094,18 +3094,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/ja_JP/LC_MESSAGES/libretime.po b/legacy/locale/ja_JP/LC_MESSAGES/libretime.po index 48f56273c..684d614a1 100644 --- a/legacy/locale/ja_JP/LC_MESSAGES/libretime.po +++ b/legacy/locale/ja_JP/LC_MESSAGES/libretime.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2021-10-17 08:09+0000\n" "Last-Translator: Kyle Robbertze \n" "Language-Team: Japanese \n" @@ -2036,7 +2036,7 @@ msgid "Moving %s Items" msgstr "%s 個の項目を移動" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2576,7 +2576,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2585,7 +2585,7 @@ msgid "Enabled" msgstr "有効" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2791,11 +2791,11 @@ msgstr "カーソルを削除" msgid "show does not exist" msgstr "番組が存在しません。" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3007,7 +3007,7 @@ msgstr "URL:" msgid "Genre:" msgstr "ジャンル:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "説明:" @@ -3090,18 +3090,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/ko_KR/LC_MESSAGES/libretime.po b/legacy/locale/ko_KR/LC_MESSAGES/libretime.po index 96f227c38..4045d7021 100644 --- a/legacy/locale/ko_KR/LC_MESSAGES/libretime.po +++ b/legacy/locale/ko_KR/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: Korean (Korea)\n" @@ -2033,7 +2033,7 @@ msgid "Moving %s Items" msgstr "아이템 %s개 이동" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2573,7 +2573,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2582,7 +2582,7 @@ msgid "Enabled" msgstr "사용" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2788,11 +2788,11 @@ msgstr "커서 제거" msgid "show does not exist" msgstr "쇼가 존재 하지 않음" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3004,7 +3004,7 @@ msgstr "" msgid "Genre:" msgstr "장르:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "설명:" @@ -3087,18 +3087,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/nl_NL/LC_MESSAGES/libretime.po b/legacy/locale/nl_NL/LC_MESSAGES/libretime.po index 03aada531..742b78aad 100644 --- a/legacy/locale/nl_NL/LC_MESSAGES/libretime.po +++ b/legacy/locale/nl_NL/LC_MESSAGES/libretime.po @@ -12,11 +12,10 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2024-03-17 07:32+0000\n" "Last-Translator: Mikachu \n" -"Language-Team: Dutch \n" +"Language-Team: Dutch \n" "Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2048,7 +2047,7 @@ msgid "Moving %s Items" msgstr "%s Items verplaatsen" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2588,7 +2587,7 @@ msgid "No matching track types found" msgstr "Geen overeenkomende track types gevonden" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2597,7 +2596,7 @@ msgid "Enabled" msgstr "Ingeschakeld" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2805,11 +2804,11 @@ msgstr "Cursor verwijderen" msgid "show does not exist" msgstr "show bestaat niet" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "Track Type succesvol toegevoegd!" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "Track Type succesvol bijgewerkt!" @@ -3021,7 +3020,7 @@ msgstr "URL:" msgid "Genre:" msgstr "genre:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Omschrijving:" @@ -3104,18 +3103,18 @@ msgstr "Type Naam:" msgid "Code:" msgstr "Code:" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "Code is niet uniek." + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "Zichtbaarheid:" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "Analyseer cue points:" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "Code is niet uniek." - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/pl_PL/LC_MESSAGES/libretime.po b/legacy/locale/pl_PL/LC_MESSAGES/libretime.po index bb88162cb..e3cc2433d 100644 --- a/legacy/locale/pl_PL/LC_MESSAGES/libretime.po +++ b/legacy/locale/pl_PL/LC_MESSAGES/libretime.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2023-10-12 10:01+0000\n" "Last-Translator: Piotr Strebski \n" "Language-Team: Polish \n" @@ -2037,7 +2037,7 @@ msgid "Moving %s Items" msgstr "Przenoszenie %s elementów" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2577,7 +2577,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2586,7 +2586,7 @@ msgid "Enabled" msgstr "Włączone" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2792,11 +2792,11 @@ msgstr "Usuń kursor" msgid "show does not exist" msgstr "audycja nie istnieje" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3008,7 +3008,7 @@ msgstr "Adres URL" msgid "Genre:" msgstr "Rodzaj:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Opis:" @@ -3091,18 +3091,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/pt_BR/LC_MESSAGES/libretime.po b/legacy/locale/pt_BR/LC_MESSAGES/libretime.po index 5de7d2fec..e6149730d 100644 --- a/legacy/locale/pt_BR/LC_MESSAGES/libretime.po +++ b/legacy/locale/pt_BR/LC_MESSAGES/libretime.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2023-03-26 18:38+0000\n" "Last-Translator: Felipe Nogueira \n" "Language-Team: Portuguese (Brazil) \n" @@ -2038,7 +2038,7 @@ msgid "Moving %s Items" msgstr "Movendo %s itens" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2578,7 +2578,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2587,7 +2587,7 @@ msgid "Enabled" msgstr "Ativo" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2793,11 +2793,11 @@ msgstr "Remover o cursor" msgid "show does not exist" msgstr "programa inexistente" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3009,7 +3009,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Gênero:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Descrição:" @@ -3092,18 +3092,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/ru_RU/LC_MESSAGES/libretime.po b/legacy/locale/ru_RU/LC_MESSAGES/libretime.po index bdbe09d56..07e5d46b9 100644 --- a/legacy/locale/ru_RU/LC_MESSAGES/libretime.po +++ b/legacy/locale/ru_RU/LC_MESSAGES/libretime.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2022-06-05 10:17+0000\n" "Last-Translator: МАН69К \n" "Language-Team: Russian \n" @@ -2050,7 +2050,7 @@ msgid "Moving %s Items" msgstr "Перемещение %s элементов" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2590,7 +2590,7 @@ msgid "No matching track types found" msgstr "Не найдено подходящих типов треков" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2599,7 +2599,7 @@ msgid "Enabled" msgstr "Включено" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2807,11 +2807,11 @@ msgstr "Удалить курсор" msgid "show does not exist" msgstr "Программы не существует" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3023,7 +3023,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Жанр:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Описание:" @@ -3106,18 +3106,18 @@ msgstr "Название типа" msgid "Code:" msgstr "Код:" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "Видимость:" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/sr_RS/LC_MESSAGES/libretime.po b/legacy/locale/sr_RS/LC_MESSAGES/libretime.po index 028f8c6d0..7712c3803 100644 --- a/legacy/locale/sr_RS/LC_MESSAGES/libretime.po +++ b/legacy/locale/sr_RS/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: Serbian (Serbia)\n" @@ -2035,7 +2035,7 @@ msgid "Moving %s Items" msgstr "Премештање %s Ставке" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2575,7 +2575,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2584,7 +2584,7 @@ msgid "Enabled" msgstr "Омогућено" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2790,11 +2790,11 @@ msgstr "Уклони показивач" msgid "show does not exist" msgstr "емисија не постоји" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3006,7 +3006,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Жанр:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Опис:" @@ -3089,18 +3089,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/sr_RS@latin/LC_MESSAGES/libretime.po b/legacy/locale/sr_RS@latin/LC_MESSAGES/libretime.po index bc721194e..5c4007089 100644 --- a/legacy/locale/sr_RS@latin/LC_MESSAGES/libretime.po +++ b/legacy/locale/sr_RS@latin/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: Serbian (Latin) (Serbia)\n" @@ -2035,7 +2035,7 @@ msgid "Moving %s Items" msgstr "Premeštanje %s Stavke" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2575,7 +2575,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2584,7 +2584,7 @@ msgid "Enabled" msgstr "Omogućeno" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2790,11 +2790,11 @@ msgstr "Ukloni pokazivač" msgid "show does not exist" msgstr "emisija ne postoji" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3006,7 +3006,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Žanr:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Opis:" @@ -3089,18 +3089,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/tr_TR/LC_MESSAGES/libretime.po b/legacy/locale/tr_TR/LC_MESSAGES/libretime.po index 56ea5d72b..3ad9f2024 100644 --- a/legacy/locale/tr_TR/LC_MESSAGES/libretime.po +++ b/legacy/locale/tr_TR/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2022-06-28 07:22+0000\n" "Last-Translator: metezd \n" "Language-Team: Turkish \n" @@ -2034,7 +2034,7 @@ msgid "Moving %s Items" msgstr "" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2574,7 +2574,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2583,7 +2583,7 @@ msgid "Enabled" msgstr "Aktif" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2789,11 +2789,11 @@ msgstr "" msgid "show does not exist" msgstr "" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3005,7 +3005,7 @@ msgstr "URL" msgid "Genre:" msgstr "Tür:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Açıklama:" @@ -3088,18 +3088,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/uk_UA/LC_MESSAGES/libretime.po b/legacy/locale/uk_UA/LC_MESSAGES/libretime.po index 7c39a81d9..86f1201f2 100644 --- a/legacy/locale/uk_UA/LC_MESSAGES/libretime.po +++ b/legacy/locale/uk_UA/LC_MESSAGES/libretime.po @@ -7,17 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2024-02-11 23:11+0000\n" "Last-Translator: Ihor Hordiichuk \n" -"Language-Team: Ukrainian \n" +"Language-Team: Ukrainian \n" "Language: uk_UA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.4-dev\n" #: application/common/DateHelper.php:216 @@ -2044,7 +2042,7 @@ msgid "Moving %s Items" msgstr "Переміщення %s елементів" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2584,7 +2582,7 @@ msgid "No matching track types found" msgstr "Відповідних типів треків не знайдено" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2593,7 +2591,7 @@ msgid "Enabled" msgstr "Увімкнено" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2801,11 +2799,11 @@ msgstr "Видалити курсор" msgid "show does not exist" msgstr "програми не існує" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "Тип треку успішно додано!" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "Тип треку успішно оновлено!" @@ -3017,7 +3015,7 @@ msgstr "URL:" msgid "Genre:" msgstr "Жанр:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "Опис:" @@ -3100,18 +3098,18 @@ msgstr "Назва типу:" msgid "Code:" msgstr "Код:" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "Код не унікальний." + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "Видимість:" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "Проаналізуйте контрольні точки:" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "Код не унікальний." - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 diff --git a/legacy/locale/zh_CN/LC_MESSAGES/libretime.po b/legacy/locale/zh_CN/LC_MESSAGES/libretime.po index e96c93c9b..608a42b74 100644 --- a/legacy/locale/zh_CN/LC_MESSAGES/libretime.po +++ b/legacy/locale/zh_CN/LC_MESSAGES/libretime.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: LibreTime\n" "Report-Msgid-Bugs-To: https://github.com/libretime/libretime/issues\n" -"POT-Creation-Date: 2024-02-05 01:52+0000\n" +"POT-Creation-Date: 2024-04-15 03:48+0000\n" "PO-Revision-Date: 2015-09-05 08:33+0000\n" "Last-Translator: Daniel James \n" "Language-Team: Chinese (China)\n" @@ -2035,7 +2035,7 @@ msgid "Moving %s Items" msgstr "移动%s个项目" #: application/controllers/LocaleController.php:302 -#: application/forms/AddTracktype.php:64 application/forms/AddUser.php:108 +#: application/forms/AddTracktype.php:75 application/forms/AddUser.php:108 #: application/forms/EditAudioMD.php:278 application/forms/EditHistory.php:131 #: application/forms/PasswordChange.php:43 application/forms/Preferences.php:35 msgid "Save" @@ -2575,7 +2575,7 @@ msgid "No matching track types found" msgstr "" #: application/controllers/LocaleController.php:461 -#: application/forms/AddTracktype.php:50 +#: application/forms/AddTracktype.php:61 #: application/forms/GeneralPreferences.php:125 #: application/forms/GeneralPreferences.php:141 #: application/forms/GeneralPreferences.php:172 @@ -2584,7 +2584,7 @@ msgid "Enabled" msgstr "启用" #: application/controllers/LocaleController.php:462 -#: application/forms/AddTracktype.php:49 +#: application/forms/AddTracktype.php:60 #: application/forms/GeneralPreferences.php:124 #: application/forms/GeneralPreferences.php:140 #: application/forms/GeneralPreferences.php:171 @@ -2790,11 +2790,11 @@ msgstr "删除游标" msgid "show does not exist" msgstr "节目不存在" -#: application/controllers/TracktypeController.php:62 +#: application/controllers/TracktypeController.php:60 msgid "Track Type added successfully!" msgstr "" -#: application/controllers/TracktypeController.php:64 +#: application/controllers/TracktypeController.php:62 msgid "Track Type updated successfully!" msgstr "" @@ -3006,7 +3006,7 @@ msgstr "链接地址:" msgid "Genre:" msgstr "风格:" -#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:35 +#: application/forms/AddShowWhat.php:54 application/forms/AddTracktype.php:46 #: application/forms/EditAudioMD.php:113 msgid "Description:" msgstr "描述:" @@ -3089,18 +3089,18 @@ msgstr "" msgid "Code:" msgstr "" -#: application/forms/AddTracktype.php:45 +#: application/forms/AddTracktype.php:39 +msgid "Code is not unique." +msgstr "" + +#: application/forms/AddTracktype.php:56 msgid "Visibility:" msgstr "" -#: application/forms/AddTracktype.php:57 +#: application/forms/AddTracktype.php:68 msgid "Analyze cue points:" msgstr "" -#: application/forms/AddTracktype.php:74 -msgid "Code is not unique." -msgstr "" - #: application/forms/AddUser.php:27 application/forms/EditUser.php:36 #: application/forms/LiveStreamingPreferences.php:40 #: application/forms/Login.php:39 From a2cf7697a97bbc4faf89fd7bc9ba9ecc235bf873 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 08:43:11 +0200 Subject: [PATCH 69/86] fix(deps): update dependency gunicorn to v22 (security) (#2993) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [gunicorn](https://gunicorn.org) ([source](https://togithub.com/benoitc/gunicorn), [changelog](https://docs.gunicorn.org/en/stable/news.html)) | `>=20.1.0,<21.3` -> `>=22.0.0,<22.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/gunicorn/22.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/gunicorn/22.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/gunicorn/20.1.0/22.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/gunicorn/20.1.0/22.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2024-1135](https://nvd.nist.gov/vuln/detail/CVE-2024-1135) Gunicorn fails to properly validate Transfer-Encoding headers, leading to HTTP Request Smuggling (HRS) vulnerabilities. By crafting requests with conflicting Transfer-Encoding headers, attackers can bypass security restrictions and access restricted endpoints. This issue is due to Gunicorn's handling of Transfer-Encoding headers, where it incorrectly processes requests with multiple, conflicting Transfer-Encoding headers, treating them as chunked regardless of the final encoding specified. This vulnerability has been shown to allow access to endpoints restricted by gunicorn. This issue has been addressed in version 22.0.0. To be affected users must have a network path which does not filter out invalid requests. These users are advised to block access to restricted endpoints via a firewall or other mechanism if they are unable to update. --- ### Release Notes
benoitc/gunicorn (gunicorn) ### [`v22.0.0`](https://togithub.com/benoitc/gunicorn/releases/tag/22.0.0): Gunicorn 22.0 has been released [Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.2.0...22.0.0) **Gunicorn 22.0.0 has been released.** This version fix the numerous security vulnerabilities. You're invited to upgrade asap your own installation. Changes: 22.0.0 - 2024-04-17 =================== - use `utime` to notify workers liveness - migrate setup to pyproject.toml - fix numerous security vulnerabilities in HTTP parser (closing some request smuggling vectors) - parsing additional requests is no longer attempted past unsupported request framing - on HTTP versions < 1.1 support for chunked transfer is refused (only used in exploits) - requests conflicting configured or passed SCRIPT_NAME now produce a verbose error - Trailer fields are no longer inspected for headers indicating secure scheme - support Python 3.12 ** Breaking changes ** - minimum version is Python 3.7 - the limitations on valid characters in the HTTP method have been bounded to Internet Standards - requests specifying unsupported transfer coding (order) are refused by default (rare) - HTTP methods are no longer casefolded by default (IANA method registry contains none affected) - HTTP methods containing the number sign (#) are no longer accepted by default (rare) - HTTP versions < 1.0 or >= 2.0 are no longer accepted by default (rare, only HTTP/1.1 is supported) - HTTP versions consisting of multiple digits or containing a prefix/suffix are no longer accepted - HTTP header field names Gunicorn cannot safely map to variables are silently dropped, as in other software - HTTP headers with empty field name are refused by default (no legitimate use cases, used in exploits) - requests with both Transfer-Encoding and Content-Length are refused by default (such a message might indicate an attempt to perform request smuggling) - empty transfer codings are no longer permitted (reportedly seen with really old & broken proxies) ** SECURITY ** - fix CVE-2024-1135 1. Documentation is available there: https://docs.gunicorn.org/en/stable/news.html 2. Packages: https://pypi.org/project/gunicorn/ ### [`v21.2.0`](https://togithub.com/benoitc/gunicorn/releases/tag/21.2.0): Gunicorn 21.2.0 has been released [Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.1.0...21.2.0) **Gunicorn 21.2.0 has been released.** This version fix the issue introduced in the threaded worker. Changes: 21.2.0 - 2023-07-19 =================== fix thread worker: revert change considering connection as idle . *** NOTE *** This is fixing the bad file description error. 1. Documentation is available there: https://docs.gunicorn.org/en/stable/news.html 2. Packages: https://pypi.org/project/gunicorn/ ### [`v21.1.0`](https://togithub.com/benoitc/gunicorn/releases/tag/21.1.0): Gunicorn 21.1.0 has been released [Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.0.1...21.1.0) gunicorn 21.1.0 has been released. This version fix the issue introduced in the threaded worker. # 21.1.0 - 2023-07-18 - fix thread worker: fix socket removal from the queuet checkout 21.x ### [`v21.0.1`](https://togithub.com/benoitc/gunicorn/releases/tag/21.0.1): Gunicorn 21 has been released [Compare Source](https://togithub.com/benoitc/gunicorn/compare/21.0.0...21.0.1) Gunicorn 21 is out with miscellaneous changes. Enjoy! We made this release major to start our new release cycle. More info will be provided on our discussion forum. ##### 21.0.1 - 2023-07-17 fix documentation build ##### 21.0.0 - 2023-07-17 support python 3.11 fix gevent and eventlet workers fix threads support (gththread): improve performance and unblock requests SSL: noaw use SSLContext object HTTP parser: miscellaneous fixes remove unecessary setuid calls fix testing improve logging miscellaneous fixes to core engine **Full Changelog**: https://github.com/benoitc/gunicorn/compare/21.0.0...21.0.1 ### [`v21.0.0`](https://togithub.com/benoitc/gunicorn/compare/20.1.0...21.0.0) [Compare Source](https://togithub.com/benoitc/gunicorn/compare/20.1.0...21.0.0)
--- ### Configuration 📅 **Schedule**: Branch creation - "" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: jo --- api/requirements.txt | 2 +- api/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/requirements.txt b/api/requirements.txt index a83118af9..0637462c7 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -5,7 +5,7 @@ django-filter>=2.4.0,<24.3 django>=4.2.0,<4.3 djangorestframework>=3.14.0,<3.16 drf-spectacular>=0.22.1,<0.28 -gunicorn>=20.1.0,<21.3 +gunicorn>=22.0.0,<22.1 psycopg[c]>=3.1.8,<3.2 requests>=2.31.0,<2.32 uvicorn[standard]>=0.17.6,<0.30.0 diff --git a/api/setup.py b/api/setup.py index 7b170da6b..f0b72577b 100644 --- a/api/setup.py +++ b/api/setup.py @@ -35,7 +35,7 @@ setup( ], extras_require={ "prod": [ - "gunicorn>=20.1.0,<21.3", + "gunicorn>=22.0.0,<22.1", "psycopg[c]>=3.1.8,<3.2", "uvicorn[standard]>=0.17.6,<0.30.0", ], From 71b20ae3c974680d814062c5a0bfa51a105dde61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Thu, 18 Apr 2024 14:27:20 +0200 Subject: [PATCH 70/86] fix(installer): setup the worker entrypoint (#2996) Worker service fails after upgrade. Related to #2988 --- install | 1 + 1 file changed, 1 insertion(+) diff --git a/install b/install index e8a2df8d4..e4793ada2 100755 --- a/install +++ b/install @@ -683,6 +683,7 @@ install_service "libretime-analyzer.service" "$SCRIPT_DIR/analyzer/install/syste section "Worker" install_python_app "$SCRIPT_DIR/worker" +link_python_app libretime-worker info "creating libretime-worker working directory" mkdir_and_chown "$LIBRETIME_USER" "$WORKING_DIR/worker" From da02e74f2115cb76a6435fab5ab2667a8c622b98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Sun, 21 Apr 2024 11:13:43 +0200 Subject: [PATCH 71/86] feat(legacy): visual cue point editor (#2947) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A visual cue point editor in the track editor view. This view displays the track as a waveform and allows you to set where the in- and out-cue points are set. These cue points determine the start and end points of the track. --------- Co-authored-by: Thomas Göttgens Co-authored-by: Kyle Robbertze --- legacy/application/assets.json | 19 +- .../controllers/LibraryController.php | 6 + .../plugins/PageLayoutInitPlugin.php | 7 + legacy/application/forms/EditAudioMD.php | 14 +- .../views/scripts/library/edit-file-md.phtml | 215 +- legacy/public/css/images/slider.png | Bin 0 -> 121243 bytes legacy/public/css/playlist_builder.css | 2 +- legacy/public/css/styles.css | 92 + legacy/public/js/airtime/library/spl.js | 4 +- legacy/public/js/wavesurfer/cursor.js | 404 ++ legacy/public/js/wavesurfer/cursor.min.js | 7 + legacy/public/js/wavesurfer/libretime.js | 627 ++ legacy/public/js/wavesurfer/minimap.js | 424 ++ legacy/public/js/wavesurfer/minimap.min.js | 7 + legacy/public/js/wavesurfer/regions.js | 1200 ++++ legacy/public/js/wavesurfer/regions.min.js | 7 + legacy/public/js/wavesurfer/timeline.js | 640 ++ legacy/public/js/wavesurfer/timeline.min.js | 7 + legacy/public/js/wavesurfer/wavesurfer.js | 5774 +++++++++++++++++ legacy/public/js/wavesurfer/wavesurfer.min.js | 7 + 20 files changed, 9420 insertions(+), 43 deletions(-) create mode 100755 legacy/public/css/images/slider.png create mode 100644 legacy/public/js/wavesurfer/cursor.js create mode 100644 legacy/public/js/wavesurfer/cursor.min.js create mode 100644 legacy/public/js/wavesurfer/libretime.js create mode 100644 legacy/public/js/wavesurfer/minimap.js create mode 100644 legacy/public/js/wavesurfer/minimap.min.js create mode 100644 legacy/public/js/wavesurfer/regions.js create mode 100644 legacy/public/js/wavesurfer/regions.min.js create mode 100644 legacy/public/js/wavesurfer/timeline.js create mode 100644 legacy/public/js/wavesurfer/timeline.min.js create mode 100644 legacy/public/js/wavesurfer/wavesurfer.js create mode 100644 legacy/public/js/wavesurfer/wavesurfer.min.js diff --git a/legacy/application/assets.json b/legacy/application/assets.json index ad0eaa857..05739af05 100644 --- a/legacy/application/assets.json +++ b/legacy/application/assets.json @@ -26,7 +26,7 @@ "css/media_library.css": "e1982d1f673543f7730898fb49450f8b", "css/player-form.css": "e08a4545715fc56b75c845b44a5b2a1c", "css/player.css": "904bc7aede4d5f0372468528d88094f1", - "css/playlist_builder.css": "e92ef56ddffca440a7741934edbb7f7f", + "css/playlist_builder.css": "9e35f1b7a1e79a7a73e7e9666d5a711f", "css/playouthistory.css": "983cc1bac566b18b745b6e0da9ef3c0c", "css/plupload.queue.css": "0acfb6b54c18654452727d4abf297394", "css/pro_dropdown_3.css": "9848a27dad960c2218751c1656e9206a", @@ -43,7 +43,7 @@ "css/show_analytics.css": "4393c521308277447afabe8791779bf1", "css/showbuilder.css": "4421c01b5c2dfb03f8d06dd6023b4bd7", "css/station_podcast.css": "88e9b38ead71eddc69ef50bfc8cb2d0d", - "css/styles.css": "6890a553402f44cefc7c6915f38aa657", + "css/styles.css": "29ce2292b2c007e86d192d0deeaf88ad", "css/tipsy/jquery.tipsy.css": "b13517583583f83ed7d5fc067a0c9372", "css/tracktypes.css": "94c94817a8505ff4dfcd090987859a7e", "css/users.css": "94c94817a8505ff4dfcd090987859a7e", @@ -63,7 +63,7 @@ "js/airtime/library/plupload.js": "0f6be5b133650828b9ffc74e7852dc89", "js/airtime/library/podcast.js": "4dedd84cb571cdba2401bfb8ba621e69", "js/airtime/library/publish.js": "ab3a1452dd332cdb0773241a1c17b7e0", - "js/airtime/library/spl.js": "c4cbac0c237b548064685a2cb16d3fa2", + "js/airtime/library/spl.js": "5bddd886303ff15e8b78e79b30a9e56f", "js/airtime/listenerstat/listenerstat.js": "a3733dae8f9549668125ec9852d356ed", "js/airtime/listenerstat/showlistenerstat.js": "7cf0c375420f1c8471d304bc8758b2cd", "js/airtime/login/login.js": "7278cf49618791d75bacce38dd1b1d46", @@ -180,5 +180,16 @@ "js/waveformplaylist/playout.js": "7dfc5fe760f3c6739e38499df7b61e47", "js/waveformplaylist/time_scale.js": "74e0e17e1c8cd597449220c98de408ba", "js/waveformplaylist/track.js": "5456e6081ffedf55a9e38571bc178781", - "js/waveformplaylist/track_render.js": "e371b582b23e4b618e039f096d2f0570" + "js/waveformplaylist/track_render.js": "e371b582b23e4b618e039f096d2f0570", + "js/wavesurfer/cursor.js": "8ed17a7437f3ec84972d15d0073249b2", + "js/wavesurfer/cursor.min.js": "831165862b629e615cf59112fa00d963", + "js/wavesurfer/libretime.js": "17133cacf09fc204a572b56c99d44278", + "js/wavesurfer/minimap.js": "c17dd315386006bb3cffdabb5f715c7b", + "js/wavesurfer/minimap.min.js": "90b2f2d1d1b4eb189d1a9c3c27dcb4f7", + "js/wavesurfer/regions.js": "aafe4f696d3da50c976d11e472fd56d1", + "js/wavesurfer/regions.min.js": "2ed2f8b5880beee568942000a6139e85", + "js/wavesurfer/timeline.js": "0bd70779070513c2a4f34237a0f9f573", + "js/wavesurfer/timeline.min.js": "90ea16b23cacebfad10cad42f94403d0", + "js/wavesurfer/wavesurfer.js": "9e2ced8a136449f4fd78911b0f01f6ed", + "js/wavesurfer/wavesurfer.min.js": "42ebd7fdd574dfe8cae587145751a1f2" } diff --git a/legacy/application/controllers/LibraryController.php b/legacy/application/controllers/LibraryController.php index f2311f532..dfd50f570 100644 --- a/legacy/application/controllers/LibraryController.php +++ b/legacy/application/controllers/LibraryController.php @@ -400,6 +400,12 @@ class LibraryController extends Zend_Controller_Action $this->view->artist_name = $file->getPropelOrm()->getDbArtistName(); $this->view->filePath = $file->getPropelOrm()->getDbFilepath(); $this->view->artwork = $file->getPropelOrm()->getDbArtwork(); + $this->view->replay_gain = $file->getPropelOrm()->getDbReplayGain(); + $this->view->cuein = $file->getPropelOrm()->getDbCuein(); + $this->view->cueout = $file->getPropelOrm()->getDbCueout(); + $this->view->format = $file->getPropelOrm()->getDbFormat(); + $this->view->bit_rate = $file->getPropelOrm()->getDbBitRate(); + $this->view->sample_rate = $file->getPropelOrm()->getDbSampleRate(); $this->view->html = $this->view->render('library/edit-file-md.phtml'); } diff --git a/legacy/application/controllers/plugins/PageLayoutInitPlugin.php b/legacy/application/controllers/plugins/PageLayoutInitPlugin.php index 991493aa1..76dc771e2 100644 --- a/legacy/application/controllers/plugins/PageLayoutInitPlugin.php +++ b/legacy/application/controllers/plugins/PageLayoutInitPlugin.php @@ -217,6 +217,13 @@ class PageLayoutInitPlugin extends Zend_Controller_Plugin_Abstract ->appendFile(Assets::url('js/airtime/common/common.js'), 'text/javascript') ->appendFile(Assets::url('js/airtime/common/audioplaytest.js'), 'text/javascript'); + // include wavesurfer.js for waveform display + $view->headScript()->appendFile(Assets::url('js/wavesurfer/wavesurfer.min.js'), 'text/javascript') + ->appendFile(Assets::url('js/wavesurfer/timeline.min.js'), 'text/javascript') + ->appendFile(Assets::url('js/wavesurfer/regions.min.js'), 'text/javascript') + ->appendFile(Assets::url('js/wavesurfer/cursor.min.js'), 'text/javascript') + ->appendFile(Assets::url('js/wavesurfer/libretime.js'), 'text/javascript'); + $user = Application_Model_User::getCurrentUser(); if (!is_null($user)) { $userType = $user->getType(); diff --git a/legacy/application/forms/EditAudioMD.php b/legacy/application/forms/EditAudioMD.php index fc3539ae6..2247e2d21 100644 --- a/legacy/application/forms/EditAudioMD.php +++ b/legacy/application/forms/EditAudioMD.php @@ -8,9 +8,11 @@ class Application_Form_EditAudioMD extends Zend_Form { // Set the method for the display form to POST $this->setMethod('post'); + $this->setAttrib('id', 'track_edit_' . $p_id); $file_id = new Zend_Form_Element_Hidden('file_id'); $file_id->setValue($p_id); + $file_id->setDecorators(['ViewHelper']); $file_id->addDecorator('HtmlTag', ['tag' => 'div', 'style' => 'display:none']); $file_id->removeDecorator('Label'); $file_id->setAttrib('class', 'obj_id'); @@ -188,6 +190,14 @@ class Application_Form_EditAudioMD extends Zend_Form ]); $this->addElement($mood); + // Add replay gain field + $replay_gain = new Zend_Form_Element_Hidden('replay_gain'); + $replay_gain->class = 'input_text replay_gain_' . $p_id; + $replay_gain->setLabel(_('Replay Gain:')) + ->addDecorator('HtmlTag', ['tag' => 'div', 'style' => 'display:none']) + ->removeDecorator('Label'); + $this->addElement($replay_gain); + // Add bmp field $bpm = new Zend_Form_Element_Text('bpm'); $bpm->class = 'input_text'; @@ -242,7 +252,7 @@ class Application_Form_EditAudioMD extends Zend_Form $validCuePattern = '/^(?:[0-9]{1,2}:)?(?:[0-9]{1,2}:)?[0-9]{1,6}(\.\d{1,6})?$/'; $cueIn = new Zend_Form_Element_Text('cuein'); - $cueIn->class = 'input_text'; + $cueIn->class = 'input_text cuein_' . $p_id; $cueIn->setLabel('Cue In:'); $cueInValidator = Application_Form_Helper_ValidationTypes::overrideRegexValidator( $validCuePattern, @@ -252,7 +262,7 @@ class Application_Form_EditAudioMD extends Zend_Form $this->addElement($cueIn); $cueOut = new Zend_Form_Element_Text('cueout'); - $cueOut->class = 'input_text'; + $cueOut->class = 'input_text cueout_' . $p_id; $cueOut->setLabel('Cue Out:'); $cueOutValidator = Application_Form_Helper_ValidationTypes::overrideRegexValidator( $validCuePattern, diff --git a/legacy/application/views/scripts/library/edit-file-md.phtml b/legacy/application/views/scripts/library/edit-file-md.phtml index fa26736d6..06a7ebd9f 100644 --- a/legacy/application/views/scripts/library/edit-file-md.phtml +++ b/legacy/application/views/scripts/library/edit-file-md.phtml @@ -1,39 +1,186 @@ -artwork, 256); ?> +artwork, 256); + +$baseUrl = Config::getBasePath(); + +$get_replay_gain = Application_Model_Preference::getReplayGainModifier(); +if (!Application_Model_Preference::GetEnableReplayGain() ) { + $get_replay_gain = 0; +} +$analogMeter = true; +?>
-
- permissionDenied) { ?>

- permissionDenied) { - echo(_("Viewing ")); - } else { - echo(_("Editing ")); - } */ - ?> -
-
-
-

title); ?>

-

artist_name); ?>

-
-
-
-
-
-
- - -
-
-
-
-
-
-
- Remove +
+ permissionDenied) { ?>

+ permissionDenied) { + echo(_("Viewing ")); + } else { + echo(_("Editing ")); + } */ + ?> +
+
+
+

title); ?>

+

artist_name); ?>

-
- form; ?> +
+
+
+ + +
+
+
+
+
+
+
+ Remove +
+
+
+
+ form; ?> +
+
+
+
+
+
+
+ + +
+
+
+ +
+
+ +
+ + + +
+ +
+ + + +
+

+
+
+
+
+
+
+
+ +
+
+
+ diff --git a/legacy/public/css/images/slider.png b/legacy/public/css/images/slider.png new file mode 100755 index 0000000000000000000000000000000000000000..89bbe2556bfa226a11dc7217814aac5fd5cdfb56 GIT binary patch literal 121243 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 brbo;v=d8&hPTcM|iNG&)H61Kb)hh5mwn71J literal 0 HcmV?d00001 diff --git a/legacy/public/css/playlist_builder.css b/legacy/public/css/playlist_builder.css index e074436e3..0dc07ee2e 100644 --- a/legacy/public/css/playlist_builder.css +++ b/legacy/public/css/playlist_builder.css @@ -658,7 +658,7 @@ li.spl_empty { .collapsible-header.visible .arrow-icon { transform: rotate(90deg); } -.smart-block-advanced { +.smart-block-advanced, .visual-waveform-editor { display: none; } .smart-block-form .smart-block-advanced dt { diff --git a/legacy/public/css/styles.css b/legacy/public/css/styles.css index 9120cd33b..6e97b930d 100644 --- a/legacy/public/css/styles.css +++ b/legacy/public/css/styles.css @@ -4350,3 +4350,95 @@ body.droppable .artwork-upload .artwork-preview { border: 2px dashed lightblue; z-index: 9999; } + +/* Cue editor GUI starts here */ + +.track-file-details { + font-size: 14px; + line-height: 2; +} + +.track-window { + top: 285px; + width: 480px; +} + +/* -webkit-appearance: none; +-moz-appearance: none; +-ms-appearance: none; +appearance: none; */ +textarea, +input { + outline: none; +} + +input:focus, +select:focus, +textarea:focus, +button:focus { + outline: none; +} + +.navtt { + margin-bottom: 18px; + margin-left: 0; + list-style: none; +} + +.navtt > li > a { + display: block; +} + +li { + line-height: 18px; +} + +.navtt-content.active { + display: block; +} + +.navtt-content.hide { + display: none; +} + +.btn-control-player { + padding: 5px 7px 5px 10px; + font-size: 14px; + line-height: 18px; +} + +.zoom-container { + margin-top: 15px; +} + +.track-toolbar { + padding: 0 !important; +} + +.track-timer { + border-radius: 5px; + background-image: none; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.2); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.2); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.2); + /*background-color: #727272;*/ + outline: 0; + border-top-color: #333333; + /*background: #246B86;*/ + + width: 65px; + /*padding: 5px 7px 5px 10px;*/ + font-size: 14px; + line-height: 18px; + background-color: #666666; +} + +.track-timer-input { + background-color: transparent; + border: none; + width: 75px; + font-size: 14px; + color: #ffffff; +} + +/* Track Edit - Cue and Gain editor GUI ends here */ diff --git a/legacy/public/js/airtime/library/spl.js b/legacy/public/js/airtime/library/spl.js index 2802b9480..2d4bda2b1 100644 --- a/legacy/public/js/airtime/library/spl.js +++ b/legacy/public/js/airtime/library/spl.js @@ -1160,8 +1160,8 @@ var AIRTIME = (function (AIRTIME) { }); newTab.wrapper.find(".edit-md-dialog").on("keyup", function (event) { - // Don't submit if the user hits enter in a textarea (description) - if ($(event.target).is("input") && event.keyCode === 13) { + // Don't submit if the user hits enter in a textarea (description) or in the waveform editor + if ($(event.target).is("form input") && event.keyCode === 13) { newTab.wrapper.find(".md-save").click(); } }); diff --git a/legacy/public/js/wavesurfer/cursor.js b/legacy/public/js/wavesurfer/cursor.js new file mode 100644 index 000000000..06e7edc85 --- /dev/null +++ b/legacy/public/js/wavesurfer/cursor.js @@ -0,0 +1,404 @@ +/*! + * wavesurfer.js cursor plugin 4.6.0 (2024-02-05) + * https://wavesurfer-js.org + * @license BSD-3-Clause + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("WaveSurfer", [], factory); + else if(typeof exports === 'object') + exports["WaveSurfer"] = factory(); + else + root["WaveSurfer"] = root["WaveSurfer"] || {}, root["WaveSurfer"]["cursor"] = factory(); +})(this, () => { +return /******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./src/plugin/cursor/index.js": +/*!************************************!*\ + !*** ./src/plugin/cursor/index.js ***! + \************************************/ +/***/ ((module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** + * @typedef {Object} CursorPluginParams + * @property {?boolean} deferInit Set to true to stop auto init in `addPlugin()` + * @property {boolean} hideOnBlur=true Hide the cursor when the mouse leaves the + * waveform + * @property {string} width='1px' The width of the cursor + * @property {string} color='black' The color of the cursor + * @property {string} opacity='0.25' The opacity of the cursor + * @property {string} style='solid' The border style of the cursor + * @property {number} zIndex=3 The z-index of the cursor element + * @property {object} customStyle An object with custom styles which are applied + * to the cursor element + * @property {boolean} showTime=false Show the time on the cursor. + * @property {object} customShowTimeStyle An object with custom styles which are + * applied to the cursor time element. + * @property {string} followCursorY=false Use `true` to make the time on + * the cursor follow the x and the y-position of the mouse. Use `false` to make the + * it only follow the x-position of the mouse. + * @property {function} formatTimeCallback Formats the timestamp on the cursor. + */ +/** + * Displays a thin line at the position of the cursor on the waveform. + * + * @implements {PluginClass} + * @extends {Observer} + * @example + * // es6 + * import CursorPlugin from 'wavesurfer.cursor.js'; + * + * // commonjs + * var CursorPlugin = require('wavesurfer.cursor.js'); + * + * // if you are using diff --git a/legacy/public/css/styles.css b/legacy/public/css/styles.css index 6e97b930d..6e7b3a515 100644 --- a/legacy/public/css/styles.css +++ b/legacy/public/css/styles.css @@ -4363,44 +4363,19 @@ body.droppable .artwork-upload .artwork-preview { width: 480px; } -/* -webkit-appearance: none; --moz-appearance: none; --ms-appearance: none; -appearance: none; */ -textarea, -input { +.visual-waveform-editor textarea, +.visual-waveform-editor input, +.visual-waveform-editor input:focus, +.visual-waveform-editor select:focus, +.visual-waveform-editor textarea:focus, +.visual-waveform-editor button:focus { outline: none; -} +} */ -input:focus, -select:focus, -textarea:focus, -button:focus { - outline: none; -} - -.navtt { - margin-bottom: 18px; - margin-left: 0; - list-style: none; -} - -.navtt > li > a { - display: block; -} - -li { +.visual-waveform-editor li { line-height: 18px; } -.navtt-content.active { - display: block; -} - -.navtt-content.hide { - display: none; -} - .btn-control-player { padding: 5px 7px 5px 10px; font-size: 14px; diff --git a/legacy/public/js/waveformplaylist/track_render.js b/legacy/public/js/waveformplaylist/track_render.js deleted file mode 100644 index 9f419dd99..000000000 --- a/legacy/public/js/waveformplaylist/track_render.js +++ /dev/null @@ -1,449 +0,0 @@ -'use strict'; - -var WaveformDrawer = function() { - -}; - -WaveformDrawer.prototype.init = function(container, config) { - - makePublisher(this); - - this.config = config; - this.container = container; - this.channels = []; //array of canvases, contexts, 1 for each channel displayed. - - var theme = this.config.getUITheme(); - - if (this.loaderStates[theme] !== undefined) { - this.loaderStates = this.loaderStates[theme]; - } - else { - this.loaderStates = this.loaderStates["default"]; - } -}; - -WaveformDrawer.prototype.loaderStates = { - "bootstrap": { - "downloading": "progress progress-warning", - "decoding": "progress progress-success progress-striped active", - "loader": "bar" - }, - - "jQueryUI": { - "downloading": "ui-progressbar ui-widget ui-widget-content ui-corner-all", - "decoding": "ui-progressbar ui-widget ui-widget-content ui-corner-all", - "loader": "ui-progressbar-value ui-widget-header ui-corner-left" - }, - - "default": { - "downloading": "progress", - "decoding": "decoding", - "loader": "bar" - } -}; - -WaveformDrawer.prototype.getPeaks = function(buffer, cues) { - - // Frames per pixel - var res = this.config.getResolution(), - peaks = [], - i, c, p, l, - chanLength = cues.cueout - cues.cuein, - pixels = Math.ceil(chanLength / res), - numChan = buffer.numberOfChannels, - weight = 1 / (numChan), - makeMono = this.config.isDisplayMono(), - chan, - start, - end, - vals, - max, - min, - maxPeak = -Infinity; //used to scale the waveform on the canvas. - - for (i = 0; i < pixels; i++) { - - peaks[i] = []; - - for (c = 0; c < numChan; c++) { - - chan = buffer.getChannelData(c); - chan = chan.subarray(cues.cuein, cues.cueout); - - start = i * res; - end = (i + 1) * res > chanLength ? chanLength : (i + 1) * res; - vals = chan.subarray(start, end); - max = -Infinity; - min = Infinity; - - for (p = 0, l = vals.length; p < l; p++) { - if (vals[p] > max){ - max = vals[p]; - } - if (vals[p] < min){ - min = vals[p]; - } - } - peaks[i].push({max:max, min:min}); - maxPeak = Math.max.apply(Math, [maxPeak, Math.abs(max), Math.abs(min)]); - } - - if (makeMono) { - max = min = 0; - - for (c = 0 ; c < numChan; c++) { - max = max + weight * peaks[i][c].max; - min = min + weight * peaks[i][c].min; - } - - peaks[i] = []; //need to clear out old stuff (maybe we should keep it for toggling views?). - peaks[i].push({max:max, min:min}); - } - } - - this.maxPeak = maxPeak; - this.peaks = peaks; -}; - -WaveformDrawer.prototype.setTimeShift = function(pixels) { - var i, len; - - for (i = 0, len = this.channels.length; i < len; i++) { - this.channels[i].div.style.left = pixels+"px"; - } -}; - -WaveformDrawer.prototype.updateLoader = function(percent) { - this.loader.style.width = percent+"%"; -}; - -WaveformDrawer.prototype.setLoaderState = function(state) { - this.progressDiv.className = this.loaderStates[state]; -}; - -WaveformDrawer.prototype.drawLoading = function() { - var div, - loader; - - this.height = this.config.getWaveHeight(); - - div = document.createElement("div"); - div.style.height = this.height+"px"; - - loader = document.createElement("div"); - loader.style.height = "10px"; - loader.className = this.loaderStates["loader"]; - - div.appendChild(loader); - - this.progressDiv = div; - this.loader = loader; - - this.setLoaderState("downloading"); - this.updateLoader(0); - - this.container.appendChild(div); -}; - -WaveformDrawer.prototype.drawBuffer = function(buffer, pixelOffset, cues) { - var canv, - div, - i, - top = 0, - left = 0, - makeMono = this.config.isDisplayMono(), - res = this.config.getResolution(), - numChan = makeMono? 1 : buffer.numberOfChannels, - numSamples = cues.cueout - cues.cuein + 1, - fragment = document.createDocumentFragment(), - wrapperHeight; - - this.container.innerHTML = ""; - this.channels = []; - - //width and height is per waveform canvas. - this.width = Math.ceil(numSamples / res); - this.height = this.config.getWaveHeight(); - - for (i = 0; i < numChan; i++) { - - div = document.createElement("div"); - div.classList.add("channel"); - div.classList.add("channel-"+i); - div.style.width = this.width+"px"; - div.style.height = this.height+"px"; - div.style.top = top+"px"; - div.style.left = left+"px"; - - canv = document.createElement("canvas"); - canv.setAttribute('width', this.width); - canv.setAttribute('height', this.height); - - this.channels.push({ - canvas: canv, - context: canv.getContext('2d'), - div: div - }); - - div.appendChild(canv); - fragment.appendChild(div); - - top = top + this.height; - } - - wrapperHeight = numChan * this.height; - this.container.style.height = wrapperHeight+"px"; - this.container.appendChild(fragment); - - - this.getPeaks(buffer, cues); - this.updateEditor(); - - this.setTimeShift(pixelOffset); -}; - -WaveformDrawer.prototype.drawFrame = function(chanNum, index, peaks, maxPeak, cursorPos, pixelOffset) { - var x, y, w, h, max, min, - h2 = this.height / 2, - cc = this.channels[chanNum].context, - colors = this.config.getColorScheme(); - - max = (peaks.max / maxPeak) * h2; - min = (peaks.min / maxPeak) * h2; - - w = 1; - x = index * w; - y = Math.round(h2 - max); - h = Math.ceil(max - min); - - //to prevent blank space when there is basically silence in the track. - h = h === 0 ? 1 : h; - - if (cursorPos >= (x + pixelOffset)) { - cc.fillStyle = colors.progressColor; - } - else { - cc.fillStyle = colors.waveColor; - } - - cc.fillRect(x, y, w, h); -}; - -/* - start, end are optional parameters to only redraw part of the canvas. -*/ -WaveformDrawer.prototype.draw = function(cursorPos, pixelOffset, start, end) { - var that = this, - peaks = this.peaks, - i = (start) ? start - pixelOffset : 0, - len = (end) ? end - pixelOffset + 1 : peaks.length; - - if (i < 0 && len < 0) { - return; - } - - if (i < 0) { - i = 0; - } - - if (len > peaks.length) { - len = peaks.length; - } - - this.clear(i, len); - - for (; i < len; i++) { - - peaks[i].forEach(function(peak, chanNum) { - that.drawFrame(chanNum, i, peak, that.maxPeak, cursorPos, pixelOffset); - }); - } -}; - -/* - If start/end are set clear only part of the canvas. -*/ -WaveformDrawer.prototype.clear = function(start, end) { - var i, len, - width = end - start; - - for (i = 0, len = this.channels.length; i < len; i++) { - this.channels[i].context.clearRect(start, 0, width, this.height); - } -}; - -WaveformDrawer.prototype.updateEditor = function(cursorPos, pixelOffset, start, end, highlighted, selected) { - var i, len, - fragment = document.createDocumentFragment(); - - this.container.innerHTML = ""; - - this.draw(cursorPos, pixelOffset, start, end); - - if (highlighted === true && selected !== undefined) { - var border = (selected.end - selected.start === 0) ? true : false; - this.drawHighlight(selected.start, selected.end, border); - } - - for (i = 0, len = this.channels.length; i < len; i++) { - fragment.appendChild(this.channels[i].div); - } - - this.container.appendChild(fragment); -}; - -/* - start, end in pixels. -*/ -WaveformDrawer.prototype.drawHighlight = function(start, end, isBorder) { - var i, len, - colors = this.config.getColorScheme(), - fillStyle, - ctx, - width = end - start + 1; - - fillStyle = (isBorder) ? colors.selectBorderColor : colors.selectBackgroundColor; - - for (i = 0, len = this.channels.length; i < len; i++) { - ctx = this.channels[i].context; - ctx.fillStyle = fillStyle; - ctx.fillRect(start, 0, width, this.height); - } -}; - -WaveformDrawer.prototype.sCurveFadeIn = function sCurveFadeIn(ctx, width) { - return Curves.createSCurveBuffer(width, (Math.PI/2)); -}; - -WaveformDrawer.prototype.sCurveFadeOut = function sCurveFadeOut(ctx, width) { - return Curves.createSCurveBuffer(width, -(Math.PI/2)); -}; - -WaveformDrawer.prototype.logarithmicFadeIn = function logarithmicFadeIn(ctx, width) { - return Curves.createLogarithmicBuffer(width, 10, 1); -}; - -WaveformDrawer.prototype.logarithmicFadeOut = function logarithmicFadeOut(ctx, width) { - return Curves.createLogarithmicBuffer(width, 10, -1); -}; - -WaveformDrawer.prototype.exponentialFadeIn = function exponentialFadeIn(ctx, width) { - return Curves.createExponentialBuffer(width, 1); -}; - -WaveformDrawer.prototype.exponentialFadeOut = function exponentialFadeOut(ctx, width) { - return Curves.createExponentialBuffer(width, -1); -}; - -WaveformDrawer.prototype.linearFadeIn = function linearFadeIn(ctx, width) { - return Curves.createLinearBuffer(width, 1); -}; - -WaveformDrawer.prototype.linearFadeOut = function linearFadeOut(ctx, width) { - return Curves.createLinearBuffer(width, -1); -}; - -WaveformDrawer.prototype.drawFadeCurve = function(ctx, shape, type, width) { - var method = shape+type, - fn = this[method], - colors = this.config.getColorScheme(), - curve, - i, len, - cHeight = this.height, - y; - - ctx.strokeStyle = colors.fadeColor; - - curve = fn.call(this, ctx, width); - - y = cHeight - curve[0] * cHeight; - ctx.beginPath(); - ctx.moveTo(0, y); - - for (i = 1, len = curve.length; i < len; i++) { - y = cHeight - curve[i] * cHeight; - ctx.lineTo(i, y); - } - ctx.stroke(); -}; - -WaveformDrawer.prototype.removeFade = function(id) { - var fadeClass = "playlist-fade-"+id, - el, els, - i,len; - - els = this.container.getElementsByClassName(fadeClass); - len = els.length; - - //DOM NodeList is live, use a decrementing counter. - if (len > 0) { - for (i = len-1; i >= 0; i--) { - el = els[i]; - el.parentNode.removeChild(el); - } - } -}; - -WaveformDrawer.prototype.drawFade = function(id, type, shape, start, end) { - var div, - canv, - width, - left, - fragment = document.createDocumentFragment(), - i, len, - dup, - ctx, - tmpCtx; - - if ((end - start) === 0) { - return; - } - - width = ~~(end - start + 1); - left = start; - - div = document.createElement("div"); - div.classList.add("playlist-fade"); - div.classList.add("playlist-fade-"+id); - div.style.width = width+"px"; - div.style.height = this.height+"px"; - div.style.top = 0; - div.style.left = left+"px"; - - canv = document.createElement("canvas"); - canv.setAttribute('width', width); - canv.setAttribute('height', this.height); - ctx = canv.getContext('2d'); - - this.drawFadeCurve(ctx, shape, type, width); - - div.appendChild(canv); - fragment.appendChild(div); - - for (i = 0, len = this.channels.length; i < len; i++) { - dup = fragment.cloneNode(true); - tmpCtx = dup.querySelector('canvas').getContext('2d'); - tmpCtx.drawImage(canv, 0, 0); - - this.channels[i].div.appendChild(dup); - } -}; - -WaveformDrawer.prototype.drawFades = function(fades) { - var id, - fade, - startPix, - endPix, - SR = this.config.getSampleRate(), - res = this.config.getResolution(); - - for (id in fades) { - fade = fades[id]; - - if (fades.hasOwnProperty(id)) { - startPix = fade.start * SR / res; - endPix = fade.end * SR / res; - this.drawFade(id, fade.type, fade.shape, startPix, endPix); - } - } -}; diff --git a/legacy/public/js/wavesurfer/libretime.js b/legacy/public/js/wavesurfer/libretime.js index ae894d420..29675b32d 100644 --- a/legacy/public/js/wavesurfer/libretime.js +++ b/legacy/public/js/wavesurfer/libretime.js @@ -4,19 +4,14 @@ var wavesurfer = []; window.addEventListener("load",()=>{ let op=window.inputKnobsOptions||{}; - op.knobWidth=op.knobWidth||op.knobDiameter||64; - op.knobHeight=op.knobHeight||op.knobDiameter||64; op.sliderWidth=op.sliderWidth||op.sliderDiameter||128; op.sliderHeight=op.sliderHeight||op.sliderDiameter||20; - op.switchWidth=op.switchWidth||op.switchDiameter||24; - op.switchHeight=op.switchHeight||op.switchDiameter||24; op.fgcolor=op.fgcolor||"#f00"; op.bgcolor=op.bgcolor||"#000"; - op.knobMode=op.knobMode||"linear"; op.sliderMode=op.sliderMode||"relative"; let styles=document.createElement("style"); styles.innerHTML= -`input[type=range].input-knob,input[type=range].input-slider{ +`input[type=range].input-slider{ -webkit-appearance:none; -moz-appearance:none; border:none; @@ -28,52 +23,24 @@ window.addEventListener("load",()=>{ background-color:transparent; touch-action:none; } -input[type=range].input-knob{ - width:${op.knobWidth}px; height:${op.knobHeight}px; -} input[type=range].input-slider{ width:${op.sliderWidth}px; height:${op.sliderHeight}px; } -input[type=range].input-knob::-webkit-slider-thumb,input[type=range].input-slider::-webkit-slider-thumb{ +input[type=range].input-slider::-webkit-slider-thumb{ -webkit-appearance:none; opacity:0; } -input[type=range].input-knob::-moz-range-thumb,input[type=range].input-slider::-moz-range-thumb{ +input[type=range].input-slider::-moz-range-thumb{ -moz-appearance:none; height:0; border:none; } -input[type=range].input-knob::-moz-range-track,input[type=range].input-slider::-moz-range-track{ +input[type=range].input-slider::-moz-range-track{ -moz-appearance:none; height:0; border:none; -} -input[type=checkbox].input-switch,input[type=radio].input-switch { - width:${op.switchWidth}px; - height:${op.switchHeight}px; - -webkit-appearance:none; - -moz-appearance:none; - background-size:100% 200%; - background-position:0% 0%; - background-repeat:no-repeat; - border:none; - border-radius:0; - background-color:transparent; -} -input[type=checkbox].input-switch:checked,input[type=radio].input-switch:checked { - background-position:0% 100%; }`; document.head.appendChild(styles); - let makeKnobFrames=(fr,fg,bg)=>{ - let r= -` - - -`; - for(let i=1;i`; - return r+""; - } let makeHSliderFrames=(fr,fg,bg,w,h)=>{ let r= ` @@ -85,46 +52,6 @@ input[type=checkbox].input-switch:checked,input[type=radio].input-switch:checked } return r+""; } - let makeVSliderFrames=(fr,fg,bg,w,h)=>{ - let r= -` - -`; - for(let i=0;i`; - r+=``; - } - return r+""; - } - let initSwitches=(el)=>{ - let w,h,d,fg,bg; - if(el.inputKnobs) - return; - el.inputKnobs={}; - el.refresh=()=>{ - let src=el.getAttribute("data-src"); - d=+el.getAttribute("data-diameter"); - let st=document.defaultView.getComputedStyle(el,null); - w=parseFloat(el.getAttribute("data-width")||d||st.width); - h=parseFloat(el.getAttribute("data-height")||d||st.height); - bg=el.getAttribute("data-bgcolor")||op.bgcolor; - fg=el.getAttribute("data-fgcolor")||op.fgcolor; - el.style.width=w+"px"; - el.style.height=h+"px"; - if(src) - el.style.backgroundImage="url("+src+")"; - else { - let minwh=Math.min(w,h); - let svg= -` - - -`; - el.style.backgroundImage="url(data:image/svg+xml;base64,"+btoa(svg)+")"; - } - }; - el.refresh(); - }; let initKnobs=(el)=>{ let w,h,d,fg,bg; if(el.inputKnobs){ @@ -140,22 +67,9 @@ input[type=checkbox].input-switch:checked,input[type=radio].input-switch:checked bg=el.getAttribute("data-bgcolor")||op.bgcolor; fg=el.getAttribute("data-fgcolor")||op.fgcolor; ik.sensex=ik.sensey=200; - if(el.className.indexOf("input-knob")>=0) - ik.itype="k"; - else{ - if(w>=h){ - ik.itype="h"; - ik.sensex=w-h; - ik.sensey=Infinity; - el.style.backgroundSize="auto 100%"; - } - else{ - ik.itype="v"; - ik.sensex="Infinity"; - ik.sensey=h-w; - el.style.backgroundSize="100% auto"; - } - } + ik.sensex=w-h; + ik.sensey=Infinity; + el.style.backgroundSize="auto 100%"; el.style.width=w+"px"; el.style.height=h+"px"; ik.frameheight=h; @@ -169,18 +83,11 @@ input[type=checkbox].input-switch:checked,input[type=radio].input-switch:checked ik.sprites=0; if(ik.sprites>=1) el.style.backgroundSize=`100% ${(ik.sprites+1)*100}%`; - else if(ik.itype!="k"){ - el.style.backgroundColor=bg; - el.style.borderRadius=Math.min(w,h)*0.25+"px"; - } + el.style.backgroundColor=bg; + el.style.borderRadius=Math.min(w,h)*0.25+"px"; } else{ - let svg; - switch(ik.itype){ - case "k": svg=makeKnobFrames(101,fg,bg); break; - case "h": svg=makeHSliderFrames(101,fg,bg,w,h); break; - case "v": svg=makeVSliderFrames(101,fg,bg,w,h); break; - } + let svg=makeHSliderFrames(101,fg,bg,w,h); ik.sprites=100; el.style.backgroundImage="url(data:image/svg+xml;base64,"+btoa(svg)+")"; el.style.backgroundSize=`100% ${(ik.sprites+1)*100}%`; @@ -209,12 +116,7 @@ input[type=checkbox].input-switch:checked,input[type=radio].input-switch:checked let rc=el.getBoundingClientRect(); let cx=(rc.left+rc.right)*0.5,cy=(rc.top+rc.bottom)*0.5; let dx=ev.clientX,dy=ev.clientY; - let da=Math.atan2(ev.clientX-cx,cy-ev.clientY); - if(ik.itype=="k"&&op.knobMode=="circularabs"){ - dv=ik.valrange.min+(da/Math.PI*0.75+0.5)*(ik.valrange.max-ik.valrange.min); - el.setValue(dv); - } - if(ik.itype!="k"&&op.sliderMode=="abs"){ + if(op.sliderMode=="abs"){ dv=(ik.valrange.min+ik.valrange.max)*0.5+((dx-cx)/ik.sensex-(dy-cy)/ik.sensey)*(ik.valrange.max-ik.valrange.min); el.setValue(dv); } @@ -235,40 +137,10 @@ input[type=checkbox].input-switch:checked,input[type=radio].input-switch:checked if(ev.touches) ev = ev.touches[0]; let dx=ev.clientX-ik.dragfrom.x,dy=ev.clientY-ik.dragfrom.y; - let da=Math.atan2(ev.clientX-cx,cy-ev.clientY); - switch(ik.itype){ - case "k": - switch(op.knobMode){ - case "linear": - dv=(dx/ik.sensex-dy/ik.sensey)*(ik.valrange.max-ik.valrange.min); - if(ev.shiftKey) - dv*=0.2; - el.setValue(ik.dragfrom.v+dv); - break; - case "circularabs": - if(!ev.shiftKey){ - dv=ik.valrange.min+(da/Math.PI*0.75+0.5)*(ik.valrange.max-ik.valrange.min); - el.setValue(dv); - break; - } - case "circularrel": - if(da>ik.dragfrom.a+Math.PI) da-=Math.PI*2; - if(da{ document.removeEventListener("mousemove",ik.pointermove); @@ -300,19 +172,8 @@ input[type=checkbox].input-switch:checked,input[type=radio].input-switch:checked let v=(el.value-ik.valrange.min)/(ik.valrange.max-ik.valrange.min); if(ik.sprites>=1) el.style.backgroundPosition="0px "+(-((v*ik.sprites)|0)*ik.frameheight)+"px"; - else{ - switch(ik.itype){ - case "k": - el.style.transform="rotate("+(270*v-135)+"deg)"; - break; - case "h": - el.style.backgroundPosition=((w-h)*v)+"px 0px"; - break; - case "v": - el.style.backgroundPosition="0px "+(h-w)*(1-v)+"px"; - break; - } - } + else + el.style.backgroundPosition=((w-h)*v)+"px 0px"; ik.valueold=el.value; } }; @@ -325,13 +186,9 @@ input[type=checkbox].input-switch:checked,input[type=radio].input-switch:checked el.addEventListener("click",function (event){ event.stopPropagation(); }); } let refreshque=()=>{ - let elem=document.querySelectorAll("input.input-knob,input.input-slider"); + let elem=document.querySelectorAll("input.input-slider"); for(let i=0;i { -return /******/ (() => { // webpackBootstrap -/******/ "use strict"; -/******/ var __webpack_modules__ = ({ - -/***/ "./src/plugin/minimap/index.js": -/*!*************************************!*\ - !*** ./src/plugin/minimap/index.js ***! - \*************************************/ -/***/ ((module, exports) => { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } -function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } -function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } -/*eslint no-console: ["error", { allow: ["warn"] }] */ -/** - * @typedef {Object} MinimapPluginParams - * @desc Extends the `WavesurferParams` wavesurfer was initialised with - * @property {?string|HTMLElement} container CSS selector or HTML element where - * the map should be rendered. By default it is simply appended - * after the waveform. - * @property {?boolean} deferInit Set to true to manually call - * `initPlugin('minimap')` - */ -/** - * Renders a smaller version waveform as a minimap of the main waveform. - * - * @implements {PluginClass} - * @extends {Observer} - * @example - * // es6 - * import MinimapPlugin from 'wavesurfer.minimap.js'; - * - * // commonjs - * var MinimapPlugin = require('wavesurfer.minimap.js'); - * - * // if you are using