2026-01-20T17:14:28.496415700+01:00 INFO theseus_gui: Initialized tracing subscriber. Loading Modrinth App!
2026-01-20T17:14:28.514957100+01:00 INFO theseus_gui: Initializing app...
2026-01-20T17:14:35.712027200+01:00 INFO initialize_state: theseus_gui: Initializing app event state...
2026-01-20T17:14:35.836437600+01:00 INFO initialize_state: theseus_gui: Initializing app state...
2026-01-20T17:14:35.838400700+01:00 INFO initialize_state:initialize_state: theseus::state: Connecting to app database
2026-01-20T17:14:35.956214200+01:00 INFO initialize_state:initialize_state: theseus::state: Fetching app settings
2026-01-20T17:14:35.957594400+01:00 INFO initialize_state:initialize_state: theseus::state: Initializing directories
2026-01-20T17:14:35.959113+01:00 INFO initialize_state:initialize_state: theseus::state: Initializing file watcher
2026-01-20T17:14:36.065333100+01:00 INFO init_watcher: theseus::state::fs_watcher: Initing watcher
2026-01-20T17:14:37.741025200+01:00 INFO theseus_gui::api::utils: opening command None
2026-01-20T17:14:38.133184200+01:00 ERROR theseus_gui::error: error=Minecraft authentication error: Failed to deserialize response to JSON during step RefreshOAuthToken: missing field `expires_in` at line 1 column 204. Status Code: 400 Bad Request Body: {"error":"invalid_grant","error_description":"The user could not be authenticated as the grant is expired. The user must sign in again.","foci":"1","correlation_id":"cb1fafba-0204-4498-8685-a4490863558f"} span_trace= 0: theseus::state::minecraft_auth::get_default_credential
with exec=Pool { size: 13, num_idle: 1, is_closed: false, options: PoolOptions { max_connections: 100, min_connections: 0, connect_timeout: 30s, max_lifetime: Some(1800s), idle_timeout: Some(600s), test_before_acquire: true } }
at packages\app-lib\src\state\minecraft_auth.rs:378
1: theseus::api::minecraft_skins::get_available_skins
at packages\app-lib\src\api\minecraft_skins.rs:134
2026-01-20T17:14:38.849431200+01:00 WARN online_profile: theseus::state::minecraft_auth: Failed to fetch online profile for UUID eb4f98ce-6d78-421f-ab70-d2e8e43726d2 likely due to stale credentials, backing off: Failed to deserialize response to JSON during step MinecraftProfile: missing field `name` at line 3 column 1. Status Code: 401 Unauthorized Body: {
"path" : "/minecraft/profile"
2026-01-20T17:14:39.495862400+01:00 ERROR theseus_gui::error: error=Minecraft authentication error: Failed to deserialize response to JSON during step RefreshOAuthToken: missing field `expires_in` at line 1 column 204. Status Code: 400 Bad Request Body: {"error":"invalid_grant","error_description":"The user could not be authenticated as the grant is expired. The user must sign in again.","foci":"1","correlation_id":"1e6eef0f-febc-4523-a291-572a40017ed4"} span_trace= 0: theseus::state::minecraft_auth::get_default_credential
with exec=Pool { size: 13, num_idle: 4, is_closed: false, options: PoolOptions { max_connections: 100, min_connections: 0, connect_timeout: 30s, max_lifetime: Some(1800s), idle_timeout: Some(600s), test_before_acquire: true } }
at packages\app-lib\src\state\minecraft_auth.rs:378
1: theseus::api::minecraft_skins::get_available_skins
at packages\app-lib\src\api\minecraft_skins.rs:134
2026-01-20T17:14:43.299763500+01:00 INFO theseus_gui::updater_impl: Downloaded update in 4.8407493s
2026-01-20T17:18:51.594474900+01:00 ERROR theseus_gui::error: error=Minecraft authentication error: Failed to deserialize response to JSON during step RefreshOAuthToken: missing field `expires_in` at line 1 column 204. Status Code: 400 Bad Request Body: {"error":"invalid_grant","error_description":"The user could not be authenticated as the grant is expired. The user must sign in again.","foci":"1","correlation_id":"5d9685d8-33d8-49c1-805c-f6f5587f1760"} span_trace= 0: theseus::state::minecraft_auth::get_default_credential
with exec=Pool { size: 13, num_idle: 12, is_closed: false, options: PoolOptions { max_connections: 100, min_connections: 0, connect_timeout: 30s, max_lifetime: Some(1800s), idle_timeout: Some(600s), test_before_acquire: true } }
at packages\app-lib\src\state\minecraft_auth.rs:378
1: theseus::api::minecraft_skins::get_available_skins
at packages\app-lib\src\api\minecraft_skins.rs:134
2026-01-20T17:18:51.594583800+01:00 ERROR theseus_gui::error: error=Minecraft authentication error: Failed to deserialize response to JSON during step RefreshOAuthToken: missing field `expires_in` at line 1 column 204. Status Code: 400 Bad Request Body: {"error":"invalid_grant","error_description":"The user could not be authenticated as the grant is expired. The user must sign in again.","foci":"1","correlation_id":"1a669d93-5c83-486d-99e8-66e162f4c099"} span_trace= 0: theseus::state::minecraft_auth::get_default_credential
with exec=Pool { size: 13, num_idle: 13, is_closed: false, options: PoolOptions { max_connections: 100, min_connections: 0, connect_timeout: 30s, max_lifetime: Some(1800s), idle_timeout: Some(600s), test_before_acquire: true } }
at packages\app-lib\src\state\minecraft_auth.rs:378
1: theseus::api::minecraft_skins::get_available_capes
at packages\app-lib\src\api\minecraft_skins.rs:96
2026-01-20T17:18:51.889591900+01:00 WARN online_profile: theseus::state::minecraft_auth: Failed to fetch online profile for UUID eb4f98ce-6d78-421f-ab70-d2e8e43726d2 likely due to stale credentials, backing off: Failed to deserialize response to JSON during step MinecraftProfile: missing field `name` at line 3 column 1. Status Code: 401 Unauthorized Body: {
"path" : "/minecraft/profile"
2026-01-20T19:01:50.750704800+01:00 INFO profile_create{name="Better MC [FORGE] BMC4 1.0.0" game_version="1.19.4" modloader=Vanilla loader_version=None icon_path=None linked_data=None skip_install_profile=Some(true)}: theseus::api::profile::create: Creating profile at path C:\Users\********\AppData\Roaming\ModrinthApp\profiles\Better MC [FORGE] BMC4 1.0.0
2026-01-20T19:03:01.512975800+01:00 INFO install_minecraft{existing_loading_bar=Some(LoadingBarId(9f83eb6e-182d-45cf-b974-2bfa5d415cbb)) repairing=false}:download_version_info{version="1.20.1" loader=Some(LoaderVersion { id: "47.4.1", url: "https://launcher-meta.modrinth.com/forge/v0/versions/47.4.1.json", stable: false })}: theseus::launcher::download: Downloading version info for version 1.20.1 from https://launcher-meta.modrinth.com/minecraft/v0/versions/1.20.1.json
2026-01-20T19:03:04.069958400+01:00 INFO install_minecraft{existing_loading_bar=Some(LoadingBarId(9f83eb6e-182d-45cf-b974-2bfa5d415cbb)) repairing=false}:download_minecraft{loading_bar=LoadingBarId(9f83eb6e-182d-45cf-b974-2bfa5d415cbb) java_arch="amd64" force=false minecraft_updated=true}: theseus::launcher::download: Downloading Minecraft version 1.20.1-47.4.1
2026-01-20T19:03:10.838173600+01:00 INFO install_minecraft{existing_loading_bar=Some(LoadingBarId(9f83eb6e-182d-45cf-b974-2bfa5d415cbb)) repairing=false}:download_minecraft{loading_bar=LoadingBarId(9f83eb6e-182d-45cf-b974-2bfa5d415cbb) java_arch="amd64" force=false minecraft_updated=true}: theseus::launcher::download: Done downloading Minecraft!
2026-01-20T19:06:10.492508600+01:00 ERROR theseus_gui::error: error=Minecraft authentication error: Failed to deserialize response to JSON during step RefreshOAuthToken: missing field `expires_in` at line 1 column 204. Status Code: 400 Bad Request Body: {"error":"invalid_grant","error_description":"The user could not be authenticated as the grant is expired. The user must sign in again.","foci":"1","correlation_id":"927d9bdc-203f-41d6-91c2-35cf67069bf0"} span_trace= 0: theseus::state::minecraft_auth::get_default_credential
with exec=Pool { size: 14, num_idle: 14, is_closed: false, options: PoolOptions { max_connections: 100, min_connections: 0, connect_timeout: 30s, max_lifetime: Some(1800s), idle_timeout: Some(600s), test_before_acquire: true } }
at packages\app-lib\src\state\minecraft_auth.rs:378
1: theseus::api::profile::run
with path="Better MC [FORGE] BMC4 1.0.0" quick_play_type=None
at packages\app-lib\src\api\profile\mod.rs:632
2026-01-20T19:09:51.410576+01:00 ERROR theseus::util::rpc: Failed to run RPC server: I/O (std) error: De externe host heeft een verbinding verbroken. (os error 10054)
2026-01-20T19:09:53.503800300+01:00 WARN theseus::state::process: Failed to update playtime for profile Better MC [FORGE] BMC4 1.0.0: Error fetching URL: HTTP status client error (401 Unauthorized) for url (https://api.modrinth.com/analytics/playtime)
2026-01-20T19:13:50.135598200+01:00 ERROR theseus::util::rpc: Failed to run RPC server: I/O (std) error: De externe host heeft een verbinding verbroken. (os error 10054)
2026-01-20T19:13:50.576503600+01:00 WARN theseus::event::emit: Profile Better MC [FORGE] BMC4 has crashed! Visit the logs page to see a crash report.
2026-01-20T19:13:51.401110600+01:00 WARN theseus::event::emit: Profile Better MC [FORGE] BMC4 has crashed! Visit the logs page to see a crash report.
2026-01-20T19:13:51.533899500+01:00 WARN theseus::state::process: Failed to update playtime for profile Better MC [FORGE] BMC4 1.0.0: Error fetching URL: HTTP status client error (401 Unauthorized) for url (https://api.modrinth.com/analytics/playtime)
2026-01-20T19:20:40.766536900+01:00 ERROR theseus::util::rpc: Failed to run RPC server: I/O (std) error: De externe host heeft een verbinding verbroken. (os error 10054)
2026-01-20T19:20:41.269779200+01:00 WARN theseus::event::emit: Profile Better MC [FORGE] BMC4 has crashed! Visit the logs page to see a crash report.
2026-01-20T19:20:41.326744300+01:00 WARN theseus::event::emit: Profile Better MC [FORGE] BMC4 has crashed! Visit the logs page to see a crash report.
2026-01-20T19:20:42.252373400+01:00 WARN theseus::state::process: Failed to update playtime for profile Better MC [FORGE] BMC4 1.0.0: Error fetching URL: HTTP status client error (401 Unauthorized) for url (https://api.modrinth.com/analytics/playtime)
2026-01-20T19:28:51.884866500+01:00 ERROR theseus::util::rpc: Failed to run RPC server: I/O (std) error: De externe host heeft een verbinding verbroken. (os error 10054)
2026-01-20T19:28:52.369311400+01:00 WARN theseus::event::emit: Profile Better MC [FORGE] BMC4 has crashed! Visit the logs page to see a crash report.
2026-01-20T19:28:52.552629200+01:00 WARN theseus::event::emit: Profile Better MC [FORGE] BMC4 has crashed! Visit the logs page to see a crash report.
2026-01-20T19:28:53.870762800+01:00 WARN theseus::state::process: Failed to update playtime for profile Better MC [FORGE] BMC4 1.0.0: Error fetching URL: HTTP status client error (401 Unauthorized) for url (https://api.modrinth.com/analytics/playtime)
2026-01-20T19:32:23.805183+01:00 ERROR theseus::util::rpc: Failed to run RPC server: I/O (std) error: De externe host heeft een verbinding verbroken. (os error 10054)
2026-01-20T19:32:24.141383200+01:00 WARN theseus::event::emit: Profile Better MC [FORGE] BMC4 has crashed! Visit the logs page to see a crash report.
2026-01-20T19:32:25.048296500+01:00 WARN theseus::event::emit: Profile Better MC [FORGE] BMC4 has crashed! Visit the logs page to see a crash report.
2026-01-20T19:32:25.835035200+01:00 WARN theseus::state::process: Failed to update playtime for profile Better MC [FORGE] BMC4 1.0.0: Error fetching URL: HTTP status client error (401 Unauthorized) for url (https://api.modrinth.com/analytics/playtime)