fixing errors

This commit is contained in:
Sriram Hariharan
2023-09-17 14:55:33 -05:00
parent 4ae2966e98
commit e199a0b766
13 changed files with 26 additions and 51 deletions

View File

@@ -1,11 +1,8 @@
import { MessageListener } from 'chrome-extension-toolkit';
import { BACKGROUND_MESSAGES } from 'src/shared/messages';
import { generateRandomId } from 'src/shared/util/random';
import onInstall from './events/onInstall';
import onNewChromeSession from './events/onNewChromeSession';
import onServiceWorkerAlive from './events/onServiceWorkerAlive';
import onUpdate from './events/onUpdate';
import { sessionStore } from '../shared/storage/SessionStore';
import browserActionHandler from './handler/browserActionHandler';
import hotReloadingHandler from './handler/hotReloadingHandler';
import tabManagementHandler from './handler/tabManagementHandler';
@@ -39,10 +36,3 @@ const messageListener = new MessageListener<BACKGROUND_MESSAGES>({
});
messageListener.listen();
sessionStore.get('chromeSessionId').then(async chromeSessionId => {
if (!chromeSessionId) {
await sessionStore.set('chromeSessionId', generateRandomId(10));
onNewChromeSession();
}
});

View File

@@ -1,8 +1,8 @@
import { extensionStore } from '../../shared/storage/ExtensionStore';
import { ExtensionStore } from '../../shared/storage/ExtensionStore';
/**
* Called when the extension is first installed or synced onto a new machine
*/
export default async function onInstall() {
await extensionStore.set('version', chrome.runtime.getManifest().version);
await ExtensionStore.set('version', chrome.runtime.getManifest().version);
}

View File

@@ -1,4 +0,0 @@
/**
* This function is called when the user's browser opens for the first time
*/
export default function onNewChromeSession() {}

View File

@@ -1,11 +1,11 @@
import { hotReloadTab } from 'src/background/util/hotReloadTab';
import { extensionStore } from '../../shared/storage/ExtensionStore';
import { ExtensionStore } from '../../shared/storage/ExtensionStore';
/**
* Called when the extension is updated (or when the extension is reloaded in development mode)
*/
export default async function onUpdate() {
await extensionStore.set({
await ExtensionStore.set({
version: chrome.runtime.getManifest().version,
lastUpdate: Date.now(),
});

View File

@@ -1,17 +1,17 @@
import HotReloadingMessages from 'src/shared/messages/HotReloadingMessages';
import { MessageHandler } from 'chrome-extension-toolkit';
import { devStore } from 'src/shared/storage/DevStore';
import { DevStore } from 'src/shared/storage/DevStore';
const hotReloadingHandler: MessageHandler<HotReloadingMessages> = {
async reloadExtension({ sendResponse }) {
const { isExtensionReloading, isTabReloading } = await devStore.get(['isExtensionReloading', 'isTabReloading']);
const { isExtensionReloading, isTabReloading } = await DevStore.get(['isExtensionReloading', 'isTabReloading']);
if (!isExtensionReloading) return sendResponse();
if (isTabReloading) {
const tabs = await chrome.tabs.query({ active: true, currentWindow: true });
const tabToReload = tabs[0];
await devStore.set('reloadTabId', tabToReload?.id);
await DevStore.set('reloadTabId', tabToReload?.id);
}
chrome.runtime.reload();
},

View File

@@ -1,4 +1,4 @@
import { devStore } from 'src/shared/storage/DevStore';
import { DevStore } from 'src/shared/storage/DevStore';
/**
* A list of websites that we don't want to reload when the extension reloads (becuase it'd be hella annoying lmao)
@@ -24,7 +24,7 @@ const HOT_RELOADING_WHITELIST = [
* @returns a promise that resolves when the tab is reloaded
*/
export async function hotReloadTab(): Promise<void> {
const { isTabReloading, reloadTabId } = await devStore.get(['isTabReloading', 'reloadTabId']);
const { isTabReloading, reloadTabId } = await DevStore.get(['isTabReloading', 'reloadTabId']);
if (!isTabReloading || !reloadTabId) return;

View File

@@ -1,11 +1,11 @@
import { devStore } from 'src/shared/storage/DevStore';
import { DevStore } from 'src/shared/storage/DevStore';
/**
* Open the debug tab as the first tab
*/
export async function openDebugTab() {
if (process.env.NODE_ENV === 'development') {
const { debugTabId, wasDebugTabVisible } = await devStore.get(['debugTabId', 'wasDebugTabVisible']);
const { debugTabId, wasDebugTabVisible } = await DevStore.get(['debugTabId', 'wasDebugTabVisible']);
const isAlreadyOpen = await (await chrome.tabs.query({})).some(tab => tab.id === debugTabId);
if (isAlreadyOpen) return;
@@ -17,6 +17,6 @@ export async function openDebugTab() {
index: 0,
});
await devStore.set('debugTabId', tab.id);
await DevStore.set('debugTabId', tab.id);
}
}

View File

@@ -1,7 +1,7 @@
import './hotReload';
import React, { useEffect } from 'react';
import { render } from 'react-dom';
import { devStore } from 'src/shared/storage/DevStore';
import { DevStore } from 'src/shared/storage/DevStore';
const manifest = chrome.runtime.getManifest();
@@ -69,7 +69,7 @@ function DevDashboard() {
useEffect(() => {
const onVisibilityChange = () => {
devStore.set('wasDebugTabVisible', document.visibilityState === 'visible');
DevStore.set('wasDebugTabVisible', document.visibilityState === 'visible');
};
document.addEventListener('visibilitychange', onVisibilityChange);
return () => {

View File

@@ -16,7 +16,7 @@ interface IDevStore {
reloadTabId?: number;
}
export const devStore = createLocalStore<IDevStore>({
export const DevStore = createLocalStore<IDevStore>({
debugTabId: undefined,
isTabReloading: true,
wasDebugTabVisible: false,
@@ -24,4 +24,4 @@ export const devStore = createLocalStore<IDevStore>({
reloadTabId: undefined,
});
debugStore({ devStore });
debugStore({ devStore: DevStore });

View File

@@ -10,9 +10,9 @@ interface IExtensionStore {
lastUpdate: number;
}
export const extensionStore = createLocalStore<IExtensionStore>({
export const ExtensionStore = createLocalStore<IExtensionStore>({
version: chrome.runtime.getManifest().version,
lastUpdate: Date.now(),
});
debugStore({ extensionStore });
debugStore({ ExtensionStore });

View File

@@ -1,11 +0,0 @@
import { createSessionStore, debugStore } from 'chrome-extension-toolkit';
interface ISessionStore {
chromeSessionId?: string;
}
export const sessionStore = createSessionStore<ISessionStore>({
chromeSessionId: undefined,
});
debugStore({ sessionStore });