feat: phone login via QR when the saved Mudfish login expires
When autologin is rejected the panel offers '휴대폰으로 로그인 (QR)'. It opens a 5-minute LAN relay to the launcher UI guarded by a one-time token (first phone to open the QR URL is the only client allowed) and shows the URL as a QR code. The relay closes as soon as a new session appears, on cancel, on expiry, and on unload. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d8f1c05372
commit
7513fef6f8
12 files changed
+586
-7
No files matched your search
@@ -35,6 +35,16 @@ class SystemTest(unittest.TestCase):
|
||||
with tempfile.TemporaryDirectory() as var:
|
||||
self.assertEqual(api_base(var), "http://127.0.0.1:8282")
|
||||
|
||||
def test_lan_ip_from_route_get(self):
|
||||
from mudfish_decky.system import lan_ip
|
||||
out = "1.1.1.1 via 192.168.1.1 dev wlan0 src 192.168.1.50 uid 0 \n cache \n"
|
||||
self.assertEqual(lan_ip(run=lambda cmd, **kw: types.SimpleNamespace(stdout=out, returncode=0)),
|
||||
"192.168.1.50")
|
||||
|
||||
def test_lan_ip_none_without_route(self):
|
||||
from mudfish_decky.system import lan_ip
|
||||
self.assertIsNone(lan_ip(run=lambda cmd, **kw: types.SimpleNamespace(stdout="", returncode=2)))
|
||||
|
||||
def test_sleep_offset_is_boottime_minus_monotonic(self):
|
||||
from mudfish_decky.system import sleep_offset
|
||||
clocks = {"boot": 500.0, "mono": 420.0}
|
||||
|
||||
Reference in new issue
Block a user