Skip to content

Commit

Permalink
Consistently spell homeserver as homeserver
Browse files Browse the repository at this point in the history
  • Loading branch information
illicitonion committed Dec 2, 2015
1 parent 138c8f8 commit 2f3a00f
Show file tree
Hide file tree
Showing 39 changed files with 235 additions and 235 deletions.
6 changes: 3 additions & 3 deletions api/client-server/administrative_contact.yaml
Expand Up @@ -25,7 +25,7 @@ paths:
This API endpoint uses the User-Interactive Authentication API.
An access token should be submitted to this endpoint if the client has
an active session.
The Home Server may change the flows available depending on whether a
The homeserver may change the flows available depending on whether a
valid access token is provided.
security:
- accessToken: []
Expand Down Expand Up @@ -64,7 +64,7 @@ paths:
This is *not* the same as the list of third party identifiers bound to
the user's Matrix ID in Identity Servers.
Identifiers in this list may be used by the Home Server as, for example,
Identifiers in this list may be used by the homeserver as, for example,
identifiers that it will accept to reset the user's account password.
security:
- accessToken: []
Expand Down Expand Up @@ -126,7 +126,7 @@ paths:
bind:
type: boolean
description: |-
Whether the home server should also bind this third party
Whether the homeserver should also bind this third party
identifier to the account's Matrix ID with the passed identity
server. Default: ``false``.
x-example: true
Expand Down
2 changes: 1 addition & 1 deletion api/client-server/create_room.yaml
Expand Up @@ -57,7 +57,7 @@ paths:
description: |-
The desired room alias **local part**. If this is included, a
room alias will be created and mapped to the newly created
room. The alias will belong on the *same* home server which
room. The alias will belong on the *same* homeserver which
created the room. For example, if this was set to "foo" and
sent to the homeserver "example.com" the complete room alias
would be ``#foo:example.com``.
Expand Down
2 changes: 1 addition & 1 deletion api/client-server/inviting.yaml
Expand Up @@ -38,7 +38,7 @@ paths:
Only users currently in a particular room can invite other users to
join that room.
If the user was invited to the room, the home server will append a
If the user was invited to the room, the homeserver will append a
``m.room.member`` event to the room.
.. _third party invites section: `invite-by-third-party-id-endpoint`_
Expand Down
2 changes: 1 addition & 1 deletion api/client-server/login.yaml
Expand Up @@ -81,7 +81,7 @@ paths:
(optional) A ``refresh_token`` may be exchanged for a new ``access_token`` using the /tokenrefresh API endpoint.
home_server:
type: string
description: The hostname of the Home Server on which the account has been registered.
description: The hostname of the homeserver on which the account has been registered.
400:
description: |-
Part of the request was invalid. For example, the login type may not be recognised.
Expand Down
2 changes: 1 addition & 1 deletion api/client-server/pusher.yaml
Expand Up @@ -114,7 +114,7 @@ paths:
description: |-
If true, the homeserver should add another pusher with the
given pushkey and App ID in addition to any others with
different user IDs. Otherwise, the Home Server must remove any
different user IDs. Otherwise, the homeserver must remove any
other pushers with the same App ID and pushkey for different
users. The default is ``false``.
required: ['profile_tag', 'kind', 'app_id', 'app_display_name',
Expand Down
4 changes: 2 additions & 2 deletions api/client-server/registration.yaml
Expand Up @@ -94,7 +94,7 @@ paths:
(optional) A ``refresh_token`` may be exchanged for a new ``access_token`` using the /tokenrefresh API endpoint.
home_server:
type: string
description: The hostname of the Home Server on which the account has been registered.
description: The hostname of the homeserver on which the account has been registered.
400:
description: |-
Part of the request was invalid. This may include one of the following error codes:
Expand All @@ -107,7 +107,7 @@ paths:
including after authentication if the requested user ID was registered
whilst the client was performing authentication.
Home Servers MUST perform the relevant checks and return these codes before
Homeservers MUST perform the relevant checks and return these codes before
performing `User-Interactive Authentication`_, although they may also return
them after authentication is completed if, for example, the requested user ID
was registered whilst the client was performing authentication.
Expand Down
4 changes: 2 additions & 2 deletions api/client-server/third_party_membership.yaml
Expand Up @@ -39,7 +39,7 @@ paths:
join that room.
If the identity server did know the Matrix user identifier for the
third party identifier, the home server will append a ``m.room.member``
third party identifier, the homeserver will append a ``m.room.member``
event to the room.
If the identity server does not know a Matrix user identifier for the
Expand All @@ -62,7 +62,7 @@ paths:
- The matrix user ID who invited them to the room
If a token is requested from the identity server, the home server will
If a token is requested from the identity server, the homeserver will
append a ``m.room.third_party_invite`` event to the room.
.. _joining rooms section: `invite-by-user-id-endpoint`_
Expand Down
48 changes: 24 additions & 24 deletions attic/v1_registration_login.rst
@@ -1,17 +1,17 @@
Registration and Login
----------------------

Clients must register with a home server in order to use Matrix. After
Clients must register with a homeserver in order to use Matrix. After
registering, the client will be given an access token which must be used in ALL
requests to that home server as a query parameter 'access_token'.
requests to that homeserver as a query parameter 'access_token'.

If the client has already registered, they need to be able to login to their
account. The home server may provide many different ways of logging in, such as
account. The homeserver may provide many different ways of logging in, such as
user/password auth, login via a social network (OAuth2), login by confirming a
token sent to their email address, etc. This specification does not define how
home servers should authorise their users who want to login to their existing
homeservers should authorise their users who want to login to their existing
accounts, but instead defines the standard interface which implementations
should follow so that ANY client can login to ANY home server. Clients login
should follow so that ANY client can login to ANY homeserver. Clients login
using the |login|_ API. Clients register using the |register|_ API.
Registration follows the same general procedure as login, but the path requests
are sent to and the details contained in them are different.
Expand All @@ -26,7 +26,7 @@ In order to determine up-front what the server's requirements are, the client
can request from the server a complete description of all of its acceptable
flows of the registration or login process. It can then inspect the list of
returned flows looking for one for which it believes it can complete all of the
required stages, and perform it. As each home server may have different ways of
required stages, and perform it. As each homeserver may have different ways of
logging in, the client needs to know how they should login. All distinct login
stages MUST have a corresponding ``type``. A ``type`` is a namespaced string
which details the mechanism for logging in.
Expand Down Expand Up @@ -64,12 +64,12 @@ ID and a new access token MUST be returned::
"access_token": "abcdef0123456789"
}

The ``user_id`` key is particularly useful if the home server wishes to support
The ``user_id`` key is particularly useful if the homeserver wishes to support
localpart entry of usernames (e.g. "user" rather than "@user:matrix.org"), as
the client may not be able to determine its ``user_id`` in this case.

If the flow has multiple stages to it, the home server may wish to create a
session to store context between requests. If a home server responds with a
If the flow has multiple stages to it, the homeserver may wish to create a
session to store context between requests. If a homeserver responds with a
``session`` key to a request, clients MUST submit it in subsequent requests
until the flow is completed::

Expand Down Expand Up @@ -99,7 +99,7 @@ To respond to this type, reply with::
"password": "<password>"
}

The home server MUST respond with either new credentials, the next stage of the
The homeserver MUST respond with either new credentials, the next stage of the
login process, or a standard error response.

Captcha-based
Expand All @@ -123,7 +123,7 @@ To respond to this type, reply with::
Recaptcha.get_challenge();
Recaptcha.get_response();

The home server MUST respond with either new credentials, the next stage of the
The homeserver MUST respond with either new credentials, the next stage of the
login process, or a standard error response.

OAuth2-based
Expand All @@ -146,32 +146,32 @@ The server MUST respond with::
"uri": <Authorization Request URI OR service selection URI>
}

The home server acts as a 'confidential' client for the purposes of OAuth2. If
The homeserver acts as a 'confidential' client for the purposes of OAuth2. If
the uri is a ``sevice selection URI``, it MUST point to a webpage which prompts
the user to choose which service to authorize with. On selection of a service,
this MUST link through to an ``Authorization Request URI``. If there is only 1
service which the home server accepts when logging in, this indirection can be
service which the homeserver accepts when logging in, this indirection can be
skipped and the "uri" key can be the ``Authorization Request URI``.

The client then visits the ``Authorization Request URI``, which then shows the
OAuth2 Allow/Deny prompt. Hitting 'Allow' returns the ``redirect URI`` with the
auth code. Home servers can choose any path for the ``redirect URI``. The
auth code. Homeservers can choose any path for the ``redirect URI``. The
client should visit the ``redirect URI``, which will then finish the OAuth2
login process, granting the home server an access token for the chosen service.
When the home server gets this access token, it verifies that the cilent has
login process, granting the homeserver an access token for the chosen service.
When the homeserver gets this access token, it verifies that the cilent has
authorised with the 3rd party, and can now complete the login. The OAuth2
``redirect URI`` (with auth code) MUST respond with either new credentials, the
next stage of the login process, or a standard error response.

For example, if a home server accepts OAuth2 from Google, it would return the
For example, if a homeserver accepts OAuth2 from Google, it would return the
Authorization Request URI for Google::

{
"uri": "https://accounts.google.com/o/oauth2/auth?response_type=code&
client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=photos"
}

The client then visits this URI and authorizes the home server. The client then
The client then visits this URI and authorizes the homeserver. The client then
visits the REDIRECT_URI with the auth code= query parameter which returns::

{
Expand All @@ -195,7 +195,7 @@ To respond to this type, reply with::
"email": "<email address>"
}

After validating the email address, the home server MUST send an email
After validating the email address, the homeserver MUST send an email
containing an authentication code and return::

{
Expand All @@ -212,7 +212,7 @@ code::
"code": "<code in email sent>"
}

The home server MUST respond to this with either new credentials, the next
The homeserver MUST respond to this with either new credentials, the next
stage of the login process, or a standard error response.

Email-based (url)
Expand All @@ -231,7 +231,7 @@ To respond to this type, reply with::
"email": "<email address>"
}

After validating the email address, the home server MUST send an email
After validating the email address, the homeserver MUST send an email
containing an authentication URL and return::

{
Expand All @@ -247,7 +247,7 @@ client should perform another request::
"session": "<session id>"
}

The home server MUST respond to this with either new credentials, the next
The homeserver MUST respond to this with either new credentials, the next
stage of the login process, or a standard error response.

A common client implementation will be to periodically poll until the link is
Expand All @@ -264,7 +264,7 @@ Email-based (identity server)

Prior to submitting this, the client should authenticate with an identity
server. After authenticating, the session information should be submitted to
the home server.
the homeserver.

To respond to this type, reply with::

Expand Down Expand Up @@ -293,7 +293,7 @@ of a previous login stage::
"next": "<next login type>"
}

If a home server implements N-factor authentication, it MUST respond with all
If a homeserver implements N-factor authentication, it MUST respond with all
``stages`` when initially queried for their login requirements::

{
Expand Down
8 changes: 4 additions & 4 deletions drafts/ancient_federated_versioning_design_notes.rst
@@ -1,11 +1,11 @@
Versioning is, like, hard for backfilling backwards because of the number of Home Servers involved.
Versioning is, like, hard for backfilling backwards because of the number of homeservers involved.

The way we solve this is by doing versioning as an acyclic directed graph of PDUs. For backfilling purposes, this is done on a per context basis.
The way we solve this is by doing versioning as an acyclic directed graph of PDUs. For backfilling purposes, this is done on a per context basis.
When we send a PDU we include all PDUs that have been received for that context that hasn't been subsequently listed in a later PDU. The trivial case is a simple list of PDUs, e.g. A <- B <- C. However, if two servers send out a PDU at the same to, both B and C would point at A - a later PDU would then list both B and C.

Problems with opaque version strings:
- How do you do clustering without mandating that a cluster can only have one transaction in flight to a given remote home server at a time.
- How do you do clustering without mandating that a cluster can only have one transaction in flight to a given remote homeserver at a time.
If you have multiple transactions sent at once, then you might drop one transaction, receive another with a version that is later than the dropped transaction and which point ARGH WE LOST A TRANSACTION.
- How do you do backfilling? A version string defines a point in a stream w.r.t. a single home server, not a point in the context.
- How do you do backfilling? A version string defines a point in a stream w.r.t. a single homeserver, not a point in the context.

We only need to store the ends of the directed graph, we DO NOT need to do the whole one table of nodes and one of edges.

0 comments on commit 2f3a00f

Please sign in to comment.