Skip to content

Clear the 0.10.0 release blockers: drop the footer experiment, finish the rename, cut -alpha - #883

Merged
Tomasz Naumowicz (tnaum-ms) merged 6 commits into
release/0.10.0from
dev/guanzhousong/0.10.0-release-blockers
Aug 14, 2026
Merged

Clear the 0.10.0 release blockers: drop the footer experiment, finish the rename, cut -alpha#883
Tomasz Naumowicz (tnaum-ms) merged 6 commits into
release/0.10.0from
dev/guanzhousong/0.10.0-release-blockers

Conversation

@guanzhousongmicrosoft

Copy link
Copy Markdown
Contributor

Clears the release blockers I raised in my review of #820, so that PR can go to the marketplace once this lands. Targets release/0.10.0.

Found by installing the packaged VSIX rather than using F5 — per the warning in docs/ai-and-plans/PRs/766-webview-ext-package-redesign/webview-ext-review.md that the dev flow serves webview assets from the webpack dev server while a packaged build loads them off disk.

1. Remove the footer experiment user-test prototype

The "Footer experiment · PREVIEW" switch was a temporary comparison prototype. The code that added it marked it for removal:

// USER-TEST PROTOTYPE START: Footer experiment comparison. Remove this state, root/footer refs,
// measurement callback, prototype switch, and scrollAreaInlineFooter class after user testing.

It was not dev-only. dist/views.js built with --mode production carried the label, and the switch rendered in the installed VSIX in both the DocumentDB Local setup and the Atlas credentials wizard.

It was also not cosmetic. Absolutely positioned in the header, it overlapped the adjacent heading and truncated it at normal panel widths:

Intended Rendered
Add a MongoDB Atlas connection Add a Mongo
Provide your MongoDB Atlas Service Account Provide your MongoDB Atla
Choose an authentication method Choose an authentication m

Removed: the opt-in state, the root and footer refs, the switch and badge, the scrollAreaInlineFooter style, and the now-unused Badge/Switch imports.

Kept — the measurement callback still drives footerElevated, the shipped border-and-shadow that appears only while the scroll area has content below the fold. With the experiment gone shouldDock was always true, so the docked branch is the only one left. The ResizeObserver now watches the scroll area and content: the scroll area resizes when the footer does, so observing the root and footer added nothing. position: relative stays on the root as the containing block for the visually-hidden status text, now with a comment saying so.

2. Finish the rename in the product, not just the docs

45bdf28b renamed things in the user manual but touched no product string, so the feature answered to two names at once. "Set up DocumentDB Local" appeared zero times in package.json.

  • Command PaletteDocumentDB: Local Quick StartDocumentDB: Set up DocumentDB Local, matching the tree action that opens the same webview.
  • Ten user-facing strings in l10n/bundle.l10n.json said "Quick Start". Each now names either the command or the product, whichever the sentence is about. grep -c "Quick Start" on the bundle is now 0.
  • OutputChannelDocumentDB Local Quick StartDocumentDB Local Setup, so "Check the DocumentDB Local setup logs" names a channel that actually exists. The user manual follows.

Deliberately unchanged: the tree keeps Your own DocumentDB as its section heading and the webview keeps DocumentDB Local as its title — those name the place and the product, not the command. Internal identifiers (localQuickStart, QUICK_START_*) are untouched; renaming them is churn with no user-visible effect.

3. Version → 0.10.0

Dropped the -alpha suffix.

Still outstanding on #820 — not fixable here

The [WIP] prefix in #820's title. That is a field on the PR itself, so it needs an edit there, not a commit here.

Verification

  • tsc --noEmit clean; eslint --quiet clean; prettier -c clean.
  • Full jest suite: 219 suites / 3510 tests, all passing. No test asserted the old strings or the old channel name.
  • npm run l10n regenerated; bundle has 0 remaining "Quick Start" strings.
  • Rebuilt the VSIX and inspected the packaged artifact:
    • dist/views.js (production mode): Footer experiment 4 → 0 occurrences, scrollAreaInlineFooter 0.
    • extension/package.json inside vscode-documentdb-0.10.0.vsix: version: 0.10.0, and the command title reads Set up DocumentDB Local.

One check still open: I have not re-driven the rebuilt VSIX through the UI to eyeball the two webviews — my browser harness wedged before I got to it. The removal is verified at the bundle level and the full test suite is green, but a quick manual look at the DocumentDB Local setup and Atlas wizard (headings render in full; footer border/shadow appears only when content runs below the fold) is worth doing before merge.

Note on how this was produced

Written with AI assistance (Claude Code): I drove the packaged-VSIX smoke test, and the diagnosis, edits and commit messages were produced with it under my review. The verification results above are from real runs, not estimates.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes a shipped webview “footer experiment” prototype, completes the “Set up DocumentDB Local” rename across user-facing product strings (including the OutputChannel name), and bumps the extension version to 0.10.0 for the release/0.10.0 cut.

Changes:

  • Removed the footer experiment UI (switch/badge/styles) and simplified footer elevation measurement logic in both affected webviews.
  • Updated user-facing strings to consistently use “Set up DocumentDB Local” and renamed the OutputChannel to “DocumentDB Local Setup”.
  • Dropped the -alpha suffix by setting the extension version to 0.10.0 and updating localization/docs accordingly.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/webviews/documentdb/localQuickStart/LocalQuickStart.tsx Removes footer experiment UI/state/refs and keeps simplified footer elevation behavior; updates a few guidance strings.
src/webviews/documentdb/atlasCredentials/AtlasCredentialsView.tsx Removes the same footer experiment UI/state/refs and keeps simplified footer elevation behavior.
src/services/localQuickStart/quickStartMessages.ts Updates user-facing log guidance text from “Quick Start” to “DocumentDB Local setup”.
src/services/localQuickStart/ContainerRuntime.ts Renames the OutputChannel to “DocumentDB Local Setup” and updates the related header comment.
src/commands/newLocalConnection/ExecuteStep.ts Updates the modal detail text to reference “DocumentDB Local setup”.
src/commands/localQuickStart/localQuickStartCommands.ts Updates user-facing messages to direct users to “Set up DocumentDB Local”.
package.json Sets extension version to 0.10.0 and renames the command title to “Set up DocumentDB Local”.
l10n/bundle.l10n.json Removes footer experiment strings and updates “Quick Start” user-facing strings to the new naming.
docs/user-manual/local-quick-start.md Updates documentation to the new OutputChannel name.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread package.json
The "Footer experiment" switch and its PREVIEW badge were a temporary
comparison prototype, marked for removal in the code that added them. They
shipped in the production bundle: `dist/views.js` built with `--mode
production` carried the label, and the switch rendered in the installed VSIX
in both the DocumentDB Local setup and the Atlas credentials wizard.

The switch was absolutely positioned in the header, so it also overlapped the
adjacent heading and truncated it at normal panel widths — "Add a Mongo",
"Provide your MongoDB Atla", "Choose an authentication m".

Remove the opt-in state, the root and footer refs, the prototype switch and
badge, and the scrollAreaInlineFooter style.

The measurement callback stays, minus the experiment: it still drives
`footerElevated`, the shipped border-and-shadow that appears only while the
scroll area has content below the fold. With the experiment gone `shouldDock`
was always true, so the docked branch is the only one left. The ResizeObserver
now watches the scroll area and content; the scroll area resizes when the
footer does, so observing the root and footer added nothing.

`position: relative` stays on the root — it is the containing block for the
visually-hidden status text — with a comment that says so.
…the docs

The rename reached the user manual but no product string, so the feature
answered to two names at once. The Command Palette still offered "DocumentDB:
Local Quick Start" — a name that appeared nowhere else in the UI — and ten
user-facing strings still said "Quick Start", including two that sent the
reader to a log by a name the Output panel did not use.

- Command Palette title becomes "Set up DocumentDB Local", matching the tree
  action that opens the same webview.
- The ten strings now name either the command ("Set up DocumentDB Local") or
  the product ("DocumentDB Local"), whichever the sentence is about.
- The OutputChannel becomes "DocumentDB Local Setup", so "Check the DocumentDB
  Local setup logs" names a channel that exists. The user manual follows.

The tree keeps "Your own DocumentDB" as its section heading and the webview
keeps "DocumentDB Local" as its title: those name the place and the product,
not the command, and are deliberate. Internal identifiers (localQuickStart,
QUICK_START_*) are untouched — renaming them is churn with no user-visible
effect.
Drop the -alpha prerelease suffix: the marketplace build must carry the final
version.
The release cut had no changelog entry: CHANGELOG.md still opened at 0.9.2
while package.json said 0.10.0, so a release carrying two headline features
would have shipped with no user-facing record of what changed.

Written from the 25 PR-titled commits in v0.9.2..release/0.10.0, in the
existing house style. Grouped as New Features (DocumentDB Local, MongoDB
Atlas Service Discovery, Index Management), Improvements (theme-aware Fluent
colors, typed status reporting) and Fixes (the bug-bash batch, Collection
View import/export).

No Security section: unlike 0.9.2 there are no dependency or GitHub Actions
updates in this range.

Four commits in the range carry fork-local PR numbers (#1, #3, #7, #8) that
do not resolve in this repository; their substance is folded into the
DocumentDB Local and bug-bash entries without links.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The version bump set package.json to 0.10.0 but left the lockfile at
0.10.0-alpha in both `.version` and `packages[""].version`, so the cut was
only half applied.

Only those two fields change — no dependency resolution ran, so the diff
stays at two lines and the resolved tree is untouched.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@guanzhousongmicrosoft
Guanzhou Song (guanzhousongmicrosoft) force-pushed the dev/guanzhousong/0.10.0-release-blockers branch from 1d28dae to 24be061 Compare August 12, 2026 17:32
@github-actions

Copy link
Copy Markdown
Contributor

✅ Code Quality Checks

Check Status How to fix
Localization (l10n) ✅ Passed
ESLint ✅ Passed
Prettier formatting ✅ Passed

This comment is updated automatically on each push.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Build Size Report

Metric Base (release/0.10.0) PR Delta
VSIX (vscode-documentdb-0.10.0.vsix) 8.01 MB 8.15 MB ⬆️ +146 KB (+1.8%)
Webview bundle (views.js) 5.88 MB 6.11 MB ⬆️ +233 KB (+3.9%)

Download artifact · updated automatically on each push.

@tnaum-ms
Tomasz Naumowicz (tnaum-ms) merged commit ea62a5b into release/0.10.0 Aug 14, 2026
5 checks passed
@tnaum-ms
Tomasz Naumowicz (tnaum-ms) deleted the dev/guanzhousong/0.10.0-release-blockers branch August 14, 2026 15:56
@tnaum-ms Tomasz Naumowicz (tnaum-ms) added this to the 0.10.0 milestone Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

3 participants