Commit Graph

1393 Commits

Author SHA1 Message Date
eikek
95ded62cb9 Set version to 0.30.0-SNAPSHOT 2021-11-18 00:24:52 +01:00
eikek
54bbbde8b9 Set version to 0.29.0 2021-11-17 23:00:49 +01:00
eikek
13f28f753a Use an internal url for the rest server to register for messages 2021-11-17 21:27:26 +01:00
eikek
d2b7c37dfc Fix searching on share page if fulltext search is disabled 2021-11-16 22:55:37 +01:00
eikek
0651db9901 Make publish async, replace joexclient in periodic job scheduler 2021-11-16 22:55:37 +01:00
eikek
ce4c192b5b Fix notification about new items
Don't set the flag when already on "home page".
2021-11-14 21:45:59 +01:00
eikek
fcb25637d3 Improve new job count bubble 2021-11-13 20:39:40 +01:00
eikek
0cb2bde160 Improve e-mail input field
Closes: #987
2021-11-13 00:21:04 +01:00
eikek
ee2a4aaaf0 Fix button names in scanmailboxform
Closes: #1147
2021-11-12 23:42:37 +01:00
eikek
28b4546607 Hide sidebar by default on small devices
Closes: #1169
2021-11-12 23:21:51 +01:00
eikek
7a8527f821 Indicate number of running jobs in tob nav
Issue: #1069
2021-11-12 22:01:30 +01:00
eikek
9acdb8ef96 Fix formatting 2021-11-12 00:10:12 +01:00
eikek
cf933b60a7 Encode ws messages as JSON 2021-11-11 23:54:37 +01:00
eikek
5c7947299f Fix scaladoc 2021-11-08 00:15:14 +01:00
eikek
7b8afe8371 Make internal endpoints available to nodes only 2021-11-08 00:13:02 +01:00
eikek
61c01ad79b Use job group instead of parsing the task arguments 2021-11-08 00:07:44 +01:00
eikek
b041e2616d Fix uploads with utf8 bytes in filenames
This adds a modified parser for `Content-Disposition` header to fix
issue #991. The parser in http4s for `Content-Disposition` header
removes filenames that are sent as plain utf8 bytes. See also
http4s/http4s#5053.
2021-11-07 22:11:00 +01:00
eikek
62d02d75b4 Show a message when a new document arrived 2021-11-07 17:14:02 +01:00
eikek
8ae314bead Fix websocket initialization 2021-11-07 00:40:43 +01:00
eikek
42767e7732 Refresh home page on item-process event 2021-11-06 23:35:43 +01:00
eikek
3e58d97f72 Add websockets and notify frontend when an item is processed 2021-11-06 21:32:30 +01:00
eikek
f38d520a1d Hooking the new pubsub impl into the application 2021-11-06 01:44:06 +01:00
eikek
4d5c695882 Hide implementation details from PubSubT interface 2021-11-05 20:56:02 +01:00
eikek
d483d9f176 Initial naive pubsub impl generalising from current setup 2021-11-05 01:05:24 +01:00
eikek
ae30a3890e Set version to 0.29.0-SNAPSHOT 2021-10-27 22:08:16 +02:00
eikek
b3ca7954bb Set version to 0.28.0 2021-10-27 20:53:34 +02:00
eikek
8811fe40da Fix date picker css in home page 2021-10-27 01:34:27 +02:00
eikek
8fd86f9ec1 Don't allow shares with fulltext queries
Currently the query implementation cannot combine multiple/nested
fulltext searches within a query. It doesn't seem useful to have
shares based on fulltext searches, so it is disabled for now.

Issue: #446
2021-10-25 21:29:55 +02:00
eikek
3f71985b64 Hide menu in share detail when not usable 2021-10-25 17:24:20 +02:00
eikek
c21d4c4508 Fix share manage for new shares 2021-10-25 15:14:47 +02:00
eikek
668cd7d974 Refactor config validation 2021-10-25 11:27:06 +02:00
eikek
118d23c3a2 Add list of env variables to documentation
Issue: #1121
2021-10-25 00:23:20 +02:00
eikek
94b26a1721 Generate random server secret if not provided from config 2021-10-25 00:23:20 +02:00
eikek
4e5924d796 Refactor config loading and add config from environment
Issue: #1121
2021-10-24 23:02:39 +02:00
eikek
48d2bec9c4 Update http4s to 0.23.6 2021-10-24 18:24:03 +02:00
eikek
c2d54cebb5 Fix postcss-purgecss dependency 2021-10-24 14:45:19 +02:00
eikek
208f7e6445 Update npm packages 2021-10-24 12:53:41 +02:00
eikek
99f3be9c0d Allow simple search on share page 2021-10-24 02:06:27 +02:00
eikek
28993e27e5 Dropdown cc and bcc recipients in mail form 2021-10-24 01:41:18 +02:00
eikek
f5bb85c61e Improve share email form 2021-10-24 01:41:18 +02:00
eikek
eaccb60732 Fix date field background for sidebar and main content 2021-10-24 01:41:18 +02:00
eikek
6696aba481 Show user shares when asking to delete user 2021-10-24 01:41:18 +02:00
eikek
2ac0b84e52 Link shares to the user, not the collective
The user is required when searching because of folders (sadly), so the
share is connected to the user.
2021-10-24 01:41:18 +02:00
eikek
9009ebcb39 Prefill share mail form
To have access to the translated content, the messages must be given
to the update function. There is no way to set the values in the view.
2021-10-23 14:33:24 +02:00
eikek
16ccddab9f Add mail form when creating shares 2021-10-23 14:33:24 +02:00
eikek
337293128d Add route to send mail for a share 2021-10-23 14:33:24 +02:00
eikek
09242fddb2 Fix swapped translation 2021-10-23 14:33:24 +02:00
eikek
40aa2d4102 Use powersearch input element in share form 2021-10-23 14:33:24 +02:00
eikek
fe77f7245a Fix navbar link for anonymous 2021-10-23 14:33:24 +02:00
eikek
7cbdf919f4 Show item detail for a shared item 2021-10-23 14:33:24 +02:00
eikek
02cbd95e0d Increment share access on verify 2021-10-23 14:33:24 +02:00
eikek
f25d40b493 First simple item detail version for a share 2021-10-23 14:33:24 +02:00
eikek
f216c472ee Detect how to display pdf files
Closes: #1099
2021-10-23 14:33:24 +02:00
eikek
b6187bb88d Outline share detail page 2021-10-23 14:33:24 +02:00
eikek
1a10216e3d Get item details from a share 2021-10-23 14:33:24 +02:00
eikek
c62b8526be View attachments from a share 2021-10-23 14:33:24 +02:00
eikek
9eb2f9c6fe Implement binary routes for shares 2021-10-23 14:33:24 +02:00
eikek
4ad90b76b4 Fix tag menu when restricting results
When search results are restricted in a share view, tags may disappear
and thus the tags from the beginning need to be kept.
2021-10-23 14:33:24 +02:00
eikek
813797756c Extend search stats to fully populate search menu
Refs: #856
2021-10-23 14:33:24 +02:00
eikek
e961a5ac10 Use search stats to populate search menu 2021-10-23 14:33:24 +02:00
eikek
e52271f9cd Implement share preview image 2021-10-23 14:33:24 +02:00
eikek
7b0f378558 Refactor to allow internal card links into search menu
Also allows to exchange the preview-url in the item card
2021-10-23 14:33:24 +02:00
eikek
83dd675e4f Basic search view for shares 2021-10-23 14:33:24 +02:00
eikek
a286556116 Initial impl of search route 2021-10-23 14:33:24 +02:00
eikek
f4596db63d Authorize share access 2021-10-23 14:33:24 +02:00
eikek
97922340d9 Share page skeleton 2021-10-23 14:33:24 +02:00
eikek
aa21e7a74c Create shares from search and select view 2021-10-23 14:33:24 +02:00
eikek
189009325e Update tailwind to 2.2.16 2021-10-23 14:33:24 +02:00
eikek
4ef9d6c3ff Add expired flag to share details 2021-10-23 14:33:24 +02:00
eikek
c7d587bea4 Basic management of shares 2021-10-23 14:33:24 +02:00
eikek
de1baf725f Generate a query string given an expression
Initialize share record and improve tests.
2021-10-23 14:33:24 +02:00
eikek
aa8f3b82fc Use passwords when reading PDFs 2021-09-30 11:48:59 +02:00
eikek
f74624485f Allow to manage passwords for a collective 2021-09-30 10:35:38 +02:00
eikek
3c93b63c8a Add option to decrypt PDFs during conversion
Refs: #1074
2021-09-29 23:04:26 +02:00
Renovate Bot
af1d8962de Update dependency postcss-cli to v9 2021-09-24 19:43:19 +00:00
eikek
650e2c7c47 Set new version to 0.28.0-SNAPSHOT 2021-09-23 19:48:36 +02:00
eikek
80b73be68f Set version to 0.27.0 2021-09-23 17:37:54 +02:00
eikek
d8b272a407 Fix styles for secondary button and dimmer 2021-09-23 17:37:05 +02:00
eikek
40727d205a Refactor occurrences folding streams of strings 2021-09-23 15:26:20 +02:00
eikek
071f4067bf Use existing mimetype detection when storing files 2021-09-23 14:10:24 +02:00
eikek
1761526e20 Simplify MimeType class and parse mimetypes in a more lenient way 2021-09-23 14:10:24 +02:00
eikek
617f931a14 Remove unused code 2021-09-23 09:27:44 +02:00
eikek
e31107eb49 Require a otp to disable 2fa 2021-09-23 09:27:44 +02:00
eikek
bbfc5b56d8 Document TOTP 2021-09-23 09:27:44 +02:00
Renovate Bot
844c453864 Update dependency ansi-regex to 5.0.1 [SECURITY] 2021-09-23 02:43:56 +00:00
Renovate Bot
489ef310f3 Update dependency nth-check to 2.0.1 [SECURITY] 2021-09-23 02:00:09 +00:00
eikek
4362301212 Fix base64 string in default config
While not being used, it is parsed and fails if it's not valid base64.
2021-09-22 19:48:10 +02:00
eikek
9013f2de5b Update scalafmt settings 2021-09-22 17:23:24 +02:00
eikek
20a829cf7a Refactoring for migrating to binny library 2021-09-22 14:18:43 +02:00
eikek
860efcf06f Fix more license occurrences 2021-09-22 11:55:56 +02:00
eikek
9785db0683 Change license header of all files 2021-09-21 22:35:38 +02:00
eikek
193b81bf7d Fix version check
Refs: #1068
2021-09-21 22:07:19 +02:00
eikek
16b5655b54 Go back to old version scheme
Refs: #1039
2021-09-13 11:39:57 +02:00
eikek
506e9a0c36 Move sent mails when merging items
Fixes: 1055
2021-09-08 22:29:34 +02:00
eikek
a94aeff75c Add ui for showing data to be deleted for a user 2021-09-08 20:57:10 +02:00
eikek
e89b571ab2 Add a route to show what is deleted 2021-09-08 20:57:10 +02:00
eikek
736968b049 Fix adding a new user and don't allow to add non-local users
The user structure must provide the correct account source now.
2021-09-08 20:57:10 +02:00
eikek
8df235e9db Delete the user along its data 2021-09-08 20:57:10 +02:00
eikek
3650a7d20c Make sure DML statements use the correct logger
It also seems to be necessary now to add the space in the `WHERE`.
Normally, the `fr` interpolator would add spaces….
2021-09-08 20:56:18 +02:00
eikek
11de82402e Add cross checks for the server config 2021-09-06 14:47:42 +02:00
eikek
4237caa755 Add some documentation for OIDC 2021-09-06 14:24:52 +02:00
eikek
28fdeb5a93 Fixing http redirect status codes 2021-09-06 11:40:47 +02:00
eikek
468ba90158 Fix OTP authentication for external accounts 2021-09-06 01:07:31 +02:00
eikek
8158e36d40 Improve logging and rename oauth->openid 2021-09-06 00:29:19 +02:00
eikek
984dda9da0 Add OpenID support to webapp 2021-09-05 23:43:07 +02:00
eikek
f8362329a9 Authenticate with external accounts using OIDC
After successful authentication at the provider, an account is
automatically created at docspell and the user is logged in.
2021-09-05 21:39:30 +02:00
eikek
7edb96a297 Register external accounts
This creates the account if it doesn't exist yet; otherwise it's a
noop. Only valid for non-local accounts.
2021-09-05 21:38:14 +02:00
eikek
aa099a340e Remove unused code 2021-09-05 21:38:14 +02:00
eikek
aef56233a5 Add a new column to distinguish local from external users 2021-09-05 21:38:14 +02:00
eikek
b73c252762 Implement authentication via OpenIdConnect and OAuth2
The new subproject "oidc" handles all the details for working with an
OpenID Connect provider (like keycloak) or only OAuth2 - only
supporting the "Authorization Code Flow" for both variants.
2021-09-05 17:32:15 +02:00
eikek
4e57be6dfd Fix endpoint path in openapi spec 2021-09-02 22:06:33 +02:00
eikek
3a5ef62715 Add missing sql changesets 2021-09-01 00:57:03 +02:00
eikek
9dfe7f30a0 Remove unused contact kind 2021-09-01 00:57:03 +02:00
eikek
1afc005a6c Adopt login process for two-factor auth 2021-08-31 21:29:07 +02:00
eikek
999c39833a Add user setting page for totp 2021-08-31 21:28:17 +02:00
eikek
309a52393a Initial impl for totp 2021-08-31 16:45:39 +02:00
eikek
2b46cc7970 Add a simple module for totps
This is a wrapper around the nice and minimal java-otp library [0].

[0] https://github.com/jchambers/java-otp
2021-08-31 16:45:39 +02:00
eikek
733096f979 Improve querying item results
The join to retrieve the attachment count per item turned out to be
very expensive. And it is not used anymore for the result, only to
support fulltext search. It is now removed from the query. The
DISTINCT keyword is also removed, because it is not necessary and it
is expensive. With the DISTINCT removed, a new index (provided in the
previous commit) can now be used to avoid sorting items.
2021-08-29 11:09:06 +02:00
eikek
a5a8c2553b Add indexes to better support certain queries 2021-08-29 00:38:12 +02:00
eikek
9812b8f6c8 Set new version to 21.12-SNAPSHOT 2021-08-28 12:54:44 +02:00
eikek
be510b0363 Set version to 0.26.0 2021-08-28 11:54:08 +02:00
eikek
637f11d0f6 Fix solr setup by adding a text_he field
This field is used for Hebrew language. Solr doesn't support it out of
the box. The new field type is just a very basic field using the
standard tokenizer and lowercase filter. It is very likely not
providing good results. Hebrew is really difficult and it requires at
least installing plugins for solr - this is out of scope for docspell.
Users can setup their solr however they like and run a re-index
afterwards.
2021-08-28 00:10:36 +02:00
mergify[bot]
3520a2ec26
Merge pull request #1037 from eikek/small-list-improvements
Allow to specify ordering when retrieving meta data
2021-08-27 21:18:47 +00:00
eikek
cf88f5c2de Allow to specify ordering when retrieving meta data
The query now searches in more fields. For example, when getting a
list of tags, the query is applied to the tag name *and* category.
When listing persons, the query now also looks in the associated
organization name.

This has been used to make some headers in the meta data tables
clickable to sort the list accordingly.

Refs: #965, #538
2021-08-27 23:04:54 +02:00
eikek
7b2fb70c04 Add missing data to insert statement
Closes: #1032
2021-08-27 22:51:34 +02:00
wallace
eab7fe57d2 Fix formatting with scalafmt 2021-08-24 02:24:20 +03:00
wallace
589c41003f Add hebrew document language 2021-08-24 01:19:42 +03:00
eikek
6bb6cad39d Test db migrations for all supported databases 2021-08-23 23:41:03 +02:00
eikek
993a391c13 Add the attachment-only option to a source
The upload request can now contain a boolean for importing only
attachments when e-mails are uploaded. This option is now also added
to a source url.

Refs: #983
2021-08-23 14:19:11 +02:00
mergify[bot]
45f6357f49
Merge pull request #1024 from eikek/enhance-search-mode
Enhance search mode to search in all items
2021-08-21 13:56:43 +00:00
eikek
d5022f883e Enhance search mode to search in all items 2021-08-21 15:45:14 +02:00
eikek
0a0dd80bdc Add new checkbox to scan mailbox form 2021-08-21 13:49:12 +02:00
eikek
751fa3da5a Add attachments-only filter to uploads
When uploading a file which is an e-mail, this option allows to skip
the mail body when the file is being processed.
2021-08-21 13:49:12 +02:00
eikek
5d33b3841a Add a task to check for updates periodically
It must be enabled and configured by the admin.

Refs: #990
2021-08-20 00:25:27 +02:00
eikek
90421599ea Fix storing empty-trash task
It was wrongly stored using RPeriodicTask directly, but the higher
level `UserTask` must be used instead, because this ensures a
correctly scoped periodic task using the `updateOneTask` method. Since
this is a system task, it can be given a fixed ID which makes it now
safe even if stored using RPeriodicTask directly.

The bug resulted in multiple empty-trash tasks to be inserted (on each
restart).

Refs: #347
2021-08-20 00:25:25 +02:00
Scala Steward
e4fecefaea
Reformat with scalafmt 3.0.0 2021-08-19 08:50:30 +02:00
eikek
8f23b68587 Add a qr code to the link of an item or attachment 2021-08-18 00:20:27 +02:00
eikek
f1445e797b Highlight search menu tabs that contain data
Refs: #966
2021-08-16 22:13:53 +02:00
eikek
cf10f63af4 Improve main view in home page 2021-08-16 17:00:57 +02:00
eikek
ac0603335f Improve merge items list
Allow to reorder for mobile and remove elements.
2021-08-16 16:00:43 +02:00
eikek
c7c488f0cc Fix position of merged attachments 2021-08-16 15:05:26 +02:00
eikek
21647e950d Add docs for merging items 2021-08-16 14:41:56 +02:00
eikek
9478152a94 Switch to search view after successful merge 2021-08-16 14:40:57 +02:00
eikek
a923351b09 Fix item merge when merging tags and text fields
Also hard delete the remaining items. They are empty (have no
attachments), because data is moved if possible. Doesn't make much
sense to keep them, because restoring them isn't much useful.
2021-08-16 14:40:52 +02:00
eikek
8099b78b0e Merge items in webui 2021-08-16 12:55:25 +02:00
eikek
85085ec173 Implement item merge 2021-08-16 12:32:54 +02:00
eikek
22d331f082 Integrate item merge dialog into home page 2021-08-16 12:32:54 +02:00
eikek
14e4a8f792 Fixup for deleting items
First, when checking for existence of a file, deleted items are not
conisdered.

The working with fulltext search has been changed: deleted items are
removed from fulltext index and are re-added when they are restored.
The fulltext index currently doesn't hold the item state and it would
mean much more work to introduce it into the index (or, worse, to
reprocess the results from the index). Thus, deleted items can only be
searched using database queries. It is probably a very rare use case
when fulltext search should be applied to deleted items. They have
been deleted for a reason and the most likely case is that they are
simply removed.

Refs: #347
2021-08-15 16:00:30 +02:00
eikek
bc6924fd5d Show delete/restore buttons conditionally
When only trashed items are selected, the "delete" button doesn't make
sense and vice versa.
2021-08-15 12:41:10 +02:00
eikek
f4a2b86ea8 Use a minimum age of items to remove
In order to keep deleted items for a while, the periodic task can now
use a duration to only remove items with a certain age. This can be
used to ensure that a deleted item stays at least X days before it
will be removed from the database.

Refs: #347
2021-08-15 12:32:50 +02:00