Skip to content

feat(domain): offer every suggested provider for creating a Pod - #285

Merged
ixuz merged 2 commits into
mainfrom
provider-sign-up
Oct 24, 2026
Merged

ixuz merged 2 commits into
mainfrom
provider-sign-up

Conversation

@ixuz

@ixuz ixuz commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

What and why

A newcomer without a Pod could only be sent to iGrant.io Data Pod to create one. It was the only provider in POD_PROVIDERS with a signUpUrl, and nothing said why the other three had none. If someone didn't want a Pod there, or their sign-up failed, the app gave them nowhere else to go. That undercuts Solid's promise that you choose where your data lives.

I checked each provider's sign-up page on 2026-10-24. solidcommunity.net, Inrupt PodSpaces and solidweb.me all let anyone sign up, with no invite and no waiting list. Each now has a signUpUrl, so all four are offered on the first step:

Provider Sign-up page
iGrant.io Data Pod https://igrant.io/datapod.html (unchanged)
solidcommunity.net https://solidcommunity.net/.account/login/password/register/
Inrupt PodSpaces https://start.inrupt.com/
solidweb.me https://solidweb.me/.account/login/password/register/
  • solidcommunity.net and solidweb.me run the Community Solid Server. The links go straight to its "Create account" page, and the Pod is created from the account's page after that.
  • Inrupt PodSpaces is a Developer Preview, which Inrupt says is not for production use or for sensitive or personal data. It is offered because anyone can sign up there, and docs/onboarding.md notes the caveat.
  • docs/onboarding.md has a new "Offered for creating a Pod" section. It lists the providers offered and their sign-up pages, and says what to do when a provider's sign-up closes or comes to need an invite: remove its signUpUrl and write down why.

A separate commit fixes npm run check:providers. It asked every URL for JSON first, sign-up pages included. The Community Solid Server serves its "Create account" page only to a request that prefers HTML and answers 404 otherwise, so both new links would have failed the weekly check while working in every browser. The check now asks for the issuer's discovery document as JSON and for a sign-up page as HTML, as a browser does. It has a test of its own, and docs/testing.md says so.

With both commits, npm run check:providers reports all 4 providers answering.

Closes: #283

Checklist

  • One issue. This pull request addresses one issue, linked above.
  • One step. This pull request does not finish its issue, so it says Refs:, not Closes:. Leave this unchecked otherwise.
  • Done, as AGENTS.md defines it: npm run check passes (lint, Markdown and spelling included), npm run lint:reuse too if a file was added, and npm run crosscheck too if ns/ or decks/ changed. (npm run check passes on each commit; n/a for lint:reuse and crosscheck: no file was added, and ns/ and decks/ are unchanged)
  • Tests. New and changed code has its tests, and every package stays at 100% coverage (docs/testing.md).
  • Docs. The docs say what changed, and a new page in docs/ is listed in docs/docs.ttl. (docs/onboarding.md and docs/testing.md updated; no new page)
  • Languages. A new or changed message is in every locale: en, sv, ko, de, es and fr (packages/ui/src/i18n/). (n/a: no message changed)
  • Vocabulary and shapes. Any change to ns/ was agreed in an issue first; no published ns/shapes/*/vN.ttl or decks/*/vN.ttl was edited; generated files were regenerated, not edited. (n/a: ns/ and decks/ are unchanged)
  • Breaking? Nothing in the public API breaks, or a commit says so (! and a BREAKING CHANGE: footer). npm run check:breaking sees a line of api/ that goes, but not a feature removed, nor a reader that reads less than before. (only entries added to POD_PROVIDERS)
  • Pod data. Any change to what the app writes to a pod comes with its migration (docs/migrations.md). (n/a: nothing written to a pod changes)
  • Policy. Any change to an external rule the code follows (SM-2, the plural rules, a specification) is cited. (n/a)
  • Licenses. New content is MIT, or a deck states its own license; a new file has its SPDX header (npm run lint:reuse), or a new deck its line in REUSE.toml; third-party content is credited. (n/a: no new file or deck)
  • Architecture. Imports follow docs/boundaries.md and the layers of docs/architecture.md. (no imports changed)
  • Run. I ran the app (npm run dev) and tried the change, and considered the user journeys.
  • Authorship. I read and understand every line of this pull request, and answer for it, whatever tools helped write it (CONTRIBUTING.md).
  • Commits. Each commit is one logical change, in Conventional Commits form (type(scope): subject, ! and a BREAKING CHANGE: footer if it breaks something), with an imperative subject and a body that explains why (CONTRIBUTING.md).

ixuz added 2 commits October 24, 2026 17:05
npm run check:providers asked every URL for JSON first, the sign-up
pages too. The Community Solid Server, which solidcommunity.net and
solidweb.me run, serves its "Create account" page only to a request
that prefers HTML and answers 404 to one that prefers JSON. A sign-up
link there would fail the weekly check although it works in every
browser.

The discovery document is now asked for as JSON and a sign-up page as
HTML, as a newcomer's browser asks for it.

Refs: #283
Onboarding's first step offered only iGrant.io Data Pod for creating a
Pod, since it was the only provider with a signUpUrl. A newcomer who
did not want a Pod there, or whose sign-up failed, had nowhere else to
go from the app, which undercuts Solid's promise that you choose where
your data lives. Nothing said why the other three had no link.

solidcommunity.net, Inrupt PodSpaces and solidweb.me all let anyone
sign up today, with no invite and no waiting list, so each gets its
sign-up page. The two Community Solid Servers link straight to their
"Create account" page. onboarding.md lists the providers offered, notes
that PodSpaces is a Developer Preview, and says what to do when a
provider's sign-up closes. The weekly check:providers requests every
new link.

Closes: #283
@ixuz ixuz added enhancement New feature or request interop labels Oct 24, 2026
@ixuz
ixuz enabled auto-merge October 24, 2026 15:12
@ixuz
ixuz added this pull request to the merge queue Oct 24, 2026
Merged via the queue into main with commit 7b6436c Oct 24, 2026
35 checks passed
@ixuz
ixuz deleted the provider-sign-up branch October 24, 2026 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request interop

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A newcomer without a Pod is offered only one provider to create it at

1 participant