Custom message routing
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 30/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- openapi, typescript
調査の方向性
この issue では、ファイル、テスト、エントリポイントが指定されていません。まずリポジトリの TypeScript typings と OpenAPI v3 generator を確認し、次にカスタムルートとその権限、イミュータビリティ、削除に関するルールが API にどう適合するかを明確にしてください。ルートモデルとライフサイクルの動作が仕様化され、バリデーションとテストカバレッジを伴って実装されていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
What do you want to see?
This could be useful for cross-posting and IoT-related use cases. Custom route management should be permissions-gated to prevent spamming by randomly creating message routes.
The semantics should be as follows: server-wide permissions allow you to create, alter and drop a message route targeting any channel, while per-guild permission only allows you to do so while requiring you to have either:
- Posting, storage, view all within that guild
- Posting channel is null (meaning that route is read-only) and view channel is within that guild, no constraints on storage channel
Routing rule
A routing rule shall consist of eight elements:
- Timestamp of the registration (stored as snowflake)
- Source channel
- Storage channel
- Sink channel
- Source users (user, group or role ID)
- Target users (user, group or role ID)
- Valid since timestamp
- Valid until timestamp
Invariants
- Valid since cannot be earlier than time of registration
- Valid until cannot be earlier than valid since
- Source user set has to have message posting permission in the source channel at the time of use
- Event type validity checks are done based on the storage channel
- Target user set has to have read messages permission in the source channel at the time of use
- Each routing rule is considered immutable once created, except for valid until timestamp, which can be set to any future time while the routing rule is still in effect
A routing rule can only be deleted in either of the following cases:
- none of the source channels are present
- none of the storage channels are present
- none of the sink channels are present
- the routing rule is not in effect AND no messages are affected by deletion of the routing rule
- 主要言語
- TypeScript
- スター
- 42
- フォーク
- 34
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
stoatchat/javascript-client-api のほかの issue
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
stoatchat/javascript-client-api#34 · コメント 1 件 ·
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
stoatchat/javascript-client-api#29 · リアクション 1 件 ·
-
feature request: Make GET channels/{target}/messages use request body instead of query parameters オープンenhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
stoatchat/javascript-client-api#28 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
stoatchat/javascript-client-api#18 · コメント 2 件 · リアクション 4 件 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
stoatchat/javascript-client-api#16 · コメント 2 件 · リアクション 8 件 ·
stoatchat/javascript-client-api の issue をすべて見る
似ている issue
-
blocklist removal
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
MetaMask/eth-phishing-detect#296544 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
pastelsky/bundlephobia#1122 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100