Skip to content

Commit c38e40e

Browse files
committed
Refactor app flows and update UI components across core modules
1 parent 113afca commit c38e40e

23 files changed

Lines changed: 4364 additions & 518 deletions

assets/inject/renderer-inject.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1580,11 +1580,31 @@
15801580
}
15811581

15821582
async function setBackendSetting(key, value) {
1583+
const previousSettings = codexPlusBackendSettings;
15831584
codexPlusBackendSettings = { ...codexPlusBackendSettings, [key]: value };
15841585
refreshCodexPlusBackendToggles();
15851586
try {
1586-
const settings = await postJson("/settings/set", { [key]: value });
1587+
const settings = await postJson("/settings/set", { [key]: value }, { timeoutMs: 15000 });
1588+
if (!settings || settings.status !== "ok") {
1589+
codexPlusBackendSettings = previousSettings;
1590+
sendCodexPlusDiagnostic("backend_setting_save_failed", {
1591+
key,
1592+
status: settings?.status || "failed",
1593+
message: settings?.message || "设置保存失败",
1594+
timeout: !!settings?.timeout,
1595+
});
1596+
return false;
1597+
}
15871598
codexPlusBackendSettings = { ...codexPlusBackendSettings, ...settings };
1599+
return true;
1600+
} catch (error) {
1601+
codexPlusBackendSettings = previousSettings;
1602+
sendCodexPlusDiagnostic("backend_setting_save_failed", {
1603+
key,
1604+
status: "failed",
1605+
message: error?.message || String(error),
1606+
});
1607+
return false;
15881608
} finally {
15891609
refreshCodexPlusBackendToggles();
15901610
}

bridge.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ func (r *launcherRuntime) setBridgeSettings(payload map[string]any) map[string]a
257257
if err := saveSettings(settings); err != nil {
258258
return map[string]any{"status": "failed", "message": err.Error()}
259259
}
260-
r.settings = settings
260+
r.setRuntimeSettings(settings)
261261
result := r.bridgeSettingsValue(settings)
262262
result["status"] = "ok"
263263
return result
@@ -519,7 +519,7 @@ func (r *launcherRuntime) installBridge(ctx context.Context, websocketURL string
519519
_ = conn.Close()
520520
return err
521521
}
522-
scripts := []string{injectionScript(helperPort, r.settings)}
522+
scripts := []string{injectionScript(helperPort, r.runtimeSettingsSnapshot())}
523523
if bundle := enabledUserScriptBundle(); strings.TrimSpace(bundle) != "" {
524524
scripts = append(scripts, bundle)
525525
}

conversation_history_repair.go

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -720,29 +720,9 @@ func createConversationHistoryRepairBackupDir(home string) (string, error) {
720720
}
721721

722722
func acquireConversationHistoryRepairLock(home string) (func(), error) {
723-
lockDir := filepath.Join(home, "tmp", "provider-sync.lock")
724-
if err := os.MkdirAll(filepath.Dir(lockDir), 0o755); err != nil {
725-
return nil, fmt.Errorf("创建历史维护锁目录失败:%w", err)
726-
}
727-
acquired := false
728-
if err := os.Mkdir(lockDir, 0o755); err == nil {
729-
acquired = true
730-
} else if stale, reason := providerSyncLockStale(lockDir, time.Now()); stale {
731-
appendDiagnosticLog("conversation_history_repair.stale_lock_removed", map[string]any{"lock": lockDir, "reason": reason})
732-
if removeErr := os.RemoveAll(lockDir); removeErr == nil {
733-
if retryErr := os.Mkdir(lockDir, 0o755); retryErr == nil {
734-
acquired = true
735-
}
736-
}
737-
}
738-
if !acquired {
739-
return nil, errors.New("另一个历史会话维护任务正在运行,请稍后重试")
740-
}
741-
release := func() { _ = os.RemoveAll(lockDir) }
742-
owner := []byte(fmt.Sprintf(`{"pid":%d,"startedAt":%d,"operation":"conversation-history-repair"}`, os.Getpid(), time.Now().Unix()))
743-
if err := os.WriteFile(filepath.Join(lockDir, "owner.json"), owner, 0o644); err != nil {
744-
release()
745-
return nil, fmt.Errorf("写入历史维护锁失败:%w", err)
723+
release, err := acquireProviderSyncLock(home, "conversation-history-repair")
724+
if err != nil {
725+
return nil, fmt.Errorf("另一个历史会话维护任务正在运行,请稍后重试:%w", err)
746726
}
747727
return release, nil
748728
}

0 commit comments

Comments
 (0)