Skip to content

User Feedback V8 - Documentation seems OFF #12015

Description

@AdrienFromToulouse

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which SDK are you using?

@sentry/nextjs

SDK Version

8.0.0

Framework Version

18.3.1

Link to Sentry event

No response

SDK Setup

import * as Sentry from '@sentry/nextjs';

const feedback = Sentry.feedbackIntegration({
  autoInject: false,
  colorScheme: 'light',
  buttonLabel: 'Give Feedback',
  messagePlaceholder: '',
  submitButtonLabel: 'Send Feedback',
  formTitle: 'Give Feedback',
  showBranding: false,
  isEmailRequired: false,
  fontFamily: 'Inter',
  showEmail: false,
  showName: false,
});

Sentry.init({
  dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
  ignoreErrors: ['ResizeObserver loop completed with undelivered notifications'],
  integrations: [feedback],
});

Steps to Reproduce

Custom button working before v8

import { MegaphoneIcon } from '@heroicons/react/24/outline';
import * as Sentry from '@sentry/nextjs';
import React from 'react';
import { Button } from 'rsuite';

const SentryFeedbackButton = () => {
  const client = Sentry.getClient();
  const feedback = client?.getIntegrationByName<ReturnType<typeof Sentry.feedbackIntegration>>?.('Feedback');

  if (!feedback) {
    return null;
  }

  return (
    <Button
      style={{ position: 'fixed', bottom: 0, right: 0, zIndex: 100 }}
      className="m-3 shadow-sm bg-white fw-bold"
      type="button"
      onClick={() => feedback.openDialog()}
    >
      <span>
        <MegaphoneIcon style={{ width: '22px' }} /> Give Feedback
      </span>
    </Button>
  );
};

export default SentryFeedbackButton;

After upgrading to v8 the following error appears:

Property 'openDialog' does not exist on type 'Integration & { attachTo(el: string | Element, optionOverrides: any): () => void; createForm(optionOverrides: any): Promise<FeedbackDialog>; createWidget(optionOverrides: any): any; remove(): void; }'

The documentation here, does not provide any upgrade path: https://docs.sentry.io/platforms/javascript/guides/nextjs/user-feedback/configuration/#bring-your-own-widget

confer Alternatively, you can call feedback.openDialog():

Cheers,

Expected Result

An up to date documentation precisely explaining how to instantiate a custom button with v8.

Actual Result

Property 'openDialog' does not exist on type 'Integration & { attachTo(el: string | Element, optionOverrides: any): () => void; createForm(optionOverrides: any): Promise<FeedbackDialog>; createWidget(optionOverrides: any): any; remove(): void; }'

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions