You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: forward all post options through to bugsplat-js
Re-export upstream BugSplatOptions as BugSplatPostOptions/BugSplatFeedbackOptions
and pass the whole options bag through to bs.post()/bs.postFeedback(), so
consumers can use attachments and attributes (e.g. to bundle a componentStack
with user-entered context from an ErrorBoundary fallback).
Adds a README recipe showing the disablePost + manual-post pattern.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+51Lines changed: 51 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -177,6 +177,57 @@ The fallback prop accepts a React node or a render function:
177
177
</ErrorBoundary>
178
178
```
179
179
180
+
### Collecting user input before posting
181
+
182
+
By default, `<ErrorBoundary>` posts to BugSplat the moment it catches an error. If you'd rather give the user a chance to describe what they were doing first — and bundle that into a single report instead of two — set `disablePost` on the boundary and post manually from your fallback:
183
+
184
+
```tsx
185
+
import { useState } from'react';
186
+
import { ErrorBoundary, post } from'@bugsplat/expo';
-`post()` is **not** idempotent. The `posted` flag in the example is the consumer's responsibility — without it, "Submit then Dismiss" would fire two reports.
227
+
-`componentStack` is wrapped in `Uint8Array` via `TextEncoder` (works on both web and native via Hermes). If you only target web, `new Blob([componentStack], { type: 'text/plain' })` reads more naturally.
228
+
-`attributes` becomes a queryable column in the BugSplat dashboard — useful for filtering crashes by route, feature flag, build channel, etc.
229
+
- If posting fails and you want retry, catch errors from `post()` and reset `posted` accordingly. The recipe doesn't show this to keep it minimal.
230
+
180
231
### User Feedback
181
232
182
233
Submit user feedback tied to your BugSplat database. Works on iOS, Android, and Web.
0 commit comments