Repository navigation
feat(shared): migrate currentUser to the modular @databricks/sdk-scim client - #645
Merged
Merged
Conversation
MarioCadenas
force-pushed
the
feat/modular-currentuser
branch
from
October 8, 2026 14:37
8fbd7cd to
34441ae
Compare
MarioCadenas
changed the base branch from
analytics-migration-sdk
to
feat/modular-auth-seam
October 8, 2026 14:37
MarioCadenas
added this pull request to stack #636
October 8, 2026 14:38
Contributor
📦 Bundle size reportCompared against
|
| dist | raw | gzip |
|---|---|---|
| JS (runtime) | 1.2 MB (+19 KB) | 454 KB (+7.1 KB) |
| Type declarations | 460 KB (+4.0 KB) | 167 KB (+1.6 KB) |
| Source maps | 2.5 MB (+36 KB) | 850 KB (+13 KB) |
| Other | 11 KB | 3.7 KB |
| Total | 4.2 MB (+59 KB) | 1.4 MB (+22 KB) |
Per-entry composition (own code — deps external (as shipped))
| Entry | Initial (gz) | Lazy (gz) | Total (gz) | node_modules (min) | Own code (min) |
|---|---|---|---|---|---|
. |
104 KB (+2.3 KB) | 2.5 KB (+1 B) | 107 KB (+2.3 KB) | external | 337 KB (+5.9 KB) |
./beta |
101 KB (+2.3 KB) | 485 B | 101 KB (+2.3 KB) | external | 303 KB (+5.9 KB) |
./testing |
44 KB (+2.2 KB) | 32 KB (-43 B) | 76 KB (+2.2 KB) | external | 221 KB (+6.0 KB) |
./tsdown |
520 B | 0 B | 520 B | external | 813 B |
./type-generator |
25 KB (+2.1 KB) | 0 B | 25 KB (+2.1 KB) | external | 72 KB (+5.7 KB) |
Chunks:
| Entry | Chunk | Load | Size (gz) |
|---|---|---|---|
. |
index.js |
initial | 100 KB |
. |
utils.js |
initial | 4.6 KB |
. |
remote-tunnel-manager.js |
lazy | 2.5 KB |
./beta |
beta.js |
initial | 81 KB |
./beta |
stream-manager.js |
initial | 5.9 KB |
./beta |
modular.js |
initial | 5.4 KB |
./beta |
service-context.js |
initial | 4.2 KB |
./beta |
databricks.js |
initial | 3.3 KB |
./beta |
client.js |
initial | 593 B |
./beta |
index.js |
initial | 20 B |
./beta |
supervisor-api.js |
lazy | 192 B |
./beta |
databricks.js |
lazy | 178 B |
./beta |
index.js |
lazy | 115 B |
./testing |
manifest.js |
initial | 31 KB |
./testing |
index.js |
initial | 10 KB |
./testing |
wide-event-emitter.js |
initial | 2.9 KB |
./testing |
index.js |
lazy | 28 KB |
./testing |
remote-tunnel-manager.js |
lazy | 2.5 KB |
./testing |
utils.js |
lazy | 1.8 KB |
./tsdown |
index.js |
initial | 520 B |
./type-generator |
index.js |
initial | 25 KB |
@databricks/appkit-ui
npm tarball (packed): 397 KB (+107 B) — gzipped download (dist + bin; excludes release-only docs/NOTICE).
| dist | raw | gzip |
|---|---|---|
| JS (runtime) | 429 KB | 146 KB |
| Type declarations | 266 KB (+265 B) | 98 KB (+134 B) |
| Source maps | 853 KB | 285 KB |
| CSS | 16 KB | 3.2 KB |
| Total | 1.5 MB (+265 B) | 533 KB (+134 B) |
Per-entry composition (consumer bundle — deps bundled, peerDeps external)
| Entry | Initial (gz) | Lazy (gz) | Total (gz) | node_modules (min) | Own code (min) |
|---|---|---|---|---|---|
./js |
5.3 KB | 49 KB | 55 KB | 208 KB | 14 KB |
./js/beta |
2.1 KB | 0 B | 2.1 KB | 0 B | 5.0 KB |
./react |
433 KB | 49 KB | 481 KB | 1.3 MB | 177 KB |
./react/beta |
4.9 KB | 0 B | 4.9 KB | 0 B | 12 KB |
Chunks:
| Entry | Chunk | Load | Size (gz) |
|---|---|---|---|
./js |
index.js |
initial | 5.2 KB |
./js |
chunk |
initial | 120 B |
./js |
apache-arrow |
lazy | 49 KB |
./js/beta |
beta.js |
initial | 2.1 KB |
./react |
index.js |
initial | 431 KB |
./react |
tslib |
initial | 2.1 KB |
./react |
apache-arrow |
lazy | 49 KB |
./react/beta |
beta.js |
initial | 4.9 KB |
MarioCadenas
commented
Oct 8, 2026
Contributor
🤖 AppKit PR bot🔬 Run evalsStart an eval for this PR from the evals-monitor app: Go to Evals Monitor → 📦 Try this PR's app templateScaffolds a new app from this PR's SDK build. Run it in any folder (requires the GitHub CLI — gh run download 38918747755 -R databricks/appkit -n appkit-template-0.88.1-pr.bce4667-feat-modular-currentuser-645 -D appkit-pr-645 \
&& unzip -o "appkit-pr-645/appkit-template-0.88.1-pr.bce4667-feat-modular-currentuser-645.zip" -d "appkit-pr-645" \
&& databricks apps init --template "appkit-pr-645"The template pins |
MarioCadenas
removed this pull request from stack #636
October 13, 2026 08:32
MarioCadenas
added this pull request to stack #664
October 13, 2026 08:33
MarioCadenas
force-pushed
the
feat/modular-currentuser
branch
from
October 13, 2026 09:01
97e3148 to
31e264a
Compare
MarioCadenas
removed this pull request from stack #664
October 13, 2026 15:47
MarioCadenas
added this pull request to stack #669
October 13, 2026 15:48
MarioCadenas
marked this pull request as ready for review
October 14, 2026 12:54
MarioCadenas
force-pushed
the
feat/modular-currentuser
branch
2 times, most recently
from
October 14, 2026 14:35
7feb73c to
4b19a21
Compare
MarioCadenas
force-pushed
the
feat/modular-currentuser
branch
from
October 15, 2026 16:29
4b19a21 to
147461c
Compare
MarioCadenas
force-pushed
the
feat/modular-currentuser
branch
2 times, most recently
from
October 16, 2026 10:21
5044d9f to
ddfa14f
Compare
… client
The facade's currentUser accessor now returns a lazily built ScimClient
(sdk-scim 0.51.0, same core/auth/options 0.51.0) via mapToClientOptions,
so SP and OBO auth resolve exactly like warehouses/statementExecution.
Legacy currentUser.me() becomes ScimClient.me({}); it hits the same
/api/2.0/preview/scim/v2/Me endpoint and the unmarshal keeps id and
userName, the only fields AppKit reads. The CLI doctor check and the
lakebase connector stay on the legacy client.
Co-authored-by: Isaac <no-reply@databricks.com>
Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
createCallerContext fell back to the legacy SDK Config.host in development,
which the legacy client fills only after its first API call. With
currentUser.me() and the rest of startup on the modular SDK, no legacy call
happens, so profile-only setups (no DATABRICKS_HOST) threw
missingEnvVar("DATABRICKS_HOST") on every asUser call.
Resolve the host once at init with wsClient.getHost() (local, profile-aware)
and use it as the same dev-only fallback. A getHost() failure leaves it unset
so callers keep getting missingEnvVar instead of failing startup.
Co-authored-by: Isaac <no-reply@databricks.com>
Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
MarioCadenas
force-pushed
the
feat/modular-currentuser
branch
from
October 16, 2026 14:46
ddfa14f to
e26a83c
Compare
atilafassina
approved these changes
Oct 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of the migration off
@databricks/sdk-experimentalonto the modular@databricks/sdk-*SDK (see #562). Base:analytics-migration-sdk.Changes
feat(shared): migrate currentUser to the modular @databricks/sdk-scim client
The facade's currentUser accessor now returns a lazily built ScimClient
(sdk-scim 0.51.0, same core/auth/options 0.51.0) via mapToClientOptions,
so SP and OBO auth resolve exactly like warehouses/statementExecution.
Legacy currentUser.me() becomes ScimClient.me({}); it hits the same
/api/2.0/preview/scim/v2/Me endpoint and the unmarshal keeps id and
userName, the only fields AppKit reads. The CLI doctor check and the
lakebase connector stay on the legacy client.
Draft: implemented by an agent; needs review and a deployed SP + OBO check before it's marked ready.
This pull request and its description were written by Isaac.