Plugin actions input too large, should be less than 6MB

Hi folks,

It seems there’s a 6MB limit for text/strings in plugins? For context, I wrote a workflow that takes BetterUploader’s raw data (the raw data for a file is in a text DATA URI base64), and encrypts this data (it takes an input text and returns encrypted text).

I have tried various encryption plugins and even a custom Server Script. Each time I select a file >6MB, it throws an error that says “plugin actions input too large, should be less than 6MB”.

Is there a limit to how large a text can be? I know there’s a character limit of 10 million characters, but I’m not positive if this is related. Are there any workarounds I could use? I need to select a file on BetterUploader (which supports >50MB) and encrypt the raw data. The raw data text will be >6MB.

Right now the workflow is:

When BetterUploader has a File → Encrypt on BetterUploader’s Raw Data) → Error

I suppose, you’re talking about server actions and backend workflows. 6 Mb is AWS lambda constraint, there is no simple way to get over it. Additionally, AWS lambda instances that bubble uses to run server actions are limited to 128 MB of RAM, you won’t be able to process 50Mb file in this setup.
I think you need to setup third party service like Xano, AWS EC2 or even custom AWS Lambda with increased memory limit. Particular implementation depends on your specific case.

Hi, thanks for your reply. While we do have a server for custom APIs we’ve implemented using API connector, this encryption needs to happen client-side and on the user’s device. Is there an alternative way to process or run plugin actions on >6mb text that can be done only in the browser?

Well, if you encrypt on client side there shouldn’t be any limits imposed. Are you sure you’re executing encryption on client side? And why are you talking about server script?

Can you show this workflow? Is it a backend workflow? If yes, it runs on server side. You need to convert it into custom event on a page.

Sorry - I might have some confusion on which workflows happen client or server side. I’ve attached a screenshot of the workflow below. It’s the purple workflow titled ‘When BetterUploader has a file’ under ‘Workflow’ tab.

This uses the MVP Data Encryption plugin from the plugin store. I have tried to use different encryption plugins as well as a custom script for encryption, but the debugger stops at Step 1 each time, saying the plugin action input too large. Step 1 is simply encrypt the text "BetterUploader’s raw data’.

This works fine for files under 6mb. The idea is to encrypt the raw data in Step 1 to build client-side encryption for the app. The key is just for testing purposes. In this workflow (which I have been assuming is happen client-side), the plugin input won’t accept a text string that is >6mb. I’ve manually converted a 10mb file into base64 and pasted it in Step 1, and it’s the same result. Something doesn’t like >6mb input text.

MVP Data Encryption plugin encrypts server-side, you need find a different one.

For some reason bubble doesn’t allow client side actions to return a value. All client side plugins that process some data are always implemented in a form of utility element transparent on a page so user don’t see it, but have fields that accept some values and states that expose results. Search for a plugin that has such an element.

Thanks for your help. For those running into the same issue, most of the encryption plugins are server side. There’s a few that are client side but you can’t insert a dynamic key. To solve this, I created a script using the “Run Javascript” toolbox plugin. I passed the input string to this Javascript code and it’s working as expected.

Thanks again for your help.