mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-05-13 13:58:22 +00:00
fix(xray): clear outbound test state on delete to prevent result bleed (#4205)
This commit is contained in:
parent
cf5767acd1
commit
9cbba130ab
2 changed files with 12 additions and 2 deletions
|
|
@ -48,7 +48,7 @@ const inboundTagOptions = computed(() => {
|
|||
return [...out];
|
||||
});
|
||||
|
||||
const emit = defineEmits(['reset-traffic', 'test', 'show-warp', 'show-nord']);
|
||||
const emit = defineEmits(['reset-traffic', 'test', 'show-warp', 'show-nord', 'delete']);
|
||||
|
||||
// === Modal state ====================================================
|
||||
const modalOpen = ref(false);
|
||||
|
|
@ -86,7 +86,7 @@ function confirmDelete(idx) {
|
|||
okText: t('delete'),
|
||||
okType: 'danger',
|
||||
cancelText: t('cancel'),
|
||||
onOk: () => { props.templateSettings.outbounds.splice(idx, 1); },
|
||||
onOk: () => { emit('delete', idx); },
|
||||
});
|
||||
}
|
||||
function setFirst(idx) {
|
||||
|
|
|
|||
|
|
@ -57,6 +57,15 @@ async function onTestOutbound(idx) {
|
|||
if (outbound) await testOutbound(idx, outbound);
|
||||
}
|
||||
|
||||
function onDeleteOutbound(idx) {
|
||||
templateSettings.value.outbounds.splice(idx, 1);
|
||||
outboundTestStates.value = Object.fromEntries(
|
||||
Object.entries(outboundTestStates.value)
|
||||
.filter(([k]) => Number(k) !== idx)
|
||||
.map(([k, v]) => [Number(k) > idx ? Number(k) - 1 : Number(k), v]),
|
||||
);
|
||||
}
|
||||
|
||||
// === Advanced tab — radio-driven view ==============================
|
||||
// Mirrors the legacy advanced page: a 4-way radio toggles which slice
|
||||
// of the xray config the textarea edits — the full config, just the
|
||||
|
|
@ -298,6 +307,7 @@ function confirmRestart() {
|
|||
:is-mobile="isMobile"
|
||||
@reset-traffic="resetOutboundsTraffic"
|
||||
@test="onTestOutbound"
|
||||
@delete="onDeleteOutbound"
|
||||
@show-warp="showWarp"
|
||||
@show-nord="showNord"
|
||||
/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue