mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-25 09:09:54 +01:00
akwizgran created page: ForumApp
@@ -1,4 +1,4 @@
|
||||
ForumApp is a [BSP application](BSP) that synchronises forum posts among groups of devices. Any member of a forum can invite their contacts to join, and any member can write posts.
|
||||
ForumApp is a [BSP application](BSP) that synchronises forum posts among groups of devices. Any member of a forum can invite non-members to join, and any member can write posts.
|
||||
|
||||
### Channel identifiers
|
||||
|
||||
@@ -14,9 +14,9 @@ The application identifer is random:
|
||||
|
||||
**0: INVITATION** - The content is a BDF list with three elements: `forum` (list) and `note` (string, may be null). `forum` is a list with two elements, `name` and `salt`, as described above. `note` is an optional note from the inviter to the invitee.
|
||||
|
||||
**1: RESPONSE** - The content is a BDF list with three elements: `invitation_id` (raw), `decision` (boolean), and `note` (string, may be null). `invitation_id` is the identifier of an invitation created by the opposite device. `decision` indicates whether the invitee wishes to join the forum. `note` is an optional note from the invitee to the inviter.
|
||||
**1: RESPONSE** - The content is a BDF list with three elements: `invitation_id` (raw), `decision` (boolean), and `note` (string, may be null). `invitation_id` is the identifier of an invitation created by the opposite peer. `decision` indicates whether the invitee wishes to join the forum. `note` is an optional note from the invitee to the inviter.
|
||||
|
||||
**2: DEPARTURE** - The content is a BDF list with one element: `invitation_id` (raw), which is the identifier of an invitation created by either device.
|
||||
**2: DEPARTURE** - The content is a BDF list with one element: `invitation_id` (raw), which is the identifier of an invitation created by either peer.
|
||||
|
||||
**3: POST** - The content is a BDF list with two elements: `author` (list, may be null) and `content` (list). If `author` is null, the post is anonymous. Otherwise `author` is a list with two elements: `identity` (list) and `signature` (raw). `identity` is a list with two elements: `name` (string) and `public_key` (raw). `signature` is calculated over `content`.
|
||||
|
||||
@@ -29,8 +29,8 @@ The application identifer is random:
|
||||
* An invitation or response must belong to the invitation channel.
|
||||
* A post or attachment must belong to a forum channel.
|
||||
* An invitation is valid if it is well-formed.
|
||||
* A response is valid if it is well-formed and it references a valid invitation created by the opposite device.
|
||||
* A departure is valid if it is well-formed and it references a valid invitation created by either device.
|
||||
* A response is valid if it is well-formed and it references a valid invitation created by the opposite peer.
|
||||
* A departure is valid if it is well-formed and it references a valid invitation created by either peer.
|
||||
* A post is valid if it is well-formed, its parent (if any) is a valid post, and it is either anonymous or carries a valid signature over its content.
|
||||
* An attachment is always valid.
|
||||
|
||||
@@ -43,15 +43,15 @@ For the invitation channel:
|
||||
* All remote messages are stored.
|
||||
|
||||
For forum channels:
|
||||
* Local messages are stored while the local device belongs to the forum.
|
||||
* Remote messages are stored while the local device belongs to the forum.
|
||||
* Local messages are stored while the local peer belongs to the forum.
|
||||
* Remote messages are stored while the local peer belongs to the forum.
|
||||
|
||||
### Sharing policy
|
||||
|
||||
For the invitation channel:
|
||||
* Each local message is shared with one remote device.
|
||||
* Remote messages are not shared with other remote devices.
|
||||
* Each local message is shared with one remote peer.
|
||||
* Each remote message is shared with the remote peer that created it.
|
||||
|
||||
For forum channels:
|
||||
* Local messages are shared with all remote devices that belong to the forum.
|
||||
* Remote messages are shared with all remote devices that belong to the forum.
|
||||
* Local messages are shared with all remote peers that belong to the forum.
|
||||
* Remote messages are shared with all remote peers that belong to the forum.
|
||||
|
||||
Reference in New Issue
Block a user