diff --git a/src/pages/Main/index.tsx b/src/pages/Main/index.tsx index d8a276bd..9facad8e 100644 --- a/src/pages/Main/index.tsx +++ b/src/pages/Main/index.tsx @@ -199,12 +199,6 @@ export default function Main(): JSX.Element { // eslint-disable-next-line @typescript-eslint/consistent-type-assertions }, {} as AsyncReturnType); const requestReload = useCallback(async (): Promise => { - const activeWorkspace = await window.service.workspace.getActiveWorkspace(); - if (activeWorkspace !== undefined) { - await window.service.workspace.updateMetaData(activeWorkspace.id, { - didFailLoadTimes: 0, - }); - } await window.service.window.reload(window.meta.windowName); }, []); diff --git a/src/services/view/error.ts b/src/services/view/error.ts index 8210d44a..2a7caaa4 100644 --- a/src/services/view/error.ts +++ b/src/services/view/error.ts @@ -1,9 +1,9 @@ import i18n from '@services/libs/i18n'; export class ViewLoadUrlError extends Error { - constructor(initialUrl: string, retryTimes?: number, additionalMessage = '') { + constructor(initialUrl: string, additionalMessage = '') { super(); this.name = i18n.t('Error.ViewLoadUrlError'); - this.message = `${i18n.t('Error.ViewLoadUrlErrorDescription')} initialUrl: ${initialUrl}, retryTimes: ${retryTimes ?? 'undefined'} ${additionalMessage}`; + this.message = `${i18n.t('Error.ViewLoadUrlErrorDescription')} initialUrl: ${initialUrl} ${additionalMessage}`; } } diff --git a/src/services/view/index.ts b/src/services/view/index.ts index 65ba938a..4c8b666e 100644 --- a/src/services/view/index.ts +++ b/src/services/view/index.ts @@ -290,7 +290,7 @@ export class View implements IViewService { }); /** * Try catch loadUrl, other wise it will throw unhandled promise rejection Error: ERR_CONNECTION_REFUSED (-102) loading 'http://localhost:5212/ - * We will set `didFailLoadErrorMessage`, and `didFailLoadTimes < LOAD_VIEW_MAX_RETRIES` in `setupViewEventHandlers`, it will set didFailLoadErrorMessage, and we throw actuarial error after that + * We will set `didFailLoadErrorMessage`, it will set didFailLoadErrorMessage, and we throw actuarial error after that */ const loadInitialUrlWithCatch = async (): Promise => { try { @@ -300,12 +300,7 @@ export class View implements IViewService { unregisterContextMenu(); }); } catch (error) { - let didFailLoadTimes = 0; - try { - const workspaceMetaData = await this.workspaceService.getMetaData(workspace.id); - didFailLoadTimes = workspaceMetaData.didFailLoadTimes ?? 0; - } catch {} - logger.error(new ViewLoadUrlError(hostReplacedUrl, didFailLoadTimes, `${(error as Error).message} ${(error as Error).stack ?? ''}`)); + logger.error(new ViewLoadUrlError(hostReplacedUrl, `${(error as Error).message} ${(error as Error).stack ?? ''}`)); } }; setupViewEventHandlers(view, browserWindow, { diff --git a/src/services/view/setupViewEventHandlers.ts b/src/services/view/setupViewEventHandlers.ts index 598d97f3..9a222f1e 100644 --- a/src/services/view/setupViewEventHandlers.ts +++ b/src/services/view/setupViewEventHandlers.ts @@ -87,7 +87,6 @@ export default function setupViewEventHandlers( // update isLoading to false when load succeed await workspaceService.updateMetaData(workspace.id, { isLoading: false, - didFailLoadTimes: 0, }); }); // focus on initial load @@ -105,7 +104,6 @@ export default function setupViewEventHandlers( // https://github.com/webcatalog/neutron/blob/3d9e65c255792672c8bc6da025513a5404d98730/main-src/libs/views.js#L397 view.webContents.on('did-fail-load', async (_event, errorCode, errorDesc, _validateUrl, isMainFrame) => { const [workspaceObject, workspaceMetaData] = await Promise.all([workspaceService.get(workspace.id), workspaceService.getMetaData(workspace.id)]); - const didFailLoadTimes = workspaceMetaData.didFailLoadTimes ?? 0; // this event might be triggered // even after the workspace obj and BrowserView // are destroyed. See https://github.com/atomery/webcatalog/issues/836 @@ -114,22 +112,14 @@ export default function setupViewEventHandlers( } if (isMainFrame && errorCode < 0 && errorCode !== -3) { // Fix nodejs wiki start slow on system startup, which cause `-102 ERR_CONNECTION_REFUSED` even if wiki said it is booted, we have to retry several times - if ( - errorCode === -102 && - view.webContents.getURL().length > 0 && - workspaceObject.homeUrl.startsWith('http') && - didFailLoadTimes < LOAD_VIEW_MAX_RETRIES - ) { + if (errorCode === -102 && view.webContents.getURL().length > 0 && workspaceObject.homeUrl.startsWith('http')) { setTimeout(async () => { - await workspaceService.updateMetaData(workspace.id, { - didFailLoadTimes: didFailLoadTimes + 1, - }); await loadInitialUrlWithCatch(); }, 1000); return; } await workspaceService.updateMetaData(workspace.id, { - didFailLoadErrorMessage: `${errorCode} ${errorDesc} , retryTimes: ${didFailLoadTimes}`, + didFailLoadErrorMessage: `${errorCode} ${errorDesc}`, }); if (workspaceObject.active && browserWindow !== undefined && !browserWindow.isDestroyed()) { // fix https://github.com/atomery/singlebox/issues/228 diff --git a/src/services/workspaces/interface.ts b/src/services/workspaces/interface.ts index cbf716d8..ccc2be8d 100644 --- a/src/services/workspaces/interface.ts +++ b/src/services/workspaces/interface.ts @@ -96,10 +96,6 @@ export interface IWorkspaceMetaData { * Error message if this workspace fails loading */ didFailLoadErrorMessage: string | null | undefined; - /** - * How many times did we retry failed - */ - didFailLoadTimes?: number; /** * indicating server or webpage is still loading */