question

mcollinge avatar image
2 Votes"
mcollinge asked MikeUrnun answered

Logic Apps - base64 function not shown in designer in subsequent edits

I'm using the base64 function within a Logic App like this;

7909-base64a.png

Which is correctly shown in the code view like this;

7910-base64b.png

However, if I come back to the Logic App and edit it later, the designer view shows this;

8021-base64c.png

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.

azure-logic-apps
base64a.png (7.5 KiB)
base64b.png (13.2 KiB)
base64c.png (7.6 KiB)
· 2
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

@mcollinge Were your changes saved in Code View before switching to the Designer view?

0 Votes 0 ·

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.

0 Votes 0 ·
MikeUrnun avatar image
0 Votes"
MikeUrnun answered MikeUrnun converted comment to answer

Hi @mcollinge - 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.

· 7
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

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?

2 Votes 2 ·

Yes, that'd be great, @mcollinge !

0 Votes 0 ·

Here you go @MikeUrnun .. hopefully this works:

https://www.youtube.com/watch?v=U6_qeSryNLE

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.

1 Vote 1 ·
Show more comments

Hi @MikeUrnun Did the video help? Is this something the team are looking to fix?


1 Vote 1 ·
Show more comments
MikeUrnun avatar image
1 Vote"
MikeUrnun answered

Hey @Bryan-9479 @mcollinge - 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://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#base64-encoding-and-decoding

5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Hatch-4378 avatar image
0 Votes"
Hatch-4378 answered

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.

5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.