You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/ipn
Joe Tsai fbb91758ac
cmd/viewer, types/views: implement support for json/v2 (#16852)
This adds support for having every viewer type implement
jsonv2.MarshalerTo and jsonv2.UnmarshalerFrom.

This provides a significant boost in performance
as the json package no longer needs to validate
the entirety of the JSON value outputted by MarshalJSON,
nor does it need to identify the boundaries of a JSON value
in order to call UnmarshalJSON.

For deeply nested and recursive MarshalJSON or UnmarshalJSON calls,
this can improve runtime from O(N²) to O(N).

This still references "github.com/go-json-experiment/json"
instead of the experimental "encoding/json/v2" package
now available in Go 1.25 under goexperiment.jsonv2
so that code still builds without the experiment tag.
Of note, the "github.com/go-json-experiment/json" package
aliases the standard library under the right build conditions.

Updates tailscale/corp#791

Signed-off-by: Joe Tsai <joetsai@digital-static.net>
4 months ago
..
auditlog ipn/ipnext: remove some interface indirection to add hooks 8 months ago
conffile ipn/conffile: don't depend on hujson on iOS/Android 1 year ago
desktop ipn/ipnext: remove some interface indirection to add hooks 8 months ago
ipnauth ipn/{ipnauth,ipnlocal,localapi}: make EditPrefs return an error if changing exit node is restricted by policy 6 months ago
ipnext ipn/ipnlocal: make GetExt work earlier, before extension init 7 months ago
ipnlocal ipn/ipnlocal, net/dns: use slices.Equal to simplify code (#16641) 5 months ago
ipnserver ipn: add missing entries for OpenBSD 6 months ago
ipnstate cmd/tailscale, ipn/ipnstate, wgengine/magicsock: update ping output for peer relay (#16515) 6 months ago
lapitest ipn/ipn{server,test}: extract the LocalAPI test client and server into ipntest 8 months ago
localapi wgengine/magicsock,all: allocate peer relay over disco instead of PeerAPI (#16603) 5 months ago
policy ipn,tailconfig: clean up unreleased and removed app connector service 2 years ago
store ipn/store/kubestore,kube: fix cert error in admin UI (#16717) 5 months ago
backend.go ipn: add watch opt to include actions in health messages 7 months ago
conf.go ipn: ensure that conffile is source of truth for advertised services. (#15361) 9 months ago
doc.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 11 months ago
ipn_clone.go cmd/tailscale/cli,ipn,ipn/ipnlocal: add AutoExitNode preference for automatic exit node selection 6 months ago
ipn_test.go all: do not depend on the testing package 2 years ago
ipn_view.go cmd/viewer, types/views: implement support for json/v2 (#16852) 4 months ago
prefs.go ipn: move ParseAutoExitNodeID from ipn/ipnlocal to ipn 6 months ago
prefs_test.go ipn: move ParseAutoExitNodeID from ipn/ipnlocal to ipn 6 months ago
serve.go cmd/tailscale/cli: revert key for web config for services to FQDN (#16627) 5 months ago
serve_test.go cmd/tailscale/cli: Add service flag to serve command (#16191) 5 months ago
store.go tailcfg: report StateEncrypted in Hostinfo (#16434) 6 months ago
store_test.go ipn/store: automatically migrate between plaintext and encrypted state (#16318) 6 months ago