Skip to content

[wip] UX Review (in progress): MongoDB Atlas Discovery#793

Open
tnaum-ms wants to merge 13 commits into
feature/atlas-discoveryfrom
dev/tnaum/atlas-discovery-review-iteration-2
Open

[wip] UX Review (in progress): MongoDB Atlas Discovery#793
tnaum-ms wants to merge 13 commits into
feature/atlas-discoveryfrom
dev/tnaum/atlas-discovery-review-iteration-2

Conversation

@tnaum-ms

@tnaum-ms tnaum-ms commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

This is a work in progress pull request that tracks the ongoing UX review of the MongoDB Atlas discovery provider. It exists to make the review progress visible on top of the feature/atlas-discovery branch and is not intended to be merged as a feature change.

UX Review Document

The running review, findings, decisions, work plan, and item-level status live in docs/ai-and-plans/PRs/733-atlas-mongodb-discovery/ux-review-iteration-3.md.

Completed Work Items

  • Item 1: expanding the signed-out Atlas root now shows the sign-in node without automatically opening authentication.
  • Item 2: failed authentication retains submitted credentials for retry and provides an update credentials path.
  • Item 3: the empty-project state distinguishes a permissions-scoped API key from a genuinely empty account, with guidance in a tooltip.
  • Item 4: project load failures now show a modal, log technical detail to the output channel, and provide a single retry node.
  • Item 14: Atlas organization and project filtering, including its persisted state, has been removed.

What it contains:

  • The iteration 3 UX review document, with findings, recorded decisions, and a grouped, ordered work plan.
  • The UX review helper skill used to run the review.

Status: in progress and open for discussion. Kept as a draft while the review continues.

@tnaum-ms
tnaum-ms marked this pull request as ready for review July 14, 2026 13:57
@tnaum-ms
tnaum-ms requested a review from a team as a code owner July 14, 2026 13:57
@tnaum-ms
tnaum-ms requested a review from BChoudhury-ms July 14, 2026 13:57
@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.

@tnaum-ms
tnaum-ms requested a review from Copilot July 14, 2026 14:17
@tnaum-ms tnaum-ms changed the title UX Review (in progress): MongoDB Atlas Discovery [wip] UX Review (in progress): MongoDB Atlas Discovery Jul 14, 2026

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

This WIP PR captures iteration-3 UX review progress for the MongoDB Atlas discovery provider and includes several UX-driven behavioral changes (error surfacing, retry/update-credentials recovery, and removal of org/project filtering), plus the accompanying review documentation and helper skill content.

Changes:

  • Standardize Atlas discovery load failures around a shared modal + retry flow and log technical details to the output channel.
  • Preserve submitted credentials on failed auth/token acquisition to enable “Retry” and “Update credentials” recovery paths.
  • Remove Atlas org/project filtering (including persisted state keys) and refine the “no projects” empty state to better distinguish permissions vs truly empty accounts.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/plugins/service-atlas-mongodb/discovery-tree/showAtlasLoadFailure.ts New shared helper for logging + modal error surfacing for Atlas discovery failures
src/plugins/service-atlas-mongodb/discovery-tree/AtlasServiceRootItem.ts Root UX updates: no auto-auth prompt on expand, retry/update-credentials nodes, filtering removal, improved empty-project messaging
src/plugins/service-atlas-mongodb/discovery-tree/AtlasProjectItem.ts Project UX updates: modal error surfacing + retry node; participates in retry-node caching
src/plugins/service-atlas-mongodb/config.ts Removes persisted state keys related to filtering
src/plugins/service-atlas-mongodb/auth/AtlasSessionManager.ts Adds “store credentials for retry” support and removes filter state APIs
src/plugins/service-atlas-mongodb/auth/AtlasServiceAccountFlow.ts Stores service account creds for retry (currently done pre-validation)
src/plugins/service-atlas-mongodb/auth/AtlasApiKeyFlow.ts Stores API key creds for retry (currently done pre-validation)
src/plugins/service-atlas-mongodb/AtlasDiscoveryProvider.ts Removes filtering UX; adjusts manage-credentials UX to include “Update credentials”
l10n/bundle.l10n.json Adds/removes localized strings to match the new UX copy and removed filtering flows
docs/ai-and-plans/PRs/733-atlas-mongodb-discovery/ux-review-iteration-3.md Iteration-3 UX review pack with findings, decisions, and work plan
.github/skills/ux-pr-review/SKILL.md Adds a UX-review helper skill definition and workflow guidance
.github/skills/ux-pr-review/references/review-document-template.md Adds a template for seeding future UX review documents
.github/skills/ux-pr-review/references/inconsistency-checklist.md Adds a pre-discovery checklist for common UX inconsistency classes

Comment on lines +57 to +60
// Step 3: Store credentials so users can retry after correcting Atlas-side access.
await sessionManager.storeApiKeyCredentialsForRetry(publicKey.trim(), privateKey.trim());

// Step 4: Validate credentials

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

this is a temporary wip fix, we'll update it when support for multi-cred storage is added.

Comment on lines +57 to +60
// Step 3: Store credentials so users can retry after correcting Atlas-side access.
await sessionManager.storeServiceAccountCredentialsForRetry(clientId.trim(), clientSecret.trim());

// Step 4: Validate by fetching a token

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

this is a temporary wip fix, we'll update it when support for multi-cred storage is added.

Comment on lines +9 to +16
export async function showAtlasLoadFailure(failureMessage: string, errorMessage: string): Promise<void> {
ext.outputChannel.appendLine(l10n.t('Failed to load MongoDB Atlas discovery: {0}', errorMessage));

await window.showErrorMessage(failureMessage, {
modal: true,
detail: l10n.t('Revisit credentials and try again.'),
});
}
Comment thread src/plugins/service-atlas-mongodb/AtlasDiscoveryProvider.ts
Comment thread src/plugins/service-atlas-mongodb/auth/AtlasSessionManager.ts
Comment thread src/plugins/service-atlas-mongodb/config.ts
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.

3 participants