SalesforceLabs / OrgCheck

Org Check is an easy-to-install and easy-to-use Salesforce application in order to quickly analyze your org and its technical debt.
MIT License
130 stars 28 forks source link

Clicking on Visual Components tab leads to error -- DAPI Issue #369

Open adione opened 7 months ago

adione commented 7 months ago

Describe the bug Clicking on Visual Components tab leads to error

To Reproduce Open the "Org Check" click on "Visual Components" tab, --> the error is thrown.

Additional details Running user has custom Admin profile

Salesforce Information Salesforce API Version: 60 Installed on OrgId: 00D3E000000D160 Type of this org: Sandbox Current running UserId: 0057Y000007i5d0QAA Current Daily Api Requests: {"apiUsage":{"used":4135,"limit":5000000}}

Navigation Information Page: /apex/OrgCheck_VisualComponents_VFP

System Information Language: it-IT

Issue #0: UNKNOWN_EXCEPTION When: While creating a promise to call a SOQL query. What: index: 27 queryMore: false queryString: SELECT MetadataComponentId, MetadataComponentName, MetadataComponentType, RefMetadataComponentId, RefMetadataComponentName, RefMetadataComponentType FROM MetadataComponentDependency WHERE (RefMetadataComponentId IN ('066200000005LFb','066200000005LFa','066200000005L74','066200000005L73','066200000005L72','066200000005Kwc','066200000005KwD','066200000005I9i','066200000005I9e','066200000005I9d','066200000005I9c','066200000005I9b','066200000005I9a','066200000005I9Z','066200000005I9Y','066200000005I9X','066200000005I9W','066200000005I9V','066200000005I9U','066200000005I9T','066200000005Hyk','066200000005Hgj','066200000005GnY','066200000005GnX','066200000005D92','066200000005CzC','066200000005CqE','066200000005C21','066200000005C20','066200000005Btw','066200000005BQ7','066200000005BQ6','066200000005BQ5','066200000005BQ4','0667Y000002IwsO','0667Y000002IwmV','0667Y000002IvEX','0667Y000002IuYW','0667Y000002Ekx1','0667Y000002Ekwr','0667Y000002Ekh8','0667Y000002EkIc','0667Y000002EjHJ','0667Y000002EdCi','0667Y000002EdBQ','0667Y000002Axvy','0667Y000002Axnk','0667Y000002AvHm','0667Y000002AuqW','0667Y000002Au27') OR MetadataComponentId IN ('066200000005LFb','066200000005LFa','066200000005L74','066200000005L73','066200000005L72','066200000005Kwc','066200000005KwD','066200000005I9i','066200000005I9e','066200000005I9d','066200000005I9c','066200000005I9b','066200000005I9a','066200000005I9Z','066200000005I9Y','066200000005I9X','066200000005I9W','066200000005I9V','066200000005I9U','066200000005I9T','066200000005Hyk','066200000005Hgj','066200000005GnY','066200000005GnX','066200000005D92','066200000005CzC','066200000005CqE','066200000005C21','066200000005C20','066200000005Btw','066200000005BQ7','066200000005BQ6','066200000005BQ5','066200000005BQ4','0667Y000002IwsO','0667Y000002IwmV','0667Y000002IvEX','0667Y000002IuYW','0667Y000002Ekx1','0667Y000002Ekwr','0667Y000002Ekh8','0667Y000002EkIc','0667Y000002EjHJ','0667Y000002EdCi','0667Y000002EdBQ','0667Y000002Axvy','0667Y000002Axnk','0667Y000002AvHm','0667Y000002AuqW','0667Y000002Au27')) queryUseTooling: true Stack: UNKNOWN_EXCEPTION: An unexpected error occurred. Please include this ErrorId if you contact support: 1855318986-280704 (-1990645300) at r.getError (/resource/1711362539000/orgcheckOrgCheck_SR/js/jsforce.js:1:72641) at /resource/1711362539000/orgcheck__OrgCheck_SR/js/jsforce.js:1:71009 at /resource/1711362539000/orgcheckOrgCheck_SR/js/jsforce.js:1:229493 at /resource/1711362539000/orgcheck__OrgCheck_SR/js/jsforce.js:1:229521 at MutationObserver.o (/resource/1711362539000/orgcheck__OrgCheck_SR/js/jsforce.js:1:104504)

VinceFINET commented 7 months ago

Hello

I asked the PM of the Dependency API about your issue.

He asked me you to raise a case with the salesforce support so that we create internally an investigation.

This error might be from different reasons internally.

As the dependency api is still in beta there are some expected errors that OrgCheck handle globally ibstead of individually (you see all these id in the query i ask the dependencies in one query for as much component i can to make it fast!!!)

On my side what i can do is to query yje dep api one by one in a tooling composite query. So that if one query fails it does not block the others.

Also i will work on showing this error on the table instead of stoping the app.

Thank you for this ticket!!

VinceFINET commented 7 months ago

I did the modification of the code (in the Beryllium version, not yet in AppExchange) so that each id dependency is called from a different composite api call.

Could you send me in private the number of your salesforce support case, I could follow up with the PM. Thanks.

adione commented 7 months ago

Hi Vince, I logged this case: 46663251 (https://help.salesforce.com/s/case-view?caseId=500Hx00000SV7czIAD)

VinceFINET commented 6 months ago

did you get any feedback from Support about your case?

adione commented 6 months ago

Hi Vince, This is waht they answered:

_This is a follow up request. Hope you've got chance to check on our previous comment. Just to re-iterate it. As part of further analysis with the internal R&D team, the Page access is fine here, as are all dependencies that we can see.

What's odd is a generic query fails:

SELECT MetadataComponentId, MetadataComponentName, MetadataComponentType, RefMetadataComponentId, RefMetadataComponentName, RefMetadataComponentType FROM MetadataComponentDependency WHERE MetadataComponentId IN ('066200000005I9U')

but if we do something like below, it should be working.

SELECT MetadataComponentId, MetadataComponentName, MetadataComponentType, RefMetadataComponentId, RefMetadataComponentName, RefMetadataComponentType FROM MetadataComponentDependency WHERE MetadataComponentId IN ('066200000005I9U') AND RefMetadataComponentType NOT IN ('ApexPage')

We would like to suggest you to give this above query and let us know if you're having any issues further._

Actually, the second query - the one they suggested - is working fine while the first one is throwing error. Hope this help.

VinceFINET commented 5 months ago

ok so in the first place with this query we want to get the dependencies for a set of visualforce pages.

why would you have to add a filter the query to specify that you don't want to get the VF pages that reference (RefMetadataComponentType NOT IN ('ApexPage') ) your VF page (MetadataComponentId = '066200000005I9U')

is that even possible?

also do we need to add this filter about VF Pages on all type of component we search the dependency around? like custiom field, etc...

adione commented 5 months ago

@VinceFINET I don't want to be the man-in-the-middle in these communications, if the matter is within Salesforce can't you just communicate directly? Passing the messages is taking long round-trip time and prone to errors...

VinceFINET commented 5 months ago

Correct. I will check internally!

Le ven. 17 mai 2024 à 15:12, Alessio @.***> a écrit :

@VinceFINET https://github.com/VinceFINET I don't want to be the man-in-the-middle in these communications, if the matter is within Salesforce can't you just communicate directly? Passing the messages is taking long round-trip time and prone to errors...

— Reply to this email directly, view it on GitHub https://github.com/SalesforceLabs/OrgCheck/issues/369#issuecomment-2117576026, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA47R25DDVPDOJQ752UR5S3ZCX65BAVCNFSM6AAAAABFG4MM46VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJXGU3TMMBSGY . You are receiving this because you were mentioned.Message ID: @.***>

VinceFINET commented 4 months ago

the team answered me that you org had a metadata that was not set correctly or that had an error. after removing this particular metadata your find no issue.

that being said, that error "UNKNOWN_EXCEPTION" is a little tricky. it blocks all the page. and if i BY PASS this error, you will miss dependency information for many items (not only the one that has an issue.

that is a limitation of the DAPI that is still in BETA.... I will need more tme to figure out what to do.... :D