Commit graph

47 commits

Author SHA1 Message Date
Erik Michelson
8ce40bc4cd fix(frontend): remove linter workarounds
Some checks failed
Docker / build-and-push (backend) (push) Has been cancelled
Docker / build-and-push (frontend) (push) Has been cancelled
E2E Tests / backend-sqlite (push) Has been cancelled
E2E Tests / backend-mariadb (push) Has been cancelled
E2E Tests / backend-postgres (push) Has been cancelled
E2E Tests / Build test build of frontend (push) Has been cancelled
Lint and check format / Lint files and check formatting (push) Has been cancelled
REUSE Compliance Check / reuse (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
Static Analysis / Njsscan code scanning (push) Has been cancelled
Static Analysis / CodeQL analysis (push) Has been cancelled
Run tests & build / Test and build with NodeJS 20 (push) Has been cancelled
E2E Tests / frontend-cypress (1) (push) Has been cancelled
E2E Tests / frontend-cypress (2) (push) Has been cancelled
E2E Tests / frontend-cypress (3) (push) Has been cancelled
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2024-11-01 17:31:27 +01:00
Erik Michelson
df6540163c chore(deps): upgrade dependencies for frontend + lint fixes
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2024-11-01 17:31:27 +01:00
Erik Michelson
1c73e99b0a enhancement(note-deletion): allow to keep uploads
This adds support for keeping the uploads attached to a note when
deleting the same note. This is done by a simple checkbox that can be
clicked in the DeletionModal.

To do this, some parts of the note deletion had to be refactored,
especially in the case of the history page. Both the note deletion and
history removal methods used the same modal, which isn't applicable now
anymore. Additionally, there was a bug that the modal checked for
ownership in the frontend before allowing the note deletion. However, in
the context of the history page, the ownership couldn't be evaluated
since the backend API didn't include that information. This is now fixed
as well.

Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2024-09-18 18:37:39 +02:00
Erik Michelson
157a0fe278 refactor(media): store filenames, use pre-signed s3/azure URLs, UUIDs
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2024-09-12 14:49:17 +02:00
Erik Michelson
7f665fae4b feat(auth): refactor auth, add oidc
Some checks are pending
Docker / build-and-push (frontend) (push) Waiting to run
Docker / build-and-push (backend) (push) Waiting to run
Deploy HD2 docs to Netlify / Deploys to netlify (push) Waiting to run
E2E Tests / backend-sqlite (push) Waiting to run
E2E Tests / backend-mariadb (push) Waiting to run
E2E Tests / backend-postgres (push) Waiting to run
E2E Tests / Build test build of frontend (push) Waiting to run
E2E Tests / frontend-cypress (1) (push) Blocked by required conditions
E2E Tests / frontend-cypress (2) (push) Blocked by required conditions
E2E Tests / frontend-cypress (3) (push) Blocked by required conditions
Lint and check format / Lint files and check formatting (push) Waiting to run
REUSE Compliance Check / reuse (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Static Analysis / Njsscan code scanning (push) Waiting to run
Static Analysis / CodeQL analysis (push) Waiting to run
Run tests & build / Test and build with NodeJS 20 (push) Waiting to run
Thanks to all HedgeDoc team members for the time discussing,
helping with weird Nest issues, providing feedback
and suggestions!

Co-authored-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2024-09-11 21:29:49 +02:00
Erik Michelson
8693edbf6a refactor(media): add media redirection endpoint
Previous versions of HedgeDoc suffered from the problem
that changing the media backend required manipulation of
the media links in all created notes. We discussed in
#3704 that it's favourable to have an endpoint that
redirects to the image's original URL. When changing the
media backend, the link stays the same but just the
redirect changes.

Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2024-04-18 22:11:49 +02:00
Erik Michelson
5ccc9059f0 tests(permissions): add cypress tests for permission alert icon
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2023-10-13 18:07:44 +02:00
Erik Michelson
a8b3b117dc feature: add identicon generation to users without photo
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2023-10-07 15:51:32 +02:00
Philip Molares
d43da06ec1 refactor: remove dropbox, facebook & twitter login
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2023-10-07 13:28:37 +02:00
Erik Michelson
1207ce7690 fix(frontend-config): use guest access level instead of allowAnonymous
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2023-09-24 23:19:12 +02:00
Tilman Vatteroth
56643ffd85 feat: merge login, register and intro page
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-09-24 22:12:39 +02:00
Tilman Vatteroth
8602645bea feat: migrate frontend app to nextjs app router
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-09-03 22:00:34 +02:00
Tilman Vatteroth
7b3c217470 fix(frontend): remove unused handler
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-08-27 12:42:40 +02:00
Tilman Vatteroth
dccd58f0c1 fix: remove subpath support for HD_BASE_URL
With this commit we drop the subpath support which results in the constraint that HedgeDoc must always run on the root of a domain. This makes a lot of things in testing, rendering and security much easier.

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-08-13 20:38:53 +02:00
Tilman Vatteroth
34bf8f16b1 fix: format code
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-07-19 12:36:32 +02:00
Erik Michelson
d10c6d3290 refactor: move help entries into new global app bar
Co-authored-by: Tilman Vatteroth <git@tilmanvatteroth.de>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2023-07-02 17:54:23 +02:00
Erik Michelson
5b64392a98 refactor: move motd modal
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2023-07-02 17:54:23 +02:00
Erik Michelson
fa819c290a refactor: move cheatsheet to global components
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2023-07-02 17:54:23 +02:00
Tilman Vatteroth
90df9a4e32 feat: move title and description to revision entity
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-06-20 11:44:38 +02:00
Tilman Vatteroth
efac46858c fix: move dark mode and transparent body hook into renderer
These hooks are only necessary for the document and simple renderer. The slideshow handles theming itself.

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-06-08 11:29:16 +02:00
Avinash
6babc8997c refactor(frontend): deduplicated username field
Signed-off-by: Avinash <avinash.kumar.cs92@gmail.com>
2023-06-05 22:15:07 +02:00
Tilman Vatteroth
0993372290 fix: replace dark mode hack with bootstrap's own dark mode
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-06-04 22:38:50 +02:00
Tilman Vatteroth
3f42798965 refactor: replace logo svgs with components
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-06-04 22:38:50 +02:00
Philip Molares
e13055736a feat(frontend): handle username in lowercase
When handling usernames for login and registering with local or permissions, this makes sure that the username is always in lowercase.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-06-04 21:55:19 +02:00
Tilman Vatteroth
8e65f74a07 fix: use replace in new page redirect
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-14 13:44:36 +02:00
Tilman Vatteroth
6ca0bd0668 refactor: use showif instead of ternary operator
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-14 13:44:36 +02:00
Tilman Vatteroth
6a772d851b refactor: change branding delimiter to css
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-07 21:40:30 +02:00
Tilman Vatteroth
d75b8d2d3b refactor: rename branding component to custom branding
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-07 21:40:30 +02:00
Tilman Vatteroth
a23c215d8d refactor: split apply-dark-mode hook into multiple hooks
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-07 21:02:34 +02:00
Tilman Vatteroth
cba8d917ed refactor: move apply-dark-mode hook into other directory
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-07 21:02:34 +02:00
Tilman Vatteroth
d792fd3987 refactor: rename iframe-markdown-renderer to render-page-content
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-16 20:29:45 +02:00
Tilman Vatteroth
6f17b2f554 fix: typo in render page docs
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-16 20:29:45 +02:00
Tilman Vatteroth
d7108ba522 fix: fix permissions in mocked feature page
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-11 11:25:23 +02:00
Tilman Vatteroth
24f1b2a361 feat: fetch frontend config in server side rendering
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-06 22:54:32 +02:00
Tilman Vatteroth
9771ffcf00 fix: expected origin boundary works now with initial props
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-06 22:54:32 +02:00
Tilman Vatteroth
6786e6d6d3 fix: correct test note in cypress environment
Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-05 12:02:54 +02:00
Tilman Vatteroth
c0d4d233da fix: configure luxon
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-04-04 22:46:37 +02:00
Tilman Vatteroth
9b9eafc948 feature: add button to open cheatsheet in a new tab
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-03-28 20:38:25 +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
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
Erik Michelson
cf34df21b7 feat: add license frontmatter field for link header
This commit adds the "license" frontmatter property which sets a link with the "license" relation in the head of the HTML page.
Furthermore, this commit restructures the other head elements for a note altogether into a single component that can be used to inject all head elements at once.

Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2023-02-13 18:10:51 +01:00
Tilman Vatteroth
57bfca7b15 fix(frontend): refactor api error handling
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-02-12 22:10:31 +01:00
Avinash
dae3b9d8dc fix(frontend): add error prop to password input
Signed-off-by: Avinash <avinash.kumar.cs92@gmail.com>
2023-01-24 21:19:46 +01:00
Tilman Vatteroth
caf212045a fix(async-loading): show async loaded components only if value is present
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2022-12-29 13:19:18 +01:00
Tilman Vatteroth
26c1f1bcaa feat(async-loading-boundary): extract custom error component into separate component
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2022-12-29 13:19:18 +01:00
Tilman Vatteroth
e390c0dd15 fix(frontend): reformat source files
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2022-12-04 20:59:46 +01:00
Tilman Vatteroth
762a0a850e
fix: Move content into to frontend directory
Doing this BEFORE the merge prevents a lot of merge conflicts.

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2022-11-20 19:48:40 +01:00