Commit graph

283 commits

Author SHA1 Message Date
Philip Molares
2fc89a7de5 feat: don't let read-only users send their cursors or selections
This was done as it may be used to distract or annoy other users either intentionally or unintentionally.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-06 22:54:50 +02:00
Philip Molares
c2f41118b6 feat: check permissions in realtime code and frontend
Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-06 22:54:50 +02:00
renovate[bot]
ca586413d2 fix(deps): update dependency typeorm to v0.3.13
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-04-06 14:34:21 +00:00
renovate[bot]
5b87029312 fix(deps): update nestjs packages to v9.4.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-04-05 18:29:11 +02:00
renovate[bot]
e89f7757a3 fix(deps): update dependency @nestjs/schedule to v2.2.1
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-04-04 21:17:35 +02:00
Tilman Vatteroth
6fb58d56c2 fix: add missing tests for realtime-user-status-adapter
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-04 18:29:20 +02:00
Tilman Vatteroth
2a2d3756ad refactor: test code of realtime
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-04 18:29:20 +02:00
renovate[bot]
5d9e220e1f chore(deps): update typescript-eslint monorepo to v5.57.1
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-04-03 20:20:47 +02:00
renovate[bot]
266eaf29e6 chore(deps): update dependency ts-jest to v29.1.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-04-03 20:06:05 +02:00
renovate[bot]
84ab3ecc58 fix(deps): update dependency yjs to v13.5.52
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-03 17:08:10 +00:00
Tilman Vatteroth
15374acb93 fix(backend): throw error if key in param decorator is not defined
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-03-31 15:43:28 +02:00
renovate[bot]
ae58cab019 chore(deps): update dependency typescript to v5.0.3
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-31 15:43:28 +02:00
renovate[bot]
f3de6a50dc chore(deps): update nestjs packages
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-31 15:22:31 +02:00
renovate[bot]
45d379680a chore(deps): update node.js to ce9dd01
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-30 14:18:28 +00:00
renovate[bot]
a31810fe8b chore(deps): update node.js to fcf4e6f
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-30 09:07:44 +02:00
renovate[bot]
b8ae513007 chore(deps): update dependency tsconfig-paths to v4.2.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 09:05:54 +02:00
renovate[bot]
69ea23dca7 chore(deps): update node.js to c662fff
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-30 03:26:46 +00:00
renovate[bot]
214c829ef9 fix(deps): update dependency @types/minio to v7.0.18
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-29 21:42:52 +02:00
renovate[bot]
d0f2b0a471 chore(deps): update dependency eslint to v8.37.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-29 15:09:22 +02:00
renovate[bot]
2f1c6d3033 chore(deps): update definitelytyped
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-29 02:25:00 +02:00
Tilman Vatteroth
598fc8ee11 feat(realtime): synchronize and show realtime activity state
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-03-29 01:16:43 +02:00
Tilman Vatteroth
5299b569f7 fix(backend): keep log output in dev mode
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-03-28 11:34:05 +02:00
renovate[bot]
4d749fb480 chore(deps): update typescript-eslint monorepo to v5.57.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-27 19:58:01 +02:00
David Mehren
f238b216f9 build: use node18 tsconfig preset
Because of https://github.com/typeorm/typeorm/pull/9884, we need to manually disable useDefineForClassFields

Signed-off-by: David Mehren <git@herrmehren.de>
2023-03-26 20:21:46 +02:00
Tilman Vatteroth
8fc59aad82 refactor: make permission service less complex
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-03-26 20:21:13 +02:00
Tilman Vatteroth
0f8effd318 fix: use correct body parameter for permission controller
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-03-26 20:21:13 +02:00
David Mehren
f7f052fca1 refactor: use separate env vars for frontend/backend port
As we moved to a combined .env file for simplicity, frontend and backend need to be configured with separate variables.

Signed-off-by: David Mehren <git@herrmehren.de>
2023-03-26 15:53:49 +02:00
David Mehren
55f3bd9b60 refactor: move .env file to repo root
Signed-off-by: David Mehren <git@herrmehren.de>
2023-03-26 15:53:49 +02:00
Erik Michelson
408d82e280 enhancement(auth): better error message handling
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2023-03-26 15:43:39 +02:00
Erik Michelson
ca9836d691 enhancement(auth): better error message handling
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2023-03-26 15:43:39 +02:00
renovate[bot]
37c57d67f0 chore(deps): update dependency @types/node to v18.15.10
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-26 09:17:34 +02:00
David Mehren
925bb85d2f build: add eslint rule forbidding TypeORM Equal constructor
TypeORMs Equal constructor is buggy and should not be used.
This introduces a ESLint rule that checks for that.

Signed-off-by: David Mehren <git@herrmehren.de>
2023-03-25 16:29:14 +01:00
Tilman Vatteroth
24b7514e25 feat: submit own style index on realtime user state set
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-03-25 13:11:40 +01:00
David Mehren
81531b6559 test: use correct note content
The `works with an existing note` test was refactored to use testSetup
notes, but didn't use the correct content to compare to.

It's unclear why this test is only failing now.

Signed-off-by: David Mehren <git@herrmehren.de>
2023-03-25 12:43:27 +01:00
David Mehren
382e70bf7b fix: replace Equals constructor
TypeORMs Equals constructor is still broken, so this commit removes all remaining usages.

See https://github.com/hedgedoc/hedgedoc/issues/2467

Signed-off-by: David Mehren <git@herrmehren.de>
2023-03-25 12:43:27 +01:00
Tilman Vatteroth
088f2905a5 fix(backend): Fix type errors in query builder mock
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-03-25 12:43:27 +01:00
renovate[bot]
e23f0ff259 fix(deps): update dependency typeorm to v0.3.12
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-25 12:43:27 +01:00
renovate[bot]
da8424abdf chore(deps): update dependency @types/node to v18.15.9
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-25 10:07:12 +01:00
David Mehren
162a8e8816 docs: Move 'User Profiles & Authentication' to design docs
Signed-off-by: David Mehren <git@herrmehren.de>
2023-03-24 20:06:11 +01:00
Philip Molares
e01628cfb0 fix(backend): fix permission routes in NotesController
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2023-03-24 18:47:23 +01:00
Tilman Vatteroth
a826677225 refactor: save ydoc state in the database, so it can be restored easier
By storing the ydoc state in the database we can reconnect lost clients easier
and enable offline editing because we continue using the crdt data that has been
used by the client before the connection loss.

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-03-24 16:03:55 +01:00
Tilman Vatteroth
3a06f84af1 refactor: reimplement realtime-communication
This commit refactors a lot of things that are not easy to separate.
It replaces the binary protocol of y-protocols with json.
It introduces event based message processing.
It implements our own code mirror plugins for synchronisation of content and remote cursors

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-03-24 14:06:03 +01:00
renovate[bot]
83754a9b01 fix(deps): update dependency minio to v7.0.33
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-24 13:02:33 +01:00
renovate[bot]
1219d83bc8 chore(deps): update dependency prettier to v2.8.7
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-24 12:16:22 +01:00
renovate[bot]
c1e085487b chore(deps): update dependency @types/node to v18.15.7
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-24 12:15:17 +01:00
renovate[bot]
3a441caf5e chore(deps): update dependency @types/node to v18.15.6
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 23:43:57 +00:00
renovate[bot]
f0996c218c chore(deps): update dependency @types/diff to v5.0.3
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-23 19:23:15 +01:00
renovate[bot]
9d4a5f45d9 fix(deps): update dependency lib0 to v0.2.73
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-23 19:22:48 +01:00
renovate[bot]
0e88fb5cef fix(deps): update dependency rimraf to v4.4.1
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-22 21:21:47 +01:00
renovate[bot]
a015655406 fix(deps): update dependency yjs to v13.5.51
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-03-22 13:53:17 +01:00