aws / aws/graph-explorer

Client consumes /api/config and merges managed connections

Open
#1,664 0 comments 0 reactions 0 assignees View on GitHub
enhancement fundamental
Dominant language
TypeScript
Stars
481
Forks
108
Avg merge
8d 9h
Merged PRs (30d)
7

Description

## Parent PRD

#1660

## What to build

Update the client to fetch `GET /api/config` at startup instead of `/defaultConnection`. Managed connections (from the config file) are locked in the UI — users cannot edit or delete them. Users can still create their own connections through the UI, persisted to IndexedDB.

On each startup, the client reconciles managed connections: new ones are added, removed ones are deleted (along with associated data), modified ones are updated while preserving user's schema and session data. The connection's stable key from the config is used for matching.

Replace `defaultConnection.ts`, the `DefaultConnectionDataSchema`, and the related `AppStatusLoader` logic.

## Acceptance criteria

- [ ] Client fetches `/api/config` at startup
- [ ] Managed connections from config are displayed and functional
- [ ] Managed connections are not editable or deletable in the UI
- [ ] User-created connections (IndexedDB) coexist with managed connections
- [ ] Removing a connection from config removes it from client on next load
- [ ] Modifying a connection in config updates it but preserves schema/session data
- [ ] Old `defaultConnection.ts` and `DefaultConnectionDataSchema` removed
- [ ] Unit tests for connection merge/reconciliation logic

## Blocked by

- Blocked by #1663

## User stories addressed

- User story 7
- User story 9

## Related Issues

- Part of #1660

Contributor guide

Open the contributing guide

Research direction

Start with blocked issue #1663, then inspect defaultConnection.ts, DefaultConnectionDataSchema, and the related AppStatusLoader logic. Trace startup loading and IndexedDB connection handling before defining unit tests for merge and reconciliation behavior. Done means /api/config connections coexist with user connections, managed entries are locked, and config changes preserve schema and session data.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.