<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tailscale/client/web/src/hooks/node-data.ts, branch awly/deadcode-linuxfwtest</title>
<subtitle>The easiest, most secure way to use WireGuard and 2FA</subtitle>
<id>http://git.waynecole.info/tailscale/atom?h=awly%2Fdeadcode-linuxfwtest</id>
<link rel='self' href='http://git.waynecole.info/tailscale/atom?h=awly%2Fdeadcode-linuxfwtest'/>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/'/>
<updated>2023-12-07T23:32:32Z</updated>
<entry>
<title>client/web: restructure api mutations into hook</title>
<updated>2023-12-07T23:32:32Z</updated>
<author>
<name>Sonia Appasamy</name>
<email>sonia@tailscale.com</email>
</author>
<published>2023-12-06T05:26:34Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=97f8577ad28c6c9fcc68cdade89a6b51adfb67d4'/>
<id>urn:sha1:97f8577ad28c6c9fcc68cdade89a6b51adfb67d4</id>
<content type='text'>
This commit makes some restructural changes to how we handle api
posting from the web client frontend.

Now that we're using SWR, we have less of a need for hooks like
useNodeData that return a useSWR response alongside some mutation
callbacks. SWR makes it easy to mutate throughout the UI without
needing access to the original data state in order to reflect
updates. So, we can fetch data without having to tie it to post
callbacks that have to be passed around through components.

In an effort to consolidate our posting endpoints, and make it
easier to add more api handlers cleanly in the future, this change
introduces a new `useAPI` hook that returns a single `api` callback
that can make any changes from any component in the UI. The hook
itself handles using SWR to mutate the relevant data keys, which
get globally reflected throughout the UI.

As a concurrent cleanup, node types are also moved to their own
types.ts file, to consolidate data types across the app.

Updates #10261

Signed-off-by: Sonia Appasamy &lt;sonia@tailscale.com&gt;
</content>
</entry>
<entry>
<title>client/web: add additional web client metrics logging (#10462)</title>
<updated>2023-12-07T16:24:25Z</updated>
<author>
<name>Mario Minardi</name>
<email>mario@tailscale.com</email>
</author>
<published>2023-12-07T16:24:25Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=f5f21c213c7dd7298289f770452053ba97ec40e3'/>
<id>urn:sha1:f5f21c213c7dd7298289f770452053ba97ec40e3</id>
<content type='text'>
Add additional web client metric logging. Namely, add logging events for
auth / deauth, enable / disable using exit node, enable / disable SSH,
enable / disable advertise routes, and click events on the device details
button.

Updates https://github.com/tailscale/tailscale/issues/10261

Signed-off-by: Mario Minardi &lt;mario@tailscale.com&gt;</content>
</entry>
<entry>
<title>client/web: start using swr for some fetching</title>
<updated>2023-12-07T02:20:13Z</updated>
<author>
<name>Sonia Appasamy</name>
<email>sonia@tailscale.com</email>
</author>
<published>2023-12-05T23:03:05Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=95655405b8fefe6b8123e83a0723853f1870b368'/>
<id>urn:sha1:95655405b8fefe6b8123e83a0723853f1870b368</id>
<content type='text'>
Adds swr to the web client, and starts by using it from the
useNodeData hook.

Updates #10261

Signed-off-by: Sonia Appasamy &lt;sonia@tailscale.com&gt;
</content>
</entry>
<entry>
<title>client/web: add copyable components throughout UI</title>
<updated>2023-12-05T21:52:19Z</updated>
<author>
<name>Sonia Appasamy</name>
<email>sonia@tailscale.com</email>
</author>
<published>2023-12-05T15:09:33Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=a95b3cbfa8b1b8dc5de581de70cee7bf96c0ed67'/>
<id>urn:sha1:a95b3cbfa8b1b8dc5de581de70cee7bf96c0ed67</id>
<content type='text'>
Updates the IP address on home view to open a copyable list of node
addresses on click. And makes various values on the details view
copyable text items, mirroring the machine admin panel table.

As part of these changes, pulls the AddressCard, NiceIP and QuickCopy
components from the admin panel, with the AddressCard slightly modified
to avoid needing to also pull in the CommandLine component.

A new toaster interface is also added, allowing us to display success
and failure toasts throughout the UI. The toaster code is slightly
modified from it's admin form to avoid the need for some excess
libraries.

Updates #10261

Signed-off-by: Sonia Appasamy &lt;sonia@tailscale.com&gt;
</content>
</entry>
<entry>
<title>client/web: add metric logging logic to the web client (#10434)</title>
<updated>2023-12-05T15:28:19Z</updated>
<author>
<name>Mario Minardi</name>
<email>mario@tailscale.com</email>
</author>
<published>2023-12-05T15:28:19Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=6b083a8ddfcfac43f93bd180356b262fcbcdc280'/>
<id>urn:sha1:6b083a8ddfcfac43f93bd180356b262fcbcdc280</id>
<content type='text'>
Add metric logging logic for the web client frontend. This is an initial
pass of adding the base logic, plus a single point where it is used for
validation that the logging is working correctly. More metric logging
calls will follow in subsquent PRs.

Updates https://github.com/tailscale/tailscale/issues/10261

Signed-off-by: Mario Minardi &lt;mario@tailscale.com&gt;</content>
</entry>
<entry>
<title>client/web: indicate if ACLs prevent access</title>
<updated>2023-12-02T00:51:12Z</updated>
<author>
<name>Will Norris</name>
<email>will@tailscale.com</email>
</author>
<published>2023-11-30T00:40:41Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=f9550e0bed0074644e5b722f9dacd5d9ca5f8497'/>
<id>urn:sha1:f9550e0bed0074644e5b722f9dacd5d9ca5f8497</id>
<content type='text'>
Use the packet filter rules to determine if any device is allowed to
connect on port 5252.  This does not check whether a specific device can
connect (since we typically don't know the source device when this is
used).  Nor does it specifically check for wide-open ACLs, which is
something we may provide a warning about in the future.

Update the login popover content to display information when the src
device is unable to connect to the dst device over its Tailscale IP. If
we know it's an ACL issue, mention that, otherwise list a couple of
things to check. In both cases, link to a placeholder URL to get more
information about web client connection issues.

Updates #10261

Signed-off-by: Will Norris &lt;will@tailscale.com&gt;
</content>
</entry>
<entry>
<title>client/web: show features based on platform support</title>
<updated>2023-12-01T22:01:13Z</updated>
<author>
<name>Sonia Appasamy</name>
<email>sonia@tailscale.com</email>
</author>
<published>2023-11-30T18:01:29Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=7a4ba609d90c3962434f17ec40b8bfcd23001762'/>
<id>urn:sha1:7a4ba609d90c3962434f17ec40b8bfcd23001762</id>
<content type='text'>
Hiding/disabling UI features when not available on the running
client.

Updates #10261

Signed-off-by: Sonia Appasamy &lt;sonia@tailscale.com&gt;
</content>
</entry>
<entry>
<title>client/web: remove ControlAdminURL override</title>
<updated>2023-11-29T23:34:12Z</updated>
<author>
<name>Sonia Appasamy</name>
<email>sonia@tailscale.com</email>
</author>
<published>2023-11-29T23:24:29Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=cbd0b60743008e01d7ef97f9e7ef8dd02328bc40'/>
<id>urn:sha1:cbd0b60743008e01d7ef97f9e7ef8dd02328bc40</id>
<content type='text'>
Was setting this for testing, snuck into the merged version.

Updates #10261

Signed-off-by: Sonia Appasamy &lt;sonia@tailscale.com&gt;
</content>
</entry>
<entry>
<title>client/web: hide admin panel links for non-tailscale control servers</title>
<updated>2023-11-29T21:51:46Z</updated>
<author>
<name>Sonia Appasamy</name>
<email>sonia@tailscale.com</email>
</author>
<published>2023-11-29T20:58:56Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=bcc9b44cb173802c5cf7a07a949a796f7a57e859'/>
<id>urn:sha1:bcc9b44cb173802c5cf7a07a949a796f7a57e859</id>
<content type='text'>
Updates #10261

Signed-off-by: Sonia Appasamy &lt;sonia@tailscale.com&gt;
</content>
</entry>
<entry>
<title>client/web: add subnet routes view</title>
<updated>2023-11-29T20:09:07Z</updated>
<author>
<name>Sonia Appasamy</name>
<email>sonia@tailscale.com</email>
</author>
<published>2023-11-28T01:23:41Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=ecd1ccb9175dce235bb5e77d0e0d610655867a74'/>
<id>urn:sha1:ecd1ccb9175dce235bb5e77d0e0d610655867a74</id>
<content type='text'>
Add UI view for mutating the node's advertised subnet routes.

Updates #10261

Signed-off-by: Sonia Appasamy &lt;sonia@tailscale.com&gt;
</content>
</entry>
</feed>
