jobs: 0.89.0 changed jobs result shapes from snake_case to camelCase
メンテナーはふだん 3 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
調査の方向性
Start with packages/appkit/src/connectors/jobs/client.ts and reproduce the runNow() result using the TypeScript snippet in the issue; compare the affected methods and status payloads with the documented behavior. The issue offers two possible resolutions, so confirm which is intended before changing code; done means either restoring the described snake_case shapes or documenting the breaking change and affected fields in the 0.89.0 release notes.
索引モデルが issue の本文から書いたものです。
説明
Summary
In 0.89.0, the jobs plugin returns camelCase keys wherever it passes Jobs API objects through: the programmatic API, two routes, and the run object in status payloads. Through 0.88.1 these were snake_case. #647 says "Translate camelCase/bigint models back to the snake_case/number wire shape at the connector boundary, so the plugin's HTTP, SSE and cache output is unchanged", but the merged connector doesn't do that. The release notes list it as a feature, with no breaking-change note. Verified live against a real job on both versions.
Not affected (the common path)
Apps that trigger jobs and react to the status string see no change:
POST /api/jobs/:jobKey/runreturns{ runId }in both versions (confirmed from source).GET /api/jobs/:jobKey/statusand therunAndWait()/POST /run?stream=trueupdates keep the samestatusvalues (RUNNING,TERMINATED, and so on).- Failure results keep the same shape (
{ ok: false, status, message }). @databricks/appkit-uidoesn't read jobs results, so no built-in UI is affected.
Affected
Code that reads fields from a run or job object:
appkit.jobs(key).runNow():datawas{ run_id, number_in_job, wait }and is now{ runId }.getRun,listRuns,lastRun,getRunOutput,getJob: all keys are camelCase. For example,run_idis nowrunId,run_page_urlis nowrunPageUrl, andstate.life_cycle_stateis nowstate.lifeCycleState. TypeScript flags these at compile time; JavaScript getsundefined.GET /runsandGET /runs/:runId: they returnresult.datadirectly, so their JSON keys changed. Client code breaks silently.- The
runobject inGET /statusand inrunAndWait()/ streamed status updates: same key change.
Cause
packages/appkit/src/connectors/jobs/client.ts:
runNowreturns{ runId: Number(waiter.runId) }.- The other methods pass the modular SDK models through
toNumbers. That helper converts bigints to numbers but keeps the SDK's camelCase keys.
Repro
const result = await appkit.jobs("default").runNow();
console.log(Object.keys(result.data));
// 0.88.1: ["run_id", "number_in_job", "wait"]
// 0.89.0: ["runId"]
Why it matters
jobs is exported from the package root, not /beta. The stability doc says only /beta APIs "may change between minor releases".
Ask
Either restore the snake_case shape that #647 describes, or keep camelCase and add a breaking-change note to the 0.89.0 release notes listing the affected methods and fields. Related: docs/plugins/jobs.md already changed to result.data.runId in 0.89.0.
This issue was written by Isaac.
- 主要言語
- TypeScript
- スター
- 119
- フォーク
- 36
- 平均マージ
- 4日 16時間
- マージ済み PR(30日)
- 37
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
databricks/appkit のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
databricks/appkit#729 ·
メンテナーはふだん 3 日以内に返信
-
@databricks/lakebase: pool drops maxLifetimeSeconds and other pg options, so connections never recycle and Unity Catalog claims access fails after 4 hours対応中かも @billmcmillin が 5 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
databricks/appkit#718 ·
メンテナーはふだん 3 日以内に返信
-
難易度 3/5 半日 初心者へのやさしさ 42/100
databricks/appkit#656 · コメント 1 件 ·
メンテナーはふだん 3 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 28/100
databricks/appkit#648 · コメント 2 件 ·
メンテナーはふだん 3 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
databricks/appkit#603 ·
メンテナーはふだん 3 日以内に返信
databricks/appkit の issue をすべて見る
似ている issue
-
難易度 1/5 1〜3時間 初心者へのやさしさ 83/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
jupyterlite/jupyterlite#2111 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
karlhorky/electron-app-patcher#241 ·
メンテナーはふだん 1 日以内に返信
-
Tab bar scrolls past its last tab in Firefox until no tabs are visible対応中かも @daviwil が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
eclipse-theia/theia#18367 ·
メンテナーはふだん 2 日以内に返信
-
Server-side render fails with "requestAnimationFrame is not defined" when the room has a video node対応中かも @jesusmpc が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
InditexTech/weavejs#1294 ·
メンテナーはふだん 1 日以内に返信