diff --git a/010.md b/010.md index e538bc9..be73a0a 100644 --- a/010.md +++ b/010.md @@ -6,6 +6,8 @@ Date: 2023-03-27 License: CC0-1.0 +## Abstract + The `post` message type is the foundational unit for talking with peers on the original scuttlebutt network. @@ -315,13 +317,7 @@ This message is not well connected, but it's common to render it in later steps regardless -## 4. Thread Forks - -TODO - -## 5. Rendering a thread - - +## 4. Rendering a thread Each message is generally displayed showing: - author name + image (derived from `msg.value.author` and other messages outside @@ -333,7 +329,7 @@ Each message is generally displayed showing: - info about any `fork` that this `post` started - a list of other threads which have linked to this message (backlinks) -### 5.1. Linear rendering of a tangle +### 4.1. Linear rendering of a tangle A tangle with forks is hard to render as a nice linear output (the most familiar way humans like to engage with threads in). @@ -380,12 +376,12 @@ _Figure. showing a linearised thread tangle, along with a "best guess" placement of disconnected message `Y`._ -### 5.2. Scuttlebutt Markdown +### 4.2. Scuttlebutt Markdown The `text` field of `post` messages is Scuttlebutt flavoured Markdown, which is basic Markdown with a couple of important privacy enhancing features. -#### 5.2.1 Image rendering +#### 4.2.1 Image rendering DO NOT render images that link to the web. This leaks data, which allows tracking of users. @@ -393,23 +389,23 @@ tracking of users. ![unsafe image](https://upload.wikimedia.org/wikipedia/commons/1/11/Panopticon.jpg) ``` Such images MUST instead be rendered as a link with an alert/ warning -(see 6.2.2). +(see 4.2.2). ONLY render images that link to blobs that are hosted locally: ```markdown ![snails](&7AUsuVcxUzIJZPBBLqR3O2KvIiuECgdYq9lzEh0jcS8=.sha256) ``` -#### 5.2.2 Link rendering +#### 4.2.2 Link rendering When a link to the web is present, the interface MUST render an alert to users -on-click. Similar to 6.2.1, this is to prevent accidental tracking. +on-click. Similar to 4.2.1, this is to prevent accidental tracking. ```markdown [click here](www.google.com) ``` -#### 5.2.3 Old @mentions (deprecated) +#### 4.2.3 Old @mentions (deprecated) Older messages used `mentions` in a fancy way so that the text didn't have honking ugly markdown links to feedIds in it, but most clients have given @@ -433,7 +429,7 @@ This was an innovation [@pfraze](@hxGxqPrplLjRG2vtjQL87abX4QKqeLgCwQpS730nNwE=.e came up with', ``` -### 5.3. Blocked authors +### 4.3. Blocked authors If some message `B` is from a blocked author, we may still use its tangle data for causal ordering, but not render that message in the thread. @@ -446,7 +442,7 @@ particular client whether this means display?" -### 5.4. Content warnings +### 4.4. Content warnings If the post contains a `contentWarning` field, the UI SHOULD NOT display the raw content and instead display a message which: @@ -459,6 +455,7 @@ rendered as usual. ## Reference implementation - [ssb-threads](https://github.com/ssbc/ssb-threads) + ## Informative references - this spec first started in thread: