tailscale/tstest
Nick Khyl 6df5c8f32e various: keep tailscale connected when Always On mode is enabled on Windows
In this PR, we enable the registration of LocalBackend extensions to exclude code specific to certain
platforms or environments. We then introduce desktopSessionsExt, which is included only in Windows builds
and only if the ts_omit_desktop_sessions tag is disabled for the build. This extension tracks desktop sessions
and switches to (or remains on) the appropriate profile when a user signs in or out, locks their screen,
or disconnects a remote session.

As desktopSessionsExt requires an ipn/desktop.SessionManager, we register it with tsd.System
for the tailscaled subprocess on Windows.

We also fix a bug in the sessionWatcher implementation where it attempts to close a nil channel on stop.

Updates #14823
Updates tailscale/corp#26247

Signed-off-by: Nick Khyl <nickk@tailscale.com>
2025-02-14 16:40:54 -06:00
..
archtest all: cleanup unused code, part 1 (#10661) 2023-12-20 14:50:30 -08:00
deptest tstest/deptest: verify that tailscale.com BadDeps actually exist 2025-01-26 18:50:25 +00:00
integration various: keep tailscale connected when Always On mode is enabled on Windows 2025-02-14 16:40:54 -06:00
iosdeps feature/capture: move packet capture to feature/*, out of iOS + CLI 2025-01-24 17:52:43 -08:00
jsdeps all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
natlab all: use new LocalAPI client package location 2025-02-05 14:41:42 -08:00
nettest cmd/derper,tstest/nettest: skip network-needing test in airplane mode 2024-05-03 08:24:24 -07:00
tailmac tstest/tailmac: add support for mounting host directories in the guest (#13957) 2024-10-29 13:49:51 -04:00
tools go.{mod,sum},tstest/tools,k8s-operator,cmd/k8s-operator: autogenerate CRD API docs (#12884) 2024-07-29 11:50:27 +01:00
allocs.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
clock_test.go all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
clock.go tstime: add Since method (#8622) 2023-07-14 16:50:17 -04:00
log_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
log.go wgengine/magicsock: disable portmapper in tunchan-faked tests 2024-04-17 21:47:38 -07:00
reflect.go net/dns: fix IsZero and Equal methods on OSConfig 2024-09-05 00:05:36 -04:00
resource.go tstest: avoid Fatal in ResourceCheck to show panic (#13790) 2024-10-14 10:02:04 +01:00
test-wishlist.md wf/firewall: allow link-local multicast for permitted local routes when the killswitch is on on Windows 2024-10-02 18:36:01 -05:00
tstest_test.go tstest: add method to Replace values for tests 2023-03-03 17:02:33 -08:00
tstest.go ipn/{conffile,ipnlocal}: start booting tailscaled from a config file w/ auth key 2023-10-17 07:12:49 -07:00