From f7547a4c623c1d87043167be709ae041c5528d2d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 29 Jun 2025 08:26:00 +0000 Subject: [PATCH 01/10] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/076e8c6678d8c54204abcb4b1b14c366835a58bb?narHash=sha256-1ovgdmuDYVo5OUC5NzdF%2BV4zx2uT8RtsgZahxidBTyw%3D' (2025-06-20) → 'github:nixos/nixpkgs/80d50fc87924c2a0d346372d242c27973cf8cdbf?narHash=sha256-3u6rEbIX9CN/5A5/mc3u0wIO1geZ0EhjvPBXmRDHqWM%3D' (2025-06-27) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 7e929b4..197b006 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1750386251, - "narHash": "sha256-1ovgdmuDYVo5OUC5NzdF+V4zx2uT8RtsgZahxidBTyw=", + "lastModified": 1750994206, + "narHash": "sha256-3u6rEbIX9CN/5A5/mc3u0wIO1geZ0EhjvPBXmRDHqWM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "076e8c6678d8c54204abcb4b1b14c366835a58bb", + "rev": "80d50fc87924c2a0d346372d242c27973cf8cdbf", "type": "github" }, "original": { From ad469129bc4766840ef63e66783ed4e11032dec4 Mon Sep 17 00:00:00 2001 From: Domingo Dirutigliano Date: Fri, 11 Jul 2025 10:17:14 +0200 Subject: [PATCH 02/10] fix display name --- app/routes/machines/components/machine-row.tsx | 2 +- app/routes/machines/dialogs/move.tsx | 2 +- app/routes/machines/dialogs/new.tsx | 2 +- app/routes/machines/machine.tsx | 2 +- app/routes/settings/auth-keys/dialogs/add-auth-key.tsx | 2 +- app/routes/settings/auth-keys/overview.tsx | 2 +- app/routes/users/dialogs/delete-user.tsx | 3 +-- app/utils/oidc.ts | 4 ++++ 8 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/routes/machines/components/machine-row.tsx b/app/routes/machines/components/machine-row.tsx index f1860e0..c078773 100644 --- a/app/routes/machines/components/machine-row.tsx +++ b/app/routes/machines/components/machine-row.tsx @@ -64,7 +64,7 @@ export default function MachineRow({ {node.givenName}

- {node.user.name || node.user.email} + {node.user.name || node.user.email || node.user.id}

{mapTagsToComponents(node, uiTags)} diff --git a/app/routes/machines/dialogs/move.tsx b/app/routes/machines/dialogs/move.tsx index aa73022..305a358 100644 --- a/app/routes/machines/dialogs/move.tsx +++ b/app/routes/machines/dialogs/move.tsx @@ -34,7 +34,7 @@ export default function Move({ machine, users, isOpen, setIsOpen }: MoveProps) { }} > {users.map((user) => ( - {user.name} + {user.name || user.email || user.id} ))} diff --git a/app/routes/machines/dialogs/new.tsx b/app/routes/machines/dialogs/new.tsx index 1377eb2..35c6320 100644 --- a/app/routes/machines/dialogs/new.tsx +++ b/app/routes/machines/dialogs/new.tsx @@ -46,7 +46,7 @@ export default function NewMachine(data: NewMachineProps) { placeholder="Select a user" > {data.users.map((user) => ( - {user.name} + {user.name || user.email || user.id} ))} diff --git a/app/routes/machines/machine.tsx b/app/routes/machines/machine.tsx index 7f24cd6..a081085 100644 --- a/app/routes/machines/machine.tsx +++ b/app/routes/machines/machine.tsx @@ -109,7 +109,7 @@ export default function Page() {
- {node.user.name || node.user.email} + {node.user.name || node.user.email || node.user.id}
diff --git a/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx b/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx index 43ac1b7..faa3753 100644 --- a/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx +++ b/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx @@ -36,7 +36,7 @@ export default function AddAuthKey(data: AddAuthKeyProps) { }} > {data.users.map((user) => ( - {user.name} + {user.name || user.email || user.id} ))} All, ...keys.map(({ user }) => ( - {user.name} + {user.name || user.email || user.id} )), ]} diff --git a/app/routes/users/dialogs/delete-user.tsx b/app/routes/users/dialogs/delete-user.tsx index 1575d7f..0e2aae2 100644 --- a/app/routes/users/dialogs/delete-user.tsx +++ b/app/routes/users/dialogs/delete-user.tsx @@ -8,8 +8,7 @@ interface DeleteProps { } export default function DeleteUser({ user, isOpen, setIsOpen }: DeleteProps) { - const name = - (user.displayName?.length ?? 0) > 0 ? user.displayName : user.name; + const name = user.name; return ( diff --git a/app/utils/oidc.ts b/app/utils/oidc.ts index 788029c..113bb09 100644 --- a/app/utils/oidc.ts +++ b/app/utils/oidc.ts @@ -132,6 +132,10 @@ function getName(user: client.UserInfoResponse, claims: client.IDToken) { return user.name; } + if (user.displayName) { + return user.displayName; + } + if (claims.name && typeof claims.name === 'string') { return claims.name; } From 27b2831f0071cea130fdcff576fc7f86db2a92b4 Mon Sep 17 00:00:00 2001 From: Domingo Dirutigliano Date: Fri, 11 Jul 2025 10:54:38 +0200 Subject: [PATCH 03/10] displayName correctly integrated --- app/components/Header.tsx | 4 ++-- app/routes/machines/components/machine-row.tsx | 2 +- app/routes/machines/dialogs/move.tsx | 2 +- app/routes/machines/dialogs/new.tsx | 2 +- app/routes/machines/machine.tsx | 4 ++-- app/routes/settings/auth-keys/auth-key-row.tsx | 2 +- app/routes/settings/auth-keys/dialogs/add-auth-key.tsx | 2 +- app/routes/settings/auth-keys/overview.tsx | 2 +- app/routes/users/components/user-row.tsx | 4 ++-- app/routes/users/dialogs/delete-user.tsx | 2 +- app/routes/users/dialogs/reassign-user.tsx | 2 +- app/routes/users/dialogs/rename-user.tsx | 4 ++-- app/utils/oidc.ts | 4 ---- 13 files changed, 16 insertions(+), 20 deletions(-) diff --git a/app/components/Header.tsx b/app/components/Header.tsx index f02d6e3..e166c7f 100644 --- a/app/components/Header.tsx +++ b/app/components/Header.tsx @@ -107,7 +107,7 @@ export default function Header(data: Props) { {data.user.picture ? ( {data.user.name} ) : ( @@ -131,7 +131,7 @@ export default function Header(data: Props) {
-

{data.user.name}

+

{data.user.name || data.user.displayName}

{data.user.email}

diff --git a/app/routes/machines/components/machine-row.tsx b/app/routes/machines/components/machine-row.tsx index c078773..4513af2 100644 --- a/app/routes/machines/components/machine-row.tsx +++ b/app/routes/machines/components/machine-row.tsx @@ -64,7 +64,7 @@ export default function MachineRow({ {node.givenName}

- {node.user.name || node.user.email || node.user.id} + {node.user.name || node.user.displayName || node.user.email || node.user.id}

{mapTagsToComponents(node, uiTags)} diff --git a/app/routes/machines/dialogs/move.tsx b/app/routes/machines/dialogs/move.tsx index 305a358..3b86bb7 100644 --- a/app/routes/machines/dialogs/move.tsx +++ b/app/routes/machines/dialogs/move.tsx @@ -34,7 +34,7 @@ export default function Move({ machine, users, isOpen, setIsOpen }: MoveProps) { }} > {users.map((user) => ( - {user.name || user.email || user.id} + {user.name || user.displayName || user.email || user.id} ))} diff --git a/app/routes/machines/dialogs/new.tsx b/app/routes/machines/dialogs/new.tsx index 35c6320..df98129 100644 --- a/app/routes/machines/dialogs/new.tsx +++ b/app/routes/machines/dialogs/new.tsx @@ -46,7 +46,7 @@ export default function NewMachine(data: NewMachineProps) { placeholder="Select a user" > {data.users.map((user) => ( - {user.name || user.email || user.id} + {user.name || user.displayName || user.email || user.id} ))} diff --git a/app/routes/machines/machine.tsx b/app/routes/machines/machine.tsx index a081085..051794f 100644 --- a/app/routes/machines/machine.tsx +++ b/app/routes/machines/machine.tsx @@ -109,7 +109,7 @@ export default function Page() {
- {node.user.name || node.user.email || node.user.id} + {node.user.name || node.user.displayName || node.user.email || node.user.id}
@@ -254,7 +254,7 @@ export default function Page() { className="w-full max-w-full grid grid-cols-1 lg:grid-cols-2 gap-y-2 sm:gap-x-12" >
- + - + diff --git a/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx b/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx index faa3753..18df724 100644 --- a/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx +++ b/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx @@ -36,7 +36,7 @@ export default function AddAuthKey(data: AddAuthKeyProps) { }} > {data.users.map((user) => ( - {user.name || user.email || user.id} + {user.name || user.displayName || user.email || user.id} ))} All, ...keys.map(({ user }) => ( - {user.name || user.email || user.id} + {user.name || user.displayName || user.email || user.id} )), ]} diff --git a/app/routes/users/components/user-row.tsx b/app/routes/users/components/user-row.tsx index b6d9118..ce8d531 100644 --- a/app/routes/users/components/user-row.tsx +++ b/app/routes/users/components/user-row.tsx @@ -26,14 +26,14 @@ export default function UserRow({ user, role }: UserRowProps) { {user.profilePicUrl ? ( {user.name} ) : ( )}
-

{user.name}

+

{user.name || user.displayName}

{user.email}

diff --git a/app/routes/users/dialogs/delete-user.tsx b/app/routes/users/dialogs/delete-user.tsx index 0e2aae2..2490adb 100644 --- a/app/routes/users/dialogs/delete-user.tsx +++ b/app/routes/users/dialogs/delete-user.tsx @@ -8,7 +8,7 @@ interface DeleteProps { } export default function DeleteUser({ user, isOpen, setIsOpen }: DeleteProps) { - const name = user.name; + const name = user.name || user.displayName; return ( diff --git a/app/routes/users/dialogs/reassign-user.tsx b/app/routes/users/dialogs/reassign-user.tsx index d31fdcc..ab88195 100644 --- a/app/routes/users/dialogs/reassign-user.tsx +++ b/app/routes/users/dialogs/reassign-user.tsx @@ -21,7 +21,7 @@ export default function ReassignUser({ - Change role for {user.name}? + Change role for {user.name || user.displayName}? Most roles are carried straight from Tailscale. However, keep in mind that I have not fully implemented permissions yet and some things may diff --git a/app/routes/users/dialogs/rename-user.tsx b/app/routes/users/dialogs/rename-user.tsx index a18b830..b47245b 100644 --- a/app/routes/users/dialogs/rename-user.tsx +++ b/app/routes/users/dialogs/rename-user.tsx @@ -13,9 +13,9 @@ export default function RenameUser({ user, isOpen, setIsOpen }: RenameProps) { return ( - Rename {user.name}? + Rename {user.name || user.displayName}? - Enter a new username for {user.name}. Changing a username will not + Enter a new username for {user.name || user.displayName}. Changing a username will not update any ACL policies that may refer to this user by their old username. diff --git a/app/utils/oidc.ts b/app/utils/oidc.ts index 113bb09..788029c 100644 --- a/app/utils/oidc.ts +++ b/app/utils/oidc.ts @@ -132,10 +132,6 @@ function getName(user: client.UserInfoResponse, claims: client.IDToken) { return user.name; } - if (user.displayName) { - return user.displayName; - } - if (claims.name && typeof claims.name === 'string') { return claims.name; } From 44577aff81b5256d03940052e73783536d04151c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 13 Jul 2025 08:26:03 +0000 Subject: [PATCH 04/10] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/80d50fc87924c2a0d346372d242c27973cf8cdbf?narHash=sha256-3u6rEbIX9CN/5A5/mc3u0wIO1geZ0EhjvPBXmRDHqWM%3D' (2025-06-27) → 'github:nixos/nixpkgs/2a2130494ad647f953593c4e84ea4df839fbd68c?narHash=sha256-Q82Ms%2BFQmgOBkdoSVm%2BFBpuFoeUAffNerR5yVV7SgT8%3D' (2025-07-08) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 197b006..e12e87d 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1750994206, - "narHash": "sha256-3u6rEbIX9CN/5A5/mc3u0wIO1geZ0EhjvPBXmRDHqWM=", + "lastModified": 1752012998, + "narHash": "sha256-Q82Ms+FQmgOBkdoSVm+FBpuFoeUAffNerR5yVV7SgT8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "80d50fc87924c2a0d346372d242c27973cf8cdbf", + "rev": "2a2130494ad647f953593c4e84ea4df839fbd68c", "type": "github" }, "original": { From f0c1f617c7199c1855b312cbbeac3dd0b7130d86 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 20 Jul 2025 08:26:53 +0000 Subject: [PATCH 05/10] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/2a2130494ad647f953593c4e84ea4df839fbd68c?narHash=sha256-Q82Ms%2BFQmgOBkdoSVm%2BFBpuFoeUAffNerR5yVV7SgT8%3D' (2025-07-08) → 'github:nixos/nixpkgs/6b4955211758ba47fac850c040a27f23b9b4008f?narHash=sha256-dPALCtmik9Wr14MGqVXm%2BOQcv7vhPBXcWNIOThGnB/Q%3D' (2025-07-19) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e12e87d..636a6fa 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752012998, - "narHash": "sha256-Q82Ms+FQmgOBkdoSVm+FBpuFoeUAffNerR5yVV7SgT8=", + "lastModified": 1752900028, + "narHash": "sha256-dPALCtmik9Wr14MGqVXm+OQcv7vhPBXcWNIOThGnB/Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2a2130494ad647f953593c4e84ea4df839fbd68c", + "rev": "6b4955211758ba47fac850c040a27f23b9b4008f", "type": "github" }, "original": { From 65a14aefcfff006318ce1b13687cec903d72c12f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 27 Jul 2025 08:27:15 +0000 Subject: [PATCH 06/10] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/6b4955211758ba47fac850c040a27f23b9b4008f?narHash=sha256-dPALCtmik9Wr14MGqVXm%2BOQcv7vhPBXcWNIOThGnB/Q%3D' (2025-07-19) → 'github:nixos/nixpkgs/6027c30c8e9810896b92429f0092f624f7b1aace?narHash=sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg%3D' (2025-07-25) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 636a6fa..d4fab60 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752900028, - "narHash": "sha256-dPALCtmik9Wr14MGqVXm+OQcv7vhPBXcWNIOThGnB/Q=", + "lastModified": 1753432016, + "narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6b4955211758ba47fac850c040a27f23b9b4008f", + "rev": "6027c30c8e9810896b92429f0092f624f7b1aace", "type": "github" }, "original": { From f20b2c869f6d094686ba6869d7798d1ed3866638 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 3 Aug 2025 08:27:25 +0000 Subject: [PATCH 07/10] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/6027c30c8e9810896b92429f0092f624f7b1aace?narHash=sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg%3D' (2025-07-25) → 'github:nixos/nixpkgs/7b6929d8b900de3142638310f8bc40cff4f2c507?narHash=sha256-S30TWshtDmNlU30u842RidFUraKj1f2dd4nrKRHm3gE%3D' (2025-08-02) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index d4fab60..e594bbd 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1753432016, - "narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=", + "lastModified": 1754151594, + "narHash": "sha256-S30TWshtDmNlU30u842RidFUraKj1f2dd4nrKRHm3gE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6027c30c8e9810896b92429f0092f624f7b1aace", + "rev": "7b6929d8b900de3142638310f8bc40cff4f2c507", "type": "github" }, "original": { From 82a3eb626e6398e3f32913632c9b84cab3d4f45a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 10 Aug 2025 08:26:55 +0000 Subject: [PATCH 08/10] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/7b6929d8b900de3142638310f8bc40cff4f2c507?narHash=sha256-S30TWshtDmNlU30u842RidFUraKj1f2dd4nrKRHm3gE%3D' (2025-08-02) → 'github:nixos/nixpkgs/1ef586712f85b4b004caecd385d6b023e7fd2450?narHash=sha256-aKmIQcvT857VRc3XbLvsuMdLeUuYfz%2B8zQ4eTXe78KE%3D' (2025-08-09) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e594bbd..69203a4 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1754151594, - "narHash": "sha256-S30TWshtDmNlU30u842RidFUraKj1f2dd4nrKRHm3gE=", + "lastModified": 1754772842, + "narHash": "sha256-aKmIQcvT857VRc3XbLvsuMdLeUuYfz+8zQ4eTXe78KE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7b6929d8b900de3142638310f8bc40cff4f2c507", + "rev": "1ef586712f85b4b004caecd385d6b023e7fd2450", "type": "github" }, "original": { From 97e2557710bbd4f61b35d8585325d7b1d80fccb5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 17 Aug 2025 08:26:51 +0000 Subject: [PATCH 09/10] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/1ef586712f85b4b004caecd385d6b023e7fd2450?narHash=sha256-aKmIQcvT857VRc3XbLvsuMdLeUuYfz%2B8zQ4eTXe78KE%3D' (2025-08-09) → 'github:nixos/nixpkgs/32f313e49e42f715491e1ea7b306a87c16fe0388?narHash=sha256-nNaeJjo861wFR0tjHDyCnHs1rbRtrMgxAKMoig9Sj/w%3D' (2025-08-15) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 69203a4..bd8b121 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1754772842, - "narHash": "sha256-aKmIQcvT857VRc3XbLvsuMdLeUuYfz+8zQ4eTXe78KE=", + "lastModified": 1755268003, + "narHash": "sha256-nNaeJjo861wFR0tjHDyCnHs1rbRtrMgxAKMoig9Sj/w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1ef586712f85b4b004caecd385d6b023e7fd2450", + "rev": "32f313e49e42f715491e1ea7b306a87c16fe0388", "type": "github" }, "original": { From 7adacae9405453ed93af6d7823acded781167f39 Mon Sep 17 00:00:00 2001 From: Aarnav Tale Date: Wed, 20 Aug 2025 10:11:44 -0400 Subject: [PATCH 10/10] chore: add pnpm.fetcherVersion --- nix/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/package.nix b/nix/package.nix index 11349c4..7de674e 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = pnpm_10.fetchDeps { inherit (finalAttrs) pname version src; hash = "sha256-xjjkqbgjYaAGYAmlTFE+Lq3Hp6myZKaW3br0YTDNhQA="; + fetcherVersion = 1; }; buildPhase = ''