[wip] UX Review (in progress): MongoDB Atlas Discovery#793
Conversation
…statuses and improving table formatting for clarity
✅ Code Quality Checks
This comment is updated automatically on each push. |
There was a problem hiding this comment.
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 |
| // Step 3: Store credentials so users can retry after correcting Atlas-side access. | ||
| await sessionManager.storeApiKeyCredentialsForRetry(publicKey.trim(), privateKey.trim()); | ||
|
|
||
| // Step 4: Validate credentials |
There was a problem hiding this comment.
this is a temporary wip fix, we'll update it when support for multi-cred storage is added.
| // 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 |
There was a problem hiding this comment.
this is a temporary wip fix, we'll update it when support for multi-cred storage is added.
| 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.'), | ||
| }); | ||
| } |
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-discoverybranch 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
What it contains:
Status: in progress and open for discussion. Kept as a draft while the review continues.