Commit Graph

72 Commits

Author SHA1 Message Date
Shane Smiskol 0e127cf88b WifiManager: guard init wifi state (#37366)
guard init wifi state
2026-02-23 20:13:17 -08:00
Shane Smiskol 2ecdd2810c mici ui: disable forget on tethering and show full strength (#37344)
* disable forget for tethering

* nets

* put in wifiman

* batch

* Revert "batch"

This reverts commit 9af20c1c7513c22bf9283b2f02514373fa981f50.

* clean up

* more

* more
2026-02-23 01:22:59 -08:00
Shane Smiskol 5f722d2c93 four: new wifi ui design (#37152)
* start

* start

* lil more

* add forget

* fix forget button scrolling

* push right a bit

* fix forget press

* add divider

* fix scroll panel

* better forget and overriding

* revert this

* check icon

* cursor merge conflict fix

* fix rounding and forget btn placement

* scroll indicator

* 65%

* calibrate

* try loading animation

* push to device

* top right

* bottom right

* no red

* top left

* bottom left

* down 2px

* WHY DOES NETWORK MANAGER KEEP CRASHING AHHH

* reduce round trip calls in update_networks

* clean up and combine getallaccesspoint and activeaccesspoint

* cmt

* animate big button over smoothly. super hacky, need to clean up

* animate

* remove old widgets and images

* remove status label, tune loading animation opac back

* connecting is a little buggy still

* add back missing network and don't pop

* some fixes

* "clean up"

* fix lag in animation

* fix adding saved connection to start

* remove saved network to start, divider

* animate up, over, and down

* revert for now

* remove fancy complex animation for now, sorry nick

* remove divider + clean up

* more clean up

* more clean up

* fix forget button press

* cmt

* tweak loading animation behavior

* new lock fix wifi

* rm old lock

* great catch by opus

* clean up

* debug

* fix touch events that are down -> up in one frame (why it only bugged on mici)

* clean up

* eager forgetting

* this SHOULD be full eager forget, more than i thought

* fix wifi slash positioning

* move forgotten networks after saved networks

* temp keep

* test on device

* fix

* see 65

* 5 best

* fix double render double brightness

* can click bottom right now

* disable touch while animating

* fix animation

* can scroll while animating, not tap

* not great yet

* clean up

* didn't work

* always update networks after activation

* stash

* move to update_state

* debug

* debug

* temp

* fix ip and metered flickering when updating at high freq (or rare race condition)

* fix

* if you give it less than 8 chars it never clears connecting

* lock no int

* better wrong password handling

* shake when wrong password

* nm set connecting when it connects on its own

* loading bottom right

* sort connecting first

* sort by unquantized to put strongest first

* clean up

* clean up nm

* clean up nm

* shorter

* fix crash

* 0.5s

* debug

* revert and try something else

* stash

* no

* rev

* use signals

* more

* not wrong password if ever connected after wrong

* similar to gnome shell, don't save connection that never successfully activated.

we do this by creating temporary memory connection with persist: volatile that deletes itself if failed, and then only write to disk when activated

* clean up

* cover all states

* clear if connecting too

* remove pritn

* might need this for CoxWifi

* whoops

* save last pass

* Revert "whoops"

This reverts commit 83a133955246ce32dcf119ededd8b01b3162a866.

* Revert "might need this for CoxWifi"

This reverts commit cddb8b35be152ed154462b188283f9d5a844583d.

* this may be less noisy for low strength networks, but less accurate as previous was reflecting nm state better

* Revert "this may be less noisy for low strength networks, but less accurate as previous was reflecting nm state better"

This reverts commit 740286c846556f32125a96bfe6ecf128300af0d8.

* race condition with volotile not removing conn fast enough/update networks not firing fast enough

* Revert "save last pass"

This reverts commit 7249a58a18b11487fd0370cee36e40a17f7ac521.

* revert some wifiman stuff to master

* not needed

* rm active ap

* remove old dead code

* do after

* always send forgotten callback so we can't be stuck in forgetting state forever

* reproduce race condition where connection removed signal takes a while to remove, then update networks keep is_saved true

* fix from merge

* nice, we can remove some eager code now for treating is_saved as not saved after forgot since it's live

* more

* rm

* simplify passed in callbacks

* clean up

* need this one check back for wrong password to hide forget for a split second

* opus says this is simpler 🤔

* Revert "opus says this is simpler 🤔"

This reverts commit 71472e5b383d7f2083d95ba1188070f41ae14775.

* another attempt

* Revert "another attempt"

This reverts commit 31f30babe656f9cad24399bc2196bb6e7ab79bbd.

* fix from merge

* some lcean up

* fix

* fixes to make work with new animation

* clean up

* this works too

* simplify loading animation behavior for now, revert wifi scan time

* clean up

* temporary fix

* stash

* Revert "stash"

This reverts commit 7471dbdc452807b33b4868a98dd8565681b2e44d.

* stash

* Revert "stash"

This reverts commit e0e5e6e861734320ce5dea5626086784577cb334.

* this check was because is_connected could have been stale from Network as the source

* nm can show connected/connecting to network with 0 aps for a while if strength is low, move out of range under those states

* stash

* Revert "stash"

This reverts commit 5ec3b454d54392523947f6477f551657d3863a6d.

* todo

* todo

* order

* don't need temporary fix anymore

* cmt

* order

* unused i
2026-02-22 07:08:48 -08:00
Shane Smiskol 31ac5a216d WifiManager: fix NEED_AUTH for wrong network (#37320)
* stash

* test seemed to work

* simplify

* clean up

* move under

* Revert "move under"

This reverts commit ce940cffb32378cbe5a69edaf6fc9d9cec202e54.

* back

* fix
2026-02-22 05:49:27 -08:00
Shane Smiskol 6ecb1060be ui: normalize ssids for 3X (#37269)
* fix for tici

* clean up
2026-02-19 16:36:35 -08:00
Shane Smiskol a3f2452fa7 WifiManager: single source for known connections (#37262)
* temp

* rev

* reproduce race condition where connection removed signal takes a while to remove, then update networks keep is_saved true

* fix

* Revert "reproduce race condition where connection removed signal takes a while to remove, then update networks keep is_saved true"

This reverts commit cf7044ee955777db16434ab81c520bbe798c9164.

* not anymore

* more clear

* safe guards

nl
2026-02-19 00:49:35 -08:00
Shane Smiskol c736d43cce Remove old TODO in WifiManager
hell no
2026-02-19 00:40:20 -08:00
Shane Smiskol a28cc71b8b WifiManager: always emit forgot callback (#37261)
* fixme

* fixme

* fixme
2026-02-19 00:12:49 -08:00
Shane Smiskol 612c518dd6 WifiManager: signal-driven connection status (#37258)
* signal driven wifi state

* copy exactly

* copy signal handler

* remove is_connected

* Revert "remove is_connected"

This reverts commit f2246a70f4a29e9f3405947ca43d9404578c9d2d.

* do 3 network

* missing reason

* do wifiui

* clean up mici updater

* rest

* or not connecting

* clean up is_connected

* clean up wifiui

* match wifiui state more exactly in network panel for wifi button

* update active connection info after activation (used to do in _update_networks)

* clean up prints

* more

* rm

* not needed

* clean up state machine a bit

* more

* more

* indent

* final clean up

* debug

* debug

* wait for ip?

* more

* revert

* just to see

* ensure we emit activated even if we fail to get conn path from dbus

* hmm

* fine

* back

* back

* Revert "back"

This reverts commit 6464abe243c2a3bbf62b8f9a109b72ec3ddb3817.

* debug flickering on forget then connect to another. commit before this is good

* fix rare flicker when forgetting network and immediately connecting to
another

* clean up

* clean up router stuff now

* ugh wtf

* stash -- wtf

* Revert "stash -- wtf"

This reverts commit 756a92a9c0530a16917303424e26447f258f17e4.

* Revert "fix rare flicker when forgetting network and immediately connecting to"

This reverts commit 90c5fc14551726765ab2524e7866ee8b3c5dee7c.

* remove debug

* fix

* add issues

* add flow

* match previous behavior

* it doesn't fix the flikcer

* more atomic

* Revert "more atomic"

This reverts commit ead87c5a7a4030719b64138c12b9154ec82e73d9.

* last test!

last test!

* really the race is here?

* atomic wifi_state replace

* not slow

* clean up
2026-02-18 22:42:05 -08:00
Shane Smiskol c6db0cd4b6 WifiManager: fix all networks showing as connected when no active connection (#37252)
* WifiManager: fix all networks showing as connected when no active connection

When there's no active WiFi connection, _get_active_wifi_connection()
returns None. This caused `self._connections.get(ssid) == None` to be
True for all unsaved networks, marking them all as connected.

Co-authored-by: Cursor <cursoragent@cursor.com>

* ltl

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 05:52:59 -08:00
Shane Smiskol b5f86446d4 WifiManager: check AddConnection was successful (#37250)
check addconnect
2026-02-18 01:19:31 -08:00
Shane Smiskol 62b5fd54e6 WifiUi: sort by real strength (#37249)
sort by real strength
2026-02-18 01:18:06 -08:00
Shane Smiskol edafe139a4 WifiManager: set connecting status if NM auto connects (#37247)
* set connecting if nm auto connects

* good catch
2026-02-18 01:14:40 -08:00
Shane Smiskol 966bb6cc54 WifiUi: update wifi button in loop (#37246)
* move to update_state

* move back
2026-02-17 22:41:51 -08:00
Shane Smiskol 887ea25b6d WifiManager: fix is_connected flicker while roaming on low strength networks (#37243)
* temp

* clean up

* debug

* clean up

* fix

* cmt

* clean up
2026-02-17 21:49:50 -08:00
Shane Smiskol 735c2fb48e WifiManager: active WiFi connection helper (#37244)
* short circuit

* rename

* move some usages over

* clean up

* cmt
2026-02-17 21:24:38 -08:00
Shane Smiskol 028f5ca1f4 WifiUi: fix flickering IP and network metered (#37242)
fix flickering ip and network metered
2026-02-17 19:52:37 -08:00
Shane Smiskol fd34659dc3 NetworkManager: add more device states (#37235)
* safe

* missing states

* add enum for nmdevicestatereason

* rm for now

* fix links
2026-02-17 16:25:44 -08:00
Shane Smiskol 1f85860f7e WifiManager: always update networks after activation 2026-02-17 16:16:05 -08:00
Shane Smiskol 14f3f6dd1a WifiManager: fix forgotten callback signature 2026-02-17 15:02:31 -08:00
Shane Smiskol 0a98ee9e4f WifiUii: rm separate connecting status (#37233)
rm connecting
2026-02-17 14:56:08 -08:00
Shane Smiskol 5a9fdde156 WifiUi: use WifiManager forget (#37208)
* start

* clean up forget
2026-02-13 17:30:59 -08:00
Shane Smiskol cd03aa19a1 WifiManager: fix forgetting wrong network (#37187)
* not sure  how works but does?

* clean up

* clean up
2026-02-13 17:14:51 -08:00
Shane Smiskol 10065c8c28 WifiManager: handle failed state change (#37205)
* handle connecting to network that drops out w/ wrong password (no longer says connected and now deletes connection)

* clean up

* combine
2026-02-13 17:02:42 -08:00
Shane Smiskol 1b426a3160 wifi button shows connecting (#37202)
* connecting wifi button

* use real wifi strength

* simplify

* meh cursor brought up edge case
2026-02-13 16:15:59 -08:00
Shane Smiskol 2e21deeae8 WifiUi: fix up wrong password dialog (#37195)
* debug why so slow

* forget after

* i'm not sure why this is a thing

* better forget connecting reset

* ????

* has lag

* fix

* clean up

* should be fine
2026-02-12 20:48:34 -08:00
Shane Smiskol 1257d31a56 WifiManager: dbus debug flag (#37188)
* add dbus debug wrapper

* no
2026-02-12 15:00:50 -08:00
Shane Smiskol 2b7f91d151 WifiManager: update networks on active (#37186)
* immediately

* only if active
2026-02-12 13:40:00 -08:00
Shane Smiskol a46007d84d WifiManager: safeguard an error response (#37182)
safeguard
2026-02-11 23:14:38 -08:00
Shane Smiskol 13b71b4e81 WifiManager: update networks on scan (#37177)
* like c++ wifiman

* rename to scan

* can do this

can do this

* Revert "can do this"

This reverts commit 295f7f49d448c6aacdde2ef810904df86357840b.

* kinda useless now

* clean up
2026-02-11 23:14:13 -08:00
Shane Smiskol 6cf95918c5 WifiManager: clean up connections (#37179)
* fix recent connect regression from connection not being known yet

* always update connections in background, keep track via signals only. no getallconnections each time one is added/deleted. matches c++

* works

* clean up

* clean up

* clean up
2026-02-11 23:02:07 -08:00
Shane Smiskol 0072449b01 WifiManager: cache connections until new/removed connection (#37175)
* new/removed conns signal

* clean up

* only get connections when adding/removing not every refresh

* add debug

* block

* Revert "block"

This reverts commit 30bbffca8d2db21c53d7a3601ae46bf05e2a7cd5.

* rm debug

* block on any new message, faster conn rem/add reaction

* better names
2026-02-11 17:07:41 -08:00
Shane Smiskol f03efab907 Reduce wifi dbus calls pt. 4 (#37174)
* combine active AP and all APs into getall

* combine these two functions reducing more calls

* little clean up

* down here
2026-02-11 16:30:40 -08:00
Shane Smiskol cddc3b9e8f Reduce wifi dbus calls pt. 3 (#37172)
* fewer calls to set metered

* print

* hell yeah

* Revert "hell yeah"

This reverts commit 0e0786bc204821329febc62a1b8dfd870e9aeb6e.

* Revert "print"

This reverts commit e9c7550496e9835888cb71c7dd622cbfb4624fbf.
2026-02-11 15:25:53 -08:00
Shane Smiskol d977a5bd62 ui: reduce wifi dbus calls during scanning pt. 2 (#37171)
one GetAll instead of 2 calls per wifi activeconnection

can't trust anyone these days
2026-02-11 15:13:30 -08:00
Shane Smiskol 99c2fcc797 ui: reduce wifi dbus calls (#37170)
* 2 -> 1

* cmt
2026-02-11 15:05:10 -08:00
Shane Smiskol b9344af9bb WifiManager: sort by known networks (#37164)
sort by known
2026-02-11 01:23:14 -08:00
Shane Smiskol 89d9fdca82 WifiUi: tune wifi strengths (#36923)
* tune wifi strengths

* android nor ios show none or slash. it's always 1, 2, or 3 bars

* match here

* clean up
2025-12-17 23:15:22 -08:00
Shane Smiskol f4dea7977b ui: improve network sort (#36855)
* better sort

* clean up
2025-12-13 01:44:05 -08:00
Adeeb Shihadeh c8effae4eb ui/wifi: fix no attribute error (#36653) 2025-11-19 14:18:48 -08:00
Shane Smiskol 3aaf249236 comma four (#36639)
* squash squash squash

* scroller tici
2025-11-18 22:27:45 -08:00
Adeeb Shihadeh cbc8f98682 ui: fix RuntimeError on exit on PC 2025-11-03 16:20:36 -08:00
Shane Smiskol 4e88245745 raylib: rename set_callbacks (#36462)
rn
2025-10-27 13:34:16 -07:00
Shane Smiskol 3fd9e94a34 raylib: all system apps work without anything built (#36261)
* all system apps work without scons

* better

* fix

* revert

* fix

* dont add

* huh
2025-10-03 23:18:20 -07:00
Shane Smiskol 33f01084d1 raylib: implement cell settings (#36204)
* get vibing

* simplify

* vibing is bad

* simplify

* fix that

* now update

* clean up

* last two

* cell is UpdateUnsaved so we don't need to disable

* we only need actions

* we only need actions

* sort

* stuff

* dont deactivate

* clean up

* clean up

* more

* ipv4 fwd

* warns

* fixz

* rm

* clean up

* one return point

* format

* top
2025-09-25 23:44:12 -07:00
Shane Smiskol 2c377e534f raylib: wifi manager initialize function (#36203)
* init func

* rm print

* rm

* use get_conn settings in another place
2025-09-25 20:48:12 -07:00
Shane Smiskol 1ca9fe35c2 raylib: networking parity with QT (#36197)
* match style

* all this was not naught

* cool can do this

* fix toggle callback - also not for naught

* always process callbacks

* toggle stuff

* cleaner

* tethering password

* clean up

* todos for later

* this is fineee

* add metered options

* wifi metered button

* add hidden network buutton and fix instant modal to modal

* damped filter

* Revert "damped filter"

This reverts commit f9f98d5d708fb15cf1ebef4bdace577f0e347658.

* fix metered toggle when disconnected

* fix tethering enabled

* ohh

* fix keyboard title

* disable edit button temp

* move here

* proper disable

* clean up

* more

* move for loop into enqueue function

* flippy

* got more :(

* todo

* clean up

* mypy

* rename

* todo

* rename

* again

* again

* format
2025-09-25 20:16:14 -07:00
Shane Smiskol 4cd76f4966 raylib networking: prevent concurrently updating networks (#36066)
* dont run by multiple threads at the same time!

* this doesn't work since we rely on is_connected

* Revert "this doesn't work since we rely on is_connected"

This reverts commit 7455b2fe831bf5c9524e8ee71a9966de32a9755a.
2025-08-26 03:55:05 -07:00
Shane Smiskol 8059106cae raylib networking: reduce DBus calls (#36065)
* this reduces getsettings calls from n*n to n

* these are combined now

* same check
2025-08-26 03:33:08 -07:00
Shane Smiskol 23b4aaf2a5 raylib networking: remove locking on UI thread (#36063)
* use callback queue to make this thread safe and remove locks (which lag ui thread?)

* woah this works

* no more lock!

* always run signal handler and store callbacks, like qt

* debug

* more

* okay not for now

* combine _get_connections and _connection_by_ssid, closer to qt and not an explosion of GetSettings dbus calls

* debug

* try this

* skip

* len

* skip hidden networks

* actually slower

* stash

* back to 8929f37d495a524d4a996d66b82d4a947fbf4f1c

* clean up
2025-08-26 03:25:01 -07:00