Skip to content
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

Library downloadfolder not updated when files moved #162

Open
JamesOlvertone opened this issue Jul 1, 2022 · 13 comments
Open

Library downloadfolder not updated when files moved #162

JamesOlvertone opened this issue Jul 1, 2022 · 13 comments

Comments

@JamesOlvertone
Copy link

Activate "share downloaded files" then the downloadfolder appears in Library in the file tree.
Now move some downloaded files from the download folder anywhere else.
Bug: The download folder in the tree is not updated, the moved files are still listed until you restart muwire.

Version: 0.8.13b4

@zlatinb
Copy link
Owner

zlatinb commented Jul 1, 2022

The downloads folder would be updated only if the entire downloads folder is shared and monitored. Right-click on the folder and select "configure" then make sure monitoring by the OS is enabled (unless the folder is on a network drive).

If you cannot right-click means the folder isn't shared and only individual files in it are shared.

@JamesOlvertone
Copy link
Author

It has no "configure" option. The folder itself is greyed out. Even new subfolders in it are greyed out. The files in the subfolders are not greyed.

@zlatinb
Copy link
Owner

zlatinb commented Jul 1, 2022

Correct, by default the downloads folder is not monitored for changes. There are several reasons for that, some of which are less relevant given recent changes. So if you want to enable monitoring of that folder you need to explicitly share it via the "Share" button or via drag-and-drop.

@JamesOlvertone
Copy link
Author

JamesOlvertone commented Jul 1, 2022

..yes I found that later by myself. Thank you.

@JamesOlvertone
Copy link
Author

JamesOlvertone commented Jul 1, 2022

...and still does not work. I tried the update intervall and this does also not work. moved files are still show. Selecting this files and right click unshare does not work they are still listed in the library tree.
Other folders outside of the download folder work as expected.

update: Restarted muwire and disable the the option for sharing files in download folder and the share it manually. Now it works.
move in and out several times many files, file tree is updated.

@zlatinb
Copy link
Owner

zlatinb commented Jul 1, 2022

Is the downloads folder on a network drive? If yes then monitoring with the OS will not work and you need to set manual monitoring. Other than that there is nothing special about that folder; it is treated the same as all other folders.

Can you enable logging with these two lines in logging.properties:

com.muwire.core.files.level=FINE
com.muwire.core.files.directories.level=FINE

Then try moving a file out of that folder and watch for a log entry like

<timestamp> FINE <other stuff> deleted entry <file> => <file>

Or any other log entries that appear around the time you move the file.

@zlatinb
Copy link
Owner

zlatinb commented Jul 1, 2022

Also, does this happen only with files you have downloaded or with all shared files in the downloads folder?

@JamesOlvertone
Copy link
Author

No network drive, it only happens in the downloadfolder. Other folders are updated always when files changed in this folders
Now I triy the log settings above and play around with the settings.

I will report later what happens....

@JamesOlvertone
Copy link
Author

It still works. Enabled the option in cofigure-settings too, unshared the folder reshare, moved files. Works as expected.

cat MuWire.log|grep 'FINE'
gives entries to the files I moved.
"doInvoke submitting update..."
"doInvoke updating index add true string downloads/...."
etc

I remember in earlier version I or another person had this problem too, but on any folder, and also happens not all the time.

This bug (if it is one) seem to happens not any time. Maybe there were updates in other folders an the auto hashing was running while channging at the same time files in the download folder.

I do some further test on this maybe I can track it down and reproduce it for 100% and respond maybe tomorrow.

@zlatinb
Copy link
Owner

zlatinb commented Jul 1, 2022

I see another roblem with this - if the downloads folder is monitored by the OS then the downloaded fi-le will apear twice. That will be difficult to fix and is one of the reasons that folder is not watched by default.

@JamesOlvertone
Copy link
Author

Seems that this bug appears only when a file is moved there by muwire when a download is complete.
after a download completes I get this log entry:

2022-07-02 09:50:05.904 SEVERE java_util_logging_Logger$log$6 call exception dispatching event 
java.lang.NullPointerException: Cannot get property 'file' on null object
	at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
	at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:194)
	at org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:329)
	at com.muwire.core.files.FileManager$_onSearchEvent_closure14.doCall(FileManager.groovy:375)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:38)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
	at org.codehaus.groovy.runtime.callsite.BooleanReturningMethodInvoker.invoke(BooleanReturningMethodInvoker.java:49)
	at org.codehaus.groovy.runtime.callsite.BooleanClosureWrapper.call(BooleanClosureWrapper.java:52)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.retainAll(DefaultGroovyMethods.java:5111)
	at org.codehaus.groovy.runtime.dgm$631.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:247)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
	at com.muwire.core.files.FileManager.onSearchEvent(FileManager.groovy:375)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1268)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:1029)
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:1012)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:180)
	at com.muwire.core.EventBus.publishInternal(EventBus.groovy:38)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
	at com.muwire.core.EventBus$_publish_closure2.doCall(EventBus.groovy:24)
	at com.muwire.core.EventBus$_publish_closure2.doCall(EventBus.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
	at groovy.lang.Closure.call(Closure.java:412)
	at groovy.lang.Closure.call(Closure.java:406)
	at groovy.lang.Closure.run(Closure.java:493)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
 
2022-07-02 09:50:13.538 SEVERE java_util_logging_Logger$log$6 call exception dispatching event 
java.lang.NullPointerException: Cannot get property 'file' on null object
	at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
	at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:194)
	at org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:329)
	at com.muwire.core.files.FileManager$_onSearchEvent_closure14.doCall(FileManager.groovy:375)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:38)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
	at org.codehaus.groovy.runtime.callsite.BooleanReturningMethodInvoker.invoke(BooleanReturningMethodInvoker.java:49)
	at org.codehaus.groovy.runtime.callsite.BooleanClosureWrapper.call(BooleanClosureWrapper.java:52)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.retainAll(DefaultGroovyMethods.java:5111)
	at org.codehaus.groovy.runtime.dgm$631.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:247)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
	at com.muwire.core.files.FileManager.onSearchEvent(FileManager.groovy:375)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1268)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:1029)
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:1012)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:180)
	at com.muwire.core.EventBus.publishInternal(EventBus.groovy:38)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
	at com.muwire.core.EventBus$_publish_closure2.doCall(EventBus.groovy:24)
	at com.muwire.core.EventBus$_publish_closure2.doCall(EventBus.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
	at groovy.lang.Closure.call(Closure.java:412)
	at groovy.lang.Closure.call(Closure.java:406)
	at groovy.lang.Closure.run(Closure.java:493)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
 
2022-07-02 09:50:49.718 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke created entry /foo/downloads/a_new_downloaded_file.extension  
2022-07-02 09:50:49.726 INFO java_util_logging_Logger$info$0 call Adding shared file /foo/downloads/a_new_downloaded_file.extension  
2022-07-02 09:50:49.727 INFO java_util_logging_Logger$info$0 call adding new root  
2022-07-02 09:50:49.728 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke submitting update to index add true string a_new_downloaded_file.extension  
2022-07-02 09:50:49.728 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke updating index add true string a_new_downloaded_file.extension  
2022-07-02 09:50:49.728 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke will index path downloads/a_new_downloaded_file.extension  
2022-07-02 09:50:49.728 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke submitting update to index add true string downloads/a_new_downloaded_file.extension  
2022-07-02 09:50:49.728 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke updating index add true string downloads/a_new_downloaded_file.extension  
2022-07-02 09:50:49.738 FINE java_util_logging_Logger$fine$4 call Time(ms) to write json: 6  
2022-07-02 09:50:54.267 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke publishing file /foo/downloads/a_new_downloaded_file.extension  
2022-07-02 09:50:54.269 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke will hash /foo/downloads/a_new_downloaded_file.extension => /foo/downloads/a_new_downloaded_file.extension force true  
2022-07-02 09:50:54.270 INFO java_util_logging_Logger$info$0 call Adding shared file /foo/downloads/a_new_downloaded_file.extension  
2022-07-02 09:50:54.271 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke submitting update to index add true string a_new_downloaded_file.extension  
2022-07-02 09:50:54.271 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke updating index add true string a_new_downloaded_file.extension  
2022-07-02 09:50:54.271 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke will index path downloads/a_new_downloaded_file.extension  
2022-07-02 09:50:54.271 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke submitting update to index add true string downloads/a_new_downloaded_file.extension  
2022-07-02 09:50:54.272 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke updating index add true string downloads/a_new_downloaded_file.extension  
2022-07-02 09:50:54.272 FINE org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite doInvoke PFS: for /foo/downloads/a_new_downloaded_file.extension found root foobase64bar=/downloads  
2022-07-02 09:50:54.273 FINE java_util_logging_Logger$fine$4 call Time(ms) to write json: 1  
2022-07-02 09:51:16.107 SEVERE java_util_logging_Logger$log$6 call exception dispatching event 
java.lang.NullPointerException: Cannot get property 'file' on null object
	at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
	at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:194)
	at org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:329)
	at com.muwire.core.files.FileManager$_onSearchEvent_closure14.doCall(FileManager.groovy:375)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:38)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
	at org.codehaus.groovy.runtime.callsite.BooleanReturningMethodInvoker.invoke(BooleanReturningMethodInvoker.java:49)
	at org.codehaus.groovy.runtime.callsite.BooleanClosureWrapper.call(BooleanClosureWrapper.java:52)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.retainAll(DefaultGroovyMethods.java:5111)
	at org.codehaus.groovy.runtime.dgm$631.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:247)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
	at com.muwire.core.files.FileManager.onSearchEvent(FileManager.groovy:375)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1268)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:1029)
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:1012)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:180)
	at com.muwire.core.EventBus.publishInternal(EventBus.groovy:38)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
	at com.muwire.core.EventBus$_publish_closure2.doCall(EventBus.groovy:24)
	at com.muwire.core.EventBus$_publish_closure2.doCall(EventBus.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
	at groovy.lang.Closure.call(Closure.java:412)
	at groovy.lang.Closure.call(Closure.java:406)
	at groovy.lang.Closure.run(Closure.java:493)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)

After this I have in the library file tree two entries in "downloads" for "a_new_downloaded_file.extension". When I move this file to another unshared folder, one entry disappears in the library, with one zombie entry that stays forever until I restart.

@JamesOlvertone
Copy link
Author

If I disable "share dowloaded files" this "bug" does not appear.
Seems to be a race condition of the two file watchers.

So its more a misconfiguration when this happens.

@zlatinb
Copy link
Owner

zlatinb commented Jul 2, 2022

This looks very wrong and I will try to look deeper into it. It's too soon to say if the exception is the cause or the symptom of the file being shared twice.

At the moment I'm leaning towards the easiest solution which is to forbid sharing of the downloads and incomplete folders. Maybe there are better approaches but my finger needs to heal first :(

Let's leave this issue open for the time being...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants