Add a configurable Fediverse follow experience #15

Merged
erik merged 2 commits from task-83e59ca1-mastodon-follow into main 2026-07-30 14:30:38 -05:00
Owner

Summary

  • document Mastodon discovery requirements and compare follow-entry approaches
  • derive the public Fediverse handle from the configured actor username and ActivityPub public origin using the same helper as actor settings
  • show the full handle and a prominent Mastodon-style Follow action in the existing profile sidebar, not the homepage hero
  • provide universal copy-handle guidance and an optional Mastodon server redirect in the dialog
  • redirect client-side to the selected server's authorize_interaction endpoint without fetching visitor-provided hosts
  • allow the interface to be previewed while local federation delivery remains disabled

Verification

  • npm run build
  • npm run lint
  • npm test (314 tests)
  • automated execution of the rendered script covers copy behavior, safe redirect construction, actor URL encoding, and rejected path-bearing input
  • browser: profile sidebar renders the derived handle and Mastodon-style Follow action
  • browser: homepage hero does not contain follow controls
  • browser: mastodon.online redirects through authorize_interaction to sign-in
  • Forgejo CI run 50 passed
## Summary - document Mastodon discovery requirements and compare follow-entry approaches - derive the public Fediverse handle from the configured actor username and ActivityPub public origin using the same helper as actor settings - show the full handle and a prominent Mastodon-style Follow action in the existing profile sidebar, not the homepage hero - provide universal copy-handle guidance and an optional Mastodon server redirect in the dialog - redirect client-side to the selected server's `authorize_interaction` endpoint without fetching visitor-provided hosts - allow the interface to be previewed while local federation delivery remains disabled ## Verification - `npm run build` - `npm run lint` - `npm test` (314 tests) - automated execution of the rendered script covers copy behavior, safe redirect construction, actor URL encoding, and rejected path-bearing input - browser: profile sidebar renders the derived handle and Mastodon-style Follow action - browser: homepage hero does not contain follow controls - browser: `mastodon.online` redirects through `authorize_interaction` to sign-in - Forgejo CI run 50 passed
Add configurable Fediverse follow controls
All checks were successful
CI / build-lint-test (push) Successful in 46s
fb29a1038b
Move follow action into the profile sidebar
All checks were successful
CI / build-lint-test (push) Successful in 51s
f3daee291e
Author
Owner

Review summary

The PR documents Mastodon discovery and follow options, derives the public handle from shared actor/runtime configuration, and adds a progressive follow experience to the existing profile sidebar. The homepage hero remains unchanged, no production identity is hardcoded, and the Mastodon-specific redirect does not perform server-side requests to visitor-provided hosts.

Acceptance criteria

  • Met — Mastodon follow and discovery requirements are documented with primary references.
  • Met — Copy-handle, Mastodon interaction, observer-profile, and WebFinger-template approaches are compared.
  • Met — The recommended sidebar experience and implementation considerations are documented with clear next steps.

Blocking issues

  • None.

Warnings

  • None.

Verification

  • Build, lint, and all 314 tests passed.
  • The rendered client script is executed by an automated test covering clipboard behavior, safe redirect construction, actor URL encoding, and invalid path rejection.
  • Browser verification confirmed the sidebar layout, unchanged homepage hero, native dialog behavior, and Mastodon interaction redirect.
  • Forgejo CI run 50 passed.

Verdict

Approved for merge.

### Review summary The PR documents Mastodon discovery and follow options, derives the public handle from shared actor/runtime configuration, and adds a progressive follow experience to the existing profile sidebar. The homepage hero remains unchanged, no production identity is hardcoded, and the Mastodon-specific redirect does not perform server-side requests to visitor-provided hosts. ### Acceptance criteria - **Met** — Mastodon follow and discovery requirements are documented with primary references. - **Met** — Copy-handle, Mastodon interaction, observer-profile, and WebFinger-template approaches are compared. - **Met** — The recommended sidebar experience and implementation considerations are documented with clear next steps. ### Blocking issues - None. ### Warnings - None. ### Verification - Build, lint, and all 314 tests passed. - The rendered client script is executed by an automated test covering clipboard behavior, safe redirect construction, actor URL encoding, and invalid path rejection. - Browser verification confirmed the sidebar layout, unchanged homepage hero, native dialog behavior, and Mastodon interaction redirect. - Forgejo CI run 50 passed. ### Verdict Approved for merge.
erik merged commit de2c55a1d5 into main 2026-07-30 14:30:38 -05:00
erik deleted branch task-83e59ca1-mastodon-follow 2026-07-30 14:30:38 -05:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/erikvancraddock.com!15
No description provided.