Skip to content

feat: report the GitHub login a credential was signed in for - #10

Merged
ProJedi1234 merged 1 commit into
feat/stele-attachfrom
feat/github-login-in-status
Aug 25, 2026
Merged

ProJedi1234 merged 1 commit into
feat/stele-attachfrom
feat/github-login-in-status

Conversation

@ProJedi1234

@ProJedi1234 ProJedi1234 commented Aug 24, 2026 •

Copy link
Copy Markdown
Owner

The server records it now — a sign-in mints a credential and remembers whose it was — and this client dropped the field on the floor, so the one question that record exists to answer could not be asked from here.

It is not derivable from the name, which is why it is a field rather than something computed. A credential is addressed by a lowercased name, because a URL path segment has no uppercase in its alphabet, and attributed to the spelling GitHub reports. The fold is the half already carried by name; this is the half that is not.

Optional for shared's reason and read the same way: a deployment predating sign-in omits the key, and nil means "this server does not say" rather than "nobody". The decode test covers the absent key as well as an explicit null, because the absent one is what would break auth status against every older server if it were ever made required — and that is the state the deployment is actually in today.

Shown only when there is one. A column of dashes on every deployment that has not adopted sign-in teaches an operator to stop reading the column, and client already carries the name. The JSON keeps the existing convention for an optional the server may not answer: absent, the way expiresAt already is in both payloads.

This does not implement GitHub sign-in itself. POST /auth/github/exchange exists on the server; whether the CLI should speak it is a separate decision, and stele auth login is unchanged.

Checks

swift test — 170 tests in 18 suites, all passing. swift build -c release clean, no warnings.

Verified against the live deployment, which predates the field: auth status and auth status --json are byte-for-byte what they were — no row, no key, nothing broken. The present case was verified by driving the binary against a stand-in server answering three rows — a login whose case differs from its name, an explicit null, and the key absent entirely — which renders as a GITHUB column with — for the two that have none, and carries the login through --json.

🤖 Generated with Claude Code

The server records it now — a sign-in mints a credential and remembers
whose it was — and this client dropped the field on the floor, so the
one question the record exists to answer could not be asked from here.

It is not derivable from the name, which is why it is a field. A
credential is *addressed* by a lowercased name, because a URL path
segment has no uppercase in its alphabet, and *attributed* to the
spelling GitHub reports. The fold is the half that is already in `name`;
this is the half that is not.

Optional for `shared`'s reason and read the same way: a deployment
predating sign-in omits the key, and nil means "this server does not
say" rather than "nobody". The decode test covers the absent key as well
as an explicit null, because the absent one is the case that would break
`auth status` against every older server if it were ever made required —
which is the state the deployment is actually in today.

Shown only when there is one. A column of dashes on every deployment
that has not adopted sign-in teaches an operator to stop reading the
column, and `client` already carries the name. The JSON keeps the
existing convention for an optional the server may not answer: absent,
the way `expiresAt` is.

Co-Authored-By: Claude Opus 5 <[email protected]>
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Free

Run ID: b53589ba-4b06-45c8-94e1-0c33a49115d5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/settings/billing.

Comment @coderabbitai help to get the list of available commands.

@ProJedi1234
ProJedi1234 merged commit 197fd6c into main Aug 25, 2026
2 checks passed
@ProJedi1234
ProJedi1234 deleted the feat/github-login-in-status branch August 25, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant