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>
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>
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>
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>
This needs to be done since the backend does not include code
for the history page anymore. This will be replaced with the
explore page in the near future anyway.
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>
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>
We need these types when crafting objects to be passed into knex's
.insert() and .update() methods.
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
As we need these functions for the seeding it makes sense to extract them into the password.ts and test them accordingly.
Signed-off-by: Philip Molares <philip.molares@udo.edu>
Co-authored-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
Signed-off-by: Philip Molares <philip.molares@udo.edu>
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>
The update to dompurify 3.2.4 broke the import of dompurify.sanitize,
which now fails with a TypeScript error (likely related to the
introduction of type definitions in 3.2.0). Using the DOMPurify default
export fixes the issue.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
It seems cypress installs its own binary under a different path than
the path where it later looks for it for running the tests. This
change adds proper versioned caching for the binary to avoid re-
downloads and configures the binary path accordingly.
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
some of the hashes dont exist anymore. but i'm too lazy to look for the new hashes. So i let renovate update them later.
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This test is unnecessary since it does not use the shared app-init which
is used to set up tests and the real main app.
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
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>
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>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
Signed-off-by: Philip Molares <philip.molares@udo.edu>
Moving the DTOs to commons so frontend and backend use the same types.
Also introducing zod for validation.
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
Signed-off-by: Philip Molares <philip.molares@udo.edu>
This dependency will be used to define our DTOs in the commons project and define the type only once.
Signed-off-by: Philip Molares <philip.molares@udo.edu>
The new user form which is shown when a new user logs in via an external
auth provider did not include the event.preventDefault() statement.
This meant that on submitting the form there was a race-condition
between the JS code sending the data to the API and the browser
reloading the page. Chromium-based browsers seem to handle events before
handling page navigation, and because the form event initiates a page
navigation on a successful API response it worked. Firefox seems to call
the event handler and the page navigation in parallel, resulting in a
loop on the new user form.
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
It seems there's a bug in turborepo which results in turbo
not passing through arbitrary environment variables despite
--env-mode=loose being set. This config option resolves the
problem by passing through all HedgeDoc environment
variables prefixed by `HD_`. This somewhat also enhances
stability and reproducability of builds since other env
vars wouldn't interfere anymore.
The additional variable CADDY_HOST is required to make
overriding the listening port in our Caddyfile work.
Signed-off-by: Erik Michelson <github@erik.michelson.eu>