Thanks for reaching out about this. What you are seeing is expected behavior, but can be confusing because different services have different capabilities that odrive can utilize.
There are a couple of methods that can be used to increase responsiveness, but I want to make sure I explain why things are the way they are, so you have a good understanding of the trade-offs:
Some services offer an API that can be used to ask for recent changes. When available, odrive will use this type of API to query for recent changes at frequent intervals, allowing odrive to see remote changes fairly quickly.
For services that do not offer an API for requesting changes (like Procore), or offer the API, but are very restrictive in how often it is used (like Sharepoint), odrive, instead, needs to periodically scan the storage service for changes. This can be very expensive since odrive needs to traverse each remote folder, look at the current contents, and then determine if anything has changed since the last time it looked. Doing this too often can drastically increase local overhead on the system as well as trigger the storage service to severely throttle API requests, or just start refusing requests, entirely.
By default odrive will perform a remote scan when it starts and then every 14 hours after that. As you have seen, local changes will trigger remote refreshes in those specific folders. odrive will also remotely refresh a folder when the user navigates into it via Explorer or Finder. A user can also trigger a remote refresh with a right-click->refresh. Because of these “on-demand” refreshes, the latency for picking up remote changes on the services that cannot be regularly queried for them is generally not too noticeable during everyday use. Since your use case is on a server, you are not likely to be interacting with the local system too much, like a typical end-user would, so the delay is more noticeable.
With that out of the way, here are the ways you can improve responsiveness:
- We have an advanced configuration option that will allow you to decrease the time between remote scan intervals. You can take a look at our documentation here for more information on that setting: https://docs.odrive.com/docs/advanced-client-options#remotescanintervalmins
- You can use the CLI to create a simple script to send manual refresh commands for the structure(s) you are interested in refreshing.
Method #1 is easy to do, but it can have consequences (as noted above) if you have very large structures that odrive will need to scan through, so you just need to take that into account.
Method #2 can be used with more precision and flexibility, so you can do things like only target certain sections of the data structure (to reduce overhead and load on the remote storage), or have certain sections refresh more quickly than others, or vary the frequency based on the time of day/week/month, etc…
Sorry for the wall of text here. Just let me know if you would like any more details on the above information, or if there is anything else I can help with.