Skip to content

Single-user mode: pod should be served at server root, not /me/ #348

Description

@melvincarvalho

Summary

In --single-user mode, JSS currently mounts the pod at /me/ rather than at the server root /. Since single-user mode means exactly one pod, the /me/ path prefix has no namespace-disambiguation purpose and adds friction for clients that expect a pod root to coincide with the server origin.

Current Behavior

$ jss start --single-user
# Pod resources accessible at:
#   http://localhost:4000/me/
#   http://localhost:4000/me/profile/card
#   http://localhost:4000/me/.acl

Expected Behavior

$ jss start --single-user
# Pod resources accessible at the server origin:
#   http://localhost:4000/
#   http://localhost:4000/profile/card
#   http://localhost:4000/.acl

The single-user pod's storage root coincides with the server origin — which is the natural mapping when there is, by definition, exactly one user.

Rationale

  • No namespace conflict: single-user means one pod; /me/ adds nothing
  • Cleaner WebID URIs: https://my.example.org/profile/card#me rather than https://my.example.org/me/profile/card#me
  • Standard Solid pod-at-origin pattern: matches what most existing Solid clients and tutorials assume
  • Clean offline-export and static-site behavior: a saved page's URI matches the server origin

Acceptance

  • --single-user (without other path-related overrides) serves the pod at /
  • WebID at /profile/card#me
  • Root ACL at /.acl
  • Container listing of / returns the LDP container for the pod root
  • Multi-user mode unchanged

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions