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

[EPIC] Feedback Widget for React Native #4302

Open
17 of 26 tasks
krystofwoldrich opened this issue Nov 22, 2024 · 8 comments · Fixed by #4435
Open
17 of 26 tasks

[EPIC] Feedback Widget for React Native #4302

krystofwoldrich opened this issue Nov 22, 2024 · 8 comments · Fixed by #4435

Comments

@krystofwoldrich
Copy link
Member

krystofwoldrich commented Nov 22, 2024

Sentry currently offers only Feedback API for React Native applications and the widget to collect feedback needs to be implemented by the app developers. The goal of this task is to provide pre-made widget, which can be directly used in React Native applications.

Current browser widget docs.
Current React Native Feedback api docs.
Example React Native implementation in Sentry Demo app

Tasks Overview

Feature Branch /feedback-ui

Currently in progress for beta release

Preview Give feedback
No tasks being tracked yet.

Beta tasks

Preview Give feedback
No tasks being tracked yet.

GA tasks

Preview Give feedback

Done

Preview Give feedback
  1. Platform: React-Native
  2. Platform: React-Native
    antonis
  3. Platform: React-Native
    antonis
  4. Platform: React-Native
    antonis
  5. Platform: React-Native
    antonis
  6. Platform: React-Native
    antonis
  7. Platform: React-Native
    antonis
@krystofwoldrich krystofwoldrich moved this from Needs Discussion to Backlog in Mobile & Cross Platform SDK Nov 22, 2024
@antonis antonis moved this from Backlog to In Progress in Mobile & Cross Platform SDK Nov 25, 2024
@krystofwoldrich krystofwoldrich changed the title Feedback Widget for React Native [EPIC] Feedback Widget for React Native Jan 24, 2025
@krystofwoldrich
Copy link
Member Author

krystofwoldrich commented Jan 30, 2025

Disable movement/scroll (example in the video below) (allow only in overflow)

Happens only on iOS

Simulator.Screen.Recording.-.iPhone.16.-.2025-01-29.at.16.24.52.mp4

@krystofwoldrich
Copy link
Member Author

krystofwoldrich commented Jan 30, 2025

Add rounded corners and the appearance of a sheet with a darkened top. See the example below.

Let's do this if possible just with styles.

Let's do this for both Android (can be different than iOS, but since Android is diverse we won't be able to match all versions) and iOS (the radius should match the native views) (and Web).

Image

@antonis antonis mentioned this issue Jan 30, 2025
10 tasks
@antonis antonis moved this from In Progress to Needs Review in Mobile & Cross Platform SDK Feb 5, 2025
@antonis antonis moved this from Needs Review to In Progress in Mobile & Cross Platform SDK Feb 5, 2025
@krystofwoldrich
Copy link
Member Author

The two most popular libraries for image pickers in the RN ecosystem are https://www.npmjs.com/package/react-native-image-picker and https://www.npmjs.com/package/expo-image-picker.

Instead of guiding users on how to use the image picker libraries and how to hook them into the Sentry Feedback Widget, we could introduce a simpler interface, in which the Sentry Feedback Widget accepts the library object and calls it's APIs.

Example:

React Native Image Picker

import * as ImagePicker from 'react-native-image-picker';

Sentry.init({
  integrations: [
    Sentry.feedbackIntegration({
      imagePicker: ImagePicker,
    }),
  ],
});

Expo Image Picker

import * as ImagePicker from 'expo-image-picker';

Sentry.init({
  integrations: [
    Sentry.feedbackIntegration({
      imagePicker: ImagePicker,
    }),
  ],
});

@antonis
Copy link
Collaborator

antonis commented Feb 14, 2025

Note: We also need to check if (similar to iOS) the permissions needed for accessing photos create complications.

@krystofwoldrich
Copy link
Member Author

Note: We also need to check if (getsentry/sentry-cocoa#4801) the permissions needed for accessing photos create complications.

This is not an issue for the RN SDK, because we don't access any of the native API, but the image picker libraries we integrate with do.

@krystofwoldrich
Copy link
Member Author

krystofwoldrich commented Feb 14, 2025

I noticed two bugs on Expo Web.

The inputs immediately lose focus after clicking on them.


The image picker on web returns data:, uri.

It would be nice to support it on the Web, we can use the browser APIs to convert the base64 to UintArray, the rest of the form works perfectly.

Image

@github-project-automation github-project-automation bot moved this from In Progress to Done in Mobile & Cross Platform SDK Feb 14, 2025
@krystofwoldrich krystofwoldrich moved this from Done to In Progress in Mobile & Cross Platform SDK Feb 17, 2025
@antonis
Copy link
Collaborator

antonis commented Feb 17, 2025

Note: We also need to check if (getsentry/sentry-cocoa#4801) the permissions needed for accessing photos create complications.

This is not an issue for the RN SDK, because we don't access any of the native API, but the image picker libraries we integrate with do.

Makes sense 👍 Probably we can add a note in the documentation as a reminder on this.

I noticed two bugs on Expo Web.

Thank you for reporting @krystofwoldrich 🙇 I'll iterate with a fix on those 🤞

@antonis
Copy link
Collaborator

antonis commented Feb 21, 2025

Reopening to track down the tasks after the beta release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Backlog
Development

Successfully merging a pull request may close this issue.

2 participants