* Reapply "feat(lpa): `at` client + list profiles (#37271)" (#37322)
This reverts commit ddf8abc14a.
* lpa: fall back to ModemManager D-Bus when serial port unavailable
On older devices, ModemManager still claims /dev/ttyUSB2, so the
direct serial open fails. Try serial first; if it can't be acquired,
transparently route AT commands through MM's D-Bus Command() interface.
Co-authored-by: Cursor <cursoragent@cursor.com>
* lpa: add serial/dbus transport labels to debug logs
Co-authored-by: Cursor <cursoragent@cursor.com>
* no
* lint
* here
* const
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
* disable forget for tethering
* nets
* put in wifiman
* batch
* Revert "batch"
This reverts commit 9af20c1c7513c22bf9283b2f02514373fa981f50.
* clean up
* more
* more
* 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
* stash
* test seemed to work
* simplify
* clean up
* move under
* Revert "move under"
This reverts commit ce940cffb32378cbe5a69edaf6fc9d9cec202e54.
* back
* fix
* already 90% of the way there and not 144 lines
* nice
* lift properly
* lift, wait, move, wait, drop!
* some clean up
* epic, he ran a simulation to turn opacity filter into pixels
* scroll independant move animation without layout!
* move into function
* clean up
* rm
* overlay behind moving item
* Revert "overlay behind moving item"
This reverts commit 598e22363eb66af6496fe5f1eea8e643d4c2adbb.
* simpler overlay under lifted item
* support multiple animations at once
* Revert "support multiple animations at once"
This reverts commit 3ce6c8281053ee4831ceb88cacf66c343fc7d7ff.
* clean up
* cmt
* clean up
* kinda works
* Revert "kinda works"
This reverts commit ff050c6afc058788b3189a0acc202ada17353504.
* clean up
clean up
* clear overlay
* diff report
* don't break more
* split nav widget out
* clean up
* clean up
* fix
* work
* small enough to not be function
* nah we want intflag
* clean up
* always runs
* more clean up
* prep for scroller
* opacity for settings
* clean up layout
* set enabled
* rm
* initial
* start to support nav stack in settings panels + fix some navwidget bugs
* add deprecation warning and move more to new nav stack
* fix overriding NavWidget enabled and do developer panel
* fix interactive timeout and do main
* more device, not done yet
* minor network fixes
* dcam dialog
* start onboarding
* fix onboarding
* do mici setup
* remove now useless CUSTOM_SOFTWARE
* support big ui with old modal overlay
* reset can be old modal overlay, but updater needs new since it uses wifiui
* flip name truthiness to inspire excitement
* all *should* work, but will do pass later
* clean up main
* clean up settiings
* clean up dialog and developer
* cleanup mici setup some
* rm one more
* fix keyboard
* revert
* might as well but clarify
* fix networkinfopage buttons
* lint
* nice clean up from cursor
* animate background fade with position
* fix device overlays
* cursor fix pt1
cursor fix pt2
* rm print
* capital
* temp fix from cursor for onboarding not freeing space after reviewing training guide
* fix home screen scroller snap not resetting
* stash
* nice gradient on top
* 40
* 20
* no gradient
* return unused returns and always show regulatory btn
* nice!
* clean up
* new_modal is always true!
* more clean up
* clean up
* big only renders top 1
* fixup setup and updater
* stash
* Revert "stash"
This reverts commit 3cfb226ccb51869ed1f7d630b5fdd6725ad094d5.
* fix mici keys coming in from top
* clean up
* fix mici dialogs like tici, pop first incase call back pushes
* clever way but not not
* Revert "clever way but not not"
This reverts commit f69d106df61262f049df20cc1a9064ca1e6feeb7.
* more setup
* mici keyboard: fix not disabling below
* cmt
* fix wifi callbacks not running in rare case
* clean up network
* clean up network
* clean up dialog
* pairing
* rm
* todo
* fix replay
* they push themselkves!
* clean up ui_state
* clean up application
* clean up
* stash
* Revert "stash"
This reverts commit 07d3f5f26c99ef891086b6fe03095d53a62b8631.
* typing
* lint
* feat(lpa): implement list_profiles in TiciLPA
Add AT command serial interface, TLV parsing, and ES10x transport
to support listing eSIM profiles (SGP.22 v2.3). TiciLPA is a
singleton that maintains a persistent connection to the modem.
* feat(lpa): close TiciLPA serial connection on exit
Register atexit cleanup so the logical channel and serial port are
released when the process exits, even on crashes or early exits.
* feat(lpa): close stale logical channels on init to prevent timeouts
* trying to brick it
* Revert "trying to brick it"
This reverts commit 46a0467314479c92d2cf331280521a1263f6cc43.
* feat(lpa): remove ensure_capabilities check on init
Target devices are known to support the required AT commands,
so skip the capability probes and stale channel cleanup to
speed up initialization.
* feat(lpa): enable debug logging via DEBUG=1 env variable
* muuuch better
* revert
* cleanup
* constant
* initial
* start to support nav stack in settings panels + fix some navwidget bugs
* add deprecation warning and move more to new nav stack
* fix overriding NavWidget enabled and do developer panel
* fix interactive timeout and do main
* more device, not done yet
* minor network fixes
* dcam dialog
* start onboarding
* fix onboarding
* do mici setup
* remove now useless CUSTOM_SOFTWARE
* support big ui with old modal overlay
* reset can be old modal overlay, but updater needs new since it uses wifiui
* flip name truthiness to inspire excitement
* all *should* work, but will do pass later
* clean up main
* clean up settiings
* clean up dialog and developer
* cleanup mici setup some
* rm one more
* fix keyboard
* revert
* might as well but clarify
* fix networkinfopage buttons
* lint
* nice clean up from cursor
* animate background fade with position
* fix device overlays
* cursor fix pt1
cursor fix pt2
* rm print
* capital
* temp fix from cursor for onboarding not freeing space after reviewing training guide
* fix home screen scroller snap not resetting
* stash
* nice gradient on top
* 40
* 20
* no gradient
* return unused returns and always show regulatory btn
* nice!
* revert selfdrive/ui
* let's do tici first
* bring back ui
* not sure why __del__, SetupWidget was never deleted?
* device "done"
* network "done!!"
* toggles "done"
* software "done"
* developer "done"
* fix onboarding
* use new modal for debug windows
* and aug
* setup "done"
* clean up
* updater "done"
* reset "done"
* pop first before callbacks in case callbacks push
* fix cmt
* not needed
* remove two commented functions for mici
* clean up application
* typing
* static
* not sure what this means
* fix big
* more static
* actually great catch
* fix cmt
* 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
* 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
* 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>
* ui: add edge shadow effect to horizontal scrollers in settings
Adds a black gradient falloff shadow (20x240, 100%→0% opacity) on the
left and right edges of horizontal Scroller panels. Enabled via an
opt-in `edge_shadows` parameter on Scroller for easy per-screen control.
Enabled on: settings menu, toggles, network, device, developer.
Not enabled on: home screen carousel, vertical scrollers, setup screens.
Co-authored-by: Cursor <cursoragent@cursor.com>
* ui: reduce edge shadow opacity to 80%
Co-authored-by: Cursor <cursoragent@cursor.com>
* what on earth is this
* some lines are ok
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>