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

Release v7.10.0 #1411

Merged
merged 460 commits into from
May 18, 2021
Merged

Release v7.10.0 #1411

merged 460 commits into from
May 18, 2021

Conversation

imjoehaines
Copy link
Contributor

v7.10.0 (2021-05-18)

This release adds @bugsnag/electron, a notifier for use on apps that are built using Electron.

Added

  • (electron): a new top-level notifier @bugsnag/electron and related plugins

Changed

  • (node): File paths in stacktraces now always use / as the path separator
  • (node): Surrounding code can be fetched from file paths that are relative to the project root
  • (react-native): Update bugsnag-android to v5.9.2

kattrali and others added 30 commits April 1, 2021 15:39
The test was supposed to check total length == matching length. Along
the way fixed some incorrect assertions around API key and hashing.
Some tests may not fire event during launch window
The actual net package on windows does not like `0.0.0.0` as localhost
The Breadcrumb.toJSON method renames the internal properties of a
breadcrumb object. This is fine, but with some changes the toJSON
method stops being called during serialisation. When this happens,
the breadcrumbs are silently dropped because the 'name' is undefined
and the core Client drops breadcrumbs without a name/message

By avoiding toJSON in all cases, this should be a bit more robust
Avoid Breadcrumb.toJSON by copying breadcrumbs to an object before sending them over IPC
Add browser onerror & unhanded rejection plugins to renderers
Add console, network and interaction breadcrumb plugins
On windows the build fails intermittently in the publish step with:

    lerna ERR! ZlibError: zlib: invalid block type
    lerna ERR!     at Unzip.write (D:\a\bugsnag-electron\bugsnag-electron\node_modules\minizlib\index.js:147:22)
    lerna ERR!     at Object.write (D:\a\bugsnag-electron\bugsnag-electron\node_modules\tar\lib\parse.js:305:58)
    lerna ERR!     at Yallist.<anonymous> (D:\a\bugsnag-electron\bugsnag-electron\node_modules\minipass\index.js:374:18)
    lerna ERR!     at Yallist.forEach (D:\a\bugsnag-electron\bugsnag-electron\node_modules\minipass\node_modules\yallist\yallist.js:156:8)
    lerna ERR!     at ReadStream.emit (D:\a\bugsnag-electron\bugsnag-electron\node_modules\minipass\index.js:373:20)
    lerna ERR!     at ReadStream.emit (D:\a\bugsnag-electron\bugsnag-electron\node_modules\fs-minipass\index.js:154:22)
    lerna ERR!     at ReadStream.write (D:\a\bugsnag-electron\bugsnag-electron\node_modules\minipass\index.js:163:17)
    lerna ERR!     at ReadStream.[_handleChunk] (D:\a\bugsnag-electron\bugsnag-electron\node_modules\fs-minipass\index.js:131:19)
    lerna ERR!     at ReadStream.[_onread] (D:\a\bugsnag-electron\bugsnag-electron\node_modules\fs-minipass\index.js:109:32)
    lerna ERR!     at D:\a\bugsnag-electron\bugsnag-electron\node_modules\fs-minipass\index.js:101:22
    lerna ERR! lerna zlib: invalid block type
macOS expands to find all available space and time
We aren't even using this, removing for now to unblock the build
This commit introduces an new plugin whose job it is to manage the lifecycle
of an event created in the renderer. This ensures internal onError callbacks
in main populate the event's data fields so that all data is present for
onError callbacks in a renderer.
Allow Act to run the tests with Ubuntu
fractalwrench and others added 25 commits May 12, 2021 15:01
Increase bugsnag-android dependency to v5.9.2
feat(electron): Use page title/window location for default context in renderers
This allows the plugin to work if the project root has already been
stripped before it runs
…cess-type

feat(electron): Set process.type=preload for errors in preload scripts
Load surrounding code from paths relative the project root
…ded-breadcrumb

feat(electron): Add 'Bugsnag loaded' breadcrumb
The code is the same for all renderer errors and all main errors
because the compiled webpack bundles are minified, so we grab the
first 200 characters of each bundle. I've not added the expected code
to all tests because it's the same every time
…lugin

Add surrounding code plugin to Electron
Allow merging falsy options in renderers and use plugin schema extensions
@github-actions
Copy link

@bugsnag/browser bundle size diff

Minified Minfied + Gzipped
Before 40.86 kB 12.61 kB
After 40.87 kB 12.62 kB
± ⚠️ +9 bytes ⚠️ +9 bytes

code coverage diff

Ok File Lines Branches Functions Statements
/home/runner/work/bugsnag-js/bugsnag-js/packages/core/event.js 95.24%
(+0%)
88.33%
(+3.33%)
100%
(+0%)
95.58%
(+0%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/core/session.js 100%
(+15.38%)
100%
(+0%)
100%
(+40%)
100%
(+15.38%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/delivery-electron/delivery.js 97.4%
(+97.4%)
86.21%
(+86.21%)
77.27%
(+77.27%)
94.19%
(+94.19%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/delivery-electron/network-status.js 100%
(+100%)
94.12%
(+94.12%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/delivery-electron/payload-loop.js 87.8%
(+87.8%)
71.43%
(+71.43%)
85.71%
(+85.71%)
86.05%
(+86.05%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/delivery-electron/queue.js 98.18%
(+98.18%)
95%
(+95%)
93.33%
(+93.33%)
96.55%
(+96.55%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron-filestore/filestore.js 92.86%
(+92.86%)
72.73%
(+72.73%)
91.3%
(+91.3%)
92.86%
(+92.86%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron-filestore/lib/minidump-io.js 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron-test-helpers/helpers.ts 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron-test-helpers/src/App.ts 96.3%
(+96.3%)
100%
(+100%)
94.12%
(+94.12%)
96.77%
(+96.77%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron-test-helpers/src/BrowserWindow.ts 91.43%
(+91.43%)
78.57%
(+78.57%)
100%
(+100%)
92.11%
(+92.11%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron-test-helpers/src/Display.ts 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron-test-helpers/src/PowerMonitor.ts 95.45%
(+95.45%)
91.67%
(+91.67%)
100%
(+100%)
95.65%
(+95.65%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron-test-helpers/src/Screen.ts 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron-test-helpers/src/client.ts 96%
(+96%)
60%
(+60%)
75%
(+75%)
93.1%
(+93.1%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron-test-helpers/src/process.ts 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron/src/id.js 0%
(+0%)
100%
(+100%)
100%
(+100%)
0%
(+0%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron/src/notifier.js 53.57%
(+53.57%)
35.71%
(+35.71%)
33.33%
(+33.33%)
50%
(+50%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron/src/client/renderer.js 35.48%
(+35.48%)
0%
(+0%)
0%
(+0%)
31.43%
(+31.43%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron/src/config/common.js 65%
(+65%)
80%
(+80%)
54.55%
(+54.55%)
69.23%
(+69.23%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron/src/config/main.js 41.67%
(+41.67%)
20%
(+20%)
7.14%
(+7.14%)
40%
(+40%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/electron/src/config/renderer.js 23.53%
(+23.53%)
0%
(+0%)
8.33%
(+8.33%)
22.86%
(+22.86%)
🔴 /home/runner/work/bugsnag-js/bugsnag-js/packages/node/src/config.js 79.31%
(-0.69%)
34.78%
(+0%)
68.42%
(+0%)
77.42%
(-0.71%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/node/src/notifier.js 94.23%
(+0.11%)
60%
(+0%)
80%
(+0%)
89.29%
(+0.2%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-app/app.js 100%
(+100%)
88.46%
(+88.46%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-app-breadcrumbs/app-breadcrumbs.js 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-client-state-manager/client-state-manager.js 100%
(+100%)
80%
(+80%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-client-state-persistence/client-state-persistence.js 86.96%
(+86.96%)
100%
(+100%)
85.71%
(+85.71%)
86.96%
(+86.96%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-device/device.js 97.92%
(+97.92%)
93.75%
(+93.75%)
100%
(+100%)
98.04%
(+98.04%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-ipc/bugsnag-ipc-main.js 82.54%
(+82.54%)
73.08%
(+73.08%)
89.47%
(+89.47%)
81.43%
(+81.43%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-ipc/bugsnag-ipc-renderer.js 95.65%
(+95.65%)
100%
(+100%)
93.75%
(+93.75%)
95.83%
(+95.83%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-ipc/lib/config-serializer.js 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-ipc/lib/constants.js 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-net-breadcrumbs/net-breadcrumbs.js 100%
(+100%)
87.5%
(+87.5%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-network-status/network-status.js 100%
(+100%)
66.67%
(+66.67%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-power-monitor-breadcrumbs/power-monitor-breadcrumbs.js 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-preload-error/preload-error.js 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-preload-error/test/fixtures/safe-preload.js 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-preload-error/test/fixtures/uncaught-exception-preload.js 0%
(+0%)
100%
(+100%)
100%
(+100%)
0%
(+0%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-process-info/procinfo.js 93.33%
(+93.33%)
72.22%
(+72.22%)
100%
(+100%)
93.75%
(+93.75%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-renderer-client-state-updates/client-state-updates.js 100%
(+100%)
85.71%
(+85.71%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-renderer-event-data/renderer-event-data.js 89.47%
(+89.47%)
81.25%
(+81.25%)
100%
(+100%)
90.48%
(+90.48%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-renderer-strip-project-root/strip-project-root.js 84.21%
(+84.21%)
58.33%
(+58.33%)
100%
(+100%)
86.36%
(+86.36%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-screen-breadcrumbs/screen-breadcrumbs.js 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-electron-session/session.js 100%
(+100%)
87.5%
(+87.5%)
83.33%
(+83.33%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-internal-callback-marker/internal-callback-marker.js 100%
(+100%)
100%
(+100%)
100%
(+100%)
100%
(+100%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-node-surrounding-code/surrounding-code.js 96.67%
(+0.12%)
81.82%
(+0%)
95.65%
(+0%)
94.37%
(+0.17%)
/home/runner/work/bugsnag-js/bugsnag-js/packages/plugin-stackframe-path-normaliser/path-normaliser.js 85.71%
(+85.71%)
50%
(+50%)
100%
(+100%)
87.5%
(+87.5%)

Total:

Lines Branches Functions Statements
82.36%(+0.89%) 71.79%(+1.37%) 83.41%(-0.6%) 81.39%(+1%)

Generated by 🚫 dangerJS against 7c55edf

@imjoehaines imjoehaines merged commit 2cd9618 into master May 18, 2021
@imjoehaines imjoehaines deleted the release/v7.10.0 branch May 18, 2021 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants