Will Hannah and Will Hannah
e1ffeeffba
client,feature/favorites: add locally-pinned favorites ( #20563 )
...
Let clients pin favorite devices, exit nodes, and services so GUIs can
surface & change them. Pins are stored per login profile in the new
favorites feature module, keyed per category; devices and exit nodes by
StableNodeID, services by ServiceName.
The item types live in a leaf package feature/favorites/pintype,
keeping them out of the core ipn hierarchy. Each category has
its own type (pintype.Device, pintype.ExitNode, pintype.Service).
Exposed over LocalAPI at GET/POST /localapi/v0/pins, where POST replaces
only the categories named in the request so a client can update one
category without clobbering the others. Pins are local to the device and
are not synced across a user's devices.
updates tailscale/corp#44836
Signed-off-by: Will Hannah <willh@tailscale.com >
Co-authored-by: Will Hannah <wph@Wills-Virtual-Machine.local >
2026-08-19 09:52:56 -04:00
..
2026-08-08 13:02:06 -07:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-02-08 10:04:04 -08:00
2026-02-08 10:04:04 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-02-04 13:15:41 -08:00
2026-02-04 13:15:41 -08:00
2026-02-04 12:52:08 -08:00
2026-02-04 12:52:08 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-08-19 09:52:56 -04:00
2026-08-19 09:52:56 -04:00
2026-07-07 13:12:13 -07:00
2026-07-07 13:12:13 -07:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-04-07 10:22:37 -07:00
2026-04-07 10:22:37 -07:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-07-07 12:10:34 -07:00
2026-07-07 12:10:34 -07:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-05-15 15:50:50 -07:00
2026-05-15 15:50:50 -07:00
2026-05-26 16:02:01 -07:00
2026-05-26 16:02:01 -07:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-07-22 20:36:05 -07:00
2026-07-22 20:36:05 -07:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-07-17 13:55:23 -07:00
2026-07-17 13:55:23 -07:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-03-24 09:44:58 -07:00
2026-03-24 09:44:58 -07:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-02-08 10:04:04 -08:00
2026-02-08 10:04:04 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00
2026-01-23 15:49:45 -08:00