possible bug with Redux dev tools middleware
Nobody has claimed this yet.
- Dominant language
- Dart
- Stars
- 432
- Forks
- 57
- PR merge metrics
- No merged PRs in 30d
Description
- Issue Type: BUG (maybe? or I'm doing something wrong)
over_reactVersion(s):5.3.0dartversion:2.19.6Chromeversion: 128.0.6613.120 (Official Build) (64-bit)
Describe your issue here... If it is a bug - PLEASE follow our bug submission guidelines.
(Sorry, the link https://github.com/Workiva/over_react/blob/master/.github/CONTRIBUTING.md#bug-reports is broken, and https://github.com/Workiva/over_react/blob/master/CONTRIBUTING.md doesn't say much about bug reports.)
When I load my app using OverReact and Redux, I see this on startup:
and I'm unable to use Redux dev tools (I assume because of the above error):
Here's the full text and stack trace:
dart_env_dev.js:26 OverReactReduxDevToolsMiddleware [WARNING]: Unknown event from @devtools-extension: OPTIONS. Ignoring {type: 'OPTIONS', options: {…}, id: undefined, source: '@devtools-extension'}id: undefinedoptions: {allowlist: '', blacklist: '', denylist: '', editor: '', filter: 'DO_NOT_FILTER', …}allowlist: ""blacklist: ""denylist: ""editor: ""filter: "DO_NOT_FILTER"inject: truemaxAge: 50projectPath: ""shouldCatchErrors: falseshowContextMenus: trueurls: "^https?://localhost|0\\.0\\.0\\.0:\\d+\n^https?://.+\\.github\\.io"useEditor: 0whitelist: ""Symbol(dartx.hashCode): (...)Symbol(dartx.runtimeType): (...)[[Prototype]]: Objectsource: "@devtools-extension"type: "OPTIONS"Symbol(dartx.hashCode): (...)Symbol(dartx.runtimeType): (...)[[Prototype]]: Object
(anonymous) @ dart_env_dev.js:26
overrideMethod @ console.js:288
callMethod$ @ js_util_patch.dart:81
(anonymous) @ middleware.dart:48
runUnaryGuarded @ zone.dart:1593
[_sendData] @ stream_impl.dart:339
[_add] @ stream_impl.dart:271
[_sendData] @ broadcast_stream_controller.dart:377
add @ broadcast_stream_controller.dart:244
[_publish] @ logger.dart:309
log @ logger.dart:233
warning @ logger.dart:284
handleEventFromRemote @ middleware.dart:152
_checkAndCall @ operations.dart:367
dcall @ operations.dart:372
ret @ js_patch.dart:414
(anonymous) @ page.bundle.js:6
(anonymous) @ page.bundle.js:6
(anonymous) @ page.bundle.js:6
Ce @ page.bundle.js:6
postMessage
c @ content.bundle.js:3
(anonymous) @ content.bundle.js:3
g @ content.bundle.js:1
F @ content.bundle.js:3
w @ content.bundle.js:3
b @ content.bundle.js:3
postMessage
M @ page.bundle.js:4
bt @ page.bundle.js:6
middleware._OverReactReduxDevToolsMiddleware.new @ middleware.dart:60
overReactReduxDevToolsMiddlewareFactory @ middleware.dart:222
initialize_state @ app.dart:125
start @ app.dart:95
runBody @ async_patch.dart:84
_async @ async_patch.dart:123
start @ app.dart:88
main$ @ main.dart:7
(anonymous) @ main.dart.bootstrap.js:366
window.$dartRunMain @ main.dart.bootstrap.js:365
(anonymous) @ VM446:1
runMain @ client.js:8803
(anonymous) @ client.js:24896
(anonymous) @ client.js:3448
call$2 @ client.js:11507
_asyncStartSync @ client.js:3412
$call$body$main__closure @ client.js:24912
call$1 @ client.js:24824
_rootRunUnary @ client.js:3816
runUnary$2$2 @ client.js:12906
runUnaryGuarded$1$2 @ client.js:12853
_sendData$1 @ client.js:12446
perform$1 @ client.js:12629
call$0 @ client.js:12688
_microtaskLoop @ client.js:3656
_startMicrotaskLoop @ client.js:3662
call$1 @ client.js:11384
invokeClosure @ client.js:1227
(anonymous) @ client.js:1246
childList
call$1 @ client.js:11394
_scheduleAsyncCallback @ client.js:3676
_rootScheduleMicrotask @ client.js:3863
scheduleMicrotask @ client.js:3705
schedule$1 @ client.js:12660
_addPending$1 @ client.js:12437
_sendData$1 @ client.js:12250
add$1 @ client.js:12116
_onIncomingMessage$1 @ client.js:24096
(anonymous) @ client.js:1337
invokeClosure @ client.js:1227
(anonymous) @ client.js:1246
Show 7 more frames
Show less
tacoxdna_worker.js:1 Uncaught ReferenceError: importScripts is not defined
at tacoxdna_worker.js:1:1
(anonymous) @ tacoxdna_worker.js:1
metro.min.js:7 Metro 4 - v4.5.1. Built at: 01/09/2022 18:29:28
metro.min.js:7 m4q - v1.1.0. Built at 05/05/2021 22:47:56
UI.js:363 Notification: Finished indexing!
io.js:247 1 't =' 0
dart_env_dev.js:26 OverReactReduxDevToolsMiddleware [WARNING]: Unknown event from @devtools-extension: STOP. Ignoring {type: 'STOP', failed: true, source: '@devtools-extension'}
(anonymous) @ dart_env_dev.js:26
overrideMethod @ console.js:288
callMethod$ @ js_util_patch.dart:81
(anonymous) @ middleware.dart:48
runUnaryGuarded @ zone.dart:1593
[_sendData] @ stream_impl.dart:339
[_add] @ stream_impl.dart:271
[_sendData] @ broadcast_stream_controller.dart:377
add @ broadcast_stream_controller.dart:244
[_publish] @ logger.dart:309
log @ logger.dart:233
warning @ logger.dart:284
handleEventFromRemote @ middleware.dart:152
_checkAndCall @ operations.dart:367
dcall @ operations.dart:372
ret @ js_patch.dart:414
(anonymous) @ page.bundle.js:6
(anonymous) @ page.bundle.js:6
(anonymous) @ page.bundle.js:6
Ce @ page.bundle.js:6
postMessage
L @ content.bundle.js:3
This is in this repo on the branch 419-migrate-to-dart-null-safety-mode, relevant setup code is here:
Here's that code
print('SCADNANO_PROD = "${SCADNANO_PROD}", so Redux Devtools enabled; disable it to boost performance');
var middleware_plus = all_middleware + [overReactReduxDevToolsMiddleware];
store = DevToolsStore<AppState>(app_state_reducer, initialState: state, middleware: middleware_plus);
I can verify that the print message occurs, so it is setting up DevToolsStore (not the normal production Store in the else clause a few lines later).
I imagine I'm just doing something wrong, but I haven't changed this setup code in years and it always worked before. It's also not because I recently upgraded to OverReact 5.3.0; before I starting migrating to null safety a few days ago, I used OverReact 4.0.0 and saw the same error.
I'm just hoping someone has seen this error before and has an idea what might be causing it.
FYI: @greglittlefield-wf @aaronlademann-wf @kealjones-wk @evanweible-wf @maxwellpeterson-wf
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with middleware.dart, especially the event handling and initialization paths shown in the stack trace, and compare them with the DevToolsStore setup in lib/src/app.dart. Reproduce the startup with the linked scadnano branch and Redux DevTools, then determine why the OPTIONS and STOP events prevent the middleware from working and verify that the DevTools connection functions without those warnings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart, redux
- Domain
- frontend, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100