Skip to content
This repository was archived by the owner on Aug 15, 2025. It is now read-only.

Commit fc7fc7e

Browse files
committed
2 parents fb2a553 + 89a2ea5 commit fc7fc7e

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

docs/Protocol Specifications/core.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,8 @@ appearing on ID-Certs managed by that server **if all the following conditions a
184184
the domain components of the *visible domain name*, the server hosted under the *actual domain name*
185185
must not be treated as a polyproto server for the *visible domain name*.
186186

187+
Every polyproto home server must have a `.well-known` URI, accessible via an HTTP GET request.
188+
187189
Should a client not be able to access the polyproto API endpoints located at `[visible domain name]/.p2/core/`,
188190
the client must query `[visible domain name]/.well-known/polyproto-core` with an HTTP GET request and
189191
try to verify the above-mentioned conditions. If all the above-mentioned conditions can be fulfilled,
@@ -386,7 +388,8 @@ A service channel event payload has the following structure:
386388
| `service` | string | The name of a polyproto service. |
387389

388390
The server must respond with a `Service Channel ACK` event payload, indicating whether the action
389-
was successful or not.
391+
was successful or not. Clients should expect that the server sends a `Service Channel` payload indicating
392+
the closing of a channel.
390393

391394
!!! example "Example service channel ACK event payload - failure"
392395

@@ -398,7 +401,7 @@ was successful or not.
398401
"action": "subscribe",
399402
"service": "service_name",
400403
"success": false,
401-
"errorMessage": "Service not found"
404+
"error": "Service not found"
402405
},
403406
"s": 1
404407
}
@@ -424,7 +427,7 @@ was successful or not.
424427
| `action` | string | The action to perform on the service channel. Must be either `subscribe` or `unsubscribe`. |
425428
| `service` | string | The polyproto service that was specified in the opcode 8 request |
426429
| `success` | boolean | Whether the action was successful or not. |
427-
| `message` | string? | Only present if `success` is `false`. A message indicating why the action failed. |
430+
| `error` | string? | Only present if `success` is `false`. A message indicating why the action failed. |
428431

429432
If a successful subscription to a service channel is acknowledged, all logic and further event on
430433
this channel are defined by the service's specification.
@@ -675,8 +678,8 @@ A heartbeat ACK contains events that the client has re-requested as part of thei
675678
}
676679
```
677680

678-
As such, the field `d` in a heartbeat ack is optional (`?`) and, if present, contains an array of
679-
other gateway events. Heartbeat ACK payloads must not be present in this array, making recursion
681+
As such, the field `d` in a heartbeat ack may be empty, but never not present. The `d` field contains
682+
an array of other gateway events. Heartbeat ACK payloads must not be present in this array, making recursion
680683
impossible.
681684

682685
#### 3.2.4 Establishing a connection
@@ -993,7 +996,7 @@ FIDs consist of the following parts:
993996
| `@` | <a name="def-separator" id="separator"></a>"Separator" | Separates local name from domain name |
994997
| `optionalsubdomain.domain.tld` | <a name="def-domain-name" id="def-domain-name"></a>"Domain Name" | Includes top-level domain, second-level domain and other subdomains. Address which the actors' home server can be reached at. |
995998

996-
The following regular expression can be used to validate actor IDs: `\b([a-z0-9._%+-]+)@([a-z0-9-]+(\.[a-z0-9-]+)*)`.
999+
The following regular expression can be used to validate actor IDs: `\b([a-z0-9._%+-]+)@([a-z0-9-]+(\.[a-z0-9-]+)*)$`.
9971000

9981001
!!! info
9991002

requirements.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Babel==2.16.0
2-
certifi==2024.12.14
1+
Babel==2.17.0
2+
certifi==2025.1.31
33
charset-normalizer==3.4.1
44
click==8.1.8
55
colorama==0.4.6
@@ -13,7 +13,7 @@ MarkupSafe==3.0.2
1313
mergedeep==1.3.4
1414
mkdocs==1.6.1
1515
mkdocs-git-revision-date-localized-plugin==1.3.0
16-
mkdocs-material==9.5.50
16+
mkdocs-material==9.6.1
1717
mkdocs-material-extensions==1.3.1
1818
mkdocs-nav-weight==0.2.0
1919
mkdocs-rss-plugin==1.17.1
@@ -22,9 +22,9 @@ paginate==0.5.7
2222
pathspec==0.12.1
2323
platformdirs==4.3.6
2424
Pygments==2.19.1
25-
pymdown-extensions==10.14.1
25+
pymdown-extensions==10.14.3
2626
python-dateutil==2.9.0.post0
27-
pytz==2024.2
27+
pytz==2025.1
2828
PyYAML==6.0.2
2929
pyyaml_env_tag==0.1
3030
regex==2024.11.6

0 commit comments

Comments
 (0)