34 lines
735 B
JavaScript
34 lines
735 B
JavaScript
![]() |
/*
|
||
|
* Dumb method to generate a unique (enough) ID for submissions to bugsnag
|
||
|
*/
|
||
|
function createErrorId() {
|
||
|
let result = ''
|
||
|
const characters = 'abcdefghijklmnopqrstuvwxyz0123456789'
|
||
|
const charactersLength = characters.length
|
||
|
for (let s = 0; s < 3; s++) {
|
||
|
for (let i = 0; i < 4; i++) {
|
||
|
result += characters.charAt(Math.floor(Math.random() * charactersLength))
|
||
|
}
|
||
|
if (s < 2) result += '-'
|
||
|
}
|
||
|
|
||
|
return result
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* The hook
|
||
|
*/
|
||
|
export function useBugsnag(bugsnag) {
|
||
|
const reportError = (err) => {
|
||
|
const id = createErrorId()
|
||
|
bugsnag.notify(err, (evt) => {
|
||
|
evt.setUser(account.username ? account.username : '__visitor')
|
||
|
evt.context = id
|
||
|
})
|
||
|
|
||
|
return id
|
||
|
}
|
||
|
|
||
|
return reportError
|
||
|
}
|