Commit Graph

94 Commits

Author SHA1 Message Date
Claude
98d9c6f0d0 Fix review findings: expose netplay callbacks on AppWindow, use rfd::AsyncFileDialog, set is_host on lobby update
Some checks failed
Rust / build-linux (linux-x86_64, X64, ubuntu-24.04, x86_64-unknown-linux-gnu) (pull_request) Failing after 8s
Rust / build-android (29.0.14206865, ubuntu-24.04, 33) (pull_request) Failing after 4s
Rust-lint / lint-linux (pull_request) Failing after 18s
Rust / build-linux (linux-aarch64, ARM64, ubuntu-24.04-arm, aarch64-unknown-linux-gnu) (pull_request) Has been cancelled
Rust / build-windows (windows-aarch64, woa64, windows-11-arm, aarch64-pc-windows-msvc) (pull_request) Has been cancelled
Rust / build-windows (windows-x86_64, win64, windows-2025, x86_64-pc-windows-msvc) (pull_request) Has been cancelled
Rust / build-macos (macos-aarch64, ARM64, aarch64-apple-darwin) (pull_request) Has been cancelled
Rust / Collect release artifacts (pull_request) Has been cancelled
Finding 1: the Rust side calls on_netplay_resume_session,
on_netplay_save_session and set_netplay_is_host on AppWindow, but the
callbacks/property were only declared on the NetplayCreate/NetplayWait
sub-components. appwindow.slint now declares callback
netplay_resume_session(string), callback netplay_save_session and the
in-out property netplay_is_host <=> NetplayWaitData.is_host, and
forwards them at the NetplayCreate/NetplayWait instantiation sites,
matching the existing netplay callback pattern.

Finding 2: rfd::AsyncFilePicker does not exist in rfd 0.17; the crate
exports AsyncFileDialog (already used by this repo in src/ui/gui.rs).
Switch the resume file picker to rfd::AsyncFileDialog and use
FileHandle::path() for the display path.

Finding 3: set is_host from the ResponseSession lobby update instead of
at wait-window open, comparing the local player name against players[0]
(the session creator, always registered first). Re-evaluates on every
lobby update.
2026-08-25 22:19:56 -05:00
Claude
8e2c29039c UI: session save/resume controls + resync status (#8)
Add UI controls for the netplay session save/resume and resync
indicator features:

- netplay_create.slint: Add 'Resume Session...' button with file picker
  callback for .netplay-state files
- netplay_wait.slint: Add 'Save Session' button (host only, gated by
  is_host property), add resyncing indicator badge
- netplay_page.slint: Add resyncing property to NetplayData global
- src/ui/netplay.rs: Wire on_netplay_resume_session callback (opens
  file picker, placeholder for #3 flow), on_netplay_save_session
  callback (placeholder for #3 flow), set is_host on wait window setup

The save/resume callbacks show placeholder messages until #3 is
implemented. The resync indicator shows during ResyncState != Idle.

Closes #8
2026-08-25 22:19:56 -05:00
Logan McNaughton
1957e8a579
use rustls (#1194)
* use rustls

* more

* more

* more

* more

* more
2026-08-24 12:35:05 +00:00
Logan McNaughton
7b17343c72
update netplay id (#1171) 2026-08-03 14:11:57 +00:00
Logan McNaughton
6bb3487352
use obfstr (#1168)
* use obfstr

* more
2026-07-20 14:30:23 +00:00
Logan McNaughton
01a53ce1c0
use no-intro names in netplay/cheats (#1133)
* use no-intro names in netplay/cheats

* more

* more
2026-06-29 19:37:33 +00:00
Logan McNaughton
c261a746a3
enable rollback (#1087)
* enable rollback

* more
2026-06-16 10:43:50 +00:00
Logan McNaughton
2ca317d742
put rec back (#1083) 2026-06-15 15:56:53 +00:00
Logan McNaughton
45963aeea5
Fix ping recommendation (#1082)
* don't block tokio

* more

* more

* more

* more

* more
2026-06-15 15:29:51 +00:00
Logan McNaughton
4929f2cc51
remove highest ping (#1081) 2026-06-15 13:02:29 +00:00
Logan McNaughton
90e51f5f09
setup callbacks at start (#1080)
* setup callbacks at start

* more

* more
2026-06-15 09:44:33 +00:00
Logan McNaughton
9b7aeccd48
close window on user request (#1079)
* close window on user request

* more

* more

* more
2026-06-15 06:53:54 +00:00
Logan McNaughton
16224cd5a6
use spinbox for latency (#1077)
* use spinbox for latency

* more

* more
2026-06-14 18:28:36 +00:00
Logan McNaughton
d62d4c852a
Increase timeout duration from 2 to 3 seconds (#1075) 2026-06-14 10:50:35 +00:00
Logan McNaughton
6d6349c79d
Increase timeout duration from 2 to 3 seconds (#1074) 2026-06-14 08:27:11 +00:00
Logan McNaughton
ae7bac65d5
use custom ICE server config (#1071)
* use custom ICE server config

* more

* more

* more

* more

* more

* more
2026-06-13 16:28:33 +00:00
Logan McNaughton
99c4d6dff8
average top 3 values (#1070) 2026-06-13 13:07:10 +00:00
Logan McNaughton
611b56186d
update recommendation formula (#1067)
* update recommendation formula

* more
2026-06-13 09:14:43 +00:00
Logan McNaughton
b2d7a12033
wait for mesh (#1063)
* wait for mesh

* more

* more
2026-06-12 07:02:53 +00:00
Logan McNaughton
65cffbba0c
cap recommendation (#1062) 2026-06-12 05:36:56 +00:00
Logan McNaughton
397a15349c
handle close messages (#1060) 2026-06-11 12:53:00 +00:00
Logan McNaughton
235a4af0a9
check number of peers (#1059) 2026-06-11 07:38:05 +00:00
Logan McNaughton
b171d48f87
print errors (#1058) 2026-06-11 05:36:00 +00:00
Logan McNaughton
bfeba94e20
show error (#1057) 2026-06-11 05:29:28 +00:00
Logan McNaughton
810852997a
improve ping loop (#1049) 2026-06-09 20:27:12 +00:00
Logan McNaughton
d589d8bac2
improve loop management (#1047)
* improve loop management

* more
2026-06-09 16:56:56 +00:00
Logan McNaughton
0deb1d11fc
fix some netplay state (#1046) 2026-06-09 16:09:11 +00:00
Logan McNaughton
6cc6153abb
improve wait room (#1045) 2026-06-09 14:47:16 +00:00
Logan McNaughton
af163dac62
Fixed input delay (#1044)
* disable rollback

* more

* more

* more

* more

* more

* more
2026-06-09 14:10:49 +00:00
Logan McNaughton
73f145a35c
Increase ping sample size from 10 to 12 (#1022) 2026-06-06 13:57:53 +00:00
Logan McNaughton
06dc40fd3e
change netplay auth (#1019) 2026-06-06 12:22:23 +00:00
Logan McNaughton
c7ac333cb7
fix ping calc (#1018) 2026-06-06 09:30:36 +00:00
Logan McNaughton
1d6e415422
use wss (#1017)
* use wss

* more
2026-06-06 09:06:40 +00:00
Logan McNaughton
c89c5d1cc3
increase disconnect timeout (#1016)
* increase disconnect timeout

* more
2026-06-06 06:22:52 +00:00
Logan McNaughton
19dc966abd
use different rooms for lobby and game (#1009) 2026-06-05 21:35:59 +00:00
Logan McNaughton
077c1f439c
is_system_pal (#1007) 2026-06-05 17:21:29 +00:00
Logan McNaughton
618e3a32f2
netplay error checking (#1005)
* netplay error checking

* more

* more

* more

* more

* more

* more

* more

* more
2026-06-05 12:16:01 +00:00
Logan McNaughton
681f8670f5
GGRS netplay (#1004)
* update netplay

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more
2026-06-05 07:43:31 +00:00
Logan McNaughton
5c7170268e
Don't store luts in savestate (#993)
* use hashmap for tlb

* more

* more

* more

* more

* more
2026-05-31 06:37:11 +00:00
Logan McNaughton
a8dbbba6e3
update sessions async (#972)
* update sessions async

* more
2026-05-28 12:58:26 +00:00
Logan McNaughton
411cb0efa7
remove dialog windows (#948) 2026-05-25 09:31:33 +00:00
Logan McNaughton
00ec554783
wait a little longer for broadcast response (#947) 2026-05-23 18:57:44 +00:00
Logan McNaughton
48956dc016
move some android guards around (#926)
* move some android guards around

* more
2026-05-20 09:41:12 +00:00
Logan McNaughton
e1b4039a52
dont use open on android (#914) 2026-05-19 07:43:55 +00:00
Logan McNaughton
9f2cfb5a9f
read RA settings from CLI (#913)
* read RA settings from CLI

* more
2026-05-19 07:20:08 +00:00
Logan McNaughton
069c64ab08
build apk (#899)
* build apk

* more

* more

* more

* more

* more

* more

* more

* more

* more
2026-05-16 20:09:19 +00:00
Logan McNaughton
8341ef5731
Add Discord Rich Presence (#888)
* add rich presence

* more

* more

* more

* more

* more

* more

* more

* more

* more

* update translations

* more
2026-05-14 14:30:36 +00:00
Logan McNaughton
86304018dd
remove un-needed window() (#854)
* remove un-needed window()

* more
2026-05-08 14:36:23 +00:00
Logan McNaughton
a69a74bf37
cleanup some if statements (#846) 2026-05-06 11:57:04 +00:00
Logan McNaughton
172d10d7cb
update controllers when clicking on controller config (#841)
* update controllers when clicking on controller config

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more
2026-05-06 07:44:39 +00:00