Skip to content

Spree::LogEntry#parsed_details raises on missing legacy class definition #4934

@spaghetticode

Description

@spaghetticode

Solidus Version:
Master

Current behavior

If a payment log entry is old enough to include in its response details a class that doesn't exist anymore, a 500 server error is raised when viewing the payment in the admin area.

As real-world example, we can consider the class Braintree::Transaction::AndroidPayDetails which was removed with Braintree v3.0 in favor of Braintree::Transaction::GooglePayDetails.

Expected behavior

The specific payment page is still accessible.

Screenshots

Screenshot 2023-02-10 at 14 51 41

Additional context

Depending on the complexity of the desired solution, we may prefer to simply ignore the log entry or try to show it someway, for example by rendering the raw YAML in a collapsed form so its large amount of data doesn't clutter the page but is still accessible for interested parties.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:bugError, flaw or fault

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions