Skip to content

Self-hosted: say the Hivesigner client id is filled in for hosted blogs - #1357

Merged
feruzm merged 2 commits into
developfrom
feature/self-hosted-hivesigner-copy
Aug 5, 2026
Merged

Self-hosted: say the Hivesigner client id is filled in for hosted blogs#1357
feruzm merged 2 commits into
developfrom
feature/self-hosted-hivesigner-copy

Conversation

@feruzm

@feruzm feruzm commented Aug 5, 2026

Copy link
Copy Markdown
Member

Follow-up to #1354, which is now live: the registration job has run against production and all eight active tenants carry ecency.app, served and on chain.

That makes the Configuration Editor's own text wrong. It still says:

Hivesigner login stays hidden until this is set. Either register your own Hivesigner app and put its id here, or email hello@ecency.com to get this site's /auth address registered on the shared ecency.app app, then put ecency.app here.

A managed tenant never does any of that. The job sets the id for them, so the instruction describes work that will not happen and makes a working login look broken until the owner acts on it.

Changes

  • Client id description leads with the hosted case, keeps the self-hosted route (own app, or email us), and adds that an owner's own id is never overwritten. The reconcile already guarantees that, via decideClientId returning leave for any non-shared value, but nothing said so, and without it setting your own app reads as a change something else may undo.
  • Login methods description notes hosted blogs are given a client id automatically.
  • Test asserting the hosted case is described as automatic and that the own-id guarantee is stated. The existing gives both routes to a working setup case is untouched.

hivesigner-setup.ts's notice is deliberately left alone: it fires only when no client id is set, which on managed hosting no longer happens, and it stays correct for self-hosters, where nothing registers on their behalf.

Verification

  • vitest run src/features/floating-menu/ 83 passed.
  • Mutation check: reverting the description to the pre-existing copy fails the new test, and only that test.
  • Typecheck clean apart from the pre-existing gitignored config.json resolution error.

Summary by CodeRabbit

  • Documentation
    • Clarified authentication setup for hosted blogs, including automatic Hivesigner client ID assignment after on-chain registration.
    • Explained that self-hosted installations can use custom Hivesigner client IDs, which will not be overwritten.

The registration job writes the shared ecency.app client id for every active
tenant, but the Configuration Editor still told the owner to register an app
themselves or email us and then type the id in. That describes work a managed
tenant will never do, and reads as a broken login until they do it.

Rewrites the client id and login methods descriptions to state the hosted case
first, keep the self-hosted route, and say an owner's own id is never
overwritten, which the reconcile already guarantees but nothing told them.

Locks it with a test asserting the hosted case is described as automatic, so
the editor and the job cannot drift apart again the way they just did.
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@feruzm, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 6 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d34210c9-db93-49ec-9366-30ddc3228547

📥 Commits

Reviewing files that changed from the base of the PR and between cc296f9 and a6435e3.

📒 Files selected for processing (2)
  • apps/self-hosted/src/features/floating-menu/config-fields.test.ts
  • apps/self-hosted/src/features/floating-menu/config-fields.ts
📝 Walkthrough

Walkthrough

The floating-menu configuration now explains automatic Hivesigner client ID provisioning for Ecency-hosted blogs, custom client ID registration, and preservation of owner-provided IDs. A test verifies the hosted Hivesigner client ID description.

Changes

Hivesigner configuration guidance

Layer / File(s) Summary
Configuration copy and validation
apps/self-hosted/src/features/floating-menu/config-fields.ts, apps/self-hosted/src/features/floating-menu/config-fields.test.ts
The configuration descriptions document hosted client ID provisioning, custom registration, non-overwriting behavior, and self-hosted setup. Tests cover the hosted Hivesigner client ID copy.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Poem

A bunny reads the client ID note,
“Hosted hives arrive afloat.”
Custom IDs stay safe and bright,
Self-hosted paths now read just right.
Thump, thump—the tests confirm the sight!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main documentation change: hosted blogs receive the Hivesigner client ID automatically.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/self-hosted-hivesigner-copy

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cc296f9e99

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

type: 'string',
description:
"Hivesigner login stays hidden until this is set. Either register your own Hivesigner app and put its id here, or email hello@ecency.com to get this site's /auth address registered on the shared ecency.app app, then put ecency.app here.",
"Hivesigner login stays hidden until this is set. On a blog hosted by Ecency the shared ecency.app app is filled in for you, once this site's /auth address has been registered on chain, so there is normally nothing to do here. To use a different app, register your own and put its id here; it is never overwritten. On a self-hosted instance, register your own app or email hello@ecency.com.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore the ecency.app save step for self-hosted sites

For a self-hosted instance that uses the email/shared-app path, this sentence stops before telling the owner to save ecency.app in this field. There is no managed registration job for that case; the deployment guide still describes the email route as getting /auth registered and then putting ecency.app here, and while the field stays blank the Hivesigner button remains hidden. Please keep the hosted automatic copy, but retain the explicit then put ecency.app here instruction for self-hosters.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valid, and fixed in a6435e3. The reconcile only iterates the hosting database, so nothing writes this field on a self-hosted instance: an owner who took the email route and waited would have watched the button stay hidden for a step that was never going to happen on its own.

The self-hosted branch now reads: "On a self-hosted instance nothing fills this in for you: either register your own app and put its id here, or email hello@ecency.com to get this site's /auth address registered on the shared app and then put ecency.app here."

Also added a test for it. The existing gives both routes to a working setup case asserted the three substrings were present, and all three still were in the revision that had dropped the save step, which is how this got past review in the first place.

The rewrite dropped it. Nothing writes this field on a self-hosted instance:
the reconcile iterates the hosting database, so an owner who emails us and
waits sees the login stay hidden for a step that was never going to happen by
itself.

Restores the instruction on the self-hosted branch of the description, and adds
a test for it. The existing case asserted the three substrings were present,
and they all were in the revision that had dropped the step, so it caught
nothing.
@feruzm
feruzm merged commit ffa89e9 into develop Aug 5, 2026
12 checks passed
@feruzm
feruzm deleted the feature/self-hosted-hivesigner-copy branch August 5, 2026 06:51
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