element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.18k stars 2k forks source link

ScrollPanel can suffer a lot of duplicate events, and related react warnings about dup keys #4138

Closed ara4n closed 3 years ago

ara4n commented 7 years ago

I just joined a room on a virgin account on my local dev HS and sent a message:

newscreen room/!mBWpHvVHIUnHmUNISc:sierra
12:22:30.270 rageshake.js:65 Attempting to peek into room !mBWpHvVHIUnHmUNISc:sierra
12:22:30.975 rageshake.js:65 updateTint from RoomView._gatherTimelinePanelRef
12:22:30.978 rageshake.js:65 Tinter.tint from updateTint
12:22:31.253 sync.js:360 Uncaught TypeError: Cannot read property 'addLiveEvents' of null
    at sync.js:360
    at _fulfilled (q.js:834)
    at self.promiseDispatch.done (q.js:863)
    at Promise.promise.promiseDispatch (q.js:796)
    at q.js:604
    at runSingle (q.js:137)
    at flush (q.js:125)
    at onNextTick (main.js:64)
    at Item.run (browser.js:133)
    at drainQueue (browser.js:103)
(anonymous) @ sync.js:360
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:604
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runSingle @ q.js:160
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
(anonymous) @ q.js:603
(anonymous) @ q.js:263
become @ q.js:602
deferred.resolve @ q.js:618
(anonymous) @ http-api.js:762
(anonymous) @ http-api.js:686
on_end @ index.js:294
on_state_change @ index.js:244
XMLHttpRequest.send (async)
run_xhr @ index.js:218
request @ index.js:179
_request @ http-api.js:658
requestOtherUrl @ http-api.js:558
request @ http-api.js:443
authedRequest @ http-api.js:392
MatrixBaseApis.setRoomReadMarkersHttpRequest @ base-apis.js:510
MatrixClient.setRoomReadMarkers @ client.js:1281
sendReadReceipt @ TimelinePanel.js:573
(anonymous) @ TimelinePanel.js:893
notifyAll @ CallbackQueue.js:76
close @ ReactUpdates.js:59
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
close @ ReactUpdates.js:47
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
closeAll @ Transaction.js:206
perform @ Transaction.js:153
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
enqueueUpdate @ ReactUpdates.js:200
enqueueUpdate @ ReactUpdateQueue.js:24
enqueueSetState @ ReactUpdateQueue.js:209
ReactComponent.setState @ ReactComponent.js:63
MatrixClientPeg.get.peekInRoom.then._this2.setState.roomLoading @ RoomView.js:243
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:604
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
(anonymous) @ q.js:603
(anonymous) @ q.js:263
become @ q.js:602
deferred.resolve @ q.js:618
(anonymous) @ http-api.js:762
(anonymous) @ http-api.js:686
on_end @ index.js:294
on_state_change @ index.js:244
XMLHttpRequest.send (async)
run_xhr @ index.js:218
request @ index.js:179
_request @ http-api.js:658
requestOtherUrl @ http-api.js:558
request @ http-api.js:443
authedRequest @ http-api.js:392
MatrixBaseApis.roomInitialSync @ base-apis.js:482
SyncApi.peek @ sync.js:239
MatrixClient.peekInRoom @ client.js:2103
_onHaveRoom @ RoomView.js:242
notifyAll @ CallbackQueue.js:76
close @ ReactUpdates.js:59
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
close @ ReactUpdates.js:47
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
closeAll @ Transaction.js:206
perform @ Transaction.js:153
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
enqueueUpdate @ ReactUpdates.js:200
enqueueUpdate @ ReactUpdateQueue.js:24
enqueueSetState @ ReactUpdateQueue.js:209
ReactComponent.setState @ ReactComponent.js:63
(anonymous) @ MatrixChat.js:656
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:857
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
Promise.then @ q.js:856
Promise.done @ q.js:1794
_viewRoom @ MatrixChat.js:637
onAction @ MatrixChat.js:426
_invokeCallback @ Dispatcher.js:198
dispatch @ Dispatcher.js:174
setTimeout (async)
dispatch @ dispatcher.js:39
onUserSettingsClose @ MatrixChat.js:1136
ReactErrorUtils.invokeGuardedCallback @ ReactErrorUtils.js:70
executeDispatch @ EventPluginUtils.js:85
executeDispatchesInOrder @ EventPluginUtils.js:108
executeDispatchesAndRelease @ EventPluginHub.js:43
executeDispatchesAndReleaseTopLevel @ EventPluginHub.js:54
forEachAccumulated @ forEachAccumulated.js:24
processEventQueue @ EventPluginHub.js:257
runEventQueueInBatch @ ReactEventEmitterMixin.js:17
handleTopLevel @ ReactEventEmitterMixin.js:28
handleTopLevelImpl @ ReactEventListener.js:72
perform @ Transaction.js:140
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
batchedUpdates @ ReactUpdates.js:97
dispatchEvent @ ReactEventListener.js:147
12:22:31.326 index.js:218 GET http://localhost:8008/_matrix/media/r0/preview_url?url=http%3A%2F%2Fopenmar…1zVXh4Qm5wCjAwMmZzaWduYXR1cmUgWSXAY7Qw7yghCtmL0wqFcMgG1Q4XhEuwYJFtgpP2leAK 500 (Internal Server Error)
run_xhr @ index.js:218
request @ index.js:179
_request @ http-api.js:658
requestOtherUrl @ http-api.js:558
request @ http-api.js:443
authedRequest @ http-api.js:392
authedRequestWithPrefix @ http-api.js:475
MatrixClient.getUrlPreview @ client.js:1307
LinkPreviewWidget_componentWillMount @ LinkPreviewWidget.js:49
(anonymous) @ ReactCompositeComponent.js:348
measureLifeCyclePerf @ ReactCompositeComponent.js:75
performInitialMount @ ReactCompositeComponent.js:347
mountComponent @ ReactCompositeComponent.js:258
mountComponent @ ReactReconciler.js:46
updateChildren @ ReactChildReconciler.js:121
_reconcilerUpdateChildren @ ReactMultiChild.js:208
_updateChildren @ ReactMultiChild.js:312
updateChildren @ ReactMultiChild.js:299
_updateDOMChildren @ ReactDOMComponent.js:930
updateComponent @ ReactDOMComponent.js:748
receiveComponent @ ReactDOMComponent.js:710
receiveComponent @ ReactReconciler.js:125
_updateRenderedComponent @ ReactCompositeComponent.js:754
_performComponentUpdate @ ReactCompositeComponent.js:724
updateComponent @ ReactCompositeComponent.js:645
performUpdateIfNecessary @ ReactCompositeComponent.js:561
performUpdateIfNecessary @ ReactReconciler.js:157
runBatchedUpdates @ ReactUpdates.js:150
perform @ Transaction.js:140
perform @ Transaction.js:140
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
close @ ReactUpdates.js:47
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
closeAll @ Transaction.js:206
perform @ Transaction.js:153
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
enqueueUpdate @ ReactUpdates.js:200
enqueueUpdate @ ReactUpdateQueue.js:24
enqueueSetState @ ReactUpdateQueue.js:209
ReactComponent.setState @ ReactComponent.js:63
(anonymous) @ TimelinePanel.js:342
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:604
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
(anonymous) @ q.js:603
(anonymous) @ q.js:263
become @ q.js:602
deferred.resolve @ q.js:618
(anonymous) @ http-api.js:762
(anonymous) @ http-api.js:686
on_end @ index.js:294
on_state_change @ index.js:244
XMLHttpRequest.send (async)
run_xhr @ index.js:218
request @ index.js:179
_request @ http-api.js:658
requestOtherUrl @ http-api.js:558
request @ http-api.js:443
authedRequest @ http-api.js:392
MatrixClient.paginateEventTimeline @ client.js:2035
TimelineWindow.paginate @ timeline-window.js:262
onMessageListFillRequest @ TimelinePanel.js:321
_maybeFill @ ScrollPanel.js:394
checkFillState @ ScrollPanel.js:326
ScrollPanel_componentDidMount @ ScrollPanel.js:160
(anonymous) @ ReactCompositeComponent.js:265
measureLifeCyclePerf @ ReactCompositeComponent.js:75
(anonymous) @ ReactCompositeComponent.js:264
notifyAll @ CallbackQueue.js:76
close @ ReactReconcileTransaction.js:80
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ Transaction.js:140
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
closeAll @ Transaction.js:206
perform @ Transaction.js:153
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
enqueueUpdate @ ReactUpdates.js:200
enqueueUpdate @ ReactUpdateQueue.js:24
enqueueSetState @ ReactUpdateQueue.js:209
ReactComponent.setState @ ReactComponent.js:63
MatrixClientPeg.get.peekInRoom.then._this2.setState.roomLoading @ RoomView.js:243
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:604
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
(anonymous) @ q.js:603
(anonymous) @ q.js:263
become @ q.js:602
deferred.resolve @ q.js:618
(anonymous) @ http-api.js:762
(anonymous) @ http-api.js:686
on_end @ index.js:294
on_state_change @ index.js:244
XMLHttpRequest.send (async)
run_xhr @ index.js:218
request @ index.js:179
_request @ http-api.js:658
requestOtherUrl @ http-api.js:558
request @ http-api.js:443
authedRequest @ http-api.js:392
MatrixBaseApis.roomInitialSync @ base-apis.js:482
SyncApi.peek @ sync.js:239
MatrixClient.peekInRoom @ client.js:2103
_onHaveRoom @ RoomView.js:242
notifyAll @ CallbackQueue.js:76
close @ ReactUpdates.js:59
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
close @ ReactUpdates.js:47
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
closeAll @ Transaction.js:206
perform @ Transaction.js:153
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
enqueueUpdate @ ReactUpdates.js:200
enqueueUpdate @ ReactUpdateQueue.js:24
enqueueSetState @ ReactUpdateQueue.js:209
ReactComponent.setState @ ReactComponent.js:63
(anonymous) @ MatrixChat.js:656
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:857
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
Promise.then @ q.js:856
Promise.done @ q.js:1794
_viewRoom @ MatrixChat.js:637
onAction @ MatrixChat.js:426
_invokeCallback @ Dispatcher.js:198
dispatch @ Dispatcher.js:174
setTimeout (async)
dispatch @ dispatcher.js:39
onUserSettingsClose @ MatrixChat.js:1136
ReactErrorUtils.invokeGuardedCallback @ ReactErrorUtils.js:70
executeDispatch @ EventPluginUtils.js:85
executeDispatchesInOrder @ EventPluginUtils.js:108
executeDispatchesAndRelease @ EventPluginHub.js:43
executeDispatchesAndReleaseTopLevel @ EventPluginHub.js:54
forEachAccumulated @ forEachAccumulated.js:24
processEventQueue @ EventPluginHub.js:257
runEventQueueInBatch @ ReactEventEmitterMixin.js:17
handleTopLevel @ ReactEventEmitterMixin.js:28
handleTopLevelImpl @ ReactEventListener.js:72
perform @ Transaction.js:140
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
batchedUpdates @ ReactUpdates.js:97
dispatchEvent @ ReactEventListener.js:147
12:22:31.328 rageshake.js:65 Failed to get preview for http://openmarket.com M_UNKNOWN: Failed to download content: An error occurred while connecting: Refusing to spider blacklisted IP address 10.10.212.26.
consoleObj.(anonymous function) @ rageshake.js:65
(anonymous) @ LinkPreviewWidget.js:58
_rejected @ q.js:844
(anonymous) @ q.js:870
when @ q.js:1122
Promise.promise.promiseDispatch @ q.js:788
(anonymous) @ q.js:604
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick.runAfter @ q.js:244
trackRejection @ q.js:1057
reject @ q.js:1131
deferred.reject @ q.js:633
(anonymous) @ http-api.js:754
(anonymous) @ http-api.js:686
on_end @ index.js:294
on_state_change @ index.js:244
XMLHttpRequest.send (async)
run_xhr @ index.js:218
request @ index.js:179
_request @ http-api.js:658
requestOtherUrl @ http-api.js:558
request @ http-api.js:443
authedRequest @ http-api.js:392
authedRequestWithPrefix @ http-api.js:475
MatrixClient.getUrlPreview @ client.js:1307
LinkPreviewWidget_componentWillMount @ LinkPreviewWidget.js:49
(anonymous) @ ReactCompositeComponent.js:348
measureLifeCyclePerf @ ReactCompositeComponent.js:75
performInitialMount @ ReactCompositeComponent.js:347
mountComponent @ ReactCompositeComponent.js:258
mountComponent @ ReactReconciler.js:46
updateChildren @ ReactChildReconciler.js:121
_reconcilerUpdateChildren @ ReactMultiChild.js:208
_updateChildren @ ReactMultiChild.js:312
updateChildren @ ReactMultiChild.js:299
_updateDOMChildren @ ReactDOMComponent.js:930
updateComponent @ ReactDOMComponent.js:748
receiveComponent @ ReactDOMComponent.js:710
receiveComponent @ ReactReconciler.js:125
_updateRenderedComponent @ ReactCompositeComponent.js:754
_performComponentUpdate @ ReactCompositeComponent.js:724
updateComponent @ ReactCompositeComponent.js:645
performUpdateIfNecessary @ ReactCompositeComponent.js:561
performUpdateIfNecessary @ ReactReconciler.js:157
runBatchedUpdates @ ReactUpdates.js:150
perform @ Transaction.js:140
perform @ Transaction.js:140
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
close @ ReactUpdates.js:47
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
closeAll @ Transaction.js:206
perform @ Transaction.js:153
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
enqueueUpdate @ ReactUpdates.js:200
enqueueUpdate @ ReactUpdateQueue.js:24
enqueueSetState @ ReactUpdateQueue.js:209
ReactComponent.setState @ ReactComponent.js:63
(anonymous) @ TimelinePanel.js:342
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:604
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
(anonymous) @ q.js:603
(anonymous) @ q.js:263
become @ q.js:602
deferred.resolve @ q.js:618
(anonymous) @ http-api.js:762
(anonymous) @ http-api.js:686
on_end @ index.js:294
on_state_change @ index.js:244
XMLHttpRequest.send (async)
run_xhr @ index.js:218
request @ index.js:179
_request @ http-api.js:658
requestOtherUrl @ http-api.js:558
request @ http-api.js:443
authedRequest @ http-api.js:392
MatrixClient.paginateEventTimeline @ client.js:2035
TimelineWindow.paginate @ timeline-window.js:262
onMessageListFillRequest @ TimelinePanel.js:321
_maybeFill @ ScrollPanel.js:394
checkFillState @ ScrollPanel.js:326
ScrollPanel_componentDidMount @ ScrollPanel.js:160
(anonymous) @ ReactCompositeComponent.js:265
measureLifeCyclePerf @ ReactCompositeComponent.js:75
(anonymous) @ ReactCompositeComponent.js:264
notifyAll @ CallbackQueue.js:76
close @ ReactReconcileTransaction.js:80
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ Transaction.js:140
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
closeAll @ Transaction.js:206
perform @ Transaction.js:153
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
enqueueUpdate @ ReactUpdates.js:200
enqueueUpdate @ ReactUpdateQueue.js:24
enqueueSetState @ ReactUpdateQueue.js:209
ReactComponent.setState @ ReactComponent.js:63
MatrixClientPeg.get.peekInRoom.then._this2.setState.roomLoading @ RoomView.js:243
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:604
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
(anonymous) @ q.js:603
(anonymous) @ q.js:263
become @ q.js:602
deferred.resolve @ q.js:618
(anonymous) @ http-api.js:762
(anonymous) @ http-api.js:686
on_end @ index.js:294
on_state_change @ index.js:244
XMLHttpRequest.send (async)
run_xhr @ index.js:218
request @ index.js:179
_request @ http-api.js:658
requestOtherUrl @ http-api.js:558
request @ http-api.js:443
authedRequest @ http-api.js:392
MatrixBaseApis.roomInitialSync @ base-apis.js:482
SyncApi.peek @ sync.js:239
MatrixClient.peekInRoom @ client.js:2103
_onHaveRoom @ RoomView.js:242
notifyAll @ CallbackQueue.js:76
close @ ReactUpdates.js:59
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
close @ ReactUpdates.js:47
closeAll @ Transaction.js:206
perform @ Transaction.js:153
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
closeAll @ Transaction.js:206
perform @ Transaction.js:153
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
enqueueUpdate @ ReactUpdates.js:200
enqueueUpdate @ ReactUpdateQueue.js:24
enqueueSetState @ ReactUpdateQueue.js:209
ReactComponent.setState @ ReactComponent.js:63
(anonymous) @ MatrixChat.js:656
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:857
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
Promise.then @ q.js:856
Promise.done @ q.js:1794
_viewRoom @ MatrixChat.js:637
onAction @ MatrixChat.js:426
_invokeCallback @ Dispatcher.js:198
dispatch @ Dispatcher.js:174
setTimeout (async)
dispatch @ dispatcher.js:39
onUserSettingsClose @ MatrixChat.js:1136
ReactErrorUtils.invokeGuardedCallback @ ReactErrorUtils.js:70
executeDispatch @ EventPluginUtils.js:85
executeDispatchesInOrder @ EventPluginUtils.js:108
executeDispatchesAndRelease @ EventPluginHub.js:43
executeDispatchesAndReleaseTopLevel @ EventPluginHub.js:54
forEachAccumulated @ forEachAccumulated.js:24
processEventQueue @ EventPluginHub.js:257
runEventQueueInBatch @ ReactEventEmitterMixin.js:17
handleTopLevel @ ReactEventEmitterMixin.js:28
handleTopLevelImpl @ ReactEventListener.js:72
perform @ Transaction.js:140
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
batchedUpdates @ ReactUpdates.js:97
dispatchEvent @ ReactEventListener.js:147
12:22:31.794 rageshake.js:65 Starting load of AsyncWrapper for modal
12:22:31.795 rageshake.js:65 AsyncWrapper load completed with ChatInviteDialog
12:22:34.882 rageshake.js:65 Starting load of AsyncWrapper for modal
12:22:34.883 rageshake.js:65 AsyncWrapper load completed with SetDisplayNameDialog
12:22:35.872 event-timeline-set.js:456 EventTimelineSet.addLiveEvent: ignoring duplicate event $149631615565nCUYG:sierra
12:22:35.977 rageshake.js:65 Already have event $149631615565nCUYG:sierra in limited sync - not resetting
12:22:35.981 event-timeline-set.js:456 EventTimelineSet.addLiveEvent: ignoring duplicate event $149631615565nCUYG:sierra
12:22:38.492 rageshake.js:65 Warning: flattenChildren(...): Encountered two children with the same key, `1:$$149631615866cXBUG:sierra`. Child keys must be unique; when two children share a key, only the first child will be used.
    in ol (created by ScrollPanel)
    in div (created by ScrollPanel)
    in div (created by GeminiScrollbar)
    in div (created by GeminiScrollbar)
    in GeminiScrollbar (created by ScrollPanel)
    in ScrollPanel (created by MessagePanel)
    in MessagePanel (created by TimelinePanel)
    in TimelinePanel (created by RoomView)
    in div (created by RoomView)
    in RoomView (created by LoggedInView)
    in main (created by LoggedInView)
    in div (created by LoggedInView)
    in div (created by LoggedInView)
    in LoggedInView (created by MatrixChat)
    in MatrixChat
consoleObj.(anonymous function) @ rageshake.js:65
printWarning @ warning.js:36
warning @ warning.js:60
flattenSingleChildIntoContext @ flattenChildren.js:45
(anonymous) @ flattenChildren.js:67
traverseAllChildrenImpl @ traverseAllChildren.js:77
traverseAllChildrenImpl @ traverseAllChildren.js:93
traverseAllChildrenImpl @ traverseAllChildren.js:93
traverseAllChildren @ traverseAllChildren.js:172
flattenChildren @ flattenChildren.js:66
_reconcilerUpdateChildren @ ReactMultiChild.js:204
_updateChildren @ ReactMultiChild.js:312
updateChildren @ ReactMultiChild.js:299
_updateDOMChildren @ ReactDOMComponent.js:930
updateComponent @ ReactDOMComponent.js:748
receiveComponent @ ReactDOMComponent.js:710
receiveComponent @ ReactReconciler.js:125
updateChildren @ ReactChildReconciler.js:109
_reconcilerUpdateChildren @ ReactMultiChild.js:208
_updateChildren @ ReactMultiChild.js:312
updateChildren @ ReactMultiChild.js:299
_updateDOMChildren @ ReactDOMComponent.js:930
updateComponent @ ReactDOMComponent.js:748
receiveComponent @ ReactDOMComponent.js:710
receiveComponent @ ReactReconciler.js:125
updateChildren @ ReactChildReconciler.js:109
_reconcilerUpdateChildren @ ReactMultiChild.js:208
_updateChildren @ ReactMultiChild.js:312
updateChildren @ ReactMultiChild.js:299
_updateDOMChildren @ ReactDOMComponent.js:930
updateComponent @ ReactDOMComponent.js:748
receiveComponent @ ReactDOMComponent.js:710
receiveComponent @ ReactReconciler.js:125
updateChildren @ ReactChildReconciler.js:109
_reconcilerUpdateChildren @ ReactMultiChild.js:208
_updateChildren @ ReactMultiChild.js:312
updateChildren @ ReactMultiChild.js:299
_updateDOMChildren @ ReactDOMComponent.js:930
updateComponent @ ReactDOMComponent.js:748
receiveComponent @ ReactDOMComponent.js:710
receiveComponent @ ReactReconciler.js:125
_updateRenderedComponent @ ReactCompositeComponent.js:754
_performComponentUpdate @ ReactCompositeComponent.js:724
updateComponent @ ReactCompositeComponent.js:645
receiveComponent @ ReactCompositeComponent.js:547
receiveComponent @ ReactReconciler.js:125
_updateRenderedComponent @ ReactCompositeComponent.js:754
_performComponentUpdate @ ReactCompositeComponent.js:724
updateComponent @ ReactCompositeComponent.js:645
receiveComponent @ ReactCompositeComponent.js:547
receiveComponent @ ReactReconciler.js:125
_updateRenderedComponent @ ReactCompositeComponent.js:754
_performComponentUpdate @ ReactCompositeComponent.js:724
updateComponent @ ReactCompositeComponent.js:645
receiveComponent @ ReactCompositeComponent.js:547
receiveComponent @ ReactReconciler.js:125
_updateRenderedComponent @ ReactCompositeComponent.js:754
_performComponentUpdate @ ReactCompositeComponent.js:724
updateComponent @ ReactCompositeComponent.js:645
performUpdateIfNecessary @ ReactCompositeComponent.js:561
performUpdateIfNecessary @ ReactReconciler.js:157
runBatchedUpdates @ ReactUpdates.js:150
perform @ Transaction.js:140
perform @ Transaction.js:140
perform @ ReactUpdates.js:89
flushBatchedUpdates @ ReactUpdates.js:172
closeAll @ Transaction.js:206
perform @ Transaction.js:153
batchedUpdates @ ReactDefaultBatchingStrategy.js:62
enqueueUpdate @ ReactUpdates.js:200
enqueueUpdate @ ReactUpdateQueue.js:24
enqueueSetState @ ReactUpdateQueue.js:209
ReactComponent.setState @ ReactComponent.js:63
(anonymous) @ TimelinePanel.js:443
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:857
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
(anonymous) @ q.js:603
(anonymous) @ q.js:263
become @ q.js:602
deferred.resolve @ q.js:618
(anonymous) @ http-api.js:762
(anonymous) @ http-api.js:686
on_end @ index.js:294
on_state_change @ index.js:244
XMLHttpRequest.send (async)
run_xhr @ index.js:218
request @ index.js:179
_request @ http-api.js:658
requestOtherUrl @ http-api.js:558
request @ http-api.js:443
authedRequest @ http-api.js:392
(anonymous) @ sync.js:573
_fulfilled @ q.js:834
self.promiseDispatch.done @ q.js:863
Promise.promise.promiseDispatch @ q.js:796
(anonymous) @ q.js:857
runSingle @ q.js:137
flush @ q.js:125
onNextTick @ main.js:64
Item.run @ browser.js:133
drainQueue @ browser.js:103
setTimeout (async)
runTimeout @ browser.js:31
process.nextTick @ browser.js:123
exports.setImmediate @ main.js:57
nextTick @ q.js:180
(anonymous) @ q.js:603
(anonymous) @ q.js:263
become @ q.js:602
deferred.resolve @ q.js:618
_onWorkerMessage @ indexeddb-remote-backend.js:130
lampholder commented 7 years ago

This slipped through the cracks, sorry.