Rhino/Orkestra deletes existing Libraries and User Objects

Hello, I’m been using Rhino 7 and Orkestra and I’ve found a very disruptive bug in which Orkestra deletes all existing grasshopper plugins contained in these locations:

…\AppData\Roaming\Grasshopper\Libraries
…\AppData\Roaming\Grasshopper\UserObjects

Here are some before/after screenshots of what the folders looked like; I confirmed this was Orkestra by watching each folder as Orkestra opened and watched the files be removed.

Here is the Orkestra folder:
ORKESTRA_LIBRARIES

I can only post one media file, please see my replys for the screenshots.

USER OBJECTS FOLDERS BEFORE

USER OBJECTS FOLDERS AFTER - these are all empty folders now

LADYBUG USER OBJECT FOLDERS BEFORE

LADYBUG USER OBJECT FOLDERS AFTER

LIBRARIES BEFORE

LIBRARIES WHILE ORKESTRA IS OPEN

LIBRARIES AFTER - the folders came back empty… weirdly Pufferfish came back from somewhere)

hey there @nlundberg !
Thank you for reporting this !

Here’s a little context on what Orkestra does with Rhino plugins:

  • When you login to Orkestra in Rhino and pick a plug in environmenet, Orkestra stores all the local libraries and user objects in a temporary location, for the duration of the session. This is meant to enable switching plugin environment without loosing what users have on their local setup.
  • When you close Rhino, Orkestra brings back your local settings (libraries and user objecs).

Normally, if you don’t login and pick an environment, Orkestra shouldn’t make any change.

The fact that some plugins aren’t brought back is something we’ve had reported once and I believe we were able to fix that. We have a pre-release of 1.9.0 due within a couple of weeks, it would be awesome if you could give it a shot and let us know how it goes. I’ll update this thread when that is out.

Hi Mostafa,

Thanks for the response, I’m glad to hear it may be fixed in the new update, I’ll get back to you in this thread if I have the same issue with the new release.

You are probably already aware of it but I thought it’s worth mentioning; Orkestra also has conflicts with plugins installed using the Rhino package manager. The package manager installs plugins in the AppData>Roaming>McNeel folder where as the above issue I mentioned is for plugins inside the AppData>Roaming>Grasshopper folder. This doesn’t cause any issues other than some pop-ups when you start grasshopper.

Hey there @nlundberg ! Would love to hear from you if you get to install 1.9.2 ! This should be much more robust now.

Hi again @nlundberg !
Just checking in on this issue.
Also, after takign a second look at your posts, it seems that you have some plugins that were installed in %AppData%\McNeel\Rhinoceros\packages .
My advice would be to remove them from that location so we can focus on only having the right environment in %AppData%\Grasshopper . That’s the locations that Orkestra Updates.

Hey Mostafa,

I’m actually still having the same issues using v2024.1.9.3

You are correct about the %AppData%\McNeel\Rhinoceros\packages location, I understand Orkestra can’t move these but this is where the Rhino Package Manager installs plugins. Some plugins (heron for example) only have the latest version available on the package manager but for now I will move the files into the normal location that Orkestra is expecting.

As for the main issue:

I see that Orkestra takes the files in the \AppData\Roaming\Grasshopper folder and moves them to AppData\Roaming\Orkestra\RhinoTempSettings BUT I can never get them to come back after I close all my sessions of Rhino; it seems like Orkestra is closing with Rhino and is incapable of running anything to put the files back to in original folder.

I also noticed that Orkestra deletes the UserObjects, it doesn’t even move them to the other location. I looked back through every folder in AppData\Roaming\Orkestra\RhinoTempSettings and not a single UserObjects folder contains anything.

This brings up another issue I didn’t realize Orkestra was doing; it’s copying all the plugins over to the RhinoTempSettings everytime Orkestra runs. I have over 80 folders in there with full sets of my plugin libraries. I can see this getting quite out of hand over time storage-wise. It even copies previous sets of libraries that were downloaded from Orkestra, as if Orkestra doesn’t know it downloaded them itself.

Hey there @nlundberg !
Thanks a lot for the in depth report and thoughts you shared

  • Regarding the libraries beign brought back : since 1.9.2, it started happening at rhino opening and not closing. We changed this because opening is a much more reliable event than closing (because of crashes, mcneel updates etc.) .we’ll have to see about it saving the Orkestra environments too though as it is specifically programmed not to. Let us verify what may be causing this.

  • your observation is absolutely correct about Orkestra saving all your local settings , but it won’t keep them forever. It acutally will only save up to 10 times, and then will update to the latest ten local backups. The reason we did this is to ensure that, should anything go wrong, you are always sure to be able to recover your custom plugins etc. We should maybe make the number of backups something that can be set so you can decide to have more or less backups though !

  • the user objetcs not being saved is weird . Let us check this and get back you.

update after a live troubleshooting session:

The error was caused due to an “in between” state where local settings backup was an empty folder. This empty backup caused all settings to be wiped out when opening Orkestra in Rhino. It is not 100% clear how this happened but it may have something to do with us switching from a reset of the local settings at Rhino startup vs at Rhino closing previously.

To fix this :

  • Close Rhino
  • Remove the empty local backup folder in AppData\Roaming\Orkestra\RhinoTempSettings
  • Bring back local plugins and user objects in %appdata%\Grasshopper

After this, Orkestra is able to backup local settings and switch to deployed environmenets again.

Thanks again for the super helpfull feedback @nlundberg !