So - I've been working with both Google AI, and Copilot to figure out just where the reported `131,072` character limit for the `concat()`, `base64()`, and `string()` functions actually come into play. I have successfully nested several replace() functions inside of a Compose action, which replaced a string: `'@string(variables(''fullBatchGetIDResponsesAsString''))'` with the actual variable. The variable itself had `992,583` characters in it (yep - measured it via Notepad++).
The whole reason I'm even trying to figure this out is because I've been working on refactoring a flow to move all the variables into a single `Flow State` object variable with mutable properties so I can process all the different things that were taking up far too many actions for a single variable at once. . . . Then I learned today that there's this number. Copilot not ONCE mentioned it as a potential issue, then I brought in Google's AI to help me understand something else around the logic of manipulating some of the data stream, and it flipped out about this `131,072` character limit, and I've now spent the better half of the last 3 hours freaking out and trying to understand exactly what this applies to. If this will not work, I've just lost 5 weeks of work for nothing.
Has anyone ever gotten to the bottom of this? The git pages show the last time this was updated on the blame table as over 3 years ago, and it's conflating at best. The way the git page reads, it says:
| Expression evaluation limit | 131,072 characters | The `@concat()`, `@base64()`, and `@string()` expressions can't be longer than this limit. |
This says to me that the actual expression, as written in the editor window cannot be longer than this, but that conflates with the `8,192` expression limit that I've definitely hit before.
If the `131,072` character limit is really the longest the data inside the expression can be - then I have empirical evidence that shows this is not the case.
Any insights around this would really help.