Skip to content

fix(jobs): remove non-functional OBO support - #523

Merged
pkosiec merged 1 commit into
mainfrom
pkosiec/fix-jobs-obo
Aug 7, 2026
Merged

fix(jobs): remove non-functional OBO support#523
pkosiec merged 1 commit into
mainfrom
pkosiec/fix-jobs-obo

Conversation

@pkosiec

@pkosiec pkosiec commented Aug 7, 2026

Copy link
Copy Markdown
Member

Closes #515.

The Jobs plugin shipped an on-behalf-of-user (OBO) path via .asUser(req). It never worked: Databricks Apps has no jobs OAuth scope, so .asUser(req).runNow() always fails at request time.

What changed

  • Removed .asUser(req) from the jobs plugin
  • Removed the JobHandle type; jobs("etl") now returns JobAPI
  • Removed the OBO tests and docs

Jobs still run as the app's service principal, same as before. The shared Plugin.asUser() used by other plugins is untouched.

This pull request and its description were written by Isaac.

No jobs OAuth scope exists for Databricks Apps user authorization, so the
documented .asUser(req) OBO path could never work at runtime. Remove the
JobHandle type, the exports() asUser wrapper, related tests, and docs.

Closes #515

Signed-off-by: Pawel Kosiec <pawel.kosiec@databricks.com>
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

📦 Bundle size report

Compared against bundle-size-baseline.json (main).

@databricks/appkit

npm tarball (packed): 827 KB (-251 B) — gzipped download (dist + bin; excludes release-only docs/NOTICE).

dist raw gzip
JS (runtime) 855 KB (-95 B) 298 KB (-25 B)
Type declarations 314 KB (-305 B) 108 KB (-106 B)
Source maps 1.7 MB (-590 B) 557 KB (-213 B)
Other 11 KB 3.7 KB
Total 2.8 MB (-990 B) 967 KB (-344 B)
Per-entry composition (own code — deps external (as shipped))
Entry Initial (gz) Lazy (gz) Total (gz) node_modules (min) Own code (min)
. 87 KB (-14 B) 2.5 KB 90 KB (-14 B) external 285 KB (-45 B)
./beta 48 KB 459 B 48 KB external 140 KB
./type-generator 20 KB 0 B 20 KB external 57 KB

Chunks:

Entry Chunk Load Size (gz)
. index.js initial 83 KB
. utils.js initial 4.0 KB
. remote-tunnel-manager.js lazy 2.5 KB
./beta beta.js initial 32 KB
./beta stream-manager.js initial 5.8 KB
./beta wide-event-emitter.js initial 3.2 KB
./beta databricks.js initial 3.0 KB
./beta configuration.js initial 2.1 KB
./beta service-context.js initial 1.3 KB
./beta client.js initial 431 B
./beta client-options.js initial 219 B
./beta supervisor-api.js lazy 194 B
./beta databricks.js lazy 142 B
./beta index.js lazy 123 B
./type-generator index.js initial 20 KB

@databricks/appkit-ui

npm tarball (packed): 309 KB — gzipped download (dist + bin; excludes release-only docs/NOTICE).

dist raw gzip
JS (runtime) 362 KB 121 KB
Type declarations 209 KB 76 KB
Source maps 693 KB 227 KB
CSS 16 KB 3.3 KB
Total 1.3 MB 427 KB
Per-entry composition (consumer bundle — deps bundled, peerDeps external)
Entry Initial (gz) Lazy (gz) Total (gz) node_modules (min) Own code (min)
./js 4.3 KB 49 KB 54 KB 208 KB 12 KB
./js/beta 20 B 0 B 20 B 0 B 0 B
./react 429 KB 49 KB 478 KB 1.3 MB 168 KB
./react/beta 1.0 KB 0 B 1.0 KB 0 B 1.9 KB

Chunks:

Entry Chunk Load Size (gz)
./js index.js initial 4.2 KB
./js chunk initial 120 B
./js apache-arrow lazy 49 KB
./js/beta beta.js initial 20 B
./react index.js initial 427 KB
./react tslib initial 2.1 KB
./react apache-arrow lazy 49 KB
./react/beta beta.js initial 1.0 KB

@pkosiec
pkosiec marked this pull request as ready for review August 7, 2026 08:23
@pkosiec
pkosiec requested a review from a team as a code owner August 7, 2026 08:23
@pkosiec
pkosiec requested review from MarioCadenas and ditadi and removed request for ditadi August 7, 2026 08:23
@pkosiec
pkosiec enabled auto-merge (squash) August 7, 2026 08:31
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

🤖 AppKit PR bot

🔬 Run evals

Start an eval for this PR from the evals-monitor app: Go to Evals Monitor →

📦 Try this PR's app template

Scaffolds a new app from this PR's SDK build. Run it in any folder (requires the GitHub CLI — gh auth login — and the Databricks CLI):

gh run download 31161178956 -R databricks/appkit -n appkit-template-0.55.0-pr.8a5b683-pkosiec-fix-jobs-obo-523 -D appkit-pr-523 \
  && unzip -o "appkit-pr-523/appkit-template-0.55.0-pr.8a5b683-pkosiec-fix-jobs-obo-523.zip" -d "appkit-pr-523" \
  && databricks apps init --template "appkit-pr-523"

The template pins @databricks/appkit and @databricks/appkit-ui to tarballs built from this branch, so the scaffolded app runs against this PR's code.

@pkosiec
pkosiec merged commit 06cd992 into main Aug 7, 2026
11 of 12 checks passed
@pkosiec
pkosiec deleted the pkosiec/fix-jobs-obo branch August 7, 2026 08:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

jobs plugin: documented OBO scope jobs.jobs does not exist — no jobs OAuth scope is available for Databricks Apps user authorization

2 participants