import React from "react"; import ReactDOM from "react-dom/client"; import { invoke } from "@tauri-apps/api/core"; import App from "./App"; import { I18nProvider } from "./i18n"; import "./index.css"; class ErrorBoundary extends React.Component< { children: React.ReactNode }, { error: Error | null } > { constructor(props: { children: React.ReactNode }) { super(props); this.state = { error: null }; } static getDerivedStateFromError(error: Error) { return { error }; } componentDidCatch(error: Error, info: React.ErrorInfo) { const payload = `${error.toString()}\n${info.componentStack || ""}`; console.error("React render error:", payload); try { invoke("debug_log", { message: payload }).catch(() => {}); } catch { // ignore } } render() { if (this.state.error) { return (
{this.state.error.toString()}
{(this.state.error as Error).stack}