Skip to content

fix(deps): align aiohttp pins with lazy Slack deps - #29538

Closed
cresslank wants to merge 1 commit into
NousResearch:mainfrom
cresslank:fix/align-aiohttp-pins
Closed

fix(deps): align aiohttp pins with lazy Slack deps#29538
cresslank wants to merge 1 commit into
NousResearch:mainfrom
cresslank:fix/align-aiohttp-pins

Conversation

@cresslank

@cresslank cresslank commented May 21, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Restores the aiohttp==3.13.4 pin across the eager-install extras that still had aiohttp==3.13.3, then regenerates uv.lock. This keeps pyproject.toml/uv.lock aligned with tools/lazy_deps.py's Slack lazy dependency pin so hermes update does not downgrade aiohttp before the active Slack lazy refresh upgrades it again.

Related Issue

No direct open issue currently tracks the update/lazy-install oscillation.

Related context:

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 🔒 Security fix
  • 📝 Documentation update
  • ✅ Tests (adding or improving test coverage)
  • ♻️ Refactor (no behavior change)
  • 🎯 New skill (bundled or hub)

Changes Made

  • pyproject.toml: bump aiohttp from 3.13.3 to 3.13.4 in the messaging, slack, homeassistant, and sms extras.
  • uv.lock: regenerate the lockfile so the resolver records aiohttp==3.13.4.
  • tests/test_project_metadata.py: add a regression test that fails when pyproject extras pin aiohttp differently from LAZY_DEPS["platform.slack"].

How to Test

  1. On current main before the pin update, the new regression test fails with the mismatched extras:
    scripts/run_tests.sh tests/test_project_metadata.py::test_pyproject_aiohttp_pins_match_lazy_slack_pin -q
  2. On this branch, run:
    uv lock --check
    scripts/run_tests.sh tests/test_project_metadata.py tests/tools/test_lazy_deps.py -q
    python scripts/check-windows-footguns.py --all
    git diff HEAD~1..HEAD --check

Validation results from this branch:

  • uv lock --check
  • scripts/run_tests.sh tests/test_project_metadata.py tests/tools/test_lazy_deps.py -q ✅ — 68 passed
  • python scripts/check-windows-footguns.py --all ✅ — no Windows footguns found
  • git diff HEAD~1..HEAD --check

Full-suite note: I also ran scripts/run_tests.sh. It completed with 24665 passed, 50 skipped, 3 failed. The reproducible selected failure tests/plugins/web/test_web_search_provider_plugins.py::TestBundledPluginsRegister::test_all_seven_plugins_present_in_registry also fails on detached upstream/main because web-xai is registered but the test still expects seven providers. The other two full-suite failures passed when re-run in isolation on this branch and detached upstream/main; they do not touch dependency metadata or aiohttp pins.

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've run pytest tests/ -q and all tests pass
  • I've added tests for my changes (required for bug fixes, strongly encouraged for features)
  • I've tested on my platform: Fedora Linux 44

Documentation & Housekeeping

  • I've updated relevant documentation (README, docs/, docstrings) — or N/A
  • I've updated cli-config.yaml.example if I added/changed config keys — or N/A
  • I've updated CONTRIBUTING.md or AGENTS.md if I changed architecture or workflows — or N/A
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide — or N/A
  • I've updated tool descriptions/schemas if I changed tool behavior — or N/A

For New Skills

N/A

Screenshots / Logs

N/A

@cresslank
cresslank requested a review from a team May 21, 2026 00:03
@alt-glitch alt-glitch added type/bug Something isn't working type/security Security vulnerability or hardening P2 Medium — degraded but workaround exists dependencies Pull requests that update a dependency file platform/slack Slack app adapter and removed type/security Security vulnerability or hardening labels May 21, 2026
@cresslank

Copy link
Copy Markdown
Contributor Author

CI note after the first run: all non-test checks passed (uv lock --check, ruff/ty, Windows footguns, supply-chain/OSV, Nix, Docker, e2e). The test job is red on two failures that appear unrelated to this dependency-pin change:

  • tests/plugins/web/test_web_search_provider_plugins.py::TestBundledPluginsRegister::test_all_seven_plugins_present_in_registry expects seven web providers but the current plugin loader registers web-xai; I reproduced this selected failure on detached upstream/main.
  • tests/hermes_cli/test_update_hangup_protection.py::TestInstallHangupProtection::test_wraps_stdout_and_stderr_with_mirror failed only in the full parallel CI run; the selected test passes in isolation on this branch and on detached upstream/main.

Focused validation for this PR still passes:

uv lock --check
scripts/run_tests.sh tests/test_project_metadata.py tests/tools/test_lazy_deps.py -q
python scripts/check-windows-footguns.py --all
git diff HEAD~1..HEAD --check

@cresslank

Copy link
Copy Markdown
Contributor Author

Rebased this onto current main and force-pushed the PR branch as a single commit: 9e1e79a80.

The only conflict was in pyproject.toml; I kept current main's dev extra changes and applied the aiohttp 3.13.4 alignment.

Validation after rebase:

  • git diff --check
  • uv lock --check
  • uv run --locked --extra dev python -m pytest tests/test_project_metadata.py -q → 7 passed
  • GitHub checks are passing; only expected skipped jobs remain

No npm lockfiles changed, so I do not see a fetchNpmDeps / Nix hash refresh needed.

@cresslank
cresslank force-pushed the fix/align-aiohttp-pins branch from 9e1e79a to 4c1502b Compare May 31, 2026 14:19
@cresslank

Copy link
Copy Markdown
Contributor Author

@alt-glitch force pushed again to resolve merge conflicts. Thanks for any time and attention. Screenshot of what the hermes update churn looks like without this update.

image

@teknium1

teknium1 commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Merged via #42154 (commit c6d27ad). Your commit was cherry-picked onto current main with your authorship preserved in git log — thanks for the fix! The stale branch couldn't merge directly so I reapplied the four extras bumps + your guard test and regenerated uv.lock. Closes #31817.

@teknium1 teknium1 closed this Jun 8, 2026
@cresslank
cresslank deleted the fix/align-aiohttp-pins branch June 18, 2026 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file P2 Medium — degraded but workaround exists platform/slack Slack app adapter type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants