Skip to content

Send the stable fxfiles.top link to the directory - #110

Merged
ehsan6sha merged 1 commit into
mainfrom
fix/directory-stable-link
Aug 24, 2026
Merged

Send the stable fxfiles.top link to the directory#110
ehsan6sha merged 1 commit into
mainfrom
fix/directory-stable-link

Conversation

@ehsan6sha

Copy link
Copy Markdown
Member

The directory's Visit link was the raw per-generation gateway URL, which points at ONE build and goes stale on the next regeneration. The address the app shows users is the group's IPNS front door (https://fxfiles.top/w/<k51...>), stable across regenerations.

The server cannot derive it - the pointer lives in this user's encrypted manifest and is published to w3name from the browser - so the client hands it over, and the server validates the shape before publishing it.

Timing is the subtle part: the front door only exists AFTER the job completes and publishLatest resolves. So a listed site is created with the gateway URL and upgraded to the stable link once the IPNS publish lands. Reading _listInDirectory BEFORE _forgetPhase clears it is load-bearing - without that the upgrade silently never fires.

Best-effort throughout: a failed upgrade leaves the entry listed with the gateway URL rather than unlisted.

Server half: functionland/pinning-service#86.

analyze clean, 971 tests.

The directory's Visit link was the raw per-generation gateway URL, which
points at ONE build and goes stale on the next regeneration. The address
the app shows users is the group's IPNS front door
(https://fxfiles.top/w/<k51...>), stable across regenerations.

The server cannot derive it - the pointer lives in this user's encrypted
manifest and is published to w3name from the browser - so the client
hands it over, and the server validates the shape before publishing it.

Timing is the subtle part: the front door only exists AFTER the job
completes and publishLatest resolves. So a listed site is created with
the gateway URL and upgraded to the stable link once the IPNS publish
lands. Reading _listInDirectory BEFORE _forgetPhase clears it is
load-bearing - without that the upgrade silently never fires.

Best-effort throughout: a failed upgrade leaves the entry listed with the
gateway URL rather than unlisted.

Server half: functionland/pinning-service.
@ehsan6sha
ehsan6sha merged commit 898704a into main Aug 24, 2026
1 check passed
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