add better CGO warnings
This commit is contained in:
@@ -52,6 +52,8 @@ const macosSdkRightsInput = document.getElementById("macos-sdk-rights");
|
||||
const macosSdkFileStatus = document.getElementById("macos-sdk-file-status");
|
||||
const macosSdkHostWarning = document.getElementById("macos-sdk-host-warning");
|
||||
const macosSdkHostPlatform = document.getElementById("macos-sdk-host-platform");
|
||||
const disableCgoInput = document.querySelector('input[name="disable-cgo"]');
|
||||
const disableCgoWarning = document.getElementById("disable-cgo-warning");
|
||||
|
||||
let currentServerVersion = null;
|
||||
let currentUserRole = null;
|
||||
@@ -88,6 +90,10 @@ function updateMacosSdkVisibility() {
|
||||
if (macosSdkHostPlatform && unsupportedHost) macosSdkHostPlatform.textContent = macosSdkServerHost;
|
||||
}
|
||||
|
||||
function updateDisableCgoWarning() {
|
||||
disableCgoWarning?.classList.toggle("hidden", !disableCgoInput?.checked);
|
||||
}
|
||||
|
||||
async function uploadMacosSdk() {
|
||||
const file = macosSdkFileInput?.files?.[0];
|
||||
if (!file) throw new Error("Select a macOS SDK archive for this Darwin CGO build");
|
||||
@@ -705,6 +711,8 @@ function applyFormSettings(settings) {
|
||||
updateIosSectionVisibility();
|
||||
updatePersistenceSettingsVisibility();
|
||||
updateShellcodeCheckboxVisibility();
|
||||
updateDisableCgoWarning();
|
||||
updateMacosSdkVisibility();
|
||||
if (solMemoCheckbox && solSettings) {
|
||||
solSettings.classList.toggle("hidden", !solMemoCheckbox.checked);
|
||||
}
|
||||
@@ -955,6 +963,7 @@ loadBuildPlugins();
|
||||
loadMacosSdkStatus();
|
||||
updateWindowsSectionVisibility();
|
||||
updateShellcodeCheckboxVisibility();
|
||||
updateDisableCgoWarning();
|
||||
init();
|
||||
|
||||
if (solMemoCheckbox && solSettings) {
|
||||
@@ -1134,7 +1143,8 @@ platformInputs.forEach((input) => {
|
||||
input.addEventListener("change", updateMacosSdkVisibility);
|
||||
});
|
||||
|
||||
document.querySelector('input[name="disable-cgo"]')?.addEventListener("change", updateMacosSdkVisibility);
|
||||
disableCgoInput?.addEventListener("change", updateMacosSdkVisibility);
|
||||
disableCgoInput?.addEventListener("change", updateDisableCgoWarning);
|
||||
macosSdkFileInput?.addEventListener("change", () => {
|
||||
const file = macosSdkFileInput.files?.[0];
|
||||
if (macosSdkFileStatus && file) macosSdkFileStatus.textContent = `${file.name} selected (${formatFileSize(file.size)}).`;
|
||||
@@ -1803,6 +1813,13 @@ form?.addEventListener("submit", async (e) => {
|
||||
return;
|
||||
}
|
||||
|
||||
if (disableCgoInput?.checked && !confirm(
|
||||
"CGO is disabled. Native features such as voice/audio, macOS keystroke capture and permission checks, native Linux/macOS plugins, and Windows GPU encoder integrations may not work.\n\nContinue with a limited CGO-disabled build?"
|
||||
)) {
|
||||
disableCgoInput.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
if (needsMacosSdkUpload() && (!macosSdkFileInput?.files?.[0] || !macosSdkRightsInput?.checked)) {
|
||||
alert(!macosSdkFileInput?.files?.[0]
|
||||
? "Select a macOS SDK archive for this Darwin CGO build."
|
||||
|
||||
Reference in New Issue
Block a user