Skip to content

docs(authentication): say Setup shows the address the server judges before an allowed IP ranges save - #30582

Merged
objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/project-thread-pnqe21
Nov 5, 2026
Merged

objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/project-thread-pnqe21

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Bill · project thread

domain:server#2 · os-bill · session_01Utp6CZhiLoN3MZGp7ZnqCg

Fixes #30570

Clause-②: no — docs only
Metadata-protocol: none

维护者速读

What changes

One new bullet in Saving, clearing and lockout recovery (chosen over the allowed_ip_ranges table row: the row already defers the save behaviour to that section, and the note is about what you see before a save, so it sits next to the save rule it previews):

Setup shows your address before you save. Under the field, Setup → Authentication shows the address the server judges for your request, read from GET /api/v1/auth/admin/client-address (platform administrators only), which answers { clientAddress, trustProxy }: the note says whether that address came from the forwarded headers of a proxy the server trusts (server.trustProxy) or from the connection itself, which behind a proxy it does not trust is the proxy's own address, and when clientAddress is null it says instead that no non-empty list can be saved.

Checked against main at db04e5ce, which carries PR #30540 (b6f4c0e8b7):

  • ui/apps/console/src/pages/settings/SettingsView.tsx clientAddressNote: three states, clientAddress === null → clientAddressUnknown, trustProxy → clientAddressViaProxy, else clientAddressDirect; drawn only on the auth namespace under allowed_ip_ranges.
  • ui/packages/i18n/src/locales/en.ts: clientAddressDirect ("…This server does not trust proxy headers, so behind a proxy this is the proxy's address."), clientAddressViaProxy ("…read from the forwarded headers of the proxy this server trusts…"), clientAddressUnknown ("The server cannot establish your address, so a non-empty list cannot be saved from here.").
  • packages/plugins/plugin-auth/src/client-address-read.ts: 200 { success: true, data: { clientAddress, trustProxy } }, clientAddress null when no address can be established, gateAdmin (platform admin), Cache-Control: no-store.

Not said, because the console does not do it: no note is drawn when the read fails (non-admin, older server); the page does not claim one. No other sentence on the page is made false by the read: the allowed_ip_ranges row and the refusal bullet stay true as written.

Changeset: none. Followed AGENTS.md Post-Task Checklist step 3 and os-dev's rule: skip-changeset is for a diff that publishes nothing from any released package; content/docs/** is in no package's files[] (the repo's own negative control in scripts/check-changeset-no-major.mjs names content/docs/** as publishing nothing). Label skip-changeset rides this create.

Verification

  • node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack content/docs/permissions/authentication.mdx: 45 commands. All 45 exit 0 at head 115efa0e; five first exited 3 (prerequisite: @objectstack/spec, @objectstack/lint, @objectstack/formula, @objectstack/client-react not built) and were re-run green after turbo run build of those closures. --ran reconciliation: 45 derived, 45 run, 0 NOT-MEASURED, 0 UNRUN.
  • Not run locally, left to CI: the Build Docs job and the type-check lanes dispatch-gates lists as CI-only.
  • Dogfood: not run (docs only, no !, no narrowing arm).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Utp6CZhiLoN3MZGp7ZnqCg


Generated by Claude Code

…efore an allowed IP ranges save

The "Saving, clearing and lockout recovery" list now names the note under
the Allowed IP ranges field: the address the server judges for the
request, read from GET /api/v1/auth/admin/client-address (platform
administrators only), whether forwarded headers counted, and the
no-address case.

Co-authored-by: Claude <[email protected]>
Claude-Session: https://claude.ai/code/session_01Utp6CZhiLoN3MZGp7ZnqCg
@objectstack-fleet objectstack-fleet Bot added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Nov 5, 2026
@github-actions github-actions Bot added size/xs documentation Improvements or additions to documentation labels Nov 5, 2026
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

domain:server#2 · os-bill · session_01Utp6Cbvcmv8YWFhFJwzjKL

维护者速读

席位核对 — ACCEPT · domain:server#2 · head 115efa0e498655e7214b2269fdb232e42a73e08e

  • 形态: draft, author objectstack-fleet[bot] (relay pr_create), no assignee, no review request; 1 file, +8 −0; labels documentation, skip-changeset; check-governed-merges --pr 30582: NOT governed. Title has no !. Fixes #30570.
  • Review face: TIER_DEFAULT (Clause-②: no, docs only), written here by the seat.
  • Seat read: the new bullet sits in "Saving, clearing and lockout recovery", next to the save rule it previews (the allowed_ip_ranges row already defers there). Checked on main: client-address-read.ts answers { clientAddress, trustProxy } with clientAddress null when no address can be established (L100), Cache-Control: no-store, platform-admin gate; en.ts L2368–2370 carry the three notes the bullet describes (direct / via trusted proxy / unknown). Nothing on the page becomes false.
  • 偏差: none. Pins: none (docs). Declarations: Clause-②: no, Metadata-protocol: none at line start.
  • Dev readings (115efa0e): dispatch-gates 45/45 exit 0, --ran 0 not measured; no dogfood (docs only, per the order). os-dev-report 6663603111.
  • 门禁 check-runs: in progress at ACCEPT; the seat queues once every check is green or an expected skip.
  • 落地条款: Fixes docs(authentication): the allowed IP ranges row does not say that Setup now shows the address the server judges for you #30570. Ordinary queue landing by this seat: pr_ready + automerge_enable on this head.

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review November 5, 2026 17:06
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Nov 5, 2026
Merged via the queue into main with commit 6b84fef Nov 5, 2026
52 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/project-thread-pnqe21 branch November 5, 2026 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/xs skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(authentication): the allowed IP ranges row does not say that Setup now shows the address the server judges for you

1 participant