Adobe-CEP / CEP-Resources

Tools and documentation for building Creative Cloud app extensions with CEP
https://www.adobe.io/apis/creativecloud/cep.html
1.6k stars 827 forks source link

ExtendScript call fails on Illustrator 25.3.1 beta (macOS) using CEP 11 #357

Closed zhangusc closed 2 years ago

zhangusc commented 3 years ago

Update to Illustrator Beta 25.3.1 on both Windows and macOS. Our extension works well on Windows but fails to launch on macOS (debug mode). Check out the CEP version of Illustrator and found out Illustrator Beta 25.3.1 (Windows) uses CEP 10.2 while Illustrator Beta 25.3.1 (macOS) uses CEP 11. @ErinFinnegan Is this something expected?

sujaisivanandan commented 3 years ago

Hi @zhangusc , CEP 11 is our the upcoming version where CEP extensions will have native Mac ARM support. This version is expected and soon windows also will be updated to CEP 11.

Can you provide the details of the extension that is failing? I can investigate this issue. Also can you elaborate what you mean by debug mode. If you are talking about playerdebugmode, please ensure that the plist is set to "11"

zhangusc commented 3 years ago

Hi @sujaisivanandan Thank you for the quick response. The original issue was found in debug mode. The released version of our app runs fine in non-debug mode. It is a little surprise to see a major CEP update on a minor/patch Adobe app (Illustrator) update, especially when the underlying chromium version of CEP 11 stays the same 74.0.3729.157 as CEP 10. Any announcement and documentation of CEP 11 that I can know more about it?

ErinFinnegan commented 3 years ago

According to the notes I've got... CEP 11.1 will have CEF 3 release branch - (88). The inclusion of CEP 11 in Illustrator beta (only for M1 macOS) is a bit of a surprise.

I haven't done a major announcement other than a brief mention in this blog post and in the developer newsletter. (Note that link will only work for a month or so, anyone hoping to subscribe, please subscribe here.)

More announcements will follow on the Adobe Tech Blog and in the Developer newsletter.

sujaisivanandan commented 3 years ago

CEP 11.0 is an interim build that helps Apps like Illustrator and Indesign to pre-release the Native ARM support on Apple M1 devices. This build still has CEPhtmlEngine running in emulation mode thought the App is running natively as an ARM application. As Erin mentioned, CEP 11.1 will have CEF upgraded to v88 and CEPHTMLEngine will also run as a native arm process. Do watch for the beta/pre-release builds of Illustrator and InDesign with CEP 11.1 and let us know your feedback.

zhangusc commented 3 years ago

@sujaisivanandan We also encountered an error on Illustrator 25.3.1 beta (macOS) reported here https://forums.adobeprerelease.com/illustratorpr/discussion/2850. Basically, the code new ExternalObject('lib:AdobeXMPScript') in jsx script fails. The same code runs fine in Illustrator 25.3.1 beta (Windows). Do you think it is related to this CEP 11 update?

zhangusc commented 3 years ago

@ErinFinnegan @sujaisivanandan Any ideas about the failure of new ExternalObject('lib:AdobeXMPScript') on Illustrator 25.3.1 Beta (macOS)? Is it an Illustrator issue or a CEP11 issue?

sujaisivanandan commented 3 years ago

Hi @zhangusc, Still investigating this, there has been changes on both Illustrator and CEP side. Will get back on this.

zhangusc commented 3 years ago

@sujaisivanandan @ErinFinnegan Thank you. It is a critical issue and a show stopper for ArcGIS Maps for Adobe Creative Cloud extension. Want to follow up with your folks to make sure it gets addressed before Illustrator 25.3 public release.

zhangusc commented 3 years ago

@ErinFinnegan @sujaisivanandan Do you have any updates to share on this issue?

sujaisivanandan commented 3 years ago

This is a regression and will be fixed before the 25.3 public release tracking ID : AI-4247491

zhangusc commented 3 years ago

@sujaisivanandan Glad to hear that. Many thanks!

sujaisivanandan commented 3 years ago

@zhangusc Illustrator pre-release 25.3.0 Build 4 , should have CEP 11.1 with CEF updated to v88 on mac. CEF on Windows will be updated in the next pre-release build. Please do try this build and provide feedback.

Note; the XMP issue is still open and not available in this build yet.

zhangusc commented 3 years ago

@sujaisivanandan I have seen this Alert when I launch our CEP extension in Illustrator (Windows). What does it mean? image

sujaisivanandan commented 3 years ago

You can ignore this assert. This will be removed in the final production build.

Hope you can try out your CEP extensions on this build!

zhangusc commented 3 years ago

@sujaisivanandan Our extension failed on the latest prerelease (macOS version). In debug console, I have seen multiple new "ingest" requests sent by CEP, and one of the "ingest" requests failed/stalled, which causes the problem. Any idea?

BTW, the Windows version seems working fine.

sujaisivanandan commented 3 years ago

@zhangusc the CEF version has been updated and there can be some in-compatibilty. Can you check the debug console for any errors?

Note on some of the known changes for Migration from CEP 10 to CEP 11 due to new CEF

  1. Update the Node Modules: CEP 11 works with NodeJS 15.9.0 and Node-WebKit 0.50.1 versions. If extensions were build on older version of NodeJS there can be cases where these extensions may not load in CEP 11 due to incompatible node modules. In such cases, the node modules need to be updated using NodeJS version 15.9.0 or higher.

  2. Content-Security-Policy Changes: With CEP 11.1 that integrates CEF #88, content-security-policy checks have been enforced strictly. Extensions that embed third-party sites may not be able to do so anymore if the site that is being embedded has a content-security-policy directive that doesn't allow sites to frame them.

  3. Cookies: With #CEF v88 version, we have seen that when no SameSite attribute is set in a cookie, it defaults to SameSite=Lax. This will cause the cookie to be blocked in cross-site contexts. If your application needs cookies to be used in a cross-site context, we suggest you set SameSite=None.If component is not sending SameSite attribute in the cookie it would default to SameSite=Lax for preventing to set the cookie in cross-site context.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite

  1. CORS checks: With CEP 11, with security updates, we are seeing that a lot more requests are being blocked by CORS checks. The extension may encounter this if it is trying to access an endpoint that does not have the Access-Control-Allow-Origin header. Please ensure that the endpoints that are being accessed have Access-Control-Allow-Origin headers set appropriately.

Also, is your plugin available on Adobe Exchange where I can install and check? Else you can DM me/ @ErinFinnegan the plugin so that I can investigate.

zhangusc commented 3 years ago

@sujaisivanandan @ErinFinnegan Apparently, the Content-Security-Policy and CORS changes have significant impacts on our extension. At the first glance, I see our users' login experience to the extension is broken on Illustrator 25.3 prerelease. Moving from CEP 10 to 11 with the CEF upgrade from v74 to v88 is a big jump. I wonder if the CEP 11 is going to be released as a minor release on the top of Illustrator 25.x (2021) or it is something planned for this year's Adobe Max release Illustrator 26 (2022)?

@sujaisivanandan Our extension is not available on Adobe Exchange, you can download it from our product page https://www.esri.com/en-us/arcgis/products/maps-for-adobecc/overview. Please try it out and let me know what you think. Thx

sujaisivanandan commented 3 years ago

Illustrator 25.3 and Indesign 16.3 are releasing with CEP 11 soon, since this release is mainly targeting native apple silicon support. Update CEF to 88 is needed for this arm support. Other apps will follow to integrate CEP subsequently by MAX.

I'll take a look at your plugin but the changes for Content-Security-Policy and CORS changes on Extension side would be needed.

sujaisivanandan commented 3 years ago

Hi @zhangusc I am able to load the extension and see only some syntax errors. Screenshot 2021-05-26 at 3 35 40 PM.

Am trying this on the latest Illustrator builds.

What issue are you facing?

zhangusc commented 3 years ago

Hi @sujaisivanandan Thanks a lot for looking into it. The issue occurs on users' sign-in experience. Click "ArcGIS Online" on the screenshot and you will receive an oAuth sign-in page. Could you please send a msg to me at xzhang@esri.com? I will send you a login credential for testing.

int255 commented 3 years ago

We have similar issue after installer AI Prerelease 25.3/CEF 11, CORS policy blocked javascript API call from outer frame to inner frame (different domain).

@Adobe Please consider to keep CORS policy same as CEF 10 or earlier, since this will break existing CEP extension applications that already took advantage of old (weak) CORS policy. Bottom line, please at least make CORS policy configurable in the CSXS manefest.xml, so that the extension can choose.

sujaisivanandan commented 3 years ago

@int255 these are security features and CEF/Chromium has been making this more strict compared to earlier versions. It will be difficult to make this configurable in the manifest since CEF does not provide these are configurable options.

I do understand that this breaks your plugin and leads to additional work to update, however do note that this helps with the improved security for the user.

sujaisivanandan commented 3 years ago

@zhangusc can you check if the details mentioned in https://github.com/Adobe-CEP/CEP-Resources/issues/364 would help in your case?

zhangusc commented 3 years ago

This is a regression and will be fixed before the 25.3 public release tracking ID : AI-4247491

@ErinFinnegan @sujaisivanandan Could you please check the status of AI-4247491? The failure of new ExternalObject('lib:AdobeXMPScript') was not reproducible in Illustrator 25.3.1 (macOS). but now resurfaces on the latest Illustrator 25.4.1(macOS). I also tried the code in Illustrator 26 (Beta). fails there too. This is a showstopper for our extension to run on the latest Illustrator. Any solution/workaround is appreciated.

ErinFinnegan commented 3 years ago

The new ticket number is: AI-4251096, and it's listed as "Critical" and "To Fix".

zhangusc commented 3 years ago

@ErinFinnegan Are you able to share any detail why it was fixed in 25.3.1 but resurfaced in the latest version?

ErinFinnegan commented 3 years ago

Sorry, @zhangusc, I don't have that kind of insight into the Illustrator engineering team. You might have some luck asking in this thread in the Prerelease, mentioning AI-4251096.

danh525 commented 2 years ago

Any update on when this will be addressed? I have customers in production that can't upgrade because of this bug!

sujaisivanandan commented 2 years ago

The issue has been fixed and you should see this in the next Illustrator pre-release(v26.0).

ErinFinnegan commented 2 years ago

Hi @zhangusc ! 26 is posted in the prerelease today if you want to take a look...

danh525 commented 2 years ago

The link in the prerelease forum doesn't provide a download link; can you provide a link to actually download the software?

On Mon, Sep 20, 2021 at 12:45 PM Erin F. @.***> wrote:

Hi @zhangusc https://github.com/zhangusc ! 26 is posted in the prerelease today if you want to take a look...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Adobe-CEP/CEP-Resources/issues/357#issuecomment-923141474, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVUZIOUB22JPA4BQBR72IK3UC5XL3ANCNFSM42NVH64Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

ErinFinnegan commented 2 years ago

I think so... this is the Mac download (login required).

Or, you can go to the downloads section here.

I'd also recommend looking for it in the Creative Cloud Desktop app, if you use it:

Screen Shot 2021-09-20 at 2 08 05 PM
danh525 commented 2 years ago

The "mac download" has SDK in the file name - is it Illustrator or just the SDK? I need Illustrator.

The "downloads section here" doesn't contain a download link; has a link to instructions which takes you to a forum but no download.

My CC Desktop app doesn't include beta versions; how do I get those to show up?

Why is this so hard?

On Mon, Sep 20, 2021 at 1:09 PM Erin F. @.***> wrote:

I think so... this is the Mac download https://download.adobeprerelease.com/85A6F544-2705-49BD-8314-DD549C6A1713/1632147315/AI_2022_SDK_Mac.dmg?programID=85A6F544-2705-49BD-8314-DD549C6A1713&assetID=14C46C34-49D3-4823-FF91-5E2457723014&_=1632161126460 (login required).

Or, you can go to the downloads section here https://www.adobeprerelease.com/beta/85A6F544-2705-49BD-8314-DD549C6A1713#tab_downloads .

I'd also recommend looking for it in the Creative Cloud Desktop app, if you use it:

[image: Screen Shot 2021-09-20 at 2 08 05 PM] https://user-images.githubusercontent.com/2728504/134052470-d914a485-156a-4582-a07c-96014d02ee4d.png

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Adobe-CEP/CEP-Resources/issues/357#issuecomment-923159141, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVUZIOU6EAVXDMJEN3HRLE3UC52FXANCNFSM42NVH64Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

ErinFinnegan commented 2 years ago

My CC Desktop app doesn't include beta versions; how do I get those to show up?

Hopefully you can go the the CC Desktop app and go to Help -> Check for Updates, and update to version 5.5.0.619.

Why is this so hard?

I'll certainly send a note along to the Illustrator Product Managers, because this is harder than usual.

The short answer is that many Creative Cloud product teams (e.g., Illustrator) are migrating away from using adobeprerelease.com and moving towards distribution via the Creative Cloud Desktop app instead. Illustrator seems to be only partway through the process, making things more complicated.

danh525 commented 2 years ago

OK, I finally got the prerelease/beta version installed and this did NOT address our issue. Can you verify that Version 26.0 667 is the version you think the fix is in? If so, back to the drawing board....

On Mon, Sep 20, 2021 at 12:45 PM Erin F. @.***> wrote:

Hi @zhangusc https://github.com/zhangusc ! 26 is posted in the prerelease today if you want to take a look...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Adobe-CEP/CEP-Resources/issues/357#issuecomment-923141474, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVUZIOUB22JPA4BQBR72IK3UC5XL3ANCNFSM42NVH64Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

sujaisivanandan commented 2 years ago

@danh525 @ErinFinnegan @zhangusc the fix is available in Creative Cloud - pre-release section(not the Beta Section). The new pre-release was posted yesterday.

The build with fix is available in Pre-release 26.0.0 Build number 689

@ErinFinnegan can you help with the links for getting onto pre-release.

ErinFinnegan commented 2 years ago

Hi @danh525, sorry about the mixed messages. This is not a good experience, and I'm reporting the pain points to the Product Manager.

The "Beta" and "Prerelease" builds of Illustrator are both number 26, but the Beta build does not contain the bug fix.

The Prerelease build has no direct link. It is available in the Creative Cloud Desktop app if you're in the prerelease group:

Screen Shot 2021-09-21 at 10 07 20 AM

I think you are in the Illustrator Prerelease. If you don't see the build there, try signing out of the Creative Cloud Desktop all (Help menu --> Sign Out) and signing in again.

Make sure that the AdobeID you're using for the adobeprerelease.com group is the same Adobe ID you're using to sign in to the desktop app. The Illustrator prerelease group is auto-approved, so if you need to join the prerelease with a different AdobeID you can.

danh525 commented 2 years ago

Erin,

On initial testing it appears that the fix does work! Will continue to test; any idea when this will be promoted to production?

Thanks!

Dan

On Tue, Sep 21, 2021 at 9:13 AM Erin F. @.***> wrote:

Hi @danh525 https://github.com/danh525, sorry about the mixed messages. This is not a good experience, and I'm reporting the pain points to the Product Manager.

The "Beta" and "Prerelease" builds of Illustrator are both number 26, but the Beta build does not contain the bug fix.

The Prerelease build has no direct link. It is available in the Creative Cloud Desktop app if you're in the prerelease group:

[image: Screen Shot 2021-09-21 at 10 07 20 AM] https://user-images.githubusercontent.com/2728504/134186081-7bb07a54-2982-4616-97e9-fb1af5f5b242.png

I think you are in the Illustrator Prerelease. If you don't see the build there, try signing out of the Creative Cloud Desktop all (Help menu --> Sign Out) and signing in again.

Make sure that the AdobeID you're using for the adobeprerelease.com group is the same Adobe ID you're using to sign in to the desktop app. The Illustrator prerelease group is auto-approved, so if you need to join the prerelease with a different AdobeID you can.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Adobe-CEP/CEP-Resources/issues/357#issuecomment-924030683, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVUZIOX4F3KQGOLDB2UUAJTUDCHI3ANCNFSM42NVH64Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

ErinFinnegan commented 2 years ago

Hi @danh525 ,

I'm glad to hear that it worked! 😅 A lot of people are waiting on this one. In fact, if you happen to have a lot of users waiting for this, or are at a large Enterprise depending on this fix, it would be helpful to note the estimated impact to the product team.

This build is scheduled for the Adobe MAX timeframe, around October 26-28th. Builds typically roll out to users over a few days across different regions.

danh525 commented 2 years ago

Hurley is waiting on updating to Big Sur and to CC2021; they are still on Catalina and CC2020, their motivation is Apple support so Max timeframe should be good. I can advise our other customers so they don't update too soon.

On Tue, Sep 21, 2021 at 9:47 AM Erin F. @.***> wrote:

Hi @danh525 https://github.com/danh525 ,

I'm glad to hear that it worked! 😅 A lot of people are waiting on this one. In fact, if you happen to have a lot of users waiting for this, or are at a large Enterprise depending on this fix, it would be helpful to note the estimated impact to the product team.

This build is scheduled for the Adobe MAX timeframe, around October 26-28th. Builds typically roll out to users over a few days across different regions.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Adobe-CEP/CEP-Resources/issues/357#issuecomment-924061754, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVUZIOVEZ2D6ZQ6BJC6UEQLUDCLIBANCNFSM42NVH64Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

sujaisivanandan commented 2 years ago

Closing this issue since the fix is available now in Illustrator 26.0(pre-released and to be released at MAX 2021 in Oct).

zhangusc commented 2 years ago

@sujaisivanandan Any plan to backport the fix to Illustrator 25 or 24, whichever Adobe sets as the long-term support version?

sujaisivanandan commented 2 years ago

I have not heard any plans on this. Will check with Illustrator team and get back.

zhangusc commented 2 years ago

@sujaisivanandan Any news from the Illustrator team? We like to know what's Adobe's plan on this issue as we can reproduce the issue on the long-term support version 25.4.2