initial spike

This commit is contained in:
James Salter 2021-08-11 16:11:10 +01:00
parent c93cc89cca
commit de398f46f4
7 changed files with 134 additions and 1 deletions

View file

@ -108,6 +108,7 @@ import SoftLogout from './auth/SoftLogout';
import { makeRoomPermalink } from "../../utils/permalinks/Permalinks";
import { copyPlaintext } from "../../utils/strings";
import { PosthogAnalytics } from '../../PosthogAnalytics';
import {initSentry, sendSentryReport} from "../../sentry";
/** constants for MatrixChat.state.view */
export enum Views {
@ -393,6 +394,16 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
PosthogAnalytics.instance.updatePlatformSuperProperties();
CountlyAnalytics.instance.enable(/* anonymous = */ true);
initSentry(SdkConfig.get()["sentry"]);
setTimeout(() => {
try {
const e = new Error("whoops");
throw(e);
} catch (e) {
sendSentryReport("user text", "label", e);
}
}, 4000);
}
private async postLoginSetup() {

View file

@ -29,11 +29,13 @@ import BaseDialog from "./BaseDialog";
import Field from '../elements/Field';
import Spinner from "../elements/Spinner";
import DialogButtons from "../elements/DialogButtons";
import {sendSentryReport} from "../../../sentry";
interface IProps {
onFinished: (success: boolean) => void;
initialText?: string;
label?: string;
error?: Error;
}
interface IState {
@ -113,6 +115,12 @@ export default class BugReportDialog extends React.Component<IProps, IState> {
});
}
});
// Send a Sentry report if the user agreed to send logs and if there's an error object (Sentry won't be very
// useful for grouping errors without exception information to aggregate with)
if (sendLogs) {
sendSentryReport(userText, this.props.label, this.props.error);
}
};
private onDownload = async (): Promise<void> => {

View file

@ -71,6 +71,7 @@ export default class ErrorBoundary extends React.PureComponent<{}, IState> {
private onBugReport = (): void => {
Modal.createTrackedDialog('Bug Report Dialog', '', BugReportDialog, {
label: 'react-soft-crash',
error: this.state.error
});
};