Relax jwt dependency to support ruby-jwt 3.x (>= 2.0, < 4.0)
まだ誰も着手していません。
評価
調査の方向性
gemspec のランタイム依存関係から着手し、既存の encode/decode、webhook 署名検証、内部トークン生成のエントリーポイントを調査します。jwt の制約を緩和し、そのうえで両方のバージョンでこれらの動作が機能することを確認しながら、SDK を jwt 2.10.x および 3.1.x に対して検証します。
索引モデルが 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 はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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 1週間以上 初心者へのやさしさ 28/100
GetStream/stream-chat-ruby#114 · コメント 3 件 · リアクション 1 件 ·
GetStream/stream-chat-ruby の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
riscv/riscv-unified-db#2626 ·
-
Component: GLib
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
ds-drift
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
we-promise/sure#3693 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
simp/pupmod-simp-simp#395 ·