-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Callback chain refactoring and performance improvements #1254
Merged
Merged
Changes from all commits
Commits
Show all changes
100 commits
Select commit
Hold shift + click to select a range
a4c699e
add typescript to toolchain
93ef392
Add StoreObserver
6955746
Add callbacks reducer
8eff2a8
Improve Store and StoreObserver typing
8d7b045
Add callback actions
0decbba
Only consider TS code inside /src
e2d9ce8
Add `Watched` state to the callbacks state machine
5c5bf59
handle duplicates, pruning, errors
a101085
- extra typing for callbacks / wildcards case
549d623
clean up pruning
c7e74ec
followForward on prop update
e9494e4
use parsedId
27044c2
fix regressions with wildcard callbacks duplicates handling
4e8bb3e
add back handling `children` prop case with wildcards
d76111e
always concat
c5778d7
followForward on callback resolution
211b48c
lint
7d72c8e
during initialization, incomplete callbacks do not prevent partial/co…
0dfc2e0
fix typo
9bc4b73
fix regression in dvcv008/009
3f16676
Expect `callback2` to be triggered on initialization despite `callbac…
c9f7214
fix clsd005 regression: clientside promise case was mishandled
d8f9b63
cbmt005: now expecting callback to be triggered at initialization eve…
cbdd277
fix regression on dvcv012: Prune circular dependencies from `requeste…
e8985c4
group callback related types in a file to that effect
84d1eb8
rdmo004: update test to reflect circular dependencies are not executed
762f55b
- revert `layout` initialization and `children` props behavior so it …
f7d3678
remove timeout
77528d1
on layout change: ignore callbacks for which inputs were excluded or …
22e1e23
fix test regressions
d14c782
drop tail, not head of duplicates
b021f38
unrelated fix for cbcx001 (the space character is a control character…
5656e18
add ts-jest/babel for jest tests
285c152
fix regression in error handling / display
4067345
Merge remote-tracking branch 'origin/dev' into state-machine
bf96924
post-merge: add back callback context for clientside callbacks
7ab1d3f
post-merge: fix server status in devtools
4b99a08
refactor observers into files
297d9cd
- add `loadingMap` to store
0621dfd
remove `pendingCallbacks` store prop
caf5ebe
remove `pendingCallbacks` in tests
1a5e3fb
add `isLoading` state to store (derived from callbacks) + use `isLoad…
5d94983
Merge remote-tracking branch 'origin/dev' into state-machine
91b0e89
update `redux_state_rqs` implementation and usage
5e44b22
ready => !isLoading
f5698b0
Rework TreeContainer (no connect + provider/consumer)
b624cd9
remove console.log
78b1a26
prevent some intermediary renders
b0f1178
fix regression on loading_state
58a99cb
- unconnect ComponentErrorBoundary
952d525
Merge branch 'dev' into state-machine
Marc-Andre-Rivet ff18d80
fix hash generation
9cbed33
Merge branch 'state-machine' of github.com:plotly/dash into state-mac…
9ccc017
remove dead code
6a4f98f
Use `false` instead of `{ is_loading: false}`
bed0523
share (id,prop) instance for all paths
1105ca6
small loadingMap observer optimizations
b61216a
improve requestedCallbacks observer comments
4e2f0b4
stringifyId for loading_state
d1ab912
update comments
00e5e6e
bump maximum concurrent callbacks to 10
5905631
Prioitize callbacks based on depth/breadth of subsequent callback chain
df854dd
fix broken `getCallbacksByInput` import
280c7b5
fix dvcv test cases (prevent infinite loop when evaluating priority)
720c350
fix loading state on target
96d4d67
optional parameter on `setProps` to force update -- this is useful if…
6c07a0d
isAppReady - fix regression on ids
854784f
fix docker versions
983258e
improve typing
9d395f0
noise
0da5810
- typo
ae38bf8
remove `Applied` callback state
32aac96
create priority hash that is sortable instead of carrying around the …
dde23d3
noise
be6ced6
tslint
10185dd
eofline: true
484a4e5
rename getLayoutCallbacks, getCallbacksInLayout
92fcd16
Merge branch 'dev' into state-machine
Marc-Andre-Rivet c93389b
circular callbacks entrypoint, callback predecessors and dropping loops
24d00c8
Merge branch 'state-machine' of github.com:plotly/dash into state-mac…
4396e7e
use resolved inputs/outputs when calculating callback readiness
6fa637c
optimize transition between `prioritized` and `executing`
0f87b63
remove `forceOnEqual`
00862c3
prioritized callbacks
783372f
handle async callbacks through an additional `blocked` state
ecc5d8b
more "future proof" pendingCallbacks
648e4a8
babel typescript preset for babel transform
3c782c1
ts(x?) and js(x?) extensions
441b653
dry
a5f9c31
remove comments
ca02d55
revert comment change
b8af7e3
changelog
55884af
Merge branch 'dev' into state-machine
Marc-Andre-Rivet afcdba9
- undo `redux_state_rqs` regression
7a837fa
Merge branch 'state-machine' of github.com:plotly/dash into state-mac…
4a083bb
lint
1a9065a
Merge branch 'dev' into state-machine
Marc-Andre-Rivet be36ab4
test number of callbacks triggered for wildcard `allsmaller`
2dc22dc
Merge branch 'state-machine' of github.com:plotly/dash into state-mac…
63f14af
redux_state_rqs legacy support
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
declare module 'cookie' { | ||
const value: { | ||
parse: (cookie: string) => { | ||
_csrf_token: string | ||
} | ||
}; | ||
|
||
export default value; | ||
} | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -85,7 +85,7 @@ module.exports = { | |
// notifyMode: "always", | ||
|
||
// A preset that is used as a base for Jest's configuration | ||
// preset: null, | ||
preset: "ts-jest/presets/js-with-babel", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For Jest to work with TS |
||
|
||
// Run tests from one or more projects | ||
// projects: null, | ||
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to shim third-parties that don't have TS module definitions