Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nebula Logger: Illegal assignment from List<Schema.PicklistEntry> to List<PicklistEntry> #272

Closed
aranwe opened this issue Jan 18, 2022 · 4 comments · Fixed by #274
Closed
Labels
Type: Bug Something isn't working

Comments

@aranwe
Copy link

aranwe commented Jan 18, 2022

Hi,

when trying to install Nebula Logger I get the following error:

1.  Illegal assignment from List<Schema.PicklistEntry> to List<PicklistEntry>
LogHandler: Illegal assignment from List<Schema.PicklistEntry> to List<PicklistEntry>

2.  Method does not exist or incorrect signature: void getValue() from the type PicklistEntry
LogHandler: Method does not exist or incorrect signature: void getValue() from the type PicklistEntry

3.  Method does not exist or incorrect signature: void getValue() from the type PicklistEntry
LogHandler: Method does not exist or incorrect signature: void getValue() from the type PicklistEntry

4.  Dependent class is invalid and needs recompilation:
 Class LogHandler : Illegal assignment from List<Schema.PicklistEntry> to List<PicklistEntry>
LogHandler_Tests: Dependent class is invalid and needs recompilation:
 Class LogHandler : Illegal assignment from List<Schema.PicklistEntry> to List<PicklistEntry>

5.  Invalid type: LogHandler
Log: Invalid type: LogHandler

6. (LoggerLogManagement) No classes found for LogHandler_Tests.
LoggerLogManagement: No classes found for LogHandler_Tests.

I have actually noticed that Salesforce has recently changed the return type of getPicklistValues() and started to throw type mismatch on Schema vs global PicklistEntry.

I can make PR if needed :)

Thank you!

@jongpie
Copy link
Owner

jongpie commented Jan 18, 2022

Hey @aranwe, thanks for reporting this! Do you know which release your org is currently using? I'm not able to reproduce this error, so I'm wondering if it's possibly related to the new Spring '22 release (assuming that's the version your org is using).

@jongpie jongpie added the Type: Bug Something isn't working label Jan 18, 2022
@aranwe
Copy link
Author

aranwe commented Jan 18, 2022 via email

@jongpie
Copy link
Owner

jongpie commented Jan 18, 2022

Sounds good, thanks for confirming! I haven't done much testing in a Spring '22 org yet, but I'll see if I can create one & test this issue. It should be a fairly small code change, but I'd like to be able to reproduce the issue before making any code changes. I'll keep you updated on the status, but I have several other bugfixes in-progress, so I'll probably put out another release in a few weeks that contains several bugfixes (including for this issue).

jongpie added a commit that referenced this issue Jan 20, 2022
…try> instead of just List<PicklistEntry>

I typically include the Schema namespace anyway, not sure why I didn't previously do so in this particular example
jongpie added a commit that referenced this issue Jan 20, 2022
…try> instead of just List<PicklistEntry>

I typically include the Schema namespace anyway, not sure why I didn't previously do so in this particular example
jongpie added a commit that referenced this issue Mar 11, 2022
[LoggerSettings__c changes]

* Closed #279 by adding a new settings field DefaultLogScenario__c and new method Logger.getScenario()

* Closed #258 by adding 2 new fields to LoggerSettings__c (IsSavingEnabled__c and IsPlatformEventStorageEnabled__c)

* Cleaned up help text in several LoggerSettings__c fields

* Added new field LoggerSettings__c.DefaultLogOwner__c that can be used to specify a default owner of Log__c records, using a user ID, username, queue ID or queue developer name

* Renamed LoggerSettings__c field StripInaccessibleRecordFields__c to IsRecordFieldStrippingEnabled__c for consistency



[Log__c UI changes]

* Renamed "View JSON" quickAction to "Open Viewer", and added tabs within logViewer lwc to provide views for both JSON (existing) and log file (new) - a new 'download' button now allows exporting the content to a file

  - For the unlocked package, the logJSON lwc was renamed back to logViewer

* Fixed a conditional render rule on LogEntryRecordpage.flexipage, added an extra check in parseStackTrace() method to handle some problematic lines within a string that is otherwise valid, removed namespace filter when querying ApexClass in LogEntryHandler

* Added picklist values for API Versions in calendar year 2022



[Managed Package changes]

* Changed visibility of LoggerParameter__mdt object from 'Protected' to 'Public'

* Made most LoggerParameter__mdt records non-protected so they can be updated in the managed package

* Worked with @jamessimone to implement a custom approach for dynamically retrieving objects & fields (including namespace) in loggerSettings and logEntryEventStream LWCs, using the new Apex class LoggerSObjectMetadata

  - LWC does not officially support platform events, custom settings, or custom metadata types, so LoggerSObjectMetadata will be used instead

* Re-added skeleton of the deprecated quick action ViewJSON and aura cmp logJSONViewer for the managed package



[Bugfixes]

* Fixed #272 by explicitly delcaring the list as List<Schema.PicklistEntry> instead of just List<PicklistEntry>



[Improvements for Tests & Utilities]

* Added calls to Test.getEventBus().deliver() in Flow classes to try to resolve some inconsistent test failures in the pipeline

* Standardized calls to Database.query() to also use String.escapeSingleQuotes()

* Fixed #276 - Added a check in LoggerEmailUtils to check if email deliverability is enabled before sending an email [skip ci]

* Refactored some code in LogHandler, removed exclusion of PMD rule 'AvoidGlobalModifier'

* Added missing test in LogEntryTagHandler_Tests for updating records

* Fixed some test asserts for 'DUPLICATE_VALUE' error that didn't work correctly when the user's language was not English

* Updated LoggerTestUtils test method to create its own test user, instead of trying to update the current user's record

## Pipeline & Packaging

* Bumped package version to v4.7.0, added devDependencies for outdated packages reported by dependabot in GitHub

* Closed #263 by adding new keyword "ancestorVersion": "HIGHEST" in both sfdx-project.json files

* Updated mgd pkg creation script to use --codecoverage instead of --skipvalidation

* Updated codecov.yml so PR comments are deleted & readded, instead of updated

* Fixed error handling of package creation & installation in pwsh scripts

* Temporarily disabling pipeline check for updated docs due to an error in apexdocs package

* Switched to using JWT bearer flow in pipeline for dev hub auth

* Upgraded sfdx-cli, cleaned up package.json, cleaned up both sfdx-project.json files

* Removed local linking of sfdx-scanner in npm prepare script, added linking command to build.yml, added new sfdx plugin for prettier

* Moved scripts folder back to being a top-level folder

* Switched to using new packageAlias sorting feature in bummer sfdx plugin

* Switched from using sfdx force:community:create + a delay in the pipeline, to instead deploying metadata for a skeleton Experience Cloud site
  The pipeline has been having inconsistent failures because it previously had a 2 minute delay added to wait for force:community:create, but sometimes it took Salesforce longer to finish creating the site asynchronously. Using a deploy will make it a synchronous operation, so it should prevent the inconsistent failures.

Co-authored-by: James Simone <[email protected]>
@jongpie
Copy link
Owner

jongpie commented Mar 11, 2022

@aranwe I've fixed this bug in the new release, v4.7.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants