From d4bb4855cf48c3bdf0d2140e89ab21c6991c9753 Mon Sep 17 00:00:00 2001 From: Bee Date: Wed, 18 Feb 2026 05:45:37 -0800 Subject: [PATCH 1/8] fix ICE candidated added response TBD: video and audio tracks not making it to onboard_ui for unknown reasons --- src/basic_bot/commons/webrtc_server.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/basic_bot/commons/webrtc_server.py b/src/basic_bot/commons/webrtc_server.py index b229db2..bcf6382 100644 --- a/src/basic_bot/commons/webrtc_server.py +++ b/src/basic_bot/commons/webrtc_server.py @@ -230,7 +230,11 @@ async def respond_to_ice_candidate(self, request: web.Request) -> web.Response: try: await pc.addIceCandidate(self.create_RTCIceCandidate(candidate)) log.debug(f"Added ICE candidate for client_id={client_id}") - return web.Response(status=200, text="ICE candidate added") + return web.Response( + status=200, + content_type="application/json", + text=json.dumps({"text": "ICE candidate added"}), + ) except Exception as e: log.error(f"Error adding ICE candidate for client_id={client_id}: {e}") return web.Response(status=500, text="Failed to add ICE candidate") From 343c7383ceb2f8c04b7e06931d5bd124d51782dc Mon Sep 17 00:00:00 2001 From: Bee Date: Sun, 22 Feb 2026 06:59:37 -0800 Subject: [PATCH 2/8] upgrade aiortc >1.11 to fix mimetype=rtx see issue 17 in portalbot --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 77f2b45..f7c3cab 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,7 +21,7 @@ types-requests # Runtime dependencies needed for mypy type checking aiohttp aiohttp_cors -aiortc==1.10.1 +aiortc>=1.11.0 av numpy Pillow From 7f7efbdd6964ea25e3beae8037c9c9e50ac987da Mon Sep 17 00:00:00 2001 From: Bee Date: Sun, 22 Feb 2026 07:05:46 -0800 Subject: [PATCH 3/8] later versions of aiortc cause build issue in CI :facepalm: aiortc. yeah. really starting to dislike. --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f7c3cab..48133a5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,7 +21,7 @@ types-requests # Runtime dependencies needed for mypy type checking aiohttp aiohttp_cors -aiortc>=1.11.0 +aiortc==1.11.0 av numpy Pillow From 9e06e39164b70b88aeac78eb6c10c8506c702b0c Mon Sep 17 00:00:00 2001 From: Bee Date: Sun, 22 Feb 2026 08:33:38 -0800 Subject: [PATCH 4/8] try added separate requirements file for CI... No sure if it will override or not, may need full copy of base requirements. hope not, but.... --- .github/workflows/ci.yml | 2 +- pyproject.toml | 3 +-- requirements.txt | 2 +- requirements_CI.txt | 3 +++ 4 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 requirements_CI.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 07225be..1be52ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: pip install --upgrade pip pip --version pip install build setuptools wheel - pip install -r requirements.txt + pip install -r requirements_CI.txt chmod +x ./*.sh # needed for bb_create e2e test diff --git a/pyproject.toml b/pyproject.toml index 545bcd1..b4fb943 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,8 +12,7 @@ dependencies = [ # WebRTC dependencies "aiohttp", "aiohttp_cors", - # 1.11.0 currently fails to build on CI - "aiortc==1.10.1", + "aiortc", "build", "cachetools", "flask-cors", diff --git a/requirements.txt b/requirements.txt index 48133a5..f7c3cab 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,7 +21,7 @@ types-requests # Runtime dependencies needed for mypy type checking aiohttp aiohttp_cors -aiortc==1.11.0 +aiortc>=1.11.0 av numpy Pillow diff --git a/requirements_CI.txt b/requirements_CI.txt new file mode 100644 index 0000000..37e0dda --- /dev/null +++ b/requirements_CI.txt @@ -0,0 +1,3 @@ +-r requirements.txt +aiortc==1.10.1 + From 59aa8fafee4b187f8ffd4be129169db13ddd47bb Mon Sep 17 00:00:00 2001 From: Bee Date: Sun, 22 Feb 2026 08:39:24 -0800 Subject: [PATCH 5/8] overrides do not work in pip requirement files, tries to install both version so we need a base requirements and then CI and .... --- requirements.txt | 29 +---------------------------- requirements_CI.txt | 2 +- 2 files changed, 2 insertions(+), 29 deletions(-) diff --git a/requirements.txt b/requirements.txt index f7c3cab..e7677cc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,30 +1,3 @@ -# these are build dependencies for basic_bot itself - -build -cachetools -flake8 -mkdocs -mkdocs-material -mypy -opencv-stubs -pydoc-markdown -pytest -setuptools>=57.0 - -# types -types-Flask-Cors -types-jsonschema -types-psutil -types-PyYAML -types-requests - -# Runtime dependencies needed for mypy type checking -aiohttp -aiohttp_cors +-r requirements_base.txt aiortc>=1.11.0 -av -numpy -Pillow -websocket-client -websockets==10.4 diff --git a/requirements_CI.txt b/requirements_CI.txt index 37e0dda..c1aa5cc 100644 --- a/requirements_CI.txt +++ b/requirements_CI.txt @@ -1,3 +1,3 @@ --r requirements.txt +-r requirements_base.txt aiortc==1.10.1 From 33b558d8381ed9213346e9256d5eba27780c1f81 Mon Sep 17 00:00:00 2001 From: Bee Date: Sun, 22 Feb 2026 08:40:45 -0800 Subject: [PATCH 6/8] add base requirements file --- requirements_base.txt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 requirements_base.txt diff --git a/requirements_base.txt b/requirements_base.txt new file mode 100644 index 0000000..4c8de16 --- /dev/null +++ b/requirements_base.txt @@ -0,0 +1,29 @@ +# these are build dependencies for basic_bot itself + +build +cachetools +flake8 +mkdocs +mkdocs-material +mypy +opencv-stubs +pydoc-markdown +pytest +setuptools>=57.0 + +# types +types-Flask-Cors +types-jsonschema +types-psutil +types-PyYAML +types-requests + +# Runtime dependencies needed for mypy type checking +aiohttp +aiohttp_cors +av +numpy +Pillow +websocket-client +websockets==10.4 + From 803a07f0d4428857fc5e3186f4549fe0f1318b47 Mon Sep 17 00:00:00 2001 From: Bee Date: Sun, 22 Feb 2026 08:44:22 -0800 Subject: [PATCH 7/8] try splitting otu all aio... deps --- requirements.txt | 3 +++ requirements_CI.txt | 3 ++- requirements_base.txt | 3 --- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index e7677cc..9d07a56 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,6 @@ -r requirements_base.txt aiortc>=1.11.0 +aiohttp +aiohttp_cors +av diff --git a/requirements_CI.txt b/requirements_CI.txt index c1aa5cc..588f01f 100644 --- a/requirements_CI.txt +++ b/requirements_CI.txt @@ -1,3 +1,4 @@ -r requirements_base.txt aiortc==1.10.1 - +aiohttp +aiohttp_cors diff --git a/requirements_base.txt b/requirements_base.txt index 4c8de16..ab9da72 100644 --- a/requirements_base.txt +++ b/requirements_base.txt @@ -19,9 +19,6 @@ types-PyYAML types-requests # Runtime dependencies needed for mypy type checking -aiohttp -aiohttp_cors -av numpy Pillow websocket-client From 01278602a24c8f88afff8a5b8fa7cb418446542a Mon Sep 17 00:00:00 2001 From: Bee Date: Sun, 22 Feb 2026 08:49:50 -0800 Subject: [PATCH 8/8] install-dev.sh also needs update --- install-dev.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/install-dev.sh b/install-dev.sh index 0898c33..8d07b6a 100755 --- a/install-dev.sh +++ b/install-dev.sh @@ -3,7 +3,14 @@ # fail on any error set -e -python -m pip install -r requirements.txt +# if running on the CI server, we want to install the dependencies from requirements_CI.txt instead of requirements.txt +if [ "$CI" = "true" ]; then + echo "Running on CI server, installing dependencies from requirements_CI.txt" + python -m pip install -r requirements_CI.txt +else + echo "Running locally, installing dependencies from requirements.txt" + python -m pip install -r requirements.txt +fi ./build.sh python -m pip install --editable .