Accept hook_created in event batches so a run's boot hooks can go out in one write
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- backend
調査の方向性
The request sits between the client batch path (createWorkflowRunEventBatch, which only rejects hook_received) and the backend batch route, which currently refuses hook_created with "Unsupported eventType 'hook_created' in an event batch". Start by reading the batch response validator, since it expects each item's event type to match its request and would reject a hook_created answered with hook_conflict. Done means the backend accepts hook_created batches with per-item conflict reporting and the validator accepts that response. This touches the backend service, so it needs maintainer input on the protocol before a first-timer should attempt it.
索引モデルが issue の本文から書いたものです。
説明
A run's first delivery writes its boot suspension's events one at a time through the in-band writer. On the Vercel World, each hook_created is its own fenced POST (~50–80ms), and inline step claims wait behind them. eve creates a Workflow AbortController for its first turn at boot (one hook as of vercel/eve#6446, previously two), so every new session pays for that write before its first step can start. A message resumed into the run while those writes are in flight also waits for them.
I tried writing a suspension's plain hook creations (distinct tokens, no metadata, abort, force or dispose) as one createBatch from startSuspensionHookWrites. The backend refuses it:
Unsupported eventType 'hook_created' in an event batch
The client side already allows it: createWorkflowRunEventBatch only rejects hook_received. One gap there: the batch response validator expects each item's event type to match its request, so a hook_created answered with hook_conflict would fail validation, where the single-event path accepts it.
Would it be possible for the batch route to accept hook_created (and answer a taken token with a per-item hook_conflict)? With that, a boot's hooks and its inline step claims could go out as one write. Rough estimate from eve's boot traces: 50–150ms off a new session's first output, depending on how many hooks it creates.
🤖
- 主要言語
- TypeScript
- スター
- 2.5k
- フォーク
- 401
- 平均マージ
- 2日 36分
- マージ済み PR(30日)
- 150
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
vercel/workflow のほかの issue
-
node-module-esbuild-plugin: getImportedIdentifier only checks the first named import when locating a violation対応中かも @div-cowboy が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
vercel/workflow#5057 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
code-transform.mdx §ID Generation omits the package-shipped `name@version` ID form対応中かも @Mohith26 が 109 日前に担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
メンテナーはふだん 1 日以内に返信
-
world-postgres: LISTEN clients lose non-enumerable pg password credentials対応中かも @vishalrajofficial が今日担当しました。 オープン
難易度 3/5 半日 初心者へのやさしさ 25/100
メンテナーはふだん 1 日以内に返信
vercel/workflow の issue をすべて見る
似ている issue
-
[BUG]: Duplicate preposition in heading and unformatted feedback text on Strengthen Argument pageオープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
AOSSIE-Org/DebateAI#801 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
agents area: runtime automation chore cli consistency dependencies developer-experience difficulty: easy documentation enhancement good first issue help wanted hygiene json-output priority: P3 starters tests
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
Add: BOM Cineオープンapproved check:passed streams:add
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信