I ran into a strange problem that I don’t know how to fix.
We built a reporting service that is pretty slow because of the amount of data we store and the complexity of the query (takes ±10 seconds to return).
When the user asks for a report, we call the appropriate service method in a background task and when the service returns, we open a window in WindowManager.OpenType.DIALOG with the files where the user can download them as bulk or one by one.
Now, in the meantime, the user can do whatever he wants in the application (do not have to wait until the export is ready) - if he does an action that opens a new window in WindowManager.OpenType.NEW_TAB right before the service returns, instead of opening the new window as a NEW_TAB and the reporting window as DIALOG, they are both opened as DIALOGs.
What do you think?