Commit Graph
100 Commits
Author SHA1 Message Date
ddidderr 5480d1bdd4 refactor: extract bundled game database loading
Move the required game.db resource resolution and ETI catalog loading out of
Tauri setup into small helpers. The setup closure now describes the startup
flow instead of carrying resource-resolution and conversion details inline.

This keeps the existing fail-fast behavior for a missing or unreadable bundled
catalog, while giving the required resource path and in-memory GameDB conversion
clear names. There is no intended user-visible behavior change.

Test Plan:
- cargo clippy
- cargo clippy --benches
- cargo clippy --tests
- cargo +nightly fmt

Refs: none
2026-05-02 16:34:19 +02:00
ddidderr 8f35a197a9 refactor(peer): extract peer startup task spawning
The peer runtime used to spawn each long-running service inline inside
run_peer. That made the startup path harder to scan because service names,
clone setup, and task error handling were interleaved with the command loop.

Move the task wrappers into a startup module and leave run_peer as the
lifecycle overview: create shared context, start services, handle commands,
then send shutdown goodbyes. The spawned services and their error handling are
unchanged; only the ownership plumbing moved into named helpers.

Test Plan:
- cargo clippy
- cargo clippy --benches
- cargo clippy --tests
- cargo +nightly fmt

Refs: none
2026-05-02 16:02:37 +02:00
ddidderr 3fb516af2b refactor(tauri): use default managed runtime state
LanSpreadState now owns its empty initialization through Default. This keeps
the root runtime state construction in one place instead of building each
Arc<RwLock<_>> value inline before registering it with Tauri.

The setup hook now retrieves peer_game_db from the managed state and clones the
Arc before spawning async peer initialization. That preserves the existing
lifetime boundary while removing the separate outer peer_game_db binding.

There is no user-visible behavior change. The peer database, game list,
download tracking, games folder, and peer control channel still start empty and
are populated through the same setup and command paths.

Test Plan:
- cargo clippy
- cargo clippy --benches
- cargo clippy --tests
- cargo +nightly fmt

Refs: none
2026-05-02 15:48:11 +02:00
ddidderr 047cb72905 deno update --latest 2026-05-02 15:33:14 +02:00
ddidderr b4585b663a ChatGPT Codex 5.5 xhigh refactored even more 2026-05-02 15:31:37 +02:00
ddidderr 86d0f93ede asd 2026-02-26 20:12:25 +01:00
ddidderr 4318927060 deps: deno update --latest 2026-01-14 08:57:30 +01:00
ddidderr b60dcef471 ChatGPT Codex 5.2 xhigh refactored > 45min 2026-01-13 18:59:12 +01:00
ddidderr f76d59265c Plan to cleanup everything by Codex 5.2 (xhigh) 2026-01-03 22:21:29 +01:00
ddidderr 0ba4ff3acb deno update, cargo update 2026-01-03 22:20:59 +01:00
ddidderr feee9229fa claude: updated CLAUDE.md 2025-12-07 08:18:25 +01:00
ddidderr 05411ce8b8 CLAUDE.md: --workspace instead of --all 2025-11-30 10:50:53 +01:00
ddidderr 53c7fe10ba refactor (Opus 4.5): modularize and split 2025-11-28 21:10:42 +01:00
ddidderr df01131f8d refactor: Centralize local game database updates and announcements, and add retry logic for requesting games from peers. 2025-11-18 21:42:47 +01:00
ddidderr f9923bd61e feat: Implement length-delimited framing for QUIC stream communication using tokio-util and futures. 2025-11-18 20:39:38 +01:00
ddidderr 68594740a5 Tauri app identifier 2025-11-18 19:52:04 +01:00
ddidderr ddbdb33cd6 Merge remote-tracking branch 'gh/p2p' into p2p 2025-11-18 19:49:21 +01:00
ddidderr 84eeebb633 feat: Exclude .sync, .softlan_first_start_done, and local directories from root size calculation. 2025-11-18 19:47:41 +01:00
ddidderr 04fe2bfcbe clippy 2025-11-18 19:26:05 +01:00
ddidderr e2f0dfa792 feat: Enable peers to announce and synchronize local game libraries. 2025-11-18 19:08:29 +01:00
ddidderr 25bac734e2 unsafe 2025-11-14 11:32:56 +01:00
ddidderr 293ede96ed ugly 2025-11-14 11:28:55 +01:00
ddidderr f88fa5794c skip descending into local 2025-11-14 11:08:37 +01:00
ddidderr 75be55d255 remember game dir 2025-11-14 10:44:02 +01:00
ddidderr 86cf3e87f7 skip .sync and .softlan_game_installed 2025-11-14 10:34:45 +01:00
ddidderr 67f99f4a0a dont do heavy size calc 2025-11-14 10:28:55 +01:00
ddidderr ec2a2ef44d windows paths 2025-11-14 10:11:11 +01:00
ddidderr e435be4d94 unsafe for the win 2025-11-14 09:39:59 +01:00
ddidderr cc42bc6f4b Reapply "build system windows"
This reverts commit d9dc040927.
2025-11-14 09:33:38 +01:00
ddidderr d9dc040927 Revert "build system windows"
This reverts commit da758d770a.
2025-11-14 09:32:22 +01:00
ddidderr da758d770a build system windows 2025-11-14 09:30:47 +01:00
ddidderr 5fc6505474 update 2025-11-14 09:28:47 +01:00
ddidderr b53f249512 minor clippy 2025-11-14 09:05:53 +01:00
ddidderr 833c8afedf game thumbnails 2025-11-14 09:03:05 +01:00
ddidderr 567d293455 game sizes? 2025-11-14 08:12:09 +01:00
ddidderr 6eec74f0f6 unavailable games red button 2025-11-14 02:24:18 +01:00
ddidderr 2952b596e2 peers gone... 2025-11-14 02:16:53 +01:00
ddidderr fe7444be4f wip 2025-11-14 01:59:07 +01:00
ddidderr da8457edfc wip 2025-11-14 01:44:39 +01:00
ddidderr f209653842 dead peer discovery and available games updates 2025-11-14 01:24:42 +01:00
ddidderr 8432030292 detect if a game is deleted, added, modified locally 2025-11-14 01:12:01 +01:00
ddidderr 4764bb9fd3 log chunks 2025-11-14 01:02:49 +01:00
ddidderr 1b2b2cf8c0 file transfer: improve / fix 2025-11-14 00:47:02 +01:00
ddidderr 4e9707dd51 mdns improved peer discovery 2025-11-14 00:24:04 +01:00
ddidderr b9e3e760d9 peer count in UI 2025-11-14 00:03:32 +01:00
ddidderr 32e909448f wip 2025-11-13 23:58:04 +01:00
ddidderr a1dfc5cc89 wip 2025-11-13 23:42:12 +01:00
ddidderr e19eda7919 installed + downloaded 2025-11-13 23:26:07 +01:00
ddidderr c1d20189c3 game files list: filter out local 2025-11-13 21:59:05 +01:00
ddidderr d785fcc93a Play game: first start done marker, local dir check 2025-11-13 21:53:00 +01:00
ddidderr 8fe68f9574 wip 2025-11-13 21:43:20 +01:00
ddidderr 157c8ab68d log noise, chunk size 32MB 2025-11-13 21:23:50 +01:00
ddidderr 4d38f6640a peer count fix 2025-11-13 21:09:52 +01:00
ddidderr 97bd87640e mdns 2025-11-13 20:50:43 +01:00
ddidderr 4b8a361b9a wip 2025-11-13 20:42:05 +01:00
ddidderr 651e3db988 mdns fix: use heuristic to find suitable interface and use IP of that interface to anounce service 2025-11-13 20:35:29 +01:00
ddidderr 2baf32f78a info 2025-11-13 20:01:48 +01:00
ddidderr f223418d22 ui fix peer filtering 2025-11-13 19:45:54 +01:00
ddidderr b8d6d29ae0 available as default game filter 2025-11-13 19:39:07 +01:00
ddidderr 2d7f7513ad peer count for all games 2025-11-13 19:38:21 +01:00
ddidderr d96d191c13 wip 2025-11-13 19:25:45 +01:00
ddidderr 16aeade138 ui 2025-11-13 09:22:05 +01:00
ddidderr f37d93c417 wip 2025-11-13 00:47:16 +01:00
ddidderr 8ebd72760d TODO 2025-11-12 23:43:33 +01:00
ddidderr 9141954d9b runtime fixes by codex 2025-11-12 23:42:34 +01:00
ddidderr cc2c4ea8f3 wip 2025-11-12 23:30:08 +01:00
ddidderr 5e340df9d8 wip 2025-11-12 23:19:23 +01:00
ddidderr b66a2764fe ui 2025-11-12 23:08:08 +01:00
ddidderr ae19d94fb2 wip 2025-11-12 23:05:50 +01:00
ddidderr 0f4e40383b load game.db 2025-11-12 22:56:59 +01:00
ddidderr 379a1bbfe9 cargo update 2025-11-12 22:30:15 +01:00
ddidderr d994e741b1 early error on peer's failure to determine file size 2025-11-12 22:29:00 +01:00
ddidderr f2808192f7 wip 2025-11-12 22:22:33 +01:00
ddidderr b43327626d removed legacy crates 2025-11-12 22:20:28 +01:00
ddidderr c419bc0c89 legacy info 2025-11-12 22:18:21 +01:00
ddidderr bca85fbdc1 always a size 2025-11-12 22:11:29 +01:00
ddidderr 8b9e09ab81 pre alloc 2025-11-12 22:07:23 +01:00
ddidderr bdfb461efc codec review 2025-11-12 21:36:13 +01:00
ddidderr d9f8a342e6 path validation 2025-11-12 20:42:15 +01:00
ddidderr a8235fe52a dont wait for server 2025-11-12 20:28:26 +01:00
ddidderr f046fac303 codex review and fixes 2025-11-11 22:02:07 +01:00
ddidderr 4f3c720e33 README lanspread-peer 2025-11-11 21:45:44 +01:00
ddidderr bcda99d3a8 unused peerconnection removed 2025-11-11 21:44:18 +01:00
ddidderr 81abf4801d clippy 2025-11-11 21:38:08 +01:00
ddidderr 37fe40bb88 clippy 2025-11-11 21:36:57 +01:00
ddidderr 2cf060bcc2 wip 2025-11-11 21:36:12 +01:00
ddidderr 9c1b94fa6a wip 2025-11-11 21:30:26 +01:00
ddidderr d831179783 wip 2025-11-11 21:20:03 +01:00
ddidderr 3600b3ba6f wip 2025-11-08 21:03:58 +01:00
ddidderr 82842c15c3 wip 2025-11-08 20:56:35 +01:00
ddidderr 50cd15867b mdns 2025-11-08 20:47:02 +01:00
ddidderr b5aa11c46b wip 2025-11-08 19:29:39 +01:00
ddidderr 5710d87295 wip 2025-11-08 18:40:19 +01:00
ddidderr 64b4665b57 agents.md 2025-11-08 17:36:30 +01:00
ddidderr 6845a7d6fe wip 2025-11-08 17:27:01 +01:00
ddidderr ade0c3fbc4 simple AGENTS.md file for AI agents 2025-11-08 16:49:41 +01:00
ddidderr 858d41265c p2p: mDNS 2025-11-08 16:49:36 +01:00
ddidderr 403168a00a [deps] cargo update 2025-11-08 08:58:45 +01:00
ddidderr ac11f91d79 games_in_download: Mutex -> RwLock 2025-08-27 21:29:55 +02:00
ddidderr 8e76e8d1e2 introduce cargo vet 2025-08-27 21:21:01 +02:00