Commit Graph

144 Commits

Author SHA1 Message Date
JulesdeCube
85f514316b feat: allow to use redis cache instead of memory cache (#832)
* feat(backend/cache): allow to use redis cache instead as memory

* feat(frontend/admin): add cache section

Add a new section for cache attributes. Also add US translation.

---------

Co-authored-by: Jules Lefebvre <jules.lefebvre@diabolocom.com>
2025-05-25 22:16:19 +02:00
Elias Schneider
427e99c7b1 fix: disable HTML rendering in Markdown preview 2025-05-07 13:38:42 +02:00
Mattia Müggler
9dfb52a145 feat: add ability to configure application with a config file (#740)
* add config file possibility

* revert port in docker compose

* Update docker-compose.yml

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* Update docker-compose.yml

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* add attribute description to config file

* remove email message config

* add package to resolve errors

* remove email messages from config

* move config initialization to config module

* revert unnecessary change

* add order

* improve alert

* run formatter

* remove unnecessary packages

* remove unnecessary types

* use logger

* don't save yaml config to db

* allowEdit if no yaml config is set

* improve docs

* fix allow edit state

* remove unnecessary check and refactor code

* restore old config file

* add script that generates `config.example.yaml` automatically

* allow config variables to be changed if they are not set in the `config.yml`

* add back init user

* Revert "allow config variables to be changed if they are not set in the `config.yml`"

This reverts commit 7dbdb6729034be5b083f126f854d5e1411735a54.

* improve info box text

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
2025-02-28 11:01:54 +01:00
Elias Schneider
f4291421b5 fix: smtp password gets autofilled in Firefox 2025-02-26 13:32:59 +01:00
GitNees
70b577f5ac feat: ability to add email to recipients list by clicking enter (#760)
I encountered so many times now that I send by email, which I use 99% of the time, it didnt got send, because the mail was not accepted when pressing enter. 

Also because no confirmation mail is send, i never knew it arrived. Ill work on that code later, but adding enter to that field, will help a lot!
2025-01-27 18:53:42 +01:00
Elias Schneider
0442ece9ba refactor: remove unnecessary console.log 2025-01-04 01:32:30 +01:00
Elias Schneider
bf1b2633c8 refactor: run formatter 2025-01-04 01:28:05 +01:00
Elias Schneider
b3ea96c191 fix: wrong validation for expiration in reverse share modal 2025-01-04 01:27:59 +01:00
Aaron
36afbf91b7 feat: improve UI for timespan inputs on admin page (#726)
* Define Timestamp type

* Implement Timestamp utils

* Implement Timespan input

* Use timestamp input on config page

* Add timespan type to config services

* Refactor maxExpiration to use timespan type across services and components

* Update sessionDuration to use timespan type in config and adjust token expiration logic

* Update localized strings
2025-01-02 17:35:50 +01:00
Aaron
df1ffaa2bc feat: add legal page with configuration options (#724)
* Addconfig entries for legal notice

* Add legal route handling to middleware

* Make legal notice public

* Add legal category to config sidebar

* Add legal notice page

* Add German translations for legal notice and configuration options

* Replace legal page with separate imprint and privacy pages

* Update middleware

* Add footer component

* Update legal text descriptions to indicate Markdown support again

* Refactor footer layout

* Add zIndex to footer component

* improve mobile layout

* run formatter

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
2025-01-02 17:29:01 +01:00
Aaron
53c05518df feat(UI): improve filesize input and use it in settings (#721)
* Improve file size input component layout

* Fix filesize input value not getting set

* Allow arbitrary props on filesize input

* Update config variables to support filesize type and integrate FileSizeInput component

* Update i18n entries

* WARNING GUESSES: Update translation descriptions for max size and chunk size in multiple languages

* Fix config service not being aware of filesize type

* Fix backend config service not being aware of filesize type

* Move FileSizeInput component to core
2024-12-31 15:25:49 +01:00
Mattia Müggler
5a54fe4cb7 feat: add support for S3 as a storage provider (#659)
* add s3

* instance the s3 client dynamically

* refactor code

* fix format

* add docs

* add docs

* fix issue with s3 upload if you use the base path,
fix issue with archiving -> disable archiving for s3

* split file service in local and s3 file service and fix s3 upload chunking

* add working download/view

* add new features to local service (from main branch)

* revert s3 service and add working delete/remove functionality

* refactor s3 service

* Update backend/src/file/s3.service.ts

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* Update frontend/src/components/admin/configuration/ConfigurationNavBar.tsx

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* Update docs/docs/setup/s3.md

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* Update backend/prisma/seed/config.seed.ts

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* add note for ZIP archive in docs

* create logger instance

* make s3 instance dynamic

* add icon import

* remove console.logs

* add correct pdf viewing format

* add storage provider to share

* refactor: run formatter

* chore: add prisma migration

* fix: don't expose `storageProvider`

* chore: improve config variables description

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-12-19 12:06:49 +01:00
Elias Schneider
3df80acff9 refactor: run formatter 2024-11-26 20:58:32 +01:00
Elias Schneider
e86f93830b chore(translations): add missing translation keys 2024-11-26 20:58:25 +01:00
Elias Schneider
3160f90e1d fix: add validation for share id and zip compression config variables 2024-11-25 12:41:03 +01:00
Romain Ricard
9d4bb55a09 feat(share): add share ID length setting (#677)
- Add share ID length to share > settings
- Use cryptographically secure RNG for IDs
- Use secure default value for IDs length
- Add FR and EN translation

Co-authored-by: Romain Ricard <romain.ricard@mines-ales.org>
2024-11-24 17:25:50 +01:00
Elias Schneider
6f45c3b1fb fix: use current window url instead of app url in frontend 2024-11-14 19:10:11 +01:00
Elias Schneider
4ef7ebb062 fix: improve share completed dialog redirection for reverse shares 2024-11-14 18:41:34 +01:00
Elias Schneider
428c1d2b99 fix: don't enforce password lenght for sign in form because of LDAP 2024-10-24 14:44:07 +02:00
edbourque0
958b79d787 fix(admin): change general config icon to gear (#649)
* Change general config icon

* Update package.json

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-10-17 21:07:15 +02:00
Elias Schneider
d5cd3002a1 fix: share can't be created if an invalid email is entered in mail recipients 2024-10-15 20:47:04 +02:00
Elias Schneider
77a092a3cf fix: trim username, email and password on sign in and sign up page 2024-10-15 20:29:34 +02:00
Elias Schneider
613bae9033 fix: error message for invalid max use count of reverse share 2024-10-15 20:28:05 +02:00
WolverinDEV
3310fe53b3 feat: improve the LDAP implementation (#615)
* feat(logging): add PV_LOG_LEVEL environment variable to set backend log level

* feat(ldap): Adding a more verbose logging output to debug LDAP issues

* fix(ldap): fixed user logins with special characters within the users dn by switching to ldapts

* feat(ldap): made the member of and email attribute names configurable

* fix(ldap): properly handle email like usernames and fixing #601

* Revert "fix: disable email login if ldap is enabled"

This reverts commit d9cfe697d6.

* feat(ldap): disable the ability for a user to change his email when it's a LDAP user

* feat(ldap): relaxed username pattern by allowing the @ character in usernames
2024-09-27 16:02:49 +02:00
Elias Schneider
ee73293c0f fix: disable auto complete for email recipients and share password 2024-09-24 10:24:48 +02:00
Elias Schneider
d9cfe697d6 fix: disable email login if ldap is enabled 2024-09-18 23:32:09 +02:00
Elias Schneider
7dc2e56fee feat: auto redirect to oauth provider 2024-09-14 18:13:18 +02:00
WolverinDEV
4186a768b3 feat(ldap): Adding support for LDAP authentication (#554) 2024-08-24 16:15:33 +02:00
Ivan Li
fe735f9704 feat: add more options to reverse shares (#495)
* feat(reverse-share): optional simplified interface for reverse sharing. issue #155.

* chore: Remove useless form validation.

* feat: Share Ready modal adds a prompt that an email has been sent to the reverse share creator.

* fix: Simplified reverse shared interface elements lack spacing when not logged in.

* fix: Share Ready modal prompt contrast is too low in dark mode.

* feat: add public access options to reverse share.

* feat: remember reverse share simplified and publicAccess options in cookies.

* style: npm run format.

* chore(i18n): Improve translation.

Co-authored-by: Elias Schneider <login@eliasschneider.com>

Update frontend/src/i18n/translations/en-US.ts

Co-authored-by: Elias Schneider <login@eliasschneider.com>

Update frontend/src/i18n/translations/en-US.ts

Co-authored-by: Elias Schneider <login@eliasschneider.com>

chore(i18n): Improve translation.

* chore: Improved variable naming.

* chore(i18n): Improve translation. x2.

* fix(backend/shares): Misjudged the permission of the share of the reverse share.
2024-07-30 08:26:56 +02:00
Elias Schneider
27ee9fb6cb feat: sort share files by name by default 2024-07-25 19:32:00 +02:00
Marvin A. Ruder
e1a68f75f7 feat(auth): Allow to hide username / password login form when OAuth is enabled (#518)
* 🚀 Feature: Allow to hide username / password login form when OAuth is enabled

* Hide “Sign in” password form
* Disable routes related to password authentication
* Change styling of OAuth provider buttons
* Open OAuth page in same tab
* Fix consistent usage of informal language in de-DE locale

Fixes #489

Signed-off-by: Marvin A. Ruder <signed@mruder.dev>

* fix: order of new config variables

---------

Signed-off-by: Marvin A. Ruder <signed@mruder.dev>
Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-07-07 23:08:14 +02:00
IRahul MIshra
db2720ab7b Worked on issue Feature Add email recipients more efficiently issue #500 (#510)
* Worked on issue #500 Feature Add email recipients more efficiently

* Worked on issue #500 Feature Add email recipients more efficiently both features added

* Removed log

* refactor: run formatter

---------

Co-authored-by: Rahul Mishra <rahul07@Rahuls-Laptop.local>
Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-06-30 19:53:41 +02:00
Ivan Li
4fd29037a0 Feature: add auto open share modal config for global. (#474)
* feat(admin): add auto open share modal config for global.

* feat(upload): Apply the flag that disables the automatic open create share modal.

* fix: remove migration and add new config variable to seed script

* chore(translations): improve auto open share modal description

* refactor: run formatter

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-06-10 11:32:52 +02:00
Leo Li
1c7832ad1f feat(frontend): locale for dates and tooltip for copy link button (#492)
* Add tooltip for copy button

* Set locale globally for moment.js

* format

* remove debugging log

* refactor: rename translation key

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-06-10 11:01:59 +02:00
Elias Schneider
3b89fb950a chore: update dependencies 2024-05-22 15:20:33 +02:00
Elias Schneider
c999df15e0 fix: error on admin share management page if a share was created by an anonymous user 2024-05-04 14:45:08 +03:00
SFGrenade
3b1c9f1efb feat: add admin-exclusive share-management page (#461)
* testing with all_shares

* share table

* share table

* change icon on admin page

* add share size to list

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-05-04 00:18:27 +03:00
Elias Schneider
b717663b5c feat: add name property to share (#462)
* add name property to share

* refactor: run formatter

* tests: adapt system tests

* tests: adapt second system test
2024-05-03 17:12:26 +02:00
Elias Schneider
384fd19203 fix: redirect vulnerability on error, sign in and totp page 2024-04-05 12:00:41 +02:00
Elias Schneider
7a15fbb465 fix: memory leak while uploading files by disabling base64 encoding of chunks 2024-04-04 20:55:45 +02:00
Elias Schneider
f52dffdaac fix: back links on error modals 2024-02-05 16:13:54 +01:00
Elias Schneider
e572506d4f refactor: run formatter 2024-02-05 16:11:49 +01:00
Maurice Schorn
43d186a370 Markdown support for TextPreviews (#396)
* add markdown-to-jsx dependency

* replace TextPreview with Markdown

* basic table styling

* add light mode backgroundColor
2024-02-04 18:50:43 +01:00
Ivan Li
d7750086b5 feat(frontend): add navigateToLink button for CopyTextField. close #372. (#376)
* feat(frontend): add navigateToLink button for CopyTextField. close #372.

* chore(frontend): remove unused props for CopyTextField.
2024-01-09 15:50:42 +01:00
Ivan Li
eb7216b4b1 chore(frontend/share): displays the never expire checkbox if the system allows. (#371) 2024-01-07 22:13:59 +01:00
Elias Schneider
fe09d0e25f fix: don't show validation error on upload modal if password or max views are empty 2024-01-02 21:33:15 +01:00
Elias Schneider
330eef51e4 fix: max expiration gets ignored if expiration is set to "never" 2023-11-17 15:27:22 +01:00
Elias Schneider
1138cd02b0 fix: share information text color in light mode 2023-11-05 12:36:42 +01:00
Ivan Li
98380e2d48 feat: ability to add and delete files of existing share (#306)
* feat(share): delete file api, revert complete share api.

* feat(share): share edit page.

* feat(share): Modify the DropZone title of the edit sharing UI.

* feat(share): i18n for edit share. (en, zh)

* feat(share): allow creator get share by id.

* feat(share): add edit button in account/shares.

* style(share): lint.

* chore: some minor adjustments.

* refactor: run formatter

* refactor: remove unused return

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
2023-11-04 20:39:58 +01:00
Elias Schneider
acc35f4717 fix: wrong validation of setting max share expiration to 0 2023-11-03 14:05:43 +01:00