feat: prevent duplicate initialization of Paarrot API and update server port
This commit is contained in:
@@ -18,6 +18,11 @@ import { getCallService } from './features/call/useCall';
|
|||||||
*/
|
*/
|
||||||
let navigateFunction: ((path: string) => void) | null = null;
|
let navigateFunction: ((path: string) => void) | null = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Track if the API has been initialized to prevent duplicate listeners
|
||||||
|
*/
|
||||||
|
let isInitialized = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the navigate function for programmatic navigation
|
* Set the navigate function for programmatic navigation
|
||||||
* Call this from your router setup
|
* Call this from your router setup
|
||||||
@@ -38,6 +43,13 @@ export function initPaarrotAPI(matrixClient: MatrixClient) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prevent duplicate registrations
|
||||||
|
if (isInitialized) {
|
||||||
|
console.log('Paarrot API: Already initialized, skipping');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
isInitialized = true;
|
||||||
|
|
||||||
console.log('Paarrot API: Initializing API handler');
|
console.log('Paarrot API: Initializing API handler');
|
||||||
|
|
||||||
// Listen for API actions from the Electron API server
|
// Listen for API actions from the Electron API server
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ import { getCurrentSession } from '../../state/sessions';
|
|||||||
import { CallProviderWrapper } from '../../features/call/CallProviderWrapper';
|
import { CallProviderWrapper } from '../../features/call/CallProviderWrapper';
|
||||||
import { isTauriMobile, startBackgroundSync, stopBackgroundSync } from '../../utils/tauri';
|
import { isTauriMobile, startBackgroundSync, stopBackgroundSync } from '../../utils/tauri';
|
||||||
import { TitleBar } from '../../components/title-bar';
|
import { TitleBar } from '../../components/title-bar';
|
||||||
import { initPaarrotAPI } from '../../paarrot-api';
|
|
||||||
import { AccountSwitcher } from '../../components/account-switcher';
|
import { AccountSwitcher } from '../../components/account-switcher';
|
||||||
import { getLoginPath, withSearchParam } from '../pathUtils';
|
import { getLoginPath, withSearchParam } from '../pathUtils';
|
||||||
|
|
||||||
@@ -178,13 +177,6 @@ export function ClientRoot({ children }: ClientRootProps) {
|
|||||||
useVisibilitySync(mx);
|
useVisibilitySync(mx);
|
||||||
useBackgroundSync(mx);
|
useBackgroundSync(mx);
|
||||||
|
|
||||||
// Initialize Paarrot API when client is ready
|
|
||||||
useEffect(() => {
|
|
||||||
if (mx) {
|
|
||||||
initPaarrotAPI(mx);
|
|
||||||
}
|
|
||||||
}, [mx]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (loadState.status === AsyncStatus.Idle) {
|
if (loadState.status === AsyncStatus.Idle) {
|
||||||
loadMatrix();
|
loadMatrix();
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ export default defineConfig({
|
|||||||
publicDir: false,
|
publicDir: false,
|
||||||
base: buildConfig.base,
|
base: buildConfig.base,
|
||||||
server: {
|
server: {
|
||||||
port: 8080,
|
port: 38347,
|
||||||
host: '0.0.0.0',
|
host: '0.0.0.0',
|
||||||
fs: {
|
fs: {
|
||||||
// Allow serving files from one level up to the project root
|
// Allow serving files from one level up to the project root
|
||||||
|
|||||||
Reference in New Issue
Block a user