From 1637c7665e291ade61b2c145caa5f119829136d7 Mon Sep 17 00:00:00 2001
From: Joe Banks
Date: Tue, 6 Oct 2020 19:37:58 +0100
Subject: Add Sentry packages
---
package.json | 2 ++
yarn.lock | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 83 insertions(+), 1 deletion(-)
diff --git a/package.json b/package.json
index ff7968a..f9d54f3 100644
--- a/package.json
+++ b/package.json
@@ -8,6 +8,8 @@
"@fortawesome/free-brands-svg-icons": "^5.14.0",
"@fortawesome/free-solid-svg-icons": "^5.14.0",
"@fortawesome/react-fontawesome": "^0.1.11",
+ "@sentry/react": "^5.25.0",
+ "@sentry/tracing": "^5.25.0",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
diff --git a/yarn.lock b/yarn.lock
index 52d2ca8..d1dfb7a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1490,6 +1490,81 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
+"@sentry/browser@5.25.0":
+ version "5.25.0"
+ resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.25.0.tgz#4e3d2132ba1f2e2b26f73c49cbb6977ee9c9fea9"
+ integrity sha512-QDVUbUuTu58xCdId0eUO4YzpvrPdoUw1ryVy/Yep9Es/HD0fiSyO1Js0eQVkV/EdXtyo2pomc1Bpy7dbn2EJ2w==
+ dependencies:
+ "@sentry/core" "5.25.0"
+ "@sentry/types" "5.25.0"
+ "@sentry/utils" "5.25.0"
+ tslib "^1.9.3"
+
+"@sentry/core@5.25.0":
+ version "5.25.0"
+ resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.25.0.tgz#525ad37f9e8a95603768e3b74b437d5235a51578"
+ integrity sha512-hY6Zmo7t/RV+oZuvXHP6nyAj/QnZr2jW0e7EbL5YKMV8q0vlnjcE0LgqFXme726OJemoLk67z+sQOJic/Ztehg==
+ dependencies:
+ "@sentry/hub" "5.25.0"
+ "@sentry/minimal" "5.25.0"
+ "@sentry/types" "5.25.0"
+ "@sentry/utils" "5.25.0"
+ tslib "^1.9.3"
+
+"@sentry/hub@5.25.0":
+ version "5.25.0"
+ resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.25.0.tgz#6932535604cafaee1ac7f361b0e7c2ce8f7e7bc3"
+ integrity sha512-kOlOiJV8wMX50lYpzMlOXBoH7MNG0Ho4RTusdZnXZBaASq5/ljngDJkLr6uylNjceZQP21wzipCQajsJMYB7EQ==
+ dependencies:
+ "@sentry/types" "5.25.0"
+ "@sentry/utils" "5.25.0"
+ tslib "^1.9.3"
+
+"@sentry/minimal@5.25.0":
+ version "5.25.0"
+ resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.25.0.tgz#447b5406b45c8c436c461abea4474d6a849ed975"
+ integrity sha512-9JFKuW7U+1vPO86k3+XRtJyooiVZsVOsFFO4GulBzepi3a0ckNyPgyjUY1saLH+cEHx18hu8fGgajvI8ANUF2g==
+ dependencies:
+ "@sentry/hub" "5.25.0"
+ "@sentry/types" "5.25.0"
+ tslib "^1.9.3"
+
+"@sentry/react@^5.25.0":
+ version "5.25.0"
+ resolved "https://registry.yarnpkg.com/@sentry/react/-/react-5.25.0.tgz#269f54db9d6f92410bee07117f8d8e03b219e068"
+ integrity sha512-lZwiFj+BQtmaj+Do9hcRSJcdrTisSGq2521/Xm9qGPbhsRW8uTHMJjkDgMHriYxxqXYOQrY9FisJwvkPpkroow==
+ dependencies:
+ "@sentry/browser" "5.25.0"
+ "@sentry/minimal" "5.25.0"
+ "@sentry/types" "5.25.0"
+ "@sentry/utils" "5.25.0"
+ hoist-non-react-statics "^3.3.2"
+ tslib "^1.9.3"
+
+"@sentry/tracing@^5.25.0":
+ version "5.25.0"
+ resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.25.0.tgz#1cfbcf085a7a3b679f417058d09590298ddaa255"
+ integrity sha512-KcyHEGFpqSDubHrdWT/vF2hKkjw/ts6NpJ6tPDjBXUNz98BHdAyMKtLOFTCeJFply7/s5fyiAYu44M+M6IG3Bw==
+ dependencies:
+ "@sentry/hub" "5.25.0"
+ "@sentry/minimal" "5.25.0"
+ "@sentry/types" "5.25.0"
+ "@sentry/utils" "5.25.0"
+ tslib "^1.9.3"
+
+"@sentry/types@5.25.0":
+ version "5.25.0"
+ resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.25.0.tgz#3bcf95e118d655d3f4e8bfa5f0be2e1fe4ea5307"
+ integrity sha512-8M4PREbcar+15wrtEqcwfcU33SS+2wBSIOd/NrJPXJPTYxi49VypCN1mZBDyWkaK+I+AuQwI3XlRPCfsId3D1A==
+
+"@sentry/utils@5.25.0":
+ version "5.25.0"
+ resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.25.0.tgz#b132034be66d7381d30879d2a9e09216fed28342"
+ integrity sha512-Hz5spdIkMSRH5NR1YFOp5qbsY5Ud2lKhEQWlqxcVThMG5YNUc10aYv5ijL19v0YkrC2rqPjCRm7GrVtzOc7bXQ==
+ dependencies:
+ "@sentry/types" "5.25.0"
+ tslib "^1.9.3"
+
"@sheerun/mutationobserver-shim@^0.3.2":
version "0.3.3"
resolved "https://registry.yarnpkg.com/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz#5405ee8e444ed212db44e79351f0c70a582aae25"
@@ -5351,7 +5426,7 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoist-non-react-statics@^3.1.0:
+hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
@@ -10467,6 +10542,11 @@ tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
+tslib@^1.9.3:
+ version "1.14.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.0.tgz#d624983f3e2c5e0b55307c3dd6c86acd737622c6"
+ integrity sha512-+Zw5lu0D9tvBMjGP8LpvMb0u2WW2QV3y+D8mO6J+cNzCYIN4sVy43Bf9vl92nqFahutN0I8zHa7cc4vihIshnw==
+
tsutils@^3.17.1:
version "3.17.1"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
--
cgit v1.2.3
From 2ce9d97be3e92fd85f628d3eba3a399bf1470a78 Mon Sep 17 00:00:00 2001
From: Joe Banks
Date: Tue, 6 Oct 2020 19:38:07 +0100
Subject: Enable Sentry in production
---
src/index.tsx | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/index.tsx b/src/index.tsx
index 634fd81..0198756 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -3,8 +3,21 @@ import ReactDOM from 'react-dom';
import App from './App';
import * as serviceWorker from './serviceWorker';
+import * as Sentry from "@sentry/react";
+import { Integrations } from "@sentry/tracing";
+
import colors from "./colors";
+if (process.env.NODE_ENV === "production") {
+ Sentry.init({
+ dsn: process.env.REACT_APP_SENTRY_DSN,
+ integrations: [
+ new Integrations.BrowserTracing(),
+ ],
+ tracesSampleRate: 0.25,
+ });
+}
+
console.log("%c Python Discord Forms ", `font-size: 6em; font-family: "Hind", "Arial"; font-weight: 900; background-color: ${colors.blurple}; border-radius: 10px;`)
console.log("%cWelcome to Python Discord Forms", `font-size: 3em; font-family: "Hind", "Arial";`)
--
cgit v1.2.3
From 896230b7f993d61ee7c6b43fe386c048a6b1fca9 Mon Sep 17 00:00:00 2001
From: Joe Banks
Date: Thu, 8 Oct 2020 23:32:02 +0100
Subject: Render the Sentry error boundary
---
src/index.tsx | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/index.tsx b/src/index.tsx
index 0198756..50385ea 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -31,7 +31,15 @@ console.log("%cCome join us on Discord! https://discord.gg/python", `font-size:
ReactDOM.render(
-
+ An error has occurred with Python Discord Forms. Please let us know in the Discord server at discord.gg/python
}
+ showDialog={true}
+ dialogOptions={{
+ title: "You've found a bug in PyDis forms!"
+ }}
+ >
+
+
,
document.getElementById('root')
);
--
cgit v1.2.3
From eafa1a30dc1e354967ee621d92634557cd910f17 Mon Sep 17 00:00:00 2001
From: Joe Banks
Date: Thu, 8 Oct 2020 23:32:57 +0100
Subject: Report release information to Sentry
---
src/index.tsx | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/index.tsx b/src/index.tsx
index 50385ea..783d34f 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -15,6 +15,7 @@ if (process.env.NODE_ENV === "production") {
new Integrations.BrowserTracing(),
],
tracesSampleRate: 0.25,
+ release: `forms-frontend@${process.env.REACT_APP_SHA}`
});
}
--
cgit v1.2.3
From a60a0405cb258bb5092f621cbcdc4cf826f600a6 Mon Sep 17 00:00:00 2001
From: Joe Banks
Date: Thu, 8 Oct 2020 23:39:22 +0100
Subject: Create Sentry release on push
---
.github/workflows/create_sentry_release.yml | 34 +++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 .github/workflows/create_sentry_release.yml
diff --git a/.github/workflows/create_sentry_release.yml b/.github/workflows/create_sentry_release.yml
new file mode 100644
index 0000000..6daf552
--- /dev/null
+++ b/.github/workflows/create_sentry_release.yml
@@ -0,0 +1,34 @@
+name: Create Sentry release
+
+on:
+ push:
+ branches: [ main ]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - uses: EgorDm/gha-yarn-node-cache@v1
+
+ - name: Install dependencies
+ run: yarn install
+
+ - name: Install dependencies
+ run: yarn build
+ env:
+ REACT_APP_SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
+ REACT_APP_SHA: ${{ github.sha }}
+ REACT_APP_BRANCH: main
+ REACT_APP_OAUTH2_CLIENT_ID: ${{ secrets.CLIENT_ID }}
+
+ - name: Create Sentry release
+ uses: getsentry/action-release@v1.0.0
+ env:
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ SENTRY_ORG: python-discord
+ SENTRY_PROJECT: forms-frontend
+ with:
+ environment: production
+ sourcemaps: ./build/static/js/
--
cgit v1.2.3