Hey @Bryan @Matt C - I'm sorry for not updating this post. To close the loop on the matter and for everyone hitting this issue and landing here, it turned out to be an expected behavior by design that is documented here in the Note block: https://learn.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#base64-encoding-and-decoding
Logic Apps - base64 function not shown in designer in subsequent edits
I'm using the base64 function within a Logic App like this;
Which is correctly shown in the code view like this;
However, if I come back to the Logic App and edit it later, the designer view shows this;
The code view correctly shows base64 is still there, but if you edit that action block, it is removed. It's all too easy for you to inadvertently break the Logic App with a future edit.
Yes, I only switched to the Code View to show you what the code behind the scenes looked like. I wasn't making modifications via the Code View. Purely working in the designer.. if you make any edits to the block that contains the Base64 function, it'll end up breaking it.
Sign in to comment
Sort by: Most helpful
Hi @Matt C - Thank you for raising this issue. I'm able to reproduce the issue in the Designer View, but for me, it persists the use of expressions under the covers in the Code View on all subsequent changes and saves between Designer and Code views. Nonetheless, I agree that this inconsistent UX in the Designer View is error-prone so I've created a work item to address this issue internally.
Interesting you don't see the problem where it loses the base64decode function in subsequent edits of the action block that contains the expression (purely in the Designer). It's happened to one of my team today, so it's not just how I'm using it. I can do a video of this if that helps?
Here you go @MikeUrnun .. hopefully this works:
I suspect it affects more than just the base64 set of functions.. I've seen it with base64, and base64ToString so far. When another member of my team experienced it today & was left scratching his head, I came back to check on the progress of this bug report.
This also happens if you simply click into the field, don't make a change to it, then do something else in the Logic App! So you can inadvertently break a Logic App without even knowing & it's hard to spot where the function was removed from.
The key to reproducing this is to refresh the page between edits of the Logic App.. simulating if you were coming back to it a few days later.
Hi @MikeUrnun Did the video help? Is this something the team are looking to fix?
I am experiencing the same problem with the use of
base64(.... Every time I edit my Logic App, I have to re-add the
base64()expression around it. Anyone else maintaining the Logic App would not know about this and break the Logic App. This is a serious problem.
Hi @MikeUrnun this still seems to be an issue.. one of my team wasted a bunch of time on it today & didn't know the base64 function had been stripped out of a Logic App he was looking at.
Any progress to report?
Sign in to comment
I am also getting this issue and would be interested to hear if there is any update - unfortunately the Base64 function was stripped out and invalid data was written to a large number of files.
So, "Azure Logic Apps automatically or implicitly performs base64 encoding or decoding, so you don't have to manually perform these conversions by using the corresponding functions..." does not work all the time - the degree of frustration is ... well, very high.
What I found is that ALA strips off base64 / decodebase64 when these functions are the outtest in the expression. If you wrap your expression with, for example, concat(), ALA will not remove it.
Yes, it adds some overhead that might be considerable within "For each" actions, but it's better than getting frustrated more and more with how inconsistent Microsoft is.