Suppress some errors, Upload source maps to Sentry (#845)

This commit is contained in:
Piotr Rogowski 2022-10-25 22:47:49 +02:00 committed by GitHub
parent b978b051d4
commit 6d42bc12bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 51 additions and 19 deletions

View File

@ -16,6 +16,12 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "lts/*"
cache: "npm"
- run: npm install
- run: npm run build
- name: Sentry Release - name: Sentry Release
uses: getsentry/action-release@v1.2.0 uses: getsentry/action-release@v1.2.0
env: env:
@ -25,3 +31,4 @@ jobs:
with: with:
environment: production environment: production
ignore_empty: true ignore_empty: true
sourcemaps: './build/assets'

View File

@ -6,10 +6,10 @@ import {
useMemo, useMemo,
useState, useState,
} from 'react'; } from 'react';
import { User } from 'pocketbase';
import { import {
client, client,
formatError, formatError,
User,
} from '../pocketbase'; } from '../pocketbase';
import { buildRedirectUrl } from '../utils/url'; import { buildRedirectUrl } from '../utils/url';
import { Collections } from '../@types/pocketbase-types'; import { Collections } from '../@types/pocketbase-types';

View File

@ -2,6 +2,7 @@ import * as Sentry from '@sentry/browser';
import { import {
client, client,
formatError, formatError,
ClientResponseError,
} from '../pocketbase'; } from '../pocketbase';
import { import {
IniFilesRecordFull, IniFilesRecordFull,
@ -49,6 +50,10 @@ const useDb = () => {
return Promise.resolve(tune.totalItems > 0 ? tune.items[0] as TunesRecordFull : null); return Promise.resolve(tune.totalItems > 0 ? tune.items[0] as TunesRecordFull : null);
} catch (error) { } catch (error) {
if ((error as ClientResponseError).isAbort) {
return Promise.reject(new Error('Cancelled'));
}
Sentry.captureException(error); Sentry.captureException(error);
databaseGenericError(new Error(formatError(error))); databaseGenericError(new Error(formatError(error)));
@ -64,6 +69,10 @@ const useDb = () => {
return Promise.resolve(tune.totalItems > 0 ? tune.items[0] as IniFilesRecordFull : null); return Promise.resolve(tune.totalItems > 0 ? tune.items[0] as IniFilesRecordFull : null);
} catch (error) { } catch (error) {
if ((error as ClientResponseError).isAbort) {
return Promise.reject(new Error('Cancelled'));
}
Sentry.captureException(error); Sentry.captureException(error);
databaseGenericError(new Error(formatError(error))); databaseGenericError(new Error(formatError(error)));
@ -90,6 +99,10 @@ const useDb = () => {
totalItems: list.totalItems, totalItems: list.totalItems,
}); });
} catch (error) { } catch (error) {
if ((error as ClientResponseError).isAbort) {
return Promise.reject(new Error('Cancelled'));
}
Sentry.captureException(error); Sentry.captureException(error);
databaseGenericError(new Error(formatError(error))); databaseGenericError(new Error(formatError(error)));

View File

@ -57,6 +57,7 @@ const Hub = () => {
const loadData = debounce(async (searchText: string) => { const loadData = debounce(async (searchText: string) => {
setIsLoading(true); setIsLoading(true);
try {
const { items, totalItems } = await searchTunes(searchText, page, pageSize); const { items, totalItems } = await searchTunes(searchText, page, pageSize);
setTotal(totalItems); setTotal(totalItems);
const mapped = items.map((tune) => ({ const mapped = items.map((tune) => ({
@ -70,7 +71,11 @@ const Hub = () => {
stars: 0, stars: 0,
})); }));
setDataSource(mapped); setDataSource(mapped);
} catch (error) {
// request cancelled
} finally {
setIsLoading(false); setIsLoading(false);
}
}, 300); }, 300);
const debounceLoadData = useCallback((value: string) => { const debounceLoadData = useCallback((value: string) => {

View File

@ -1,4 +1,8 @@
import PocketBase from 'pocketbase'; import PocketBase, {
ClientResponseError,
User,
Record,
} from 'pocketbase';
import { fetchEnv } from './utils/env'; import { fetchEnv } from './utils/env';
const API_URL = fetchEnv('VITE_POCKETBASE_API_URL'); const API_URL = fetchEnv('VITE_POCKETBASE_API_URL');
@ -28,4 +32,7 @@ export {
formatError, formatError,
formatTime, formatTime,
removeFilenameSuffix, removeFilenameSuffix,
ClientResponseError,
User,
Record,
}; };

View File

@ -1,4 +1,4 @@
import { Record } from 'pocketbase'; import { Record } from '../pocketbase';
import { import {
IniFilesRecord, IniFilesRecord,
ProfilesRecord, ProfilesRecord,

View File

@ -5,7 +5,7 @@ import { visualizer } from 'rollup-plugin-visualizer';
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig({
build: { build: {
outDir: 'build', // This changes the out put dir from dist to build outDir: 'build',
sourcemap: true, sourcemap: true,
rollupOptions: { rollupOptions: {
output: { output: {