deep-foundation / deep-foundation/deepcase-app

Keep visualization dynamic even between unmigrate and migrate (without page refresh) - make automatic reconnect

Open
#43 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
10
Forks
6
PR merge metrics
No merged PRs in 30d

Description

At the moment when unmigrate is executed, DeepCase visualization fails with error:
![Screenshot_20220420_153804](https://user-images.githubusercontent.com/1431904/164232123-ada2419f-745b-40aa-b7ac-61ab0f890ac5.png)

I expect no errors in this case, just show empty screen if there is no data in database (including the case when there is no links table). Once links table is created, subscription to data should be restored. Just like on page refresh or better.

I would like to see all changes in data if possible. I also want the client to be stable (no page refresh is required).

```
Unhandled Runtime Error
Error: field "links" not found in type: 'query_root'

Call Stack
new ApolloError
node_modules/@apollo/client/errors/index.js (29:0)
eval
node_modules/@apollo/client/core/QueryManager.js (592:0)
both
node_modules/@apollo/client/utilities/observables/asyncMap.js (16:44)
eval
node_modules/@apollo/client/utilities/observables/asyncMap.js (9:55)
new Promise

Object.then
node_modules/@apollo/client/utilities/observables/asyncMap.js (9:0)
Object.eval [as next]
node_modules/@apollo/client/utilities/observables/asyncMap.js (17:0)
notifySubscription
node_modules/zen-observable-ts/module.js (132:0)
onNotify
node_modules/zen-observable-ts/module.js (176:0)
SubscriptionObserver.next
node_modules/zen-observable-ts/module.js (225:0)
eval
node_modules/@apollo/client/utilities/observables/iteration.js (4:48)
Array.forEach

iterateObserversSafely
node_modules/@apollo/client/utilities/observables/iteration.js (4:0)
Object.next
node_modules/@apollo/client/utilities/observables/Concast.js (25:42)
notifySubscription
node_modules/zen-observable-ts/module.js (132:0)
onNotify
node_modules/zen-observable-ts/module.js (176:0)
SubscriptionObserver.next
node_modules/zen-observable-ts/module.js (225:0)
eval
node_modules/@apollo/client/link/http/createHttpLink.js (103:0)
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the DeepCase visualization's Apollo Client query or subscription that requests links, and reproduce the unmigrate flow without refreshing. Trace how the client handles the missing links field and restores the subscription after the links table exists. Done means an empty database or absent links table shows no error, and later data changes appear without a page refresh.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.