Row-event functions created with `functions create` never fire, because nothing installs the capture trigger
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 75/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- postgresql, typescript
調査の方向性
Read lib/ai/minimal-executor.ts around executeCreateAiFunction and the capture sync flow in lib/webhooks/capture.ts; compare with the deploy_code path in lib/services/ai-functions/agent-actions.ts. Add a regression test in tests/integration/function-row-events-data-plane.spec.ts that creates a row-event function through CREATE_AI_FUNCTION and verifies it fires. Done when the create path re-syncs capture after saving and the test passes.
索引モデルが issue の本文から書いたものです。
説明
Row-event functions (on_insert, on_update, on_delete) fire from the database-level capture: a trigger writes each change to an outbox, and the drain calls fireAiFunctions. The trigger is only installed for the events some subscriber wants, and it is re-synced when a subscriber changes:
deploy_code and the console's create route re-sync after saving:
The path behind the agent's functions create (generate_function to CREATE_AI_FUNCTION to executeCreateAiFunction) does not. It saves the row and returns:
The governed-change hook doesn't cover it either, because it only re-syncs capture when the change touched tables:
So the common agent flow, create_table orders followed by functions create { trigger: "on_insert", table: "orders" }, produces a function the console shows as active that never runs, with no error and no log. The same goes for the first on_update or on_delete function in a project that so far only captures inserts, and for the row-event functions that blueprints and integration auto-wiring create (the Resend password-reset email is on_db_insert). It starts working only when something unrelated re-syncs capture: a new table, a webhook change, or deploying, toggling or deleting another row-event function.
The docs say a row event is "captured inside the database, so it fires no matter which door wrote the row, within about a minute".
Done when executeCreateAiFunction re-syncs capture after saving, with a test that creates a row-event function through CREATE_AI_FUNCTION and sees it fire. The existing test, tests/integration/function-row-events-data-plane.spec.ts, only covers deploy_code.
- 主要言語
- TypeScript
- スター
- 56
- フォーク
- 19
- 平均マージ
- 14時間 4分
- マージ済み PR(30日)
- 366
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
backenly/backenly のほかの issue
-
JSON and Math are empty inside sandbox functions, so any function that uses them fails on every runオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 56/100
メンテナーはふだん 1 日以内に返信
-
ctx.db treats { column: null } as = NULL, so query, update and delete match no rows対応中かも @akashr001 が 3 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 77/100
backenly/backenly#602 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Signed uploads that never finish leave files that are listed and metered but cannot be downloadedオープン
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
メンテナーはふだん 1 日以内に返信
backenly/backenly の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
AykutSarac/jsoncrack.com#616 ·
-
nip27: long hashtag swallows the rest of the content, lone # gives an empty hashtag対応中かも @bardrop が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
nbd-wtf/nostr-tools#578 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
backnotprop/plannotator#3427 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
microsoft/Power-CAT-Copilot-Studio-Kit#942 ·
メンテナーはふだん 1 日以内に返信
-
[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 日以内に返信