fix: Multiplayer network fixes and airplane mode

- Auto-select network interface for direct connect/host room
- Always recreate ENet client on join for fresh bindings
- Add airplane mode toggle (Desktop & Android)
- Fix JWT verification with empty verify_uid
- Improve content-type handling for JWT endpoints

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2025-11-10 17:16:45 +10:00
parent 2943eebc9c
commit be5c2f772c
16 changed files with 129 additions and 15 deletions

View File

@@ -1,4 +1,5 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-FileCopyrightText: Copyright 2025 citron Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
@@ -24,4 +25,13 @@ constexpr Result ResultLocalCommunicationIdNotFound{ErrorModule::LDN, 97};
constexpr Result ResultLocalCommunicationVersionTooLow{ErrorModule::LDN, 113};
constexpr Result ResultLocalCommunicationVersionTooHigh{ErrorModule::LDN, 114};
// Module 38 error codes - Unknown/undefined module
// These are stubbed to prevent crashes during multiplayer
// Error code format: 2038-XXXX where XXXX is the description
constexpr Result ResultModule38Error2618{ErrorModule::Module38, 2618}; // Reported during multiplayer
constexpr Result ResultModule38Generic{ErrorModule::Module38, 0}; // Generic module 38 error
constexpr Result ResultModule38NetworkError{ErrorModule::Module38, 100}; // Network-related
constexpr Result ResultModule38ConnectionFailed{ErrorModule::Module38, 200}; // Connection failure
constexpr Result ResultModule38Timeout{ErrorModule::Module38, 300}; // Operation timeout
} // namespace Service::LDN