46 lines
1.7 KiB
JavaScript
46 lines
1.7 KiB
JavaScript
import React from 'react'
|
|
import ReactDOM from 'react-dom/client'
|
|
import App from './App.jsx'
|
|
import './index.css'
|
|
|
|
// Global error handler برای unhandled promise rejections
|
|
if (typeof window !== 'undefined') {
|
|
window.addEventListener('unhandledrejection', (event) => {
|
|
// فیلتر کردن خطاهای مربوط به extension های مرورگر
|
|
const errorMessage = event.reason?.message || '';
|
|
const isExtensionError = errorMessage.includes('Could not establish connection') ||
|
|
errorMessage.includes('Receiving end does not exist') ||
|
|
errorMessage.includes('Extension context invalidated');
|
|
|
|
if (isExtensionError) {
|
|
// جلوگیری از نمایش خطاهای extension
|
|
event.preventDefault();
|
|
console.warn('Extension error suppressed:', errorMessage);
|
|
return;
|
|
}
|
|
|
|
// برای خطاهای دیگر، لاگ کنیم اما preventDefault نکنیم
|
|
console.error('Unhandled promise rejection:', event.reason);
|
|
});
|
|
|
|
// Global error handler برای خطاهای عمومی
|
|
window.addEventListener('error', (event) => {
|
|
const errorMessage = event.message || '';
|
|
const isExtensionError = errorMessage.includes('Could not establish connection') ||
|
|
errorMessage.includes('Receiving end does not exist') ||
|
|
errorMessage.includes('Extension context invalidated');
|
|
|
|
if (isExtensionError) {
|
|
event.preventDefault();
|
|
console.warn('Extension error suppressed:', errorMessage);
|
|
return;
|
|
}
|
|
});
|
|
}
|
|
|
|
ReactDOM.createRoot(document.getElementById('root')).render(
|
|
<React.StrictMode>
|
|
<App />
|
|
</React.StrictMode>,
|
|
)
|