2025-06-12 21:59:59 +03:00
|
|
|
import server from "../services/server";
|
|
|
|
|
import Component from "./component";
|
|
|
|
|
|
2025-06-12 22:16:57 +03:00
|
|
|
// TODO: Deduplicate.
|
|
|
|
|
interface CpuArchResponse {
|
|
|
|
|
isCpuArchMismatch: boolean;
|
|
|
|
|
}
|
|
|
|
|
|
2025-06-12 21:59:59 +03:00
|
|
|
export class StartupChecks extends Component {
|
|
|
|
|
|
|
|
|
|
constructor() {
|
|
|
|
|
super();
|
|
|
|
|
this.checkRosetta2Warning();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async checkRosetta2Warning() {
|
|
|
|
|
try {
|
|
|
|
|
// Check if running under Rosetta 2 by calling the server
|
2025-06-12 22:16:57 +03:00
|
|
|
const response = await server.get("system-checks") as CpuArchResponse;
|
|
|
|
|
if (response.isCpuArchMismatch) {
|
2025-06-12 21:59:59 +03:00
|
|
|
// Trigger the Rosetta 2 warning dialog
|
2025-06-12 22:16:57 +03:00
|
|
|
this.triggerCommand("showCpuArchWarning", {});
|
2025-06-12 21:59:59 +03:00
|
|
|
}
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.warn("Could not check Rosetta 2 status:", error);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|