authorgravatar for 7121943+kvnloo@users.noreply.github.comKevin Rajan <7121943+kvnloo@users.noreply.github.com> 2026-10-09 22:14:35-05:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-10-10 03:14:35+00:00
log97009b049a13fac5be5bee13a34b04cd6b87a7e7
tree42f710c8dd936d11c44e6b1c07beeb94eff8fd3b
parentc116dacb8315e4a731b25c8b93c55ef9d01e9ed3
signature Signed by PGP key B5690EEEBB952194

fix(server): print pairing credential expiry as ISO timestamp (#14128)


2 files changed, 3 insertions(+), 1 deletions(-)

apps/server/src/cliAuthFormat.test.ts+2
...@@ -23,6 +23,8 @@ it("formats issued pairing credentials with the secret and optional pair URL", (...@@ -23,6 +23,8 @@ it("formats issued pairing credentials with the secret and optional pair URL", (
2323
24 expect(output).toContain("secret-pairing-token");24 expect(output).toContain("secret-pairing-token");
25 expect(output).toContain("https://example.com/pair#token=secret-pairing-token");25 expect(output).toContain("https://example.com/pair#token=secret-pairing-token");
26 expect(output).toContain("Expires at: 2026-04-08T10:00:00.000Z");
27 expect(output).not.toContain("DateTime.Utc");
26});28});
2729
28it("formats pairing listings without exposing the secret token", () => {30it("formats pairing listings without exposing the secret token", () => {
apps/server/src/cliAuthFormat.ts+1-1
...@@ -61,7 +61,7 @@ export function formatIssuedPairingCredential(...@@ -61,7 +61,7 @@ export function formatIssuedPairingCredential(
61 `Issued client pairing token ${credential.id}.`,61 `Issued client pairing token ${credential.id}.`,
62 `Token: ${credential.credential}`,62 `Token: ${credential.credential}`,
63 ...(pairUrl ? [`Pair URL: ${pairUrl}`] : []),63 ...(pairUrl ? [`Pair URL: ${pairUrl}`] : []),
64 `Expires at: ${credential.expiresAt}`,64 `Expires at: ${toIsoString(credential.expiresAt)}`,
65 ].join(newline) + newline65 ].join(newline) + newline
66 );66 );
67}67}