Skip to content

Commit 1531253

Browse files
authored
Revert "feat: add global retry settings and endpoint filtering (#38)"
This reverts commit 81ece2b.
1 parent 979e588 commit 1531253

File tree

13 files changed

+37
-259
lines changed

13 files changed

+37
-259
lines changed

app.go

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1077,46 +1077,6 @@ func (a *App) UpdatePort(port int) error {
10771077
return nil
10781078
}
10791079

1080-
// GetRetryCount returns global retry count
1081-
func (a *App) GetRetryCount() int {
1082-
return a.config.GetRetryCount()
1083-
}
1084-
1085-
// GetRetryDelaySec returns global retry delay in seconds
1086-
func (a *App) GetRetryDelaySec() int {
1087-
return a.config.GetRetryDelaySec()
1088-
}
1089-
1090-
// SetRetrySettings updates global retry settings
1091-
func (a *App) SetRetrySettings(retryCount, retryDelaySec int) error {
1092-
if retryCount < 1 || retryCount > 10 {
1093-
return fmt.Errorf("retryCount must be between 1 and 10, got %d", retryCount)
1094-
}
1095-
if retryDelaySec < 0 || retryDelaySec > 300 {
1096-
return fmt.Errorf("retryDelaySec must be between 0 and 300, got %d", retryDelaySec)
1097-
}
1098-
1099-
a.config.UpdateRetrySettings(retryCount, retryDelaySec)
1100-
1101-
if err := a.config.Validate(); err != nil {
1102-
return err
1103-
}
1104-
1105-
if err := a.proxy.UpdateConfig(a.config); err != nil {
1106-
return err
1107-
}
1108-
1109-
if a.storage != nil {
1110-
configAdapter := storage.NewConfigStorageAdapter(a.storage)
1111-
if err := a.config.SaveToStorage(configAdapter); err != nil {
1112-
return fmt.Errorf("failed to save retry settings: %w", err)
1113-
}
1114-
}
1115-
1116-
logger.Info("Retry settings updated: count=%d, delay=%ds", retryCount, retryDelaySec)
1117-
return nil
1118-
}
1119-
11201080
// ToggleEndpoint toggles the enabled state of an endpoint
11211081
func (a *App) ToggleEndpoint(index int, enabled bool) error {
11221082
endpoints := a.config.GetEndpoints()

frontend/src/i18n/en.js

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ export default {
6666
portUpdateFailed: 'Failed to update port: {error}',
6767
requiredFields: 'Please fill in all required fields',
6868
modelRequired: 'Model field is required for {transformer} transformer',
69-
retryCountInvalid: 'Retry count must be between 1 and 10',
70-
retryDelayInvalid: 'Retry delay must be between 0 and 300 seconds',
7169
saveFailed: 'Failed to save: {error}',
7270
confirmDelete: 'Are you sure you want to delete endpoint "{name}"?',
7371
deleteFailed: 'Failed to delete: {error}'
@@ -157,12 +155,6 @@ export default {
157155
minimize: 'Minimize to Tray',
158156
ask: 'Ask Every Time'
159157
},
160-
retryCount: 'Retry Count',
161-
retryCountHelp: 'Global retries per endpoint before switching (1-10)',
162-
retryDelaySec: 'Retry Delay (seconds)',
163-
retryDelaySecHelp: 'Global wait time between retries (0-300 seconds)',
164-
retryCountInvalid: 'Retry count must be between 1 and 10',
165-
retryDelayInvalid: 'Retry delay must be between 0 and 300 seconds',
166158
languageHelp: 'Select the interface display language',
167159
save: 'Save',
168160
cancel: 'Cancel',

frontend/src/i18n/zh-CN.js

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ export default {
6666
portUpdateFailed: '端口修改失败:{error}',
6767
requiredFields: '请填写所有必填项',
6868
modelRequired: '使用 {transformer} 转换器时,模型字段为必填项',
69-
retryCountInvalid: '重试次数需在 1-10 之间',
70-
retryDelayInvalid: '重试间隔需在 0-300 秒之间',
7169
saveFailed: '保存失败:{error}',
7270
confirmDelete: '确认删除端点 "{name}" 吗?',
7371
deleteFailed: '删除失败:{error}'
@@ -157,12 +155,6 @@ export default {
157155
minimize: '最小化到托盘',
158156
ask: '每次询问'
159157
},
160-
retryCount: '重试次数',
161-
retryCountHelp: '全局每个端点的连续重试次数,超出后切换(1-10)',
162-
retryDelaySec: '重试间隔(秒)',
163-
retryDelaySecHelp: '全局每次重试前等待时间(0-300 秒)',
164-
retryCountInvalid: '重试次数需在 1-10 之间',
165-
retryDelayInvalid: '重试间隔需在 0-300 秒之间',
166158
languageHelp: '选择界面显示语言',
167159
save: '保存',
168160
cancel: '取消',

frontend/src/main.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { setLanguage } from './i18n/index.js'
44
import { initUI, changeLanguage } from './modules/ui.js'
55
import { loadConfig } from './modules/config.js'
66
import { loadStats, switchStatsPeriod, loadStatsByPeriod, getCurrentPeriod } from './modules/stats.js'
7-
import { renderEndpoints, toggleEndpointPanel, setTransformerFilter } from './modules/endpoints.js'
7+
import { renderEndpoints, toggleEndpointPanel } from './modules/endpoints.js'
88
import { loadLogs, toggleLogPanel, changeLogLevel, copyLogs, clearLogs } from './modules/logs.js'
99
import { showDataSyncDialog } from './modules/webdav.js'
1010
import { initTips } from './modules/tips.js'
@@ -154,7 +154,6 @@ window.minimizeToTray = minimizeToTray;
154154
window.showDataSyncDialog = showDataSyncDialog;
155155
window.switchStatsPeriod = switchStatsPeriod;
156156
window.toggleEndpointPanel = toggleEndpointPanel;
157-
window.setTransformerFilter = setTransformerFilter;
158157
window.showSettingsModal = showSettingsModal;
159158
window.closeSettingsModal = closeSettingsModal;
160159
window.saveSettings = saveSettings;

frontend/src/modules/endpoints.js

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ let currentTestButton = null;
77
let currentTestButtonOriginalText = '';
88
let currentTestIndex = -1;
99
let endpointPanelExpanded = true;
10-
let currentTransformerFilter = 'claude';
1110

1211
function copyToClipboard(text, button) {
1312
navigator.clipboard.writeText(text).then(() => {
@@ -39,15 +38,6 @@ export function setTestState(button, index) {
3938

4039
export async function renderEndpoints(endpoints) {
4140
const container = document.getElementById('endpointList');
42-
const filterTabs = document.getElementById('endpointFilterTabs');
43-
if (filterTabs) {
44-
filterTabs.querySelectorAll('.endpoint-filter-btn').forEach((btn) => {
45-
const isActive = btn.dataset.transformer === currentTransformerFilter;
46-
btn.classList.toggle('active', isActive);
47-
btn.classList.toggle('btn-primary', isActive);
48-
btn.classList.toggle('btn-secondary', !isActive);
49-
});
50-
}
5141

5242
// Get current endpoint
5343
let currentEndpointName = '';
@@ -70,16 +60,11 @@ export async function renderEndpoints(endpoints) {
7060

7161
const endpointStats = getEndpointStats();
7262
// Display endpoints in config file order (no sorting by enabled status)
73-
const sortedEndpoints = endpoints
74-
.map((ep, index) => {
75-
const stats = endpointStats[ep.name] || { requests: 0, errors: 0, inputTokens: 0, outputTokens: 0 };
76-
const enabled = ep.enabled !== undefined ? ep.enabled : true;
77-
return { endpoint: ep, originalIndex: index, stats, enabled };
78-
})
79-
.filter(({ endpoint: ep }) => {
80-
const transformer = ep.transformer || 'claude';
81-
return transformer === currentTransformerFilter;
82-
});
63+
const sortedEndpoints = endpoints.map((ep, index) => {
64+
const stats = endpointStats[ep.name] || { requests: 0, errors: 0, inputTokens: 0, outputTokens: 0 };
65+
const enabled = ep.enabled !== undefined ? ep.enabled : true;
66+
return { endpoint: ep, originalIndex: index, stats, enabled };
67+
});
8368

8469
sortedEndpoints.forEach(({ endpoint: ep, originalIndex: index, stats }) => {
8570
const totalTokens = stats.inputTokens + stats.outputTokens;
@@ -208,11 +193,6 @@ export function toggleEndpointPanel() {
208193
}
209194
}
210195

211-
export function setTransformerFilter(transformer) {
212-
currentTransformerFilter = transformer || 'claude';
213-
window.loadConfig(); // re-render with new filter
214-
}
215-
216196
// Drag and drop state
217197
let draggedElement = null;
218198
let draggedOverElement = null;

frontend/src/modules/settings.js

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -152,13 +152,6 @@ async function loadCurrentSettings() {
152152
behaviorSelect.value = closeWindowBehavior;
153153
}
154154

155-
const retryCount = config.retryCount ?? 2;
156-
const retryDelaySec = config.retryDelaySec ?? 0;
157-
const retryCountInput = document.getElementById('settingsRetryCount');
158-
const retryDelayInput = document.getElementById('settingsRetryDelaySec');
159-
if (retryCountInput) retryCountInput.value = retryCount;
160-
if (retryDelayInput) retryDelayInput.value = retryDelaySec;
161-
162155
// Set language
163156
const language = config.language || 'zh-CN';
164157
const languageSelect = document.getElementById('settingsLanguage');
@@ -282,19 +275,6 @@ export async function saveSettings() {
282275
const language = document.getElementById('settingsLanguage').value;
283276
const theme = document.getElementById('settingsTheme').value;
284277
const themeAuto = document.getElementById('settingsThemeAuto').checked;
285-
const retryCountInput = document.getElementById('settingsRetryCount');
286-
const retryDelayInput = document.getElementById('settingsRetryDelaySec');
287-
const retryCount = parseInt(retryCountInput?.value ?? '2', 10);
288-
const retryDelaySec = parseInt(retryDelayInput?.value ?? '0', 10);
289-
290-
if (Number.isNaN(retryCount) || retryCount < 1 || retryCount > 10) {
291-
showNotification(t('settings.retryCountInvalid'), 'error');
292-
return;
293-
}
294-
if (Number.isNaN(retryDelaySec) || retryDelaySec < 0 || retryDelaySec > 300) {
295-
showNotification(t('settings.retryDelayInvalid'), 'error');
296-
return;
297-
}
298278

299279
// Save close window behavior
300280
await window.go.main.App.SetCloseWindowBehavior(closeWindowBehavior);
@@ -313,11 +293,6 @@ export async function saveSettings() {
313293
await window.go.main.App.SetThemeAuto(themeAuto);
314294
}
315295

316-
// Save retry settings if changed
317-
if (config.retryCount !== retryCount || config.retryDelaySec !== retryDelaySec) {
318-
await window.go.main.App.SetRetrySettings(retryCount, retryDelaySec);
319-
}
320-
321296
// Apply theme based on final settings
322297
stopAutoThemeCheck();
323298
if (themeAuto) {

frontend/src/modules/ui.js

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -192,18 +192,11 @@ export function initUI() {
192192
<!-- Endpoints -->
193193
<div class="card">
194194
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;">
195-
<div style="display: flex; align-items: center; gap: 15px; flex-wrap: wrap;">
196-
<div style="display: flex; align-items: center; gap: 10px;">
197-
<h2 style="margin: 0;">🔗 ${t('endpoints.title')}</h2>
198-
<button class="endpoint-toggle-btn" onclick="window.toggleEndpointPanel()">
199-
<span id="endpointToggleIcon">🔼</span> <span id="endpointToggleText">${t('endpoints.collapse')}</span>
200-
</button>
201-
</div>
202-
<div id="endpointFilterTabs" style="display: flex; gap: 8px; flex-wrap: wrap;">
203-
<button class="btn btn-secondary endpoint-filter-btn active" data-transformer="claude" onclick="window.setTransformerFilter('claude')">Claude</button>
204-
<button class="btn btn-secondary endpoint-filter-btn" data-transformer="openai" onclick="window.setTransformerFilter('openai')">OpenAI</button>
205-
<button class="btn btn-secondary endpoint-filter-btn" data-transformer="gemini" onclick="window.setTransformerFilter('gemini')">Gemini</button>
206-
</div>
195+
<div style="display: flex; align-items: center; gap: 15px;">
196+
<h2 style="margin: 0;">🔗 ${t('endpoints.title')}</h2>
197+
<button class="endpoint-toggle-btn" onclick="window.toggleEndpointPanel()">
198+
<span id="endpointToggleIcon">🔼</span> <span id="endpointToggleText">${t('endpoints.collapse')}</span>
199+
</button>
207200
</div>
208201
<div style="display: flex; gap: 10px;">
209202
<button class="btn btn-secondary" onclick="window.showDataSyncDialog()">
@@ -493,20 +486,6 @@ export function initUI() {
493486
${t('settings.languageHelp')}
494487
</p>
495488
</div>
496-
<div class="form-group">
497-
<label>🔁 ${t('settings.retryCount')} (1-10)</label>
498-
<input type="number" id="settingsRetryCount" min="1" max="10" placeholder="2" value="2">
499-
<p style="color: #666; font-size: 12px; margin-top: 5px;">
500-
${t('settings.retryCountHelp')}
501-
</p>
502-
</div>
503-
<div class="form-group">
504-
<label>⏳ ${t('settings.retryDelaySec')} (0-300s)</label>
505-
<input type="number" id="settingsRetryDelaySec" min="0" max="300" placeholder="0" value="0">
506-
<p style="color: #666; font-size: 12px; margin-top: 5px;">
507-
${t('settings.retryDelaySecHelp')}
508-
</p>
509-
</div>
510489
<div class="form-group">
511490
<label>🌓 ${t('settings.theme')}</label>
512491
<div style="display: flex; align-items: center; gap: 12px;">

frontend/wailsjs/go/main/App.d.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,6 @@ export function GetLogs():Promise<string>;
3535

3636
export function GetLogsByLevel(arg1:number):Promise<string>;
3737

38-
export function GetRetryCount():Promise<number>;
39-
40-
export function GetRetryDelaySec():Promise<number>;
41-
4238
export function GetStats():Promise<string>;
4339

4440
export function GetStatsDaily():Promise<string>;
@@ -87,8 +83,6 @@ export function SetLanguage(arg1:string):Promise<void>;
8783

8884
export function SetLogLevel(arg1:number):Promise<void>;
8985

90-
export function SetRetrySettings(arg1:number,arg2:number):Promise<void>;
91-
9286
export function SetTheme(arg1:string):Promise<void>;
9387

9488
export function SetThemeAuto(arg1:boolean):Promise<void>;

frontend/wailsjs/go/main/App.js

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,6 @@ export function GetLogsByLevel(arg1) {
7070
return window['go']['main']['App']['GetLogsByLevel'](arg1);
7171
}
7272

73-
export function GetRetryCount() {
74-
return window['go']['main']['App']['GetRetryCount']();
75-
}
76-
77-
export function GetRetryDelaySec() {
78-
return window['go']['main']['App']['GetRetryDelaySec']();
79-
}
80-
8173
export function GetStats() {
8274
return window['go']['main']['App']['GetStats']();
8375
}
@@ -174,10 +166,6 @@ export function SetLogLevel(arg1) {
174166
return window['go']['main']['App']['SetLogLevel'](arg1);
175167
}
176168

177-
export function SetRetrySettings(arg1, arg2) {
178-
return window['go']['main']['App']['SetRetrySettings'](arg1, arg2);
179-
}
180-
181169
export function SetTheme(arg1) {
182170
return window['go']['main']['App']['SetTheme'](arg1);
183171
}

frontend/wailsjs/runtime/runtime.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,6 @@ export function EventsOff(eventName, ...additionalEventNames) {
4848
return window.runtime.EventsOff(eventName, ...additionalEventNames);
4949
}
5050

51-
export function EventsOffAll() {
52-
return window.runtime.EventsOffAll();
53-
}
54-
5551
export function EventsOnce(eventName, callback) {
5652
return EventsOnMultiple(eventName, callback, 1);
5753
}

0 commit comments

Comments
 (0)