diff --git a/.github/workflows/docker-build-and-push.yml b/.github/workflows/docker-build-and-push.yml index 397bea6f..c64748aa 100644 --- a/.github/workflows/docker-build-and-push.yml +++ b/.github/workflows/docker-build-and-push.yml @@ -86,7 +86,7 @@ jobs: echo "DATE_TAG=${DATE_TAG}" >> $GITHUB_ENV echo "Base tag: $BASE_TAG, Date tag: $DATE_TAG" - - name: Build and Push ContentProcessorAPI Docker image + - name: Build and Push Backend API Docker image uses: docker/build-push-action@v7 with: context: ./src/backend-api @@ -97,7 +97,7 @@ jobs: ${{ steps.registry.outputs.ext_registry }}/backend-api:${{ env.BASE_TAG }} ${{ steps.registry.outputs.ext_registry }}/backend-api:${{ env.DATE_TAG }} - - name: Build and Push ContentProcessor Docker image + - name: Build and Push Processor Docker image uses: docker/build-push-action@v7 with: context: ./src/processor @@ -108,7 +108,7 @@ jobs: ${{ steps.registry.outputs.ext_registry }}/processor:${{ env.BASE_TAG }} ${{ steps.registry.outputs.ext_registry }}/processor:${{ env.DATE_TAG }} - - name: Build and Push ContentProcessorWeb Docker image + - name: Build and Push Frontend Docker image uses: docker/build-push-action@v7 with: context: ./src/frontend diff --git a/src/backend-api/pyproject.toml b/src/backend-api/pyproject.toml index 5b658d47..a877c5d9 100644 --- a/src/backend-api/pyproject.toml +++ b/src/backend-api/pyproject.toml @@ -38,10 +38,11 @@ override-dependencies = [ "azure-core==1.38.0", "urllib3==2.7.0", "requests==2.33.0", - "werkzeug==3.1.4", + "werkzeug==3.1.6", "pygments==2.20.0", "black==26.3.1", "cryptography==46.0.7", "pyjwt==2.12.0", "pyopenssl==26.0.0", + "idna==3.15", ] diff --git a/src/backend-api/src/tests/base/test_sk_logic_base.py b/src/backend-api/src/tests/base/test_sk_logic_base.py index 594342b3..119d17fc 100644 --- a/src/backend-api/src/tests/base/test_sk_logic_base.py +++ b/src/backend-api/src/tests/base/test_sk_logic_base.py @@ -10,7 +10,6 @@ import importlib import sys import types -from typing import Type from unittest.mock import MagicMock import pytest diff --git a/src/backend-api/uv.lock b/src/backend-api/uv.lock index cb73228e..54c9a421 100644 --- a/src/backend-api/uv.lock +++ b/src/backend-api/uv.lock @@ -14,13 +14,14 @@ overrides = [ { name = "azure-core", specifier = "==1.38.0" }, { name = "black", specifier = "==26.3.1" }, { name = "cryptography", specifier = "==46.0.7" }, + { name = "idna", specifier = "==3.15" }, { name = "pygments", specifier = "==2.20.0" }, { name = "pyjwt", specifier = "==2.12.0" }, { name = "pyopenssl", specifier = "==26.0.0" }, { name = "requests", specifier = "==2.33.0" }, { name = "starlette", specifier = "==0.49.1" }, { name = "urllib3", specifier = "==2.7.0" }, - { name = "werkzeug", specifier = "==3.1.4" }, + { name = "werkzeug", specifier = "==3.1.6" }, ] [[package]] @@ -1276,11 +1277,11 @@ wheels = [ [[package]] name = "idna" -version = "3.13" +version = "3.15" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ce/cc/762dfb036166873f0059f3b7de4565e1b5bc3d6f28a414c13da27e442f99/idna-3.13.tar.gz", hash = "sha256:585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242", size = 194210, upload-time = "2026-04-22T16:42:42.314Z" } +sdist = { url = "https://files.pythonhosted.org/packages/82/77/7b3966d0b9d1d31a36ddf1746926a11dface89a83409bf1483f0237aa758/idna-3.15.tar.gz", hash = "sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc", size = 199245, upload-time = "2026-05-12T22:45:57.011Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/13/ad7d7ca3808a898b4612b6fe93cde56b53f3034dcde235acb1f0e1df24c6/idna-3.13-py3-none-any.whl", hash = "sha256:892ea0cde124a99ce773decba204c5552b69c3c67ffd5f232eb7696135bc8bb3", size = 68629, upload-time = "2026-04-22T16:42:40.909Z" }, + { url = "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl", hash = "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8", size = 72340, upload-time = "2026-05-12T22:45:55.733Z" }, ] [[package]] @@ -3301,14 +3302,14 @@ wheels = [ [[package]] name = "werkzeug" -version = "3.1.4" +version = "3.1.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markupsafe" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/45/ea/b0f8eeb287f8df9066e56e831c7824ac6bab645dd6c7a8f4b2d767944f9b/werkzeug-3.1.4.tar.gz", hash = "sha256:cd3cd98b1b92dc3b7b3995038826c68097dcb16f9baa63abe35f20eafeb9fe5e", size = 864687, upload-time = "2025-11-29T02:15:22.841Z" } +sdist = { url = "https://files.pythonhosted.org/packages/61/f1/ee81806690a87dab5f5653c1f146c92bc066d7f4cebc603ef88eb9e13957/werkzeug-3.1.6.tar.gz", hash = "sha256:210c6bede5a420a913956b4791a7f4d6843a43b6fcee4dfa08a65e93007d0d25", size = 864736, upload-time = "2026-02-19T15:17:18.884Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2f/f9/9e082990c2585c744734f85bec79b5dae5df9c974ffee58fe421652c8e91/werkzeug-3.1.4-py3-none-any.whl", hash = "sha256:2ad50fb9ed09cc3af22c54698351027ace879a0b60a3b5edf5730b2f7d876905", size = 224960, upload-time = "2025-11-29T02:15:21.13Z" }, + { url = "https://files.pythonhosted.org/packages/4d/ec/d58832f89ede95652fd01f4f24236af7d32b70cab2196dfcc2d2fd13c5c2/werkzeug-3.1.6-py3-none-any.whl", hash = "sha256:7ddf3357bb9564e407607f988f683d72038551200c704012bb9a4c523d42f131", size = 225166, upload-time = "2026-02-19T15:17:17.475Z" }, ] [[package]] diff --git a/src/frontend/src/components/batchHistoryPanel.tsx b/src/frontend/src/components/batchHistoryPanel.tsx index d180b78c..49fd10cb 100644 --- a/src/frontend/src/components/batchHistoryPanel.tsx +++ b/src/frontend/src/components/batchHistoryPanel.tsx @@ -1,6 +1,6 @@ import React, { useState, useEffect, useRef } from "react"; -import { useDispatch, useSelector } from 'react-redux'; +import { useDispatch } from 'react-redux'; import { Card, Spinner, Tooltip } from "@fluentui/react-components"; import { useNavigate } from "react-router-dom"; import ConfirmationDialog from "../commonComponents/ConfirmationDialog/confirmationDialogue"; diff --git a/src/processor/pyproject.toml b/src/processor/pyproject.toml index 43241009..b6c2c2aa 100644 --- a/src/processor/pyproject.toml +++ b/src/processor/pyproject.toml @@ -62,4 +62,5 @@ prerelease = "allow" override-dependencies = [ "urllib3==2.7.0", "authlib==1.7.1", + "idna==3.15", ] diff --git a/src/processor/src/tests/unit/libs/application/test_application_context_extras.py b/src/processor/src/tests/unit/libs/application/test_application_context_extras.py index b51b8b2a..e121254c 100644 --- a/src/processor/src/tests/unit/libs/application/test_application_context_extras.py +++ b/src/processor/src/tests/unit/libs/application/test_application_context_extras.py @@ -118,7 +118,7 @@ async def _run(): def test_create_async_instance_with_callable_factory(): async def _run(): - ctx = AppContext().add_async_singleton(_AsyncSvc, lambda: _AsyncSvc()) + ctx = AppContext().add_async_singleton(_AsyncSvc, _AsyncSvc) a = await ctx.get_service_async(_AsyncSvc) assert isinstance(a, _AsyncSvc) assert a.entered is True @@ -151,7 +151,7 @@ async def _run(): def test_create_instance_with_factory_callable(): - ctx = AppContext().add_singleton(_S, lambda: _S()) + ctx = AppContext().add_singleton(_S, _S) a = ctx.get_service(_S) assert isinstance(a, _S) diff --git a/src/processor/src/tests/unit/services/test_queue_service_internals.py b/src/processor/src/tests/unit/services/test_queue_service_internals.py index 47a8d701..6ebe0cf1 100644 --- a/src/processor/src/tests/unit/services/test_queue_service_internals.py +++ b/src/processor/src/tests/unit/services/test_queue_service_internals.py @@ -189,7 +189,7 @@ async def _go(): try: await task except (asyncio.CancelledError, Exception): - pass + pass # Expected during task cancellation cleanup _run(_go()) diff --git a/src/processor/uv.lock b/src/processor/uv.lock index 7c68e2ab..0f3c189b 100644 --- a/src/processor/uv.lock +++ b/src/processor/uv.lock @@ -13,6 +13,7 @@ prerelease-mode = "allow" [manifest] overrides = [ { name = "authlib", specifier = "==1.7.1" }, + { name = "idna", specifier = "==3.15" }, { name = "urllib3", specifier = "==2.7.0" }, ] @@ -1556,11 +1557,11 @@ wheels = [ [[package]] name = "idna" -version = "3.13" +version = "3.15" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ce/cc/762dfb036166873f0059f3b7de4565e1b5bc3d6f28a414c13da27e442f99/idna-3.13.tar.gz", hash = "sha256:585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242", size = 194210, upload-time = "2026-04-22T16:42:42.314Z" } +sdist = { url = "https://files.pythonhosted.org/packages/82/77/7b3966d0b9d1d31a36ddf1746926a11dface89a83409bf1483f0237aa758/idna-3.15.tar.gz", hash = "sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc", size = 199245, upload-time = "2026-05-12T22:45:57.011Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/13/ad7d7ca3808a898b4612b6fe93cde56b53f3034dcde235acb1f0e1df24c6/idna-3.13-py3-none-any.whl", hash = "sha256:892ea0cde124a99ce773decba204c5552b69c3c67ffd5f232eb7696135bc8bb3", size = 68629, upload-time = "2026-04-22T16:42:40.909Z" }, + { url = "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl", hash = "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8", size = 72340, upload-time = "2026-05-12T22:45:55.733Z" }, ] [[package]]