Relax jwt dependency to support ruby-jwt 3.x (>= 2.0, < 4.0)
还没有人认领这个 Issue。
评估
调研方向
从 gemspec 的运行时依赖项入手,检查现有的 encode/decode、webhook 签名验证和内部令牌生成入口点。放宽 jwt 约束,然后针对 jwt 2.10.x 和 3.1.x 验证 SDK,确保这些行为在两个版本下都能正常工作。
由索引模型根据 Issue 内容生成。
描述
Summary
getstream-ruby 6.1.1 pins jwt (~> 2.0), which blocks applications from upgrading to ruby-jwt 3.x. Bundler cannot resolve a single bundle when the app (or other gems) require jwt 3.x.
Current behavior
From the published gem (6.1.1):
jwt (~> 2.0) # resolves to 2.x only (e.g. 2.10.2)
Other common dependencies already allow jwt 3, e.g. googleauth uses jwt (>= 1.4, < 4.0). The blocker for a unified bundle is specifically getstream-ruby's upper bound.
Problem
- We cannot
bundle update jwtto 3.x while usinggetstream-ruby. - Ruby loads one
jwtversion per process; there is no supported way for the SDK to stay on 2.x while the host app uses 3.x. - Workarounds (forking the gemspec, hand-editing
Gemfile.lock) are fragile and unsupported.
Use case
We use getstream-ruby for Stream Chat (API client, webhooks, user upsert) and also use jwt directly elsewhere in the app (user tokens, CDN auth, etc.). We want to upgrade to jwt 3.x for security/maintenance alignment with the rest of the ecosystem, without dropping the official SDK.
Requested change
Relax the runtime dependency, for example:
# gemspec
s.add_runtime_dependency "jwt", ">= 2.0", "< 4.0"
Then verify the SDK against jwt 2.10.x and 3.1.x (encode/decode, webhook signature verification, any internal token generation).
Environment
getstream-ruby: 6.1.1- Ruby: 3.x (Rails 7.2 app)
- Current resolved
jwt: 2.10.2 (due to~> 2.0constraint)
- 主要语言
- Ruby
- 星标
- 32
- 派生
- 23
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
GetStream/stream-chat-ruby 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 45/100
GetStream/stream-chat-ruby#137 ·
-
难度 4/5 3-5 天 新手友好度 35/100
GetStream/stream-chat-ruby#133 ·
-
难度 3/5 1-2 天 新手友好度 35/100
GetStream/stream-chat-ruby#132 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 45/100
GetStream/stream-chat-ruby#127 ·
-
难度 5/5 一周以上 新手友好度 28/100
GetStream/stream-chat-ruby#114 · 3 条评论 · 1 个 reaction ·
查看 GetStream/stream-chat-ruby 的全部 Issue
相似的 Issue
-
documentation
难度 1/5 1 小时以内 新手友好度 86/100
bridgetownrb/bridgetown#1130 ·
-
bug
难度 2/5 1-3 小时 新手友好度 76/100
stripe/stripe-ruby#1994 ·
维护者通常 1 天内回复
-
[Fehler]: /abdeckstift wirft 500 — part_type aus der Phonemreduction-Umbenennung nicht mitgezogen未关闭bug
难度 2/5 1-3 小时 新手友好度 73/100
wort-schule/wort.schule#787 ·
-
bug
难度 2/5 1-3 小时 新手友好度 76/100
lugassawan/swe-workbench#799 ·
维护者通常 1 天内回复
-
2.8.6: NoMethodError "undefined method 'first'" in profdata_coverage_dir whenever --scheme is used未关闭
难度 2/5 1-3 小时 新手友好度 70/100
SlatherOrg/slather#586 · 2 条评论 ·