getsentry / getsentry/sentry-react-native

Provide a Public Screenshot Capture API in Sentry React Native

Abierto
#4,613 1 comentario 0 reacciones 0 asignados Ver en GitHub
Attachments Improvement React-Native
Lenguaje dominante
TypeScript
Estrellas
1.8k
Forks
366
Merge medio
1 d 5 h
PR fusionados (30 d)
93

Descripción

Hello Sentry team!

Thank you for the fantastic work you’ve done so far!

I have a feature request related to capturing screenshots in Sentry React Native—particularly for user feedback scenarios.

Currently, screenshots are primarily captured (if enabled) through Sentry’s `Sentry.captureMessage(...)` process, in case of error, or by using semi-private APIs. This makes it difficult to integrate screenshots into custom user feedback workflows, especially for those of us who rely on Sentry’s built-in privacy filtering instead of a third-party library.

## Below are the key features I’d love to see:

1. Public Screenshot Capture with Configurable Privacy Options

- A documented, supported method that allows screenshots to be captured independently of `captureMessage` or generating an exception.
- When a user explicitly requests a screenshot, it should be possible to adjust or disable privacy filters if necessary.
Ideally, this configuration could happen on a per-call basis for maximum flexibility (e.g. aka 'shake to send feedback').

2. (Optional/Stage2 impl) Binary Data Return

- Instead of returning raw binary data only, provide the native file path to the screenshot.
- This approach reduces overhead and makes the file immediately available for editing or annotation. It would allow developers to pass the image to an editor so users can draw notes or highlight specific areas—without keeping large binary arrays in memory.

3. Flexible Attachment Handling

- The ability to submit feedback without bundling the entire screenshot data object:
```
const userFeedback: SendFeedbackParams = { ... }
...

attachments.push({
filename: image.name || `image_${attachments.length}.jpg`,
data: imageData, // large blob of binary data
contentType: image.mediaContentType,
})

```
- For instance, accept a local file URI instead of a Uint8Array or string only.

Thank you for considering this request, and I’m happy to discuss potential approaches or provide further details!

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza revisando el flujo existente de captura de capturas de pantalla utilizado por Sentry.captureMessage(...) y las API semiprivadas mencionadas en el issue. Define la API pública de captura, las opciones de privacidad por llamada y los requisitos de gestión de adjuntos para los workflows solicitados. Se considera terminado cuando el feedback personalizado puede capturar una captura de pantalla de forma independiente y aceptar la imagen resultante mediante la interfaz de adjuntos propuesta.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
react-native, typescript
Área
api, mobile
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.