Подключение из списка отключает рабочий сервер до проверки нового профиля
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 75/100
Direzione di ricerca
Read ConnectionsViewModel.cs around ConnectTo (lines 267–287) and ConnectionManager.cs around ConnectAsync (lines 234–235), then inspect the existing tests for the list connection command. Add a test using a fake engine where profile A is connected and incompatible profile B is selected; done means B reports the preset error while A remains connected.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Приоритет P1 · milestone 0.4.1
Кнопка «Подключить» в списке серверов рвёт рабочую сессию, если новый профиль несовместим с текущим пресетом. Прямой путь в ConnectionManager уже исправлен в #266, но команда списка обходит этот порядок.
Воспроизведение
- Выбрать пресет маршрутизации, требующий sing-box, и подключить совместимый профиль A.
- В «Подключениях» нажать «Подключить» у профиля B, который требует Xray, например VLESS XHTTP.
- Получить ошибку несовместимого пресета. Активная сессия A уже отключена.
Причина и доказательство: кнопка вызывает ConnectToCommand (ConnectionsView.axaml:138). ConnectionsViewModel.ConnectTo (ConnectionsViewModel.cs:267–287) явно вызывает DisconnectAsync перед ConnectAsync. Проверка CreateFor внутри ConnectionManager.ConnectAsync (ConnectionManager.cs:234–235) стоит перед его собственным отключением, но на момент проверки A уже остановлен. Ошибка возвращается в EngineRegistry.cs:60. Проверено трассировкой кода, реальные подключения не запускались.
Ожидаемо: приложение показывает ошибку B и сохраняет подключение A.
Направление исправления: вызвать проверенный путь переключения ConnectionManager без предварительного DisconnectAsync. Добавить тест команды списка с несовместимым B и рабочим A на фейковом движке.
Связано: #266, #141.
Аудит ffa65648867139f9e45c15f4b635a83c1ff52c1b.
- Lingua principale
- C#
- Stelle
- 5
- Fork
- 1
- Merge medio
- 30m
- PR unite (30g)
- 171
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di endercodezz/BYDLO
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
endercodezz/BYDLO#396 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
endercodezz/BYDLO#395 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
endercodezz/BYDLO#394 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 48/100
endercodezz/BYDLO#393 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
endercodezz/BYDLO#392 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di endercodezz/BYDLO
Issue simili
-
needs attention untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3666 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
MicrosoftLearning/eShopOnWeb#466 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
stryker-mutator/stryker-net#3974 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
JiaFeiMiao-K-Cat/DiscImageStudio#171 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno