A URL cannot always say which application it is. Two apps on localhost:3000
are one address and two different things, and filed by address alone their
comments would land in one pile. So every comment is filed under a level above
the address, which you name yourself: a project.
The three levels
- A project is a grouping you make by hand, and it is the only level anybody types a name for.
- A site exists the first time somebody comments on a domain.
- A page exists the first time somebody comments on a URL.
Every site belongs to one project, and every page to one site. A site can be moved from one project to another, and its pages go with it.
The project a browser is in
Which project you are in is this browser’s choice, per server. Both the side panel’s header and the toolbar on the page show it.
Switching moves this browser and nothing else. Your teammate’s browser, and any agent with its own key, each have their own answer. Nothing you switch changes what anybody else sees.
The addresses a project claims
A project can claim addresses — a host such as staging.example.com, a pattern
such as *.example.com, a host and port such as localhost:5173, or one part of
a site such as example.com/admin. A page at a claimed address opens in that
project, and the toolbar names the address that decided.
Everybody on the server shares the claims. That is why, on a server with
more than one person, localhost and private addresses get a warning: on
somebody else’s machine that address may be another application.
A claim files what comes next, not what is already filed. Comments already in another project stay where they are until somebody moves their site.
Next steps
- Find a comment: switch projects, claim an address, and repair a page whose comments have come unstuck.