github sogonov/anubis 0.1.4.1
v0.1.4.1 -- hotfix for #63

4 hours ago

v0.1.4.1 — hotfix for #63

EN

Regression fix from v0.1.4. Launching an app from a "No VPN" / "No VPN + notifications" group via shortcut (or from inside Anubis) would unfreeze the app but leave the external VPN running. Same for "With VPN" shortcuts not freezing the "No VPN" groups.

Root cause: the dummy-VPN detection gate introduced in v0.1.4 (to avoid the orchestrator treating its own force-disconnect VPN as an external one) was too broad. It made waitForVpnOff() return true instantly, so stopVpn() skipped its Step 3 force-stop fallback, and the launch flow proceeded with the real external VPN still active.

Fix: scope the dummy gate to VpnMonitorService's network callback only (the autonomous agent that triggers mass freeze/unfreeze on VPN transitions). VpnClientManager.isVpnCurrentlyActive and its callbacks, plus the QS tile, now read the honest network state so the orchestrator's stop sequence works correctly.

No behavior change for users who were unaffected. Manual stealth toggle kept working in v0.1.4 because it doesn't depend on the gated read.

Thanks @LisPavel for the precise repro, and to @raizer125, @fabrikant, @Pipivi, @gr0m03eka, @EgorBlyablin, @Damirka1712 for confirming across devices and VPN clients.

RU

Фикс регрессии из v0.1.4. При запуске приложения из группы «Без VPN» / «Без VPN + уведомления» через ярлык (или из самого Anubis) приложение размораживалось, но внешний VPN не отключался. Аналогично ярлыки из «Запуск с VPN» не фризили группы «Без VPN».

Причина: добавленная в v0.1.4 защита от детекта собственного dummy-VPN как внешнего оказалась слишком широкой. Она заставляла waitForVpnOff() моментально возвращать «VPN off», из-за чего stopVpn() пропускал Step 3 (force-stop fallback), и далее flow запускал приложение при реально активном внешнем VPN.

Фикс: оставить dummy-gate только в VpnMonitorService (единственный autonomous-агент, который сам триггерит массовые freeze/unfreeze при переключениях VPN). VpnClientManager.isVpnCurrentlyActive и его callbacks, плюс QS tile, теперь читают реальное состояние — orchestrator'овская stop-последовательность снова работает корректно.

Тех, у кого всё работало в v0.1.4, изменение никак не затрагивает. Ручной toggle стелса в v0.1.4 и так работал — потому что он не зависит от этого чтения.

Спасибо @LisPavel за точный repro, и @raizer125, @fabrikant, @Pipivi, @gr0m03eka, @EgorBlyablin, @Damirka1712 за подтверждение на разных устройствах и VPN-клиентах.

Don't miss a new anubis release

NewReleases is sending notifications on new releases.