getsentry / sentry

Developer-first error tracking and performance monitoring
https://sentry.io
Other
38.55k stars 4.12k forks source link

[self-hosted] User feedback: Something went horribly wrong rendering this page #70136

Open gabsoftware opened 4 months ago

gabsoftware commented 4 months ago

I enabled User feedback on my self-hosted instance of Sentry.

When I try to view User Feedback in Sentry, I get the following error: Something went horribly wrong rendering this page. TypeError: u.project is undefined

This is caused by this line:

https://github.com/getsentry/sentry/blob/56d237c485abdbece0a0c9a4798f398c87d49f8c/static/app/components/feedback/useFetchFeedbackData.tsx#L40C29-L40C52

Version: 24.4.2 (latest at time of writing) OS : Ubuntu 22.04.4 LTS Nginx reverse proxy

I ran again install.sh to migrate database after enabling User feedback.

Here is the feature flags :

    {
        feature: True
        for feature in (
            "organizations:discover",
            "organizations:events",
            "organizations:global-views",
            "organizations:incidents",
            "organizations:integrations-issue-basic",
            "organizations:integrations-issue-sync",
            "organizations:invite-members",
            "organizations:metric-alert-builder-aggregate",
            "organizations:sso-basic",
            "organizations:sso-rippling",
            "organizations:sso-saml2",
            "organizations:performance-view",
            "organizations:advanced-search",
            "organizations:session-replay",
            "organizations:issue-platform",
            "organizations:profiling",
            "organizations:monitors",
            "organizations:dashboards-mep",
            "organizations:mep-rollout-flag",
            "organizations:dashboards-rh-widget",
            "organizations:metrics-extraction",
            "organizations:transaction-metrics-extraction",
            "projects:custom-inbound-filters",
            "projects:data-forwarding",
            "projects:discard-groups",
            "projects:plugins",
            "projects:rate-limits",
            "projects:servicehooks",
        )
        + (
            "projects:span-metrics-extraction",
            "organizations:starfish-browser-resource-module-image-view",
            "organizations:starfish-browser-resource-module-ui",
            "organizations:starfish-browser-webvitals",
            "organizations:starfish-browser-webvitals-pageoverview-v2",
            "organizations:starfish-browser-webvitals-use-backend-scores",
            "organizations:performance-calculate-score-relay",
            "organizations:starfish-browser-webvitals-replace-fid-with-inp",
            "organizations:deprecate-fid-from-performance-score",
            "organizations:performance-database-view",
            "organizations:performance-screens-view",
            "organizations:mobile-ttid-ttfd-contribution",
            "organizations:starfish-mobile-appstart",
            "organizations:standalone-span-ingestion",
            "organizations:spans-first-ui",
        )  # starfish related flags
        + (
            "organizations:user-feedback-ui",
            "organizations:user-feedback-ingest",
            "organizations:feedback-ingest",
            "organizations:feedback-post-process-group",
            "organizations:feedback-visible",
        )  # user feedback
    }
)

Sometimes it will display another error "There was an error loading a component." then I can refresh with F5 and this time it loads without error.

getsantry[bot] commented 4 months ago

Assigning to @getsentry/support for routing ⏲️

getsantry[bot] commented 4 months ago

Routing to @getsentry/product-owners-user-feedback for triage ⏲️

bruno-garcia commented 4 months ago

Not sure what's going on there. @ryan953 ideas?

Note that User Feedback is in beta (GA'ing next week though) and we might have cut the self hosted release at a time something was broken. Could you try running the latest commit instead of 24.4.2 ?

gabsoftware commented 4 months ago

Not sure what's going on there. @ryan953 ideas?

Note that User Feedback is in beta (GA'ing next week though) and we might have cut the self hosted release at a time something was broken. Could you try running the latest commit instead of 24.4.2 ?

Not sure if I did what I should but I tried to use "master" as the version, checked out that, and ran install.sh again. It ran some migrations and recreated all containers from scratch, and all my data was gone, so I reverted to previous snapshot on my server. So I don't know if that fixed anything. I'll wait for the next release before updating.

bruno-garcia commented 4 months ago

Oh I dunno if data should be lost. It's possible the new feedback feature will only take effect on new ingested feedback as it does go through the issue platform. We GA'ed User Feedback last week so a new Self Hosted release should include it.

gabsoftware commented 3 months ago

Not sure what's going on there. @ryan953 ideas?

Note that User Feedback is in beta (GA'ing next week though) and we might have cut the self hosted release at a time something was broken. Could you try running the latest commit instead of 24.4.2 ?

I updated to 24.5.0 and still have the same issue.

gabsoftware commented 1 month ago

Still present on 24.7.0....

ryan953 commented 1 month ago

@gabsoftware I just merged https://github.com/getsentry/sentry/pull/74218 which I think will be the final thing to fix this. What was happening is that we have two paths to ingest feedback data, basically the old crash-report one and new feedback-issue pipeline. I don't understand it deeply enough to properly explain, the architecture docs are here: https://develop.sentry.dev/application/feedback-architecture/

What I do understand is that the old pipeline wasn't setting the project correctly onto feedback because the shim code is missing it. So what's in the database as some feedbacks without a project, but new ones being inserted will have a project as expected. My change basically makes the UI handle both kinds of feedback types, but without the project association some sections of the page can't be rendered.

We left the old url in there to help debug this stuff, and you can use it too. Head over to /user-feedback/ and you'll be able to see all the old-style feedbacks, if any.

mshkrebtan commented 1 month ago

Thank you, @ryan953!

We have upgraded our self-hosted Sentry to v24.7.1 (we are using https://github.com/sentry-kubernetes/charts) and could not understand why we did not see the user feedback under /feedback/. So, /user-feedback/ it is…