import {StrictMode} from 'react';
import {createRoot} from 'react-dom/client';
import App from './App.tsx';
import './index.css';

if (typeof window !== 'undefined') {
  const isBenignError = (err: any): boolean => {
    if (!err) return false;
    const msg = typeof err === 'string' ? err : (err.message || '');
    const stack = err.stack || '';
    return (
      msg.includes('WebSocket') || 
      msg.includes('vite') || 
      stack.includes('vite') || 
      msg.includes('websocket')
    );
  };

  window.addEventListener('unhandledrejection', (event) => {
    if (isBenignError(event.reason)) {
      event.preventDefault();
      event.stopImmediatePropagation();
    }
  }, true);

  window.addEventListener('error', (event) => {
    if (isBenignError(event.message) || isBenignError(event.error)) {
      event.preventDefault();
      event.stopImmediatePropagation();
    }
  }, true);
}

createRoot(document.getElementById('root')!).render(
  <StrictMode>
    <App />
  </StrictMode>,
);
