Skip to content

Commit ae86ef7

Browse files
committed
fix(upstream): improve caching mechanism for disabled sockets and ensure cache validity
1 parent 3930aaf commit ae86ef7

File tree

5 files changed

+366
-344
lines changed

5 files changed

+366
-344
lines changed

api/upstream/list.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,9 @@ func UpdateUpstreamConfig(c *gin.Context) {
115115
cosy.ErrHandler(c, err)
116116
return
117117
}
118+
// Invalidate cache after creating new config
119+
service := upstream.GetUpstreamService()
120+
service.InvalidateDisabledSocketsCache()
118121
} else {
119122
// Update existing config
120123
if _, err := u.Where(u.Socket.Eq(name)).Update(u.Enabled, req.Enabled); err != nil {
@@ -124,6 +127,10 @@ func UpdateUpstreamConfig(c *gin.Context) {
124127
}
125128
}
126129

130+
// Invalidate the disabled sockets cache to ensure changes take effect immediately
131+
service := upstream.GetUpstreamService()
132+
service.InvalidateDisabledSocketsCache()
133+
127134
c.JSON(http.StatusOK, gin.H{
128135
"message": "Upstream config updated successfully",
129136
})

app/components.d.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,23 @@ declare module 'vue' {
1010
export interface GlobalComponents {
1111
AAlert: typeof import('ant-design-vue/es')['Alert']
1212
AApp: typeof import('ant-design-vue/es')['App']
13-
AAutoComplete: typeof import('ant-design-vue/es')['AutoComplete']
1413
AAvatar: typeof import('ant-design-vue/es')['Avatar']
1514
ABadge: typeof import('ant-design-vue/es')['Badge']
1615
ABreadcrumb: typeof import('ant-design-vue/es')['Breadcrumb']
1716
ABreadcrumbItem: typeof import('ant-design-vue/es')['BreadcrumbItem']
1817
AButton: typeof import('ant-design-vue/es')['Button']
1918
ACard: typeof import('ant-design-vue/es')['Card']
2019
ACheckbox: typeof import('ant-design-vue/es')['Checkbox']
20+
ACheckboxGroup: typeof import('ant-design-vue/es')['CheckboxGroup']
2121
ACol: typeof import('ant-design-vue/es')['Col']
22-
ACollapse: typeof import('ant-design-vue/es')['Collapse']
23-
ACollapsePanel: typeof import('ant-design-vue/es')['CollapsePanel']
2422
AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider']
2523
ADivider: typeof import('ant-design-vue/es')['Divider']
2624
ADrawer: typeof import('ant-design-vue/es')['Drawer']
27-
ADropdown: typeof import('ant-design-vue/es')['Dropdown']
2825
AEmpty: typeof import('ant-design-vue/es')['Empty']
2926
AForm: typeof import('ant-design-vue/es')['Form']
3027
AFormItem: typeof import('ant-design-vue/es')['FormItem']
3128
AInput: typeof import('ant-design-vue/es')['Input']
3229
AInputGroup: typeof import('ant-design-vue/es')['InputGroup']
33-
AInputPassword: typeof import('ant-design-vue/es')['InputPassword']
3430
ALayout: typeof import('ant-design-vue/es')['Layout']
3531
ALayoutContent: typeof import('ant-design-vue/es')['LayoutContent']
3632
ALayoutFooter: typeof import('ant-design-vue/es')['LayoutFooter']
@@ -50,14 +46,13 @@ declare module 'vue' {
5046
ASelect: typeof import('ant-design-vue/es')['Select']
5147
ASelectOption: typeof import('ant-design-vue/es')['SelectOption']
5248
ASpace: typeof import('ant-design-vue/es')['Space']
53-
ASpin: typeof import('ant-design-vue/es')['Spin']
5449
AStatistic: typeof import('ant-design-vue/es')['Statistic']
5550
ASubMenu: typeof import('ant-design-vue/es')['SubMenu']
5651
ASwitch: typeof import('ant-design-vue/es')['Switch']
52+
ATable: typeof import('ant-design-vue/es')['Table']
5753
ATabPane: typeof import('ant-design-vue/es')['TabPane']
5854
ATabs: typeof import('ant-design-vue/es')['Tabs']
5955
ATag: typeof import('ant-design-vue/es')['Tag']
60-
ATextarea: typeof import('ant-design-vue/es')['Textarea']
6156
ATooltip: typeof import('ant-design-vue/es')['Tooltip']
6257
ATypographyText: typeof import('ant-design-vue/es')['TypographyText']
6358
AutoCertFormAutoCertForm: typeof import('./src/components/AutoCertForm/AutoCertForm.vue')['default']

app/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
"@ant-design/icons-vue": "^7.0.1",
1818
"@fingerprintjs/fingerprintjs": "^4.6.2",
1919
"@formkit/auto-animate": "^0.9.0",
20-
"@simplewebauthn/browser": "^13.2.0",
21-
"@uozi-admin/curd": "^4.17.0",
20+
"@simplewebauthn/browser": "^13.2.2",
21+
"@uozi-admin/curd": "^4.17.1",
2222
"@uozi-admin/request": "^2.9.1",
2323
"@vue/reactivity": "^3.5.22",
2424
"@vue/shared": "^3.5.22",
@@ -79,17 +79,17 @@
7979
"@vue/tsconfig": "^0.8.1",
8080
"ace-builds": "^1.43.3",
8181
"autoprefixer": "^10.4.21",
82-
"eslint": "^9.36.0",
82+
"eslint": "^9.37.0",
8383
"eslint-plugin-sonarjs": "^3.0.5",
8484
"less": "^4.4.1",
8585
"postcss": "^8.5.6",
8686
"typescript": "5.9.3",
8787
"unplugin-auto-import": "^20.2.0",
8888
"unplugin-vue-components": "^29.1.0",
8989
"unplugin-vue-define-options": "^3.1.1",
90-
"vite": "^7.1.8",
90+
"vite": "^7.1.9",
9191
"vite-plugin-inspect": "^11.3.3",
9292
"vite-svg-loader": "^5.1.0",
9393
"vue-tsc": "^3.1.0"
9494
}
95-
}
95+
}

0 commit comments

Comments
 (0)