Skip to content

fix(*): install channel deps by default, correct missing-dep hint#95

Merged
0xKT merged 1 commit into
mainfrom
fix/installer_bundle_channel_extras
Jul 7, 2026
Merged

fix(*): install channel deps by default, correct missing-dep hint#95
0xKT merged 1 commit into
mainfrom
fix/installer_bundle_channel_extras

Conversation

@0xKT

@0xKT 0xKT commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Channel SDKs are opt-in extras the installer never pulled in, so enabling a channel failed with a missing-dependency error, and the disabled-channel warning pointed everyone at uv sync (a dev-only command, wrong for wheel installs).

  • install.sh / install.ps1: install raven[channels] by default (+28 pkgs / +69 MB over base), with a fallback to base raven so a broken channel SDK on one platform cannot block the whole install.
  • channels/manager.py: tailor the missing-dependency hint to the install mode via PEP 610 direct_url.json -- uv sync --extra for editable checkouts, re-run the installer (curl / irm) for wheel installs.

Type

  • Fix

Verification

Local, macOS (arm64):

  • uv run pytest tests/test_channels_manager.py -> 22 passed.

  • raven[channels] installs and all channel SDKs import on macOS arm64 and Linux aarch64.

  • End-to-end (real gateway): editable -> uv sync --extra channel-feishu; wheel -> Re-run the installer ... curl ....

  • Relevant tests pass locally

  • Relevant lint / type checks pass locally

  • User-facing docs or screenshots are updated when needed

install.ps1 was not linted locally (no PowerShell on macOS); the installers have no automated tests.

Risk

  • Security impact considered
  • Backward compatibility considered
  • Rollback path is clear for risky changes

Installing all channel SDKs enlarges the dependency surface; the fallback keeps a broken SDK from blocking install, and opt-in extras remain for lean installs. Additive -- existing installs are unaffected until they re-run the installer. Rollback: revert the commit.

Related Issues

Closes #88

Channel SDKs are opt-in extras that neither the installer nor onboarding
pulled in, so enabling a channel failed with a missing-dependency error,
and the disabled-channel warning told every user to run `uv sync` -- a
dev-only command that does not apply to wheel/tool installs.

- install.sh / install.ps1: install `raven[channels]` by default, with a
  fallback to base raven so one broken channel SDK on a given platform
  cannot block the whole install.
- channels/manager.py: tailor the missing-dependency hint to the install
  mode via PEP 610 direct_url.json -- `uv sync --extra` for editable
  checkouts, re-run the installer for wheel/tool installs (OS-aware).

Closes #88.

Co-authored-by: Claude (claude-opus-4-8) <noreply@anthropic.com>
@0xKT
0xKT requested a review from arelchan July 7, 2026 07:11
@0xKT
0xKT merged commit 71122a6 into main Jul 7, 2026
7 checks passed
@0xKT
0xKT deleted the fix/installer_bundle_channel_extras branch July 7, 2026 07:40
0xKT added a commit that referenced this pull request Jul 7, 2026
## Summary

AGENTS.md described the repo as rebase-merge, but it is configured
squash-only (`squash_merge_commit_message=PR_BODY`; rebase and
merge-commit disabled). Correct 3.3, 3.5, and 3.7 to the real policy:
rebase only freshens the branch before push, squash on merge; the squash
commit body comes from the PR description (commit bodies are dropped),
and GitHub auto-collects each commit's `Co-authored-by` -- so keep the
trailer in the commit and put `Closes` / reviewer context in the PR
description.

## Type

- [x] Docs

## Verification

Docs-only. Policy verified against `gh api repos/EverMind-AI/Raven`
(squash-only, `PR_BODY`) and as observed on the #95 squash commit.

- [x] User-facing docs or screenshots are updated when needed

## Risk

Docs-only; no code or behavior change.

## Related Issues

N/A

Co-authored-by: Claude (claude-opus-4-8) <noreply@anthropic.com>
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.

gateway: enabling Feishu from onboard/channels does not install the optional extra and suggests a source-only uv sync command

2 participants