Bug: Floated out Desktop Integration API plugin window hidden after Trados restart

Hello,

I encountered the following behavior of Trados (2021 and 2022 too) when using the Juremy.com plugin (https://appstore.rws.com/plugin/189/):\

This plugin creates a new panel within the Translate view, that (using standard Trados means) can be floated out to be a separate window. If Trados is closed when in translation view and the plugin window is floated out, then after next Trados startup and opening the project for translation, the floated out window is hidden.

I verified with Spy++ that the window exists, but its top-level is not set as visible. There's a remedy, which is to close the translation project, open it again, and on second open the floated-out window is now visible.

I also tried to float out a build-in panel (for example, Translation results), close Trados, restart and reopen the project - it eventually shows, so this might be some difference with how plugin panels/windows are handled?

Note: while opening the translation project for the first time after the Trados restart, both the plugin and built-in floated windows give some hint of existence by producing a brief gray flash with where they would be, then disappear. But the built-in one, as mentioned, reappears later on its own, while the plugin one needs the translation project reopen.

Let me attach specific reproduction steps, also screenshots of Spy++ window information capture:

- Start Trados (say 2022)
- Open project for translation.
- Float the Juremy view out.
- Close whole Trados with X button (don't close project first).
- Start Trados, open project for translation.
- Now you could see the floated window to blink in gray, but disappears (this seems to be normal behavior, as built-in floated window flashes similarly)
- Bug: the floated Juremy window doesn't appear (but Spy++ reveals it is present but not visible)
- Now just Close the project, then reopen it.
- Now the floated plugin window should show.

(Note: The currently published Juremy.com plugin 202x.1.0.1 doesn't yet have a workaround for a WebView2 bug, meaning even if the window really shows after project reopen, the browser part would stay gray. But that is a separate issue that is already fixed with yet-to-be-published version. The current report is about the top-level plugin window not showing at all.)

Spy++ note:

- Start/Installing: can start it from Visual Studio's Tools menu. If missing, need to install "C++ core tools" from Individual Components using the VS Installer.
- Finding the hidden window: from its processes list, find an MSEDGEWEBVIEW2 process, expand its threads, should find a Juremy Chrome window. Note the window handle
- Using the find window tool, search for that handle (might need to remove other filters), or identify by looking at the window tree.
- Inspect properties of the window - when hidden vs shown, the difference seems to be a missing WS_VISIBLE attribute.
Screenshot of Spy++ showing a list of windows with a highlighted window labeled 'Owner'. An arrow points to a 'Window Properties' dialog box indicating the window style without the WS_VISIBLE attribute, marked by a red cross and 'No WS_VISIBLE'.


I wonder if Trados could be changed to make the floated plugin window visible too?
Not sure if this is specific to the Juremy plugin's UserControl, but as far I tell we don't configure the UserControl in any special way.
Any help appreciated!

Thank you,
Robin



Generated Image Alt-Text
[edited by: RWS Community AI at 9:31 AM (GMT 0) on 14 Nov 2024]
emoji