diff --git a/cmake/web_shell.html b/cmake/web_shell.html
index 6acb74f0a..21bf7f1d8 100644
--- a/cmake/web_shell.html
+++ b/cmake/web_shell.html
@@ -9,7 +9,7 @@
-
+
diff --git a/src/augs/string/typesafe_sscanf.cpp b/src/augs/string/typesafe_sscanf.cpp
index 90156867f..9ab9d503e 100644
--- a/src/augs/string/typesafe_sscanf.cpp
+++ b/src/augs/string/typesafe_sscanf.cpp
@@ -254,6 +254,9 @@ TEST_CASE("TypesafeSscanf", "TypesafeSscanfSeveralTests") {
REQUIRE(3 == id);
REQUIRE(2 == test_scanf("[US] arena-us.hypersomnia.xyz #1", "%x#%x", rest, id));
REQUIRE(1 == id);
+
+ REQUIRE(2 == test_scanf("[CH] Switzerland #8 R", "%x#%x", rest, id));
+ REQUIRE(8 == id);
}
}
diff --git a/src/game/modes/arena_mode.cpp b/src/game/modes/arena_mode.cpp
index beef585d2..df54ba6d1 100644
--- a/src/game/modes/arena_mode.cpp
+++ b/src/game/modes/arena_mode.cpp
@@ -133,7 +133,7 @@ faction_type arena_mode::calc_weakest_faction(const const_input_type in) const {
std::size_t count;
bool operator<(const weak_faction& b) const {
- if (score == b.score) {
+ if (score == b.score || count == 0 || b.count == 0) {
return count < b.count;
}
diff --git a/src/work.cpp b/src/work.cpp
index cbfc09f78..9c211ede9 100644
--- a/src/work.cpp
+++ b/src/work.cpp
@@ -709,6 +709,8 @@ work_result work(
(void)change_with_save;
#if PLATFORM_WEB
+ LOG_NVPS(config.client.nickname);
+
if (config.client.nickname.empty() || config.client.nickname == "web_user") {
const auto rng_name = ::make_random_nickname(netcode_rng);
const auto final_nickname =