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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions