* Change dependencies
* Use emoji-picker-element instead of emoji-mart
* Optimize emoji-picker appeareance and data-source
* Add twemoji font to emoji-picker
* Add missing useEffect dependency
* Add emoji-shortcode map
* Include emoji-data into bundle and remove dynamic fetch
* Rename shortcode-map
* Fix emoji-picker being hidden on second attempt to open it
* Add support for skin-tone short-codes
* Remove whitespace line
* Don't reinitialize the picker on every open
* Fixed linting and test issues
* Update CHANGELOG entry
* Add mock-files, API calls and overall tokens-UI
* Added ability to add tokens
* Added token deletion feature (based on timestamp)
* Replace mock-method by real API code
* Add cypress tests
* Added CHANGELOG information
* Un-access-ify i18n
* Set unique react-element key to timestamp of token-creation
* Remove 'now' from changelog
* Use @mrdrogdrog's suggestion for the info label
These were planned to be parsed at runtime from the note-content in the database, but having to run a markdown parser in the backend was found to be a bad idea. Now the frontend (that already implements the parsing logic) has to set title, description and tags.
Signed-off-by: David Mehren <git@herrmehren.de>
Co-authored-by: Yannick Bungers <git@innay.de>
The note metadata will be automatically extracted from the note content and cannot be updated separately.
Signed-off-by: David Mehren <git@herrmehren.de>
Co-authored-by: Yannick Bungers <git@innay.de>
This route should return a full `NotePermissions` object instead of only `NotePermissionsUpdate`
Signed-off-by: David Mehren <git@herrmehren.de>
Co-authored-by: Yannick Bungers <git@innay.de>
Previously, one had to send a complete `NoteMetadata` object when updating the pinned status of a note. A new `HistoryUpdateObject` type was introduced, that only contains the pinned status boolean.
Signed-off-by: David Mehren <git@herrmehren.de>
Co-authored-by: Yannick Bungers <git@innay.de>
Previously, the metadata route was used to both update note metadata (like title, description and tags) and the permissions. Additionally, one had to send many unchangeable properties. In this commit, a /notes/{note}/permissions route is introduced, that only changes permissions. Additionally, PUT /notes/{note}/metadata now needs only the properties that are actually changeable.
Signed-off-by: David Mehren <git@herrmehren.de>
Co-authored-by: Yannick Bungers <git@innay.de>
The NotePermissionsUpdateDto was not updated when group permissions were introduced.
Signed-off-by: David Mehren <git@herrmehren.de>
Co-authored-by: Yannick Bungers <git@innay.de>
Previously, this lead to locking errors, when multiple test runners accessed the same database and tried to clear it or tried to insert new test data.
Signed-off-by: David Mehren <git@herrmehren.de>
As the `saveFile` method only really uses the files `Buffer`, this commit changes the signature so it directly gets a `Buffer` instead of a complicated `MulterFile` object. This also simplifies testing.
Signed-off-by: David Mehren <git@herrmehren.de>