Custom Functions Not Saving Between Sessions/Users
This issue is unique.
- [X] I have used the search tool and did not find an issue describing my bug.
Operating System of DocumentServer
Docker
Version information
8.1.1
Expected Behavior
When creating custom functions, I expect them to be saved and apply to other sessions as well
Actual Behavior
Saving custom functions does not apply them to other sessions. Saving macros are immediately usable in other sessions, but functions are not. If I create a custom function and save, then open the same file in another browser the custom functions I just added will not be present.
However, if I reopen the file in the same browser, same user, the custom functions will be there. Just not for different users or browsers.
Reproduction Steps
- Create a custom function
- Open an incognito tab
- Open the file to edit
- Notice the custom function is not present in the other session
Additional information
I'm opening the files via Filerun. However every other part of collaboration and file saving works as intended: data, formulas, macros, chat, etc. It is only custom functions that are not being saved.
Was testing some more and realized that custom functions are also getting shared between files when in the same session/browser.
I created a new document and it had all the functions available that I had created in the other file. No macros are shared between sessions (good and expected), and the functions become unavailable once I login and edit in an incognito tab.
Hello! @xCJPECKOVERx, I can confirm - this is bug, issue #69690. Thanks for your report!
8.2.0 is out and this has not been fixed. Has there been any progress on this? It makes custom functions virtually unusable.
Hello! @xCJPECKOVERx Here's the updated information for now, and you’re right—the issue hasn’t been resolved yet. Specific timelines aren’t available at the moment, but you can always reach out to [email protected] for more details.
Hi Vladimir, I spoke to sales and as I expected: They're not the ones that handles fixing bugs/issues. That's you. If you were trying to not-so-subtlely tell me to buy a license before expecting feature-breaking bugs to be fixed: I won't be doing that until this is resolved. The bug makes custom functions unusable and, unfortunately, custom functions are a major feature that would need before fully transitioning to OnlyOffice. It's unfortunate that releasing a new feature as non-functional is getting such a lack of attention.
Hello @xCJPECKOVERx, thank you for your interest to our products. We consider custom functions as an important feature, but please note that as of now the functions are stored in local storage of the browser and that is why this is not actually a bug. The new implementation of the feature is required in this case, so that the functions are stored on the server side, and it will take time and resources. We will do our best to implement it at the highest possibility. Please accept my apologies for any inconvenience caused.
If this is a critical for you to use custom functions, as a workaround you can use API via plugin that will call upon Document Builder on the background to create a custom function. Please find the method here https://api.onlyoffice.com/docs/office-api/usage-api/spreadsheet-api/api/addcustomfunction/. Here https://legacy-api.onlyoffice.com/officeapi/spreadsheetapi/api/addcustomfunction you can find the example script for the Document Builder.
Thanks for your response Alex. Yeah I can see how it's technically working as intended. However with losing all functions when switching browsers, or because site data needs to be cleared, makes using functions risky/pointless as they could be lost at any time.
Thanks for the tips on making a plugin to create the functions in the meantime, I'll definitely look into that.
@alexonlyoffice thanks again for your tip on using AddCustomFunction in a plugin. Moving all the functions into a Macro, along with AddCustomFunctionLibrary allows me to fill out the missing functions on new browsers easily, while also keeping them around in local storage. This is an adequate fix to bridge the gap until custom functions are stored server-side in a similar way to Macros.