syd711 / vpin-studio

Competition, table, and player management for VPins.
MIT License
28 stars 2 forks source link

3.4.1 macOS -- drop in assets does not see new files #432

Closed gorgatron1 closed 1 week ago

gorgatron1 commented 1 week ago

Describe the bug macOS: drop in assets does not see new files -- I imported a table and then downloaded a new table I want to update but I don't see it in the drop in assets drop down

To Reproduce

  1. set up drop in assets folder
  2. download a new file into the assets directory
  3. look at the drop in assets drop down
image

notice there is a new file here:

image

I see logs talking about monitoring that directory:

01-09 20:21:57.272 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - File detected: '/Users/dkoski/Downloads/pinball/.DS_Store'
01-09 20:21:57.273 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - Noticed drop-in folder update.
01-09 20:21:57.309 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - File detected: '/Users/dkoski/Downloads/pinball/Senna Prototype Edition (Culik Pinball 2020)) directb2s + extras'
01-09 20:21:57.310 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - File locked: '/Users/dkoski/Downloads/pinball/Senna Prototype Edition (Culik Pinball 2020)) directb2s + extras'
01-09 20:22:00.314 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - File locked: '/Users/dkoski/Downloads/pinball/Senna Prototype Edition (Culik Pinball 2020)) directb2s + extras'
01-09 20:22:03.319 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - File locked: '/Users/dkoski/Downloads/pinball/Senna Prototype Edition (Culik Pinball 2020)) directb2s + extras'
01-09 20:22:06.323 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - File locked: '/Users/dkoski/Downloads/pinball/Senna Prototype Edition (Culik Pinball 2020)) directb2s + extras'

but no mention of "Bud"

Restarting the client did pick it up. I tried with another file and caught this:

01-09 20:35:39.231 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - File detected: '/Users/dkoski/Downloads/pinball/Sonic The Hedgehog (Brendan Bailey 2005) VPX_(MOD)1.33.zip'
01-09 20:35:39.235 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - Noticed drop-in folder update.
Exception in thread "Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"" java.lang.IllegalStateException: Not on FX application thread; currentThread = Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"
    at javafx.graphics/com.sun.javafx.tk.Toolkit.checkFxUserThread(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(Unknown Source)
    at javafx.graphics/javafx.scene.Parent$3.onProposedChange(Unknown Source)
    at javafx.base/com.sun.javafx.collections.VetoableListDecorator.clear(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.disposeVisualItems(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.updateVisualItems(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.updateItems(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.lambda$new$7(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.fireChange(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.commit(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.endChange(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.endChange(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ObservableListWrapper.removeAll(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.MenuButtonSkinBase.lambda$new$2(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.fireChange(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.commit(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.endChange(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.endChange(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ObservableListWrapper.clear(Unknown Source)
    at de.mephisto.vpin.ui.dropins.DropInManager.reload(DropInManager.java:74)
    at de.mephisto.vpin.ui.dropins.DropInManager.notifyDropInUpdates(DropInManager.java:149)
    at de.mephisto.vpin.ui.dropins.DropInMonitoringThread.notifyUpdates(DropInMonitoringThread.java:130)
    at de.mephisto.vpin.ui.dropins.DropInMonitoringThread.lambda$startMonitor$0(DropInMonitoringThread.java:66)
    at java.base/java.lang.Thread.run(Unknown Source)
Exception in thread "Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"" java.lang.IllegalStateException: Not on FX application thread; currentThread = Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"
    at javafx.graphics/com.sun.javafx.tk.Toolkit.checkFxUserThread(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(Unknown Source)
    at javafx.graphics/javafx.scene.Parent$3.onProposedChange(Unknown Source)
    at javafx.base/com.sun.javafx.collections.VetoableListDecorator.clear(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.disposeVisualItems(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.updateVisualItems(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.updateItems(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.lambda$new$7(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.fireChange(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.commit(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.endChange(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.endChange(Unknown Source)
    at javafx.base/javafx.collections.ModifiableObservableListBase.addAll(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.MenuButtonSkinBase.lambda$new$2(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.fireChange(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.commit(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.endChange(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.endChange(Unknown Source)
    at javafx.base/javafx.collections.ModifiableObservableListBase.add(Unknown Source)
    at java.base/java.util.AbstractList.add(Unknown Source)
    at de.mephisto.vpin.ui.dropins.DropInManager.reload(DropInManager.java:88)
    at de.mephisto.vpin.ui.dropins.DropInManager.notifyDropInUpdates(DropInManager.java:149)
    at de.mephisto.vpin.ui.dropins.DropInMonitoringThread.notifyUpdates(DropInMonitoringThread.java:130)
    at de.mephisto.vpin.ui.dropins.DropInMonitoringThread.lambda$startMonitor$0(DropInMonitoringThread.java:66)
    at java.base/java.lang.Thread.run(Unknown Source)

Expected behavior

Adding new files to the directory would have them show up (in short order) when the drop in assets dropdown is used.

Screenshots See above

Desktop (please complete the following information):

gorgatron1 commented 1 week ago

I added a couple more files to the directory and saw similar exceptions:

01-09 20:38:19.229 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - File detected: '/Users/dkoski/Downloads/pinball/The Flintstones (Williams 1994) v1.25.8(Mod).zip'
01-09 20:38:19.231 INFO  [Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"] d.m.v.u.d.DropInMonitoringThread - Noticed drop-in folder update.
Exception in thread "Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"" java.lang.IllegalStateException: Not on FX application thread; currentThread = Drop-In Monitoring Thread for "/Users/dkoski/Downloads/pinball"
    at javafx.graphics/com.sun.javafx.tk.Toolkit.checkFxUserThread(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(Unknown Source)
    at javafx.graphics/javafx.scene.Parent$3.onProposedChange(Unknown Source)
    at javafx.base/com.sun.javafx.collections.VetoableListDecorator.clear(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.disposeVisualItems(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.updateVisualItems(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.updateItems(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent.lambda$new$7(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.fireChange(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.commit(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.endChange(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.endChange(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ObservableListWrapper.removeAll(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.MenuButtonSkinBase.lambda$new$2(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.fireChange(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.commit(Unknown Source)
    at javafx.base/javafx.collections.ListChangeBuilder.endChange(Unknown Source)
    at javafx.base/javafx.collections.ObservableListBase.endChange(Unknown Source)
    at javafx.base/com.sun.javafx.collections.ObservableListWrapper.clear(Unknown Source)
    at de.mephisto.vpin.ui.dropins.DropInManager.reload(DropInManager.java:74)
    at de.mephisto.vpin.ui.dropins.DropInManager.notifyDropInUpdates(DropInManager.java:149)
    at de.mephisto.vpin.ui.dropins.DropInMonitoringThread.notifyUpdates(DropInMonitoringThread.java:130)
    at de.mephisto.vpin.ui.dropins.DropInMonitoringThread.lambda$startMonitor$0(DropInMonitoringThread.java:66)
    at java.base/java.lang.Thread.run(Unknown Source)

and then eventually everything did show up -- I am not sure if adding the new files triggered it or what. It seemed that when I ran it originally I waited many minutes and did not see the new files.

Ltek commented 1 week ago

@syd711 likely related to #1 in this multi-bug report.. https://github.com/syd711/vpin-studio/issues/424

syd711 commented 1 week ago

Fixed with 3.5.0