nextgenhealthcare / connect

The swiss army knife of healthcare integration.
Other
915 stars 275 forks source link

[BUG] Mirth Connect Administrator list selection broken after macOS Sonoma upgrade. #5975

Open dpalcic opened 11 months ago

dpalcic commented 11 months ago

Selection of list items within Mirth Connect Administrator appears to be broken for me after upgrading a 2021 MacBook Pro (M1 Max) from macOS Ventura to Sonoma 14.1 (23B74). Mirth Connect Administrator launches as expected from the Launcher and initial selection of a channel within the Dashboard (via Magic Mouse or trackpad) also works as expected, meaning the list item is selected, highlighted, and relevant UI options are available such as right click menu and/or left sidebar menu options. Subsequent attempts to select channels within the Dashboard result in the previously selected list item remaining highlighted and the newly selected row not being highlighted. Moving the cursor around (without any buttons pressed) over the new selection target will eventually update the target row's highlight, however the relevant UI options aren't updated or usable.

I have tried Mirth Connect Administrator versions 4.1.1 and 4.4.1 without list selection success. I've used different versions of Java, specified within the Launcher also without list selection success. The Java versions tested were the bundled versions as well as custom specified versions:

Azul Systems, Inc. :

JetBrains s.r.o. :

I've viewed the Java Log while attempting to select list rows and noticed no exceptions thrown as a result of the first selection but all subsequent selections produce the following exception:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: column must be valid, was-1
    at org.jdesktop.swingx.JXTreeTable.isHierarchical(JXTreeTable.java:2022)
    at org.jdesktop.swingx.JXTreeTable.getEditingRow(JXTreeTable.java:1162)
    at java.desktop/javax.swing.JTable$AccessibleJTable.getAccessibleChild(Unknown Source)
    at java.desktop/javax.swing.JTable$AccessibleJTable.getAccessibleAt(Unknown Source)
    at java.desktop/javax.swing.JTable$AccessibleJTable.valueChanged(Unknown Source)
    at java.desktop/javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    at java.desktop/javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    at java.desktop/javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    at java.desktop/javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
    at java.desktop/javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
    at java.desktop/javax.swing.DefaultListSelectionModel.setSelectionInterval(Unknown Source)
    at java.desktop/javax.swing.JTable.changeSelectionModel(Unknown Source)
    at java.desktop/javax.swing.JTable.changeSelection(Unknown Source)
    at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.adjustSelection(Unknown Source)
    at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(Unknown Source)
    at java.desktop/java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
    at java.desktop/java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
    at java.desktop/java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
    at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
    at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
    at org.jdesktop.swingx.JXTreeTable.processMouseEvent(JXTreeTable.java:396)
    at java.desktop/java.awt.Component.processEvent(Unknown Source)
    at java.desktop/java.awt.Container.processEvent(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
pacmano1 commented 11 months ago

What version of the Mirth Admin Launcher are you using? I run an M2 and have no such problems. (I don't think M1 vs M2 is an issue here though).

dpalcic commented 11 months ago

What version of the Mirth Admin Launcher are you using? I run an M2 and have no such problems. (I don't think M1 vs M2 is an issue here though).

@pacmano1 I'm using Mirth Connect Administrator Launcher (1.4.1) Any thoughts or suggestions on what a good next step might be to troubleshoot further and get things operational again?

jonbartels commented 11 months ago

https://github.com/nextgenhealthcare/connect/issues/4333

dpalcic commented 10 months ago

I went through #4333 and unfortunately still had the problem. My solution for now is to run the Administrator on an Ubuntu container in Docker and VNC into the container with KasmVNC. Not ideal but it works.

yimengZJl commented 10 months ago

I had the same problem

pacmano1 commented 9 months ago

I retract my "it works form me" statement, it's a mess now on my m2 laptop.

jonbartels commented 9 months ago

@dpalcic I see you are running Zulu. Are you running Zulu with JavaFX ?

pacmano1 commented 4 weeks ago

You are commenting on an arm architecture thread.