headscale/hscontrol
Kristoffer Dalby 3689f05407
Some checks failed
Build / build-nix (push) Has been cancelled
Build / build-cross (GOARCH=amd64 GOOS=darwin) (push) Has been cancelled
Build / build-cross (GOARCH=amd64 GOOS=linux) (push) Has been cancelled
Build / build-cross (GOARCH=arm64 GOOS=darwin) (push) Has been cancelled
Build / build-cross (GOARCH=arm64 GOOS=linux) (push) Has been cancelled
Check Generated Files / check-generated (push) Has been cancelled
Deploy docs / deploy (push) Has been cancelled
NixOS Module Tests / nix-module-check (push) Has been cancelled
Tests / test (push) Has been cancelled
types: use Username() in User.Proto() when Name is empty
User.Proto() was returning u.Name directly, which is empty for OIDC
users who have their identifier in the Email field instead. This caused
"headscale nodes list" to show empty user names for OIDC-authenticated
nodes.

Only fall back to Username() when Name is empty, which provides a
display-friendly identifier (Email > ProviderIdentifier > ID). This
ensures OIDC users display their email while CLI users retain their
original Name.

Fixes #2972
2026-01-14 13:16:51 +01:00
..
assets editorconfig: add basic editor config 2025-12-16 10:12:36 +01:00
capver capver: generate 2025-12-18 10:02:23 +01:00
db sqliteconfig: add config opt for tx locking 2025-12-22 14:01:40 +01:00
derp golangci-lint: use forbidigo to block time.Sleep (#2946) 2025-12-10 16:45:59 +00:00
dns integration: replace time.Sleep with assert.EventuallyWithT (#2680) 2025-07-10 23:38:55 +02:00
mapper cli: ensure tagged-devices is included in profile list (#2991) 2026-01-09 16:31:23 +01:00
policy policy: add test to confirm group cant approve tag 2025-12-17 09:32:05 +01:00
routes debug: add json and improve 2025-09-09 09:40:00 +02:00
state cli: ensure tagged-devices is included in profile list (#2991) 2026-01-09 16:31:23 +01:00
templates hscontrol: consolidate assets into single package 2025-11-12 08:28:12 -06:00
types types: use Username() in User.Proto() when Name is empty 2026-01-14 13:16:51 +01:00
util all: remove deadcode (#2952) 2025-12-10 15:55:15 +01:00
app.go app: only wire up debug server if set 2025-12-17 12:32:04 +01:00
auth.go cli: ensure tagged-devices is included in profile list (#2991) 2026-01-09 16:31:23 +01:00
auth_tags_test.go make tags first class node owner (#2885) 2025-12-02 12:01:25 +01:00
auth_test.go golangci-lint: use forbidigo to block time.Sleep (#2946) 2025-12-10 16:45:59 +00:00
debug.go lint and leftover 2025-09-09 09:40:00 +02:00
grpcv1.go gen: regenerate protobuf code 2026-01-14 09:32:46 +01:00
grpcv1_test.go tags: process tags on registration, simplify policy (#2931) 2025-12-08 18:51:07 +01:00
handlers.go all: remove deadcode (#2952) 2025-12-10 15:55:15 +01:00
metrics.go all: remove deadcode (#2952) 2025-12-10 15:55:15 +01:00
noise.go all: remove deadcode (#2952) 2025-12-10 15:55:15 +01:00
oidc.go oidc: make email verification configurable 2025-12-18 11:42:32 +00:00
oidc_template_test.go make tags first class node owner (#2885) 2025-12-02 12:01:25 +01:00
oidc_test.go oidc: make email verification configurable 2025-12-18 11:42:32 +00:00
platform_config.go Return better web errors to the user (#2398) 2025-02-01 15:25:18 +01:00
poll.go all: remove deadcode (#2952) 2025-12-10 15:55:15 +01:00
suite_test.go Redo OIDC configuration (#2020) 2024-10-02 14:50:17 +02:00
tailsql.go integration: replace time.Sleep with assert.EventuallyWithT (#2680) 2025-07-10 23:38:55 +02:00
templates_consistency_test.go hscontrol: add template HTML consistency test 2025-11-12 08:28:12 -06:00