Skip to content

Fix Vue error handler, Node query string, and React Native cleanup - #212

Open
ejsmith wants to merge 4 commits into
mainfrom
fix/small-client-issues
Open

ejsmith wants to merge 4 commits into
mainfrom
fix/small-client-issues

Conversation

@ejsmith

@ejsmith ejsmith commented Nov 4, 2026

Copy link
Copy Markdown
Member

Small, verified bug fixes.

Issue Fix
Fixes #203 The Vue ExceptionlessErrorHandler put the whole component instance on the event, which froze the page while serializing. It now records the component name and info. Its signature takes err: unknown, so app.config.errorHandler = ExceptionlessErrorHandler compiles under strict TypeScript.
Fixes #204 Node request info filled query_string from route params. It now uses request.query.
Fixes #205 Removed the React Native storage fallback that could never run. AsyncStorage is a required peer dependency.
Fixes #206 The README and skill now say the Expo config plugin is optional. Native linking happens through autolinking.

Checks: npm run build, npm run lint and npm test (351 tests) pass. Adds a vue test project with tests for the handler.

Record the component name and Vue's info string instead of the whole
instance, and accept Vue's errorHandler signature so the documented
app.config.errorHandler assignment compiles under strict TypeScript.
Nothing in the try block could throw, and a missing AsyncStorage native
module fails when the package is imported, so the fallback and its log
message never ran. AsyncStorage remains a required peer dependency.
Copilot AI balanced review requested due to automatic review settings November 4, 2026 19:55
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-04T19:56:43.531492Z c71997c PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Repeated query parameters still produce array-valued query_string entries in violation of the string-valued contract, and the main skill retains contradictory Expo plugin setup guidance.

2 open issues
What changed in this PR

This PR fixes request and error reporting in the Vue and Node SDKs, removes unreachable React Native storage fallback code, and clarifies Expo setup.

Changes:

  • Reports Vue component names instead of serializing component instances, accepts unknown errors, and adds handler tests.
  • Captures Node query parameters from request.query rather than route parameters, with regression tests.
  • Removes the ineffective AsyncStorage fallback and documents the Expo plugin as optional.
File Description
vitest.config.ts Adds the Vue test project.
packages/​vue/​test/​ExceptionlessErrorHandler.test.ts Tests component metadata and error handling.
packages/​vue/​src/​index.ts Replaces instance serialization with component names.
packages/​vue/​README.md Documents captured error metadata.
packages/​react-native/​src/​ReactNativeExceptionlessClient.ts Removes unreachable storage fallback code.
packages/​react-native/​README.md Clarifies optional Expo plugin usage.
packages/​node/​test/​plugins/​NodeRequestInfoPlugin.test.ts Tests query capture and missing queries.
packages/​node/​src/​plugins/​NodeRequestInfoPlugin.ts Reads query data from request.query.
.agents/​skills/​exceptionless-javascript/​references/​client-vue.md Documents Vue error metadata.
.agents/​skills/​exceptionless-javascript/​references/​client-react-native.md Updates Expo setup and autolinking troubleshooting.

Review effort: Balanced


if (config.includeQueryString) {
const json = stringify(request.params, exclusions);
const json = stringify(request.query, exclusions);
```

For Expo development or standalone builds, add the config plugin:
No config plugin is required: the native crash reporter pod is linked by autolinking. The optional config plugin currently makes no native changes:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants