The `Review::summary` was limited in behaviour, since it was only an `Option<String>`. The field is now changed to `NonEmpty<Edit>` so that it can enable an edit history, as well as being able to supply embeds as part of the text. `Reactions` are also introduced to `Review` and, necessarily, introducing an `Action::ReviewReact`. Note that some machinery was added under `actions` and `encoding` to enable backwards-compatibility. For `actions`, a new `ReviewEdit` is introduced to keep track of the different versions of editing actions – supporting the old actions while also introducing the new variant. For `encoding`, the machinery exploits the fact that an `Option<String>` can be converted into a `NonEmpty<Edit>` given that an `ActorId` and `Timestamp` are available, and that `None` can be converted into an empty string. The struct `patch::Review` now deserializes via this `encoding::review::Review` type and, importantly, preserves backwards-compatibility. |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||