-
Notifications
You must be signed in to change notification settings - Fork 23
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
Endless switching of trace viewer tabs and selected traces after trace server start #238
Labels
bug
Something isn't working
Comments
I think maybe I have stumbled on an even simpler way to reproduce this issue. I will confirm and if so, capture a video. |
bhufmann
added a commit
to bhufmann/vscode-trace-extension
that referenced
this issue
Jun 10, 2024
This happens when opening multiple traces and manually switching newly opened panels. - The main fix is to avoid calling panel.reveal() when the trace-viewer-webview-panel is processing the EXPERIMENT_SELECTED signal. This call is not only unecessary but will also interfere with ongoing propagation of TRACEVIEWERTAB_ACTIVATED and EXPERIMENT_SELECTED signals. - Only call setExepriment() on the panel instance if it was created new, hence it was reopened, and don't call on the panel if the panel is already open. For that a new public static method getExistingPanel was added to the TraceViewerPanel class. - Only call fireExperimentSelectedSignal() right after calling fireTraceViewerTabActivatedSignal() if the open-traces webview is not visible. If this webview is visible, then the webview component ReactOpenTracesWidget will send it to update the available-views view. This is now done in a central place where the TraceExplorerOpenedTracesViewProvider handles the TRACEVIEWERTAB_ACTIVATED signal. This avoids unnecessary sending and processing of the EXPERIMENT_SELECTED signal. Fixes eclipse-cdt-cloud#238 Signed-off-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
bhufmann
added a commit
to bhufmann/vscode-trace-extension
that referenced
this issue
Jun 10, 2024
This happens when opening multiple traces and manually switching newly opened panels. - The main fix is to avoid calling panel.reveal() when the trace-viewer-webview-panel is processing the EXPERIMENT_SELECTED signal. This call is not only unecessary but will also interfere with ongoing propagation of TRACEVIEWERTAB_ACTIVATED and EXPERIMENT_SELECTED signals. - Only call setExepriment() on the panel instance if it was created new, hence it was reopened, and don't call on the panel if the panel is already open. For that a new public static method getExistingPanel was added to the TraceViewerPanel class. - Only call fireExperimentSelectedSignal() right after calling fireTraceViewerTabActivatedSignal() if the open-traces webview is not visible. If this webview is visible, then the webview component ReactOpenTracesWidget will send it to update the available-views view. This is now done in a central place where the TraceExplorerOpenedTracesViewProvider handles the TRACEVIEWERTAB_ACTIVATED signal. This avoids unnecessary sending and processing of the EXPERIMENT_SELECTED signal. Fixes eclipse-cdt-cloud#238 Signed-off-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
bhufmann
added a commit
that referenced
this issue
Jun 10, 2024
This happens when opening multiple traces and manually switching newly opened panels. - The main fix is to avoid calling panel.reveal() when the trace-viewer-webview-panel is processing the EXPERIMENT_SELECTED signal. This call is not only unecessary but will also interfere with ongoing propagation of TRACEVIEWERTAB_ACTIVATED and EXPERIMENT_SELECTED signals. - Only call setExepriment() on the panel instance if it was created new, hence it was reopened, and don't call on the panel if the panel is already open. For that a new public static method getExistingPanel was added to the TraceViewerPanel class. - Only call fireExperimentSelectedSignal() right after calling fireTraceViewerTabActivatedSignal() if the open-traces webview is not visible. If this webview is visible, then the webview component ReactOpenTracesWidget will send it to update the available-views view. This is now done in a central place where the TraceExplorerOpenedTracesViewProvider handles the TRACEVIEWERTAB_ACTIVATED signal. This avoids unnecessary sending and processing of the EXPERIMENT_SELECTED signal. Fixes #238 Signed-off-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Having multiple traces open, then stop and start trace server, plus selecting tabs and traces after the trace server is finished starting, the view gets into the state that the tabs seems to be selected continuously. This can only be stopped by closing all traces but one. After that the available views are still updated for a while.
It's looks like that there are signals sent internally in the trace viewer and they never stop being sent.
The text was updated successfully, but these errors were encountered: