Skip to content

build(deps): add qrcode to dingtalk + feishu extras (parity with messaging)#11627

Merged
teknium1 merged 1 commit into
mainfrom
hermes/hermes-e52e6172
Apr 17, 2026
Merged

build(deps): add qrcode to dingtalk + feishu extras (parity with messaging)#11627
teknium1 merged 1 commit into
mainfrom
hermes/hermes-e52e6172

Conversation

@teknium1

@teknium1 teknium1 commented Apr 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Completes the qrcode packaging work started in #4b1567f4 by @anthhub.

@anthhub landed qrcode>=7.0,<8 on the messaging extra for Weixin's QR login (addressing part of #9431). This PR adds the same dep to the dingtalk and feishu extras, which use the same Python qrcode package but are independent of [messaging]:

Users who install hermes-agent[dingtalk] or hermes-agent[feishu] without [messaging] currently hit the same "QR render failed" error @zhangzhiqiangcs originally reported. Declaring the dep on each extra closes that gap.

Changes

  • pyproject.toml:
    • dingtalk extra — add qrcode>=7.0,<8
    • feishu extra — add qrcode>=7.0,<8
    • Pin matches @anthhub's recent messaging choice (<8) for consistency.
  • tests/test_project_metadata.py — adds test_dingtalk_extra_includes_qrcode_for_qr_auth and test_feishu_extra_includes_qrcode_for_qr_login, mirroring @anthhub's test_messaging_extra_includes_qrcode_for_weixin_setup.

The all extra inherits from all three, so it picks up qrcode transitively.

Tests

tests/test_project_metadata.py  4 passed
  test_requires_python_version_pin
  test_all_extra_includes_messaging
  test_all_extra_matrix_gated_by_linux
  test_messaging_extra_includes_qrcode_for_weixin_setup  (anthhub)
  test_dingtalk_extra_includes_qrcode_for_qr_auth        (new)
  test_feishu_extra_includes_qrcode_for_qr_login         (new)

Closes

Closes #9431 — fully resolves the original report once this lands alongside @anthhub's messaging fix.

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Supply Chain Risk Detected

This PR contains patterns commonly associated with supply chain attacks. This does not mean the PR is malicious — but these patterns require careful human review before merging.

⚠️ WARNING: Dependency manifest files modified

Changes to dependency files can introduce new packages or change version pins. Verify all dependency changes are intentional and from trusted sources.

Files:

pyproject.toml

Automated scan triggered by supply-chain-audit. If this is a false positive, a maintainer can approve after manual review.

…aging)

#4b1567f4 (anthhub) added qrcode to the messaging extra for Weixin's
QR login. The same package is needed by:

  * hermes_cli/dingtalk_auth.py — QR device-flow auth shipped in #11574
  * gateway/platforms/feishu.py:3962 — Feishu QR login

These extras are independent of [messaging] (users can install
hermes-agent[dingtalk] or hermes-agent[feishu] without [messaging]),
so the dep needs to be declared on each.

Pin matches anthhub's choice (>=7.0,<8) for consistency. The all
extra inherits from all three, so it picks up qrcode transitively.

Adds parallel tests to tests/test_project_metadata.py — same shape
as test_messaging_extra_includes_qrcode_for_weixin_setup.

Refs #9431.
@teknium1 teknium1 force-pushed the hermes/hermes-e52e6172 branch from f00ff3d to 21d1876 Compare April 17, 2026 20:31
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Supply Chain Risk Detected

This PR contains patterns commonly associated with supply chain attacks. This does not mean the PR is malicious — but these patterns require careful human review before merging.

⚠️ WARNING: Dependency manifest files modified

Changes to dependency files can introduce new packages or change version pins. Verify all dependency changes are intentional and from trusted sources.

Files:

pyproject.toml

Automated scan triggered by supply-chain-audit. If this is a false positive, a maintainer can approve after manual review.

@teknium1 teknium1 changed the title build(deps): add qrcode to messaging, dingtalk, feishu extras build(deps): add qrcode to dingtalk + feishu extras (parity with messaging) Apr 17, 2026
@teknium1 teknium1 merged commit cc3aa76 into main Apr 17, 2026
7 checks passed
@teknium1 teknium1 deleted the hermes/hermes-e52e6172 branch April 17, 2026 20:31
ulasbilgen pushed a commit to ulasbilgen/hermes-adhd-agent that referenced this pull request May 1, 2026
…aging) (NousResearch#11627)

#30ab7d40 (anthhub) added qrcode to the messaging extra for Weixin's
QR login. The same package is needed by:

  * hermes_cli/dingtalk_auth.py — QR device-flow auth shipped in NousResearch#11574
  * gateway/platforms/feishu.py:3962 — Feishu QR login

These extras are independent of [messaging] (users can install
hermes-agent[dingtalk] or hermes-agent[feishu] without [messaging]),
so the dep needs to be declared on each.

Pin matches anthhub's choice (>=7.0,<8) for consistency. The all
extra inherits from all three, so it picks up qrcode transitively.

Adds parallel tests to tests/test_project_metadata.py — same shape
as test_messaging_extra_includes_qrcode_for_weixin_setup.

Refs NousResearch#9431.
aj-nt pushed a commit to aj-nt/hermes-agent that referenced this pull request May 1, 2026
…aging) (NousResearch#11627)

#2e399644 (anthhub) added qrcode to the messaging extra for Weixin's
QR login. The same package is needed by:

  * hermes_cli/dingtalk_auth.py — QR device-flow auth shipped in NousResearch#11574
  * gateway/platforms/feishu.py:3962 — Feishu QR login

These extras are independent of [messaging] (users can install
hermes-agent[dingtalk] or hermes-agent[feishu] without [messaging]),
so the dep needs to be declared on each.

Pin matches anthhub's choice (>=7.0,<8) for consistency. The all
extra inherits from all three, so it picks up qrcode transitively.

Adds parallel tests to tests/test_project_metadata.py — same shape
as test_messaging_extra_includes_qrcode_for_weixin_setup.

Refs NousResearch#9431.
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
…aging) (NousResearch#11627)

#4b1567f4 (anthhub) added qrcode to the messaging extra for Weixin's
QR login. The same package is needed by:

  * hermes_cli/dingtalk_auth.py — QR device-flow auth shipped in NousResearch#11574
  * gateway/platforms/feishu.py:3962 — Feishu QR login

These extras are independent of [messaging] (users can install
hermes-agent[dingtalk] or hermes-agent[feishu] without [messaging]),
so the dep needs to be declared on each.

Pin matches anthhub's choice (>=7.0,<8) for consistency. The all
extra inherits from all three, so it picks up qrcode transitively.

Adds parallel tests to tests/test_project_metadata.py — same shape
as test_messaging_extra_includes_qrcode_for_weixin_setup.

Refs NousResearch#9431.
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
…aging) (NousResearch#11627)

#4b1567f4 (anthhub) added qrcode to the messaging extra for Weixin's
QR login. The same package is needed by:

  * hermes_cli/dingtalk_auth.py — QR device-flow auth shipped in NousResearch#11574
  * gateway/platforms/feishu.py:3962 — Feishu QR login

These extras are independent of [messaging] (users can install
hermes-agent[dingtalk] or hermes-agent[feishu] without [messaging]),
so the dep needs to be declared on each.

Pin matches anthhub's choice (>=7.0,<8) for consistency. The all
extra inherits from all three, so it picks up qrcode transitively.

Adds parallel tests to tests/test_project_metadata.py — same shape
as test_messaging_extra_includes_qrcode_for_weixin_setup.

Refs NousResearch#9431.
Egavasyug pushed a commit to Egavasyug/hermes-agent that referenced this pull request Jun 10, 2026
…aging) (NousResearch#11627)

#367e9557 (anthhub) added qrcode to the messaging extra for Weixin's
QR login. The same package is needed by:

  * hermes_cli/dingtalk_auth.py — QR device-flow auth shipped in NousResearch#11574
  * gateway/platforms/feishu.py:3962 — Feishu QR login

These extras are independent of [messaging] (users can install
hermes-agent[dingtalk] or hermes-agent[feishu] without [messaging]),
so the dep needs to be declared on each.

Pin matches anthhub's choice (>=7.0,<8) for consistency. The all
extra inherits from all three, so it picks up qrcode transitively.

Adds parallel tests to tests/test_project_metadata.py — same shape
as test_messaging_extra_includes_qrcode_for_weixin_setup.

Refs NousResearch#9431.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add qrcode to messaging optional dependencies for Weixin setup

1 participant