SchweizerischeBundesbahnen / scion-workbench

SCION Workbench enables the creation of Angular web applications that require a flexible layout to arrange content side-by-side or stacked, all personalizable by the user via drag & drop.
Eclipse Public License 2.0
80 stars 10 forks source link

Workbench freezes when a lot of Tabs are opened/closed in sequence #322

Open davemeier82 opened 2 years ago

davemeier82 commented 2 years ago

Describe the bug

When you open and close several workbench tabs in sequence, workbench freezes: Not possible to close or switch tab. Some other buttons are not working. See recording (SBB internal only) https://sbb-my.sharepoint.com/:v:/g/personal/david_meier_sbb_ch/EZBtq3qSpxVNiK9ZzoITVy4BCUEO5abGAXmDv9E335fdkA

To Reproduce

loop:

  1. open some tabs
  2. close some tabs suddenly nothing works anymore. The console showed the following errors. But it is unclear if they are related:

main.8a7cf8ed4a659f329034.js:1 ERROR Error: Uncaught (in promise): Error: [PartsLayoutError] No part found in the layout containing the view 'view.2'. Error: [PartsLayoutError] No part found in the layout containing the view 'view.2'. at de._findPartByViewId (main.8a7cf8ed4a659f329034.js:1:618820) at de._removeView (main.8a7cf8ed4a659f329034.js:1:616849) at de.removeView (main.8a7cf8ed4a659f329034.js:1:613610) at main.8a7cf8ed4a659f329034.js:1:625343 at m. (main.8a7cf8ed4a659f329034.js:1:622742) at Generator.next () at main.8a7cf8ed4a659f329034.js:1:1414152 at new t (polyfills.6212a913a465052eb860.js:1:17790) at x (main.8a7cf8ed4a659f329034.js:1:1413848) at J._work (main.8a7cf8ed4a659f329034.js:1:622629) at V (polyfills.6212a913a465052eb860.js:1:15908) at V (polyfills.6212a913a465052eb860.js:1:15444) at polyfills.6212a913a465052eb860.js:1:16755 at T.invokeTask (polyfills.6212a913a465052eb860.js:1:7150) at Object.onInvokeTask (main.8a7cf8ed4a659f329034.js:1:240108) at T.invokeTask (polyfills.6212a913a465052eb860.js:1:7071) at L.runTask (polyfills.6212a913a465052eb860.js:1:2545) at M (polyfills.6212a913a465052eb860.js:1:9148) at m.invokeTask [as invoke] (polyfills.6212a913a465052eb860.js:1:8231) at Z (polyfills.6212a913a465052eb860.js:1:20146)

main.8a7cf8ed4a659f329034.js:1 ERROR TypeError: Cannot read properties of null (reading 'viewId') at main.8a7cf8ed4a659f329034.js:1:700257 at Array.find () at Kl.find (main.8a7cf8ed4a659f329034.js:1:231025) at m.onViewDragStart (main.8a7cf8ed4a659f329034.js:1:700224) at main.8a7cf8ed4a659f329034.js:1:703377 at C_ (main.8a7cf8ed4a659f329034.js:1:195361) at c (main.8a7cf8ed4a659f329034.js:1:195522) at HTMLElement. (main.8a7cf8ed4a659f329034.js:1:362200) at T.invokeTask (polyfills.6212a913a465052eb860.js:1:7150) at Object.onInvokeTask (main.8a7cf8ed4a659f329034.js:1:240108)

Expected behavior

Workbench should not freeze

Screenshots

image

Environment

Please complete the following information:

danielwiehl commented 2 years ago

Thank you, @davemeier82 , for reporting this error. We will try to reproduce the described behavior and fix the problem.