mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-05-29 18:05:24 +00:00
b21970fd53
commitfb9d3f736bMerge:4d4d5453049dc179Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun Dec 4 16:47:58 2022 -0800 Merge pull request #2000 from paperless-ngx/feature-frontend-paperless-mail Feature: frontend paperless mail commit4d4d545343Merge:2704bcb94b31e5d0Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Sun Dec 4 16:34:41 2022 -0800 Merge pull request #848 from p-h-a-i-l/feature-consume-eml Feature ability to consume mails and eml files commit049dc17902Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Dec 4 16:33:07 2022 -0800 Moves where the mail views live and puts the ordering on those commit4b31e5d0b4Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Dec 4 14:00:59 2022 -0800 Fixes my broken formatting commit8076ebd78cMerge:fe2db4db2704bcb9Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Dec 4 13:55:46 2022 -0800 Merge remote-tracking branch 'upstream/dev' into feature-consume-eml commit2704bcb979Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Dec 4 13:06:18 2022 -0800 Resets to -dev versioning commit59f6074093Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Dec 4 12:58:03 2022 -0800 Bumps version to 1.10.2 commitb1da7f3491Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Dec 4 12:57:19 2022 -0800 Probably fixes the changelog step not working commitadde88e7b9Merge:a8f3c4be8e876ef2Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Dec 4 12:55:55 2022 -0800 Merge branch 'dev' commit8e876ef2d1Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Dec 4 10:20:48 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commit2ea0f83a91Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 05:12:02 2022 -0800 New translations messages.xlf (Italian) [ci skip] commit05d8ea5a9dAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:09:05 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commit967248233fAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:09:04 2022 -0800 New translations messages.xlf (French) [ci skip] commitb4c4b9fb6aAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:09:03 2022 -0800 New translations messages.xlf (Spanish) [ci skip] commitadb6483abcAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:09:01 2022 -0800 New translations messages.xlf (Arabic) [ci skip] commit908db55bb7Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:09:00 2022 -0800 New translations messages.xlf (Belarusian) [ci skip] commit610f20de28Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:59 2022 -0800 New translations messages.xlf (Czech) [ci skip] commitb2513a5cdeAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:57 2022 -0800 New translations messages.xlf (Danish) [ci skip] commitbfa1c13d01Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:56 2022 -0800 New translations messages.xlf (Finnish) [ci skip] commit12aaff431fAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:55 2022 -0800 New translations messages.xlf (Hebrew) [ci skip] commit547e5ea55eAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:54 2022 -0800 New translations messages.xlf (Italian) [ci skip] commitc301127096Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:52 2022 -0800 New translations messages.xlf (Dutch) [ci skip] commit19147855e7Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:51 2022 -0800 New translations messages.xlf (Romanian) [ci skip] commit4e7c7ea1d6Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:49 2022 -0800 New translations messages.xlf (Norwegian) [ci skip] commitfcf8a49160Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:48 2022 -0800 New translations messages.xlf (Portuguese) [ci skip] commitc6d658a954Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:47 2022 -0800 New translations messages.xlf (Russian) [ci skip] commita78cd6526cAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:45 2022 -0800 New translations messages.xlf (Slovenian) [ci skip] commitbf895b54f4Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:44 2022 -0800 New translations messages.xlf (Swedish) [ci skip] commite5f84ef583Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:43 2022 -0800 New translations messages.xlf (Turkish) [ci skip] commit8c690a9a51Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:41 2022 -0800 New translations messages.xlf (Chinese Simplified) [ci skip] commit56526b970aAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:40 2022 -0800 New translations messages.xlf (Portuguese, Brazilian) [ci skip] commit94fbf92916Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:38 2022 -0800 New translations messages.xlf (Croatian) [ci skip] commit37f5e46d09Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:37 2022 -0800 New translations messages.xlf (Luxembourgish) [ci skip] commit38be817637Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:36 2022 -0800 New translations messages.xlf (Polish) [ci skip] commit17303f41daAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Dec 3 02:08:34 2022 -0800 New translations messages.xlf (German) [ci skip] commit55ef0d4a1bAuthor: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Dec 4 08:44:35 2022 -0800 Fixes language code checks around two part languages commita8f3c4be54Merge:fa62ae821b9de2beAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 18:47:09 2022 -0800 Merge pull request #1947 from alexander-bauer/helm Take ownership of k8s-at-home Helm chart, commit1b9de2be5aAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 18:46:19 2022 -0800 Use checkout v3 commit0e8265f1aeMerge:ea38eb015b45a140Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 18:44:28 2022 -0800 Merge pull request #2109 from paperless-ngx/fix/redis-socket-parsing Bugfix: Redis socket compatibility didn't handle URLs with ports commit5b45a140b9Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sat Dec 3 18:30:21 2022 -0800 Fixes issue when the Redis URL also specifies a port commit72fb9a475dAuthor: Alexander Bauer <sasha@linux.com> Date: Thu Nov 10 02:24:04 2022 +0000 Ignore end-of-lines on generated Chart README commitbf97f5807fAuthor: Alexander Bauer <sasha@linux.com> Date: Thu Nov 10 02:21:29 2022 +0000 Ignore non-yaml Helm chart template commita707818b4dAuthor: Alexander Bauer <sasha@linux.com> Date: Thu Nov 10 01:54:35 2022 +0000 Change Helm chart releaser to use version tags only commitfb46c1b96aAuthor: Alexander Bauer <sasha@linux.com> Date: Thu Nov 10 01:52:02 2022 +0000 Ignore generated Helm chart README from prettier commit3226d8b25bAuthor: Alexander Bauer <sasha@linux.com> Date: Tue Nov 8 00:46:27 2022 +0000 fixup! Add mostly-unchanged Helm chart from k8s-at-home commit5c4363cbeaAuthor: Alexander Bauer <sasha@linux.com> Date: Tue Nov 8 00:24:04 2022 +0000 Add mostly-unchanged Helm chart from k8s-at-home - Add the chart from k8s-at-home with some modifications - Add the Apache 2.0 license to the new charts/paperless-ngx subdirectory, the license under which the chart was distributed by k8s-at-home. I believe the chart will have to maintain this license. - Update the maintainers section and contact information to point to Paperless-ngx. - Regenerate the README (using helm-docs) - Add a GitHub actions configuration to publish the chart using GitHub pages. This makes the GitHub Pages page rendered by this repository usable as a Helm repository, without affecting potential future uses of the Pages site. These are in response to discussion #1790. commitfa62ae820bMerge:bcc029a217891bafAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 14:19:36 2022 -0800 Merge pull request #2106 from tooomm/docs/edit Docs: Some more small MkDocs updates commit17891bafafAuthor: tooomm <tooomm@users.noreply.github.com> Date: Sat Dec 3 20:02:40 2022 +0100 lint commit15fdadadefAuthor: tooomm <tooomm@users.noreply.github.com> Date: Sat Dec 3 19:36:49 2022 +0100 open demo in new page commitce9f604d81Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 09:29:34 2022 -0800 Explicit default ordering for rule / account views commit4f876db5d1Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon Nov 28 21:38:52 2022 -0800 prevent loss of unsaved changes to settings on tab nav commit5e5f56dc67Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon Nov 28 20:39:03 2022 -0800 Re-org where some of the new classes are found commit93fab8bb95Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon Nov 28 12:53:20 2022 -0800 Apply code suggestions from @stumpylog commit35ca2195feAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon Nov 28 15:51:39 2022 -0800 frontend mail rule validation Display non-field validation errors, hide action param field if not needed commit7ace66d7fdAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon Nov 28 13:58:37 2022 -0800 fix edit dialog getters commit4f9a31244bAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Nov 18 20:23:40 2022 -0800 Add settings routing commit14cf4f7095Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Nov 18 19:38:49 2022 -0800 Update frontend strings commit8bd7c27826Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Nov 18 17:11:15 2022 -0800 Hide order parameter, fix imap port commit8c4f486fe9Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Nov 18 14:22:07 2022 -0800 API mail rule & account tests and fix use of assign_tags commit2849414445Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Nov 18 14:21:31 2022 -0800 one-way imap password setting via API, ObfuscatedPasswordField commitea1ea0816fAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Nov 18 14:10:17 2022 -0800 Fix mail account / rule delete commit52d3a8703cAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Nov 12 15:14:58 2022 -0800 Dynamically load mail rules / accounts settings commit4cb4d6adcdAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Nov 12 15:15:59 2022 -0800 update settings tests to not wait on data which is now on-demand commit24444237f2Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Nov 12 14:46:57 2022 -0800 dynamic loading of settings tab contents commit40c8629aefAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Nov 10 21:04:29 2022 -0800 Update welcome tour, move admin button commit98cdf614a5Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed Nov 9 19:59:35 2022 -0800 Mail form tweaks Include add button Include add button commit2eb2d99a91Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed Nov 9 03:43:57 2022 -0800 Update frontend fixtures & tests for compatibility commit18ad9bcbf2Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 8 12:18:47 2022 -0800 Working mail rule & account edit commit997bff4917Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed Nov 9 02:40:45 2022 -0800 Update deprecated edit-dialog rxjs commit78f9a80895Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 8 12:09:16 2022 -0800 mail account + rule deletion commit9231df7a4aAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 8 11:50:57 2022 -0800 Mail rule edit dialog commit6f25917c86Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 8 11:11:35 2022 -0800 Mail account edit dialog commitc41d1a78a8Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 8 10:53:41 2022 -0800 remove unused toastService from edit dialogs and add confirmation commitc3331086d5Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 8 03:39:54 2022 -0800 Basic data retrieval commit6bd9ccd8f6Author: tooomm <tooomm@users.noreply.github.com> Date: Sat Dec 3 18:30:02 2022 +0100 update default edit path commit68c7cecb07Author: tooomm <tooomm@users.noreply.github.com> Date: Sat Dec 3 18:29:14 2022 +0100 add mkdocs site to gitignore commitbcc029a2c7Merge:9d4180551727eb00Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 09:00:02 2022 -0800 Merge pull request #2104 from paperless-ngx/docs-cleanup Chore: Cleans up documentation links commitea38eb01b2Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri Dec 2 13:54:15 2022 -0800 Adds support for database number specification commit01d070b882Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri Dec 2 09:34:59 2022 -0800 Adds a layer to translate between differing formats of socket based Redis URLs commit1727eb00ccAuthor: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Fri Dec 2 19:34:43 2022 -0800 Cleans up a number of internal links commit9d4180553cMerge:7c6142648049af4bAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 07:58:12 2022 -0800 Merge pull request #2102 from tooomm/patch-1 Fix doc links in contributing commit8049af4b22Author: tooomm <tooomm@users.noreply.github.com> Date: Sat Dec 3 14:38:55 2022 +0100 Fix doc links in contributing commit7c6142643dAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 02:08:51 2022 -0800 Update more docs references commit2e8706f4e2Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 02:05:49 2022 -0800 Update frontend translation strings commitd39d32d555Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 02:04:30 2022 -0800 Fix docs references commit6f52945449Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 01:47:04 2022 -0800 docs index formatting error commit37025297b5Merge:aa023ea2dc9e9e3bAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 01:33:31 2022 -0800 Merge pull request #2095 from paperless-ngx/update-readme-doc-links Documentation: Update docs links and screenshot in readme, add favicon commitaa023ea2e3Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Dec 3 01:30:07 2022 -0800 correct docs deploy domain commit78bf0b63a5Merge:29391c1ca96ecd67Author: Felix E <felix@eckhofer.com> Date: Sat Dec 3 09:10:20 2022 +0100 Merge pull request #2087 from Ricks-ha/main Add examples to URL and TIME_ZONE commitdc9e9e3b48Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Dec 2 20:06:51 2022 -0800 add favicon commitab29c49b7aAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Dec 2 19:09:19 2022 -0800 Update docs links and screenshot in readme commit1c0ac474b8Merge:25fb8d9c29391c1cAuthor: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Fri Dec 2 19:05:28 2022 -0800 Merge branch 'main' into dev commit29391c1c7bMerge:58a01a5769383497Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Dec 2 15:22:39 2022 -0800 Merge pull request #2067 from paperless-ngx/material-docs [WIP] Feature: Move docs to material-mkdocs commit693834971cAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 20:00:23 2022 -0800 Add v1.10.1 changelog commit97376d4b72Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Dec 2 09:09:29 2022 -0800 update ci for documentation build vs deploy commit3ee1d2a9a9Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 29 21:20:45 2022 -0800 Add changes from #2069 commit605f885e19Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 29 12:49:23 2022 -0800 Move docs to material-mkdocs commit25fb8d9c3bAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Dec 2 08:30:42 2022 -0800 Update dev version string commita96ecd673bAuthor: Ricks-ha <ricks@ricksha.eu> Date: Fri Dec 2 13:27:57 2022 +0100 Add examples to URL and TIME_ZONE commit58a01a57eeMerge:a96f79f6c18fc03eAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Dec 2 03:36:55 2022 -0800 Merge pull request #2082 from paperless-ngx/v1.10.1-changelog Chore: Add v1.10.1 changelong commitc18fc03ef3Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 20:00:23 2022 -0800 Add v1.10.1 changelong commita96f79f6a3Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 18:54:00 2022 -0800 Bump version to 1.10.1 commitd6f1d004a3Merge:88cf6ef8da72d357Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 18:52:35 2022 -0800 Merge branch 'dev' commitda72d3571bMerge:8241da0e86592928Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 18:52:06 2022 -0800 Merge pull request #2050 from paperless-ngx/l10n_dev New Crowdin updates commit8241da0eb3Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 17:01:22 2022 -0800 fix broken npm package-lock commit51562667bfMerge:1aee298897eeae65Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 16:40:07 2022 -0800 Merge pull request #2076 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/tslib-2.4.1 Bump tslib from 2.4.0 to 2.4.1 in /src-ui commit97eeae65a3Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 2 00:39:26 2022 +0000 Bump tslib from 2.4.0 to 2.4.1 in /src-ui Bumps [tslib](https://github.com/Microsoft/tslib) from 2.4.0 to 2.4.1. - [Release notes](https://github.com/Microsoft/tslib/releases) - [Commits](https://github.com/Microsoft/tslib/compare/2.4.0...2.4.1) --- updated-dependencies: - dependency-name: tslib dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> commit1aee2988f7Merge:a63a8dd46f0077efAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 16:39:24 2022 -0800 Merge pull request #2079 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/angular-builders/jest-14.1.0 Bump @angular-builders/jest from 14.0.1 to 14.1.0 in /src-ui commita63a8dd488Merge:06a9df6d39be68a1Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 16:38:38 2022 -0800 Merge pull request #2078 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/jest-preset-angular-12.2.3 Bump jest-preset-angular from 12.2.2 to 12.2.3 in /src-ui commit06a9df6dbdMerge:49933bb57d7d9630Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 16:37:25 2022 -0800 Merge pull request #2080 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/ngx-file-drop-14.0.2 Bump ngx-file-drop from 14.0.1 to 14.0.2 in /src-ui commit49933bb5a8Merge:02c782a1ac69babfAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 16:18:07 2022 -0800 Merge pull request #2077 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/ngneat/dirty-check-forms-3.0.3 Bump @ngneat/dirty-check-forms from 3.0.2 to 3.0.3 in /src-ui commit7d7d9630c1Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 1 20:03:32 2022 +0000 Bump ngx-file-drop from 14.0.1 to 14.0.2 in /src-ui Bumps [ngx-file-drop](https://github.com/georgipeltekov/ngx-file-drop) from 14.0.1 to 14.0.2. - [Release notes](https://github.com/georgipeltekov/ngx-file-drop/releases) - [Changelog](https://github.com/georgipeltekov/ngx-file-drop/blob/master/CHANGELOG.md) - [Commits](https://github.com/georgipeltekov/ngx-file-drop/compare/v14.0.1...v14.0.2) --- updated-dependencies: - dependency-name: ngx-file-drop dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> commit6f0077efacAuthor: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 1 20:03:05 2022 +0000 Bump @angular-builders/jest from 14.0.1 to 14.1.0 in /src-ui Bumps [@angular-builders/jest](https://github.com/just-jeb/angular-builders/tree/HEAD/packages/jest) from 14.0.1 to 14.1.0. - [Release notes](https://github.com/just-jeb/angular-builders/releases) - [Changelog](https://github.com/just-jeb/angular-builders/blob/master/packages/jest/CHANGELOG.md) - [Commits](https://github.com/just-jeb/angular-builders/commits/@angular-builders/jest@14.1.0/packages/jest) --- updated-dependencies: - dependency-name: "@angular-builders/jest" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> commit39be68a1a4Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 1 20:02:39 2022 +0000 Bump jest-preset-angular from 12.2.2 to 12.2.3 in /src-ui Bumps [jest-preset-angular](https://github.com/thymikee/jest-preset-angular) from 12.2.2 to 12.2.3. - [Release notes](https://github.com/thymikee/jest-preset-angular/releases) - [Changelog](https://github.com/thymikee/jest-preset-angular/blob/main/CHANGELOG.md) - [Commits](https://github.com/thymikee/jest-preset-angular/compare/v12.2.2...v12.2.3) --- updated-dependencies: - dependency-name: jest-preset-angular dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> commitac69babfceAuthor: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 1 20:02:11 2022 +0000 Bump @ngneat/dirty-check-forms from 3.0.2 to 3.0.3 in /src-ui Bumps [@ngneat/dirty-check-forms](https://github.com/ngneat/dirty-check-forms) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/ngneat/dirty-check-forms/releases) - [Changelog](https://github.com/ngneat/dirty-check-forms/blob/master/CHANGELOG.md) - [Commits](https://github.com/ngneat/dirty-check-forms/compare/v3.0.2...v3.0.3) --- updated-dependencies: - dependency-name: "@ngneat/dirty-check-forms" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> commit02c782a127Merge:4e90fda89b602a4bAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Dec 1 08:19:59 2022 -0800 Merge pull request #2073 from paperless-ngx/fix-frontend-tasks-display Fix: frontend tasks display in 1.10.0 commit4e90fda80fAuthor: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Tue Nov 29 20:06:56 2022 -0800 Expands documentation around the permissions of the custom scripts and the folder commit88e3e556a1Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Tue Nov 29 20:05:08 2022 -0800 Fixes the custom scripts not running as root commit88cf6ef843Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed Nov 30 15:14:21 2022 -0800 add demo badge commit9b602a4bf0Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed Nov 30 13:55:51 2022 -0800 Fix frontend tasks display commitfe2db4dbf7Author: phail <phail@hacknology.de> Date: Wed Nov 30 10:16:39 2022 +0100 adapt compose file for eml parsing commit47c88a6bddMerge:4aa31859a3bc3b78Author: phail <phail@hacknology.de> Date: Wed Nov 30 10:10:57 2022 +0100 Merge remote-tracking branch 'paperless/dev' into feature-consume-eml commita3bc3b78d5Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Tue Nov 29 14:34:12 2022 -0800 Also display the container logs commitfed7d3e993Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Tue Nov 29 13:59:48 2022 -0800 Use docker compose to start and stop containers which match directly to our command overrides commit3a74f24e49Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Tue Nov 29 12:44:53 2022 -0800 Adds libatomic1 for supporting armv7 better commit52afab39cfAuthor: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Tue Nov 29 12:16:51 2022 -0800 Organizes the system packages a little bit more commit8659292852Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Tue Nov 29 00:29:45 2022 -0800 New translations django.po (Norwegian) [ci skip] commitce73f159fdAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Mon Nov 28 14:13:54 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commit71382e9c62Merge:5d3a6e23a1a802fcAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon Nov 28 14:05:57 2022 -0800 Merge pull request #2062 from paperless-ngx/fix/2053-long-names-too-quiet Bugfix: Don't silence an exception when trying to handle file naming commita1a802fc92Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon Nov 28 13:44:17 2022 -0800 Don't silence an exception when trying to handle file naming commit4200fc610dAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Mon Nov 28 13:17:22 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commit32d212cd9fAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Mon Nov 28 11:17:07 2022 -0800 New translations messages.xlf (German) [ci skip] commit5d3a6e230dMerge:b33fcc11f0497e77Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon Nov 28 11:04:44 2022 -0800 Merge pull request #2057 from paperless-ngx/fix/2044-lang-code-diffs Bugfix: Some tesseract languages aren't detected as installed. commitb33fcc117eAuthor: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon Nov 28 09:25:03 2022 -0800 Transition to a maintained upload release assert commite96d65f945Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon Nov 14 15:38:35 2022 -0800 Allows parsing of WebP format images commitcfeed0ce6eAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Mon Nov 28 08:30:32 2022 -0800 New translations django.po (Polish) [ci skip] commitb89ecf7d77Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Mon Nov 28 05:28:39 2022 -0800 New translations messages.xlf (Luxembourgish) [ci skip] commit5ca25d44baAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Mon Nov 28 04:27:31 2022 -0800 New translations messages.xlf (Luxembourgish) [ci skip] commit1e11c12d96Merge:e74d7dad3e22e8e0Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun Nov 27 21:16:50 2022 -0800 Merge branch 'main' into dev commit3e22e8e0b9Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 27 19:22:59 2022 -0800 prepends the latest changelog commitdba45f93a4Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 27 19:22:03 2022 -0800 Fixes the pre-commit command commit18f3f44ae9Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:25 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commit85a6a271dcAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:23 2022 -0800 New translations messages.xlf (French) [ci skip] commitabb515d4eaAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:22 2022 -0800 New translations messages.xlf (Spanish) [ci skip] commit309d1f2b67Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:21 2022 -0800 New translations messages.xlf (Arabic) [ci skip] commitfa2f09bc4bAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:19 2022 -0800 New translations messages.xlf (Belarusian) [ci skip] commitc51590cd12Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:18 2022 -0800 New translations messages.xlf (Czech) [ci skip] commit8e01406acfAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:17 2022 -0800 New translations messages.xlf (Danish) [ci skip] commit7cce2f0fe6Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:16 2022 -0800 New translations messages.xlf (Finnish) [ci skip] commit95091c2f39Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:14 2022 -0800 New translations messages.xlf (Hebrew) [ci skip] commit4a0aa12bd9Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:13 2022 -0800 New translations messages.xlf (Italian) [ci skip] commit9a0329746aAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:11 2022 -0800 New translations messages.xlf (Dutch) [ci skip] commit8392a6fd4aAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:10 2022 -0800 New translations messages.xlf (Romanian) [ci skip] commit8fa18bb8a6Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:09 2022 -0800 New translations messages.xlf (Norwegian) [ci skip] commit0095b593fbAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:08 2022 -0800 New translations messages.xlf (Portuguese) [ci skip] commitb1e5135e21Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:05 2022 -0800 New translations messages.xlf (Russian) [ci skip] commite88755e7acAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:04 2022 -0800 New translations messages.xlf (Slovenian) [ci skip] commitc582947291Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:02 2022 -0800 New translations messages.xlf (Swedish) [ci skip] commit98fe3a2cb7Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:58:01 2022 -0800 New translations messages.xlf (Turkish) [ci skip] commit61647606faAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:57:59 2022 -0800 New translations messages.xlf (Chinese Simplified) [ci skip] commit95a1e5c645Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:57:58 2022 -0800 New translations messages.xlf (Portuguese, Brazilian) [ci skip] commit8ead77f128Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:57:57 2022 -0800 New translations messages.xlf (Croatian) [ci skip] commitb9e9e82f33Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:57:55 2022 -0800 New translations messages.xlf (Luxembourgish) [ci skip] commit487fd3a5ddAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:57:54 2022 -0800 New translations messages.xlf (Polish) [ci skip] commit657786a2feAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sun Nov 27 17:57:52 2022 -0800 New translations messages.xlf (German) [ci skip] commite74d7dadfbAuthor: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 27 17:43:46 2022 -0800 Adds the -dev back to the UI version commita2937cd54dMerge:9b01aa927b3ce628Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 27 17:42:41 2022 -0800 Merge branch 'main' into dev commit7b3ce6289fAuthor: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 27 17:21:12 2022 -0800 Bumps version number to 1.10.0 commita16e8324beMerge:34a0111f39de531dAuthor: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 27 17:18:08 2022 -0800 Merge pull request #1960 from paperless-ngx/beta [Beta] Paperless-ngx v1.10.0 Release Candidate commit39de531df5Merge:4764d4fdc9d6c208Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun Nov 27 14:47:14 2022 -0800 Merge pull request #2041 from paperless-ngx/l10n_dev New Crowdin updates commit4764d4fd2bAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Nov 26 12:28:51 2022 -0800 New translations django.po (German) [ci skip] commite147d4571fAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Nov 26 09:54:00 2022 -0800 New translations django.po (German) [ci skip] commitdc9aaa6472Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Tue Nov 22 15:21:31 2022 -0800 New translations django.po (German) [ci skip] commit8a061c4ac2Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Tue Nov 22 15:21:30 2022 -0800 New translations messages.xlf (German) [ci skip] commitd051c5c282Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Nov 12 08:48:48 2022 -0800 Remove ar-SA commit9e60810a8bAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Nov 12 08:33:08 2022 -0800 New translations messages.xlf (Arabic) [ci skip] commit96ee7990b2Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Fri Nov 11 13:59:54 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commit224bfeb72eAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Fri Nov 11 13:04:01 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commitf0497e7744Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 27 08:28:22 2022 -0800 Fixes how a language code like chi-sim is treated in the checks commitc9d6c208afAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Nov 26 12:28:51 2022 -0800 New translations django.po (German) [ci skip] commit9f2b8b1734Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Nov 26 09:54:00 2022 -0800 New translations django.po (German) [ci skip] commita04b9e3755Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Tue Nov 22 15:21:31 2022 -0800 New translations django.po (German) [ci skip] commita81d4c5e9dAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Tue Nov 22 15:21:30 2022 -0800 New translations messages.xlf (German) [ci skip] commit2140d42098Merge:a52835252a5dc4deAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 22 14:35:34 2022 -0800 Merge pull request #2025 from paperless-ngx/fix-redo-ocr-message Add info that re-do OCR doesnt automatically refresh content commit43325371fcAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Nov 12 08:48:48 2022 -0800 Remove ar-SA commitd10721089eAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Nov 12 08:33:08 2022 -0800 New translations messages.xlf (Arabic) [ci skip] commitf1a1a2da8bAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Fri Nov 11 13:59:54 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commit612e0a1163Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Fri Nov 11 13:04:01 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commit2a5dc4de38Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 22 14:16:04 2022 -0800 Add info that re-do OCR doesnt automatically refresh content commita5283525bcMerge:f0155565de98d748Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Nov 22 13:53:08 2022 -0800 Merge pull request #2023 from paperless-ngx/fix/2019-create-date Bugfix: Fix created_date being a string commitde98d748a9Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Tue Nov 22 10:11:27 2022 -0800 If override_date is provided, coerce it into a datetime commitf015556562Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon Nov 21 14:56:14 2022 -0800 Adds a test to cover this edge case commitb897d6de2eAuthor: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon Nov 21 14:45:20 2022 -0800 Don't use the sidecar file when redoing the OCR, it only contains new text commit54f20b381eAuthor: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon Nov 21 12:59:14 2022 -0800 Documents some issues and the required manual fixes for MariaDB commitc0d4248021Merge:27f7f0a9870e295aAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon Nov 21 22:19:02 2022 -0800 Merge pull request #1973 from paperless-ngx/l10n_dev New Crowdin updates commit870e295aaeAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Mon Nov 21 21:43:54 2022 -0800 New translations messages.xlf (German) [ci skip] commit4aa318598fAuthor: phail <phail@hacknology.de> Date: Sun Nov 20 23:26:20 2022 +0100 add test comments commit00f39d8b58Author: phail <phail@hacknology.de> Date: Sun Nov 20 22:49:42 2022 +0100 add test comments commit0b1a16908fAuthor: phail <phail@hacknology.de> Date: Sun Nov 20 20:33:07 2022 +0100 Include .eml reference in docs commitd9796e5003Author: phail <phail@hacknology.de> Date: Sun Nov 20 20:24:36 2022 +0100 change order of elements in parsed Texts commit3599bb52c0Author: phail <phail@hacknology.de> Date: Sun Nov 20 20:12:41 2022 +0100 minor test improvements commitaf8a6c3764Author: phail <phail@hacknology.de> Date: Sun Nov 20 19:53:57 2022 +0100 fix filenames commit6d37ebf79eAuthor: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 20 09:15:06 2022 -0800 Fixes one more place which used manual size formatting commitf6a70b85f4Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 20 09:13:08 2022 -0800 Use Django templating engine commit538a4219bdAuthor: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 20 09:10:44 2022 -0800 Fixes missing return commit85c41b79beAuthor: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Sun Nov 20 08:02:06 2022 -0800 Adds the new packages without updating other dependencies commit25d014d8efMerge:9ec8976227f7f0a9Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun Nov 20 07:48:55 2022 -0800 Merge branch 'beta' into l10n_dev commit9b01aa9202Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon Nov 14 15:47:22 2022 -0800 Fixes the link for flake8 to the new (?) GitHub repo commitdf101f5e7aAuthor: phail <phail@hacknology.de> Date: Sun Nov 20 16:09:46 2022 +0100 split handle_message function commit1fa735eb23Author: phail <phail@hacknology.de> Date: Sun Nov 20 15:44:43 2022 +0100 use imagehash instead of bitwise hashing commitebe21a0114Author: phail <phail@hacknology.de> Date: Sun Nov 20 14:22:30 2022 +0100 eml parsing requires tika commitd132eba143Author: phail <phail@hacknology.de> Date: Sun Nov 20 12:48:03 2022 +0100 optimize regex commit073c3c8fedAuthor: phail <phail@hacknology.de> Date: Sun Nov 20 12:36:49 2022 +0100 use html.escape instead of some self build functions commite3c1bde793Author: phail <phail@hacknology.de> Date: Sun Nov 20 12:06:35 2022 +0100 remove log mocking, replace pytest raises, use humanfriendly commit27f7f0a941Merge:9f5fd6c3914661fdAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Nov 17 14:31:46 2022 -0800 Merge pull request #1998 from paperless-ngx/fix/1993-date-overflow Bugfix: Don't allow exceptions during date parsing to fail consume commit9f5fd6c3baMerge:0ae820053dfeee93Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Nov 17 14:30:23 2022 -0800 Merge pull request #1967 from paperless-ngx/feature-scripts-output Feature: Capture stdout & stderr of the pre/post consume scripts commit914661fdbbAuthor: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Thu Nov 17 13:37:37 2022 -0800 Don't allow an exception when trying to parse a date cause complete failure commit0ae8200593Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon Nov 14 15:47:22 2022 -0800 Fixes the link for flake8 to the new (?) GitHub repo commitb68906b14eAuthor: phail <phail@hacknology.de> Date: Sun Nov 13 22:49:52 2022 +0100 merge pipfile commit681eecc46eMerge:1578e8ded4712234Author: phail <phail@hacknology.de> Date: Sun Nov 13 22:43:55 2022 +0100 Merge remote-tracking branch 'paperless/dev' into feature-consume-eml commit1578e8de2dAuthor: phail <phail@hacknology.de> Date: Sun Nov 13 22:33:26 2022 +0100 fix live tests commit023c931401Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun Nov 13 07:11:45 2022 -0800 Fix top search not working due to missing button type commit9ec89762a3Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Nov 12 09:31:54 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commitfa47595ac8Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Nov 12 08:58:01 2022 -0800 remove ar_SA [ci skip] commit79f5019b40Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Sat Nov 12 08:53:52 2022 -0800 New Crowdin updates (#1971) * New translations messages.xlf (Serbian (Latin)) [ci skip] * New translations messages.xlf (Serbian (Latin)) [ci skip] * New translations messages.xlf (Italian) [ci skip] * New translations django.po (Italian) [ci skip] * New translations django.po (Serbian (Latin)) [ci skip] * New translations messages.xlf (Russian) [ci skip] * New translations messages.xlf (Polish) [ci skip] * New translations messages.xlf (Serbian (Latin)) [ci skip] * New translations messages.xlf (Luxembourgish) [ci skip] * New translations messages.xlf (Croatian) [ci skip] * New translations messages.xlf (Portuguese, Brazilian) [ci skip] * New translations messages.xlf (Chinese Simplified) [ci skip] * New translations messages.xlf (Turkish) [ci skip] * New translations messages.xlf (Swedish) [ci skip] * New translations messages.xlf (Slovenian) [ci skip] * New translations messages.xlf (Portuguese) [ci skip] * New translations messages.xlf (Norwegian) [ci skip] * New translations messages.xlf (German) [ci skip] * New translations messages.xlf (Dutch) [ci skip] * New translations messages.xlf (Italian) [ci skip] * New translations messages.xlf (Hebrew) [ci skip] * New translations messages.xlf (Finnish) [ci skip] * New translations messages.xlf (Danish) [ci skip] * New translations messages.xlf (Czech) [ci skip] * New translations messages.xlf (Belarusian) [ci skip] * New translations messages.xlf (Spanish) [ci skip] * New translations messages.xlf (French) [ci skip] * New translations messages.xlf (Romanian) [ci skip] * New translations messages.xlf (Arabic) [ci skip] * Remove ar-SA * remote ar other than ar-ar Co-authored-by: Michael Shamoon <4887959+shamoon@users.noreply.github.com> commit756ce2f9d8Merge:50a211f3d4712234Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Nov 12 08:33:43 2022 -0800 Merge branch 'dev' into beta commitd47122340aAuthor: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat Nov 12 08:31:25 2022 -0800 Add translation strings for welcome tour buttons commitb01cbc9aa0Author: phail <phail@hacknology.de> Date: Sat Nov 12 15:48:30 2022 +0100 add conditions to unittests commit3dfeee9332Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri Nov 11 10:09:56 2022 -0800 Don't do decoding work if not needed commit057f6016ccAuthor: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri Nov 11 08:58:49 2022 -0800 Adds further testing to cover scripts with non-zero exit codes commitc4965580deAuthor: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Thu Nov 10 17:40:36 2022 -0800 Fixes stderr appearing to have content when it doesn't commit9a47963fd5Author: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Wed Nov 9 20:11:36 2022 -0800 Captures the stdout and stderr of the pre/post scripts into the log commit50a211f367Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Thu Nov 10 17:25:39 2022 -0800 Fixes an issue with the install of languages and read-only variable commit5f278d7fbbMerge:e5106bdca17d2519Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed Nov 9 21:37:29 2022 -0800 Merge pull request #1956 from paperless-ngx/l10n_dev New Crowdin updates commita17d251913Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:37 2022 -0800 New translations django.po (Serbian (Latin)) [ci skip] commit1cbf088656Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:36 2022 -0800 New translations messages.xlf (Serbian (Latin)) [ci skip] commitd3254d6bcfAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:35 2022 -0800 New translations messages.xlf (Luxembourgish) [ci skip] commit1543729c7bAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:34 2022 -0800 New translations messages.xlf (Croatian) [ci skip] commitef2a96c34bAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:32 2022 -0800 New translations messages.xlf (Portuguese, Brazilian) [ci skip] commit656b1e150fAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:31 2022 -0800 New translations messages.xlf (Chinese Simplified) [ci skip] commite0f61003cfAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:30 2022 -0800 New translations messages.xlf (Turkish) [ci skip] commit1ca98678cdAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:28 2022 -0800 New translations messages.xlf (Swedish) [ci skip] commit9919cc1956Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:27 2022 -0800 New translations messages.xlf (Slovenian) [ci skip] commitd2096e3c05Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:26 2022 -0800 New translations messages.xlf (Portuguese) [ci skip] commit5f2b508b7aAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:24 2022 -0800 New translations messages.xlf (Polish) [ci skip] commit752d4f4249Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:23 2022 -0800 New translations django.po (German) [ci skip] commit72e7d5150eAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:22 2022 -0800 New translations messages.xlf (Norwegian) [ci skip] commit42a9e05a7fAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:21 2022 -0800 New translations messages.xlf (Italian) [ci skip] commitb4add2ed55Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:19 2022 -0800 New translations messages.xlf (Hebrew) [ci skip] commited7d9295bdAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:18 2022 -0800 New translations messages.xlf (Finnish) [ci skip] commit5b7b1b2349Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:16 2022 -0800 New translations messages.xlf (Danish) [ci skip] commitd5c930acc9Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:15 2022 -0800 New translations messages.xlf (Czech) [ci skip] commit4c93d6d7e6Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:14 2022 -0800 New translations messages.xlf (Belarusian) [ci skip] commit066f3264fbAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:12 2022 -0800 New translations messages.xlf (Spanish) [ci skip] commit88a803f949Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:11 2022 -0800 New translations messages.xlf (French) [ci skip] commite69615dc06Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:10 2022 -0800 New translations messages.xlf (Romanian) [ci skip] commita1e0840e24Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:08 2022 -0800 New translations messages.xlf (Dutch) [ci skip] commitd814353e83Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:07 2022 -0800 New translations messages.xlf (German) [ci skip] commit06d7845ecaAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:04 2022 -0800 New translations django.po (Dutch) [ci skip] commitae8682c7a5Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:03 2022 -0800 New translations django.po (Romanian) [ci skip] commitc9c0b3d430Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:02 2022 -0800 New translations django.po (Luxembourgish) [ci skip] commitcc46fc7e4bAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:01 2022 -0800 New translations django.po (Croatian) [ci skip] commitd1b1ba21cdAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:12:00 2022 -0800 New translations django.po (Portuguese, Brazilian) [ci skip] commita009417a99Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:59 2022 -0800 New translations django.po (Chinese Simplified) [ci skip] commit775da720ecAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:58 2022 -0800 New translations django.po (Turkish) [ci skip] commitaeae6ea0d3Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:57 2022 -0800 New translations django.po (Swedish) [ci skip] commit0ae46d2269Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:56 2022 -0800 New translations django.po (Slovenian) [ci skip] commit0e7f1ec0deAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:55 2022 -0800 New translations django.po (Russian) [ci skip] commit13cd55b96fAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:53 2022 -0800 New translations django.po (Portuguese) [ci skip] commit9139e807ecAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:52 2022 -0800 New translations messages.xlf (Arabic) [ci skip] commit53616f6625Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:51 2022 -0800 New translations django.po (Polish) [ci skip] commit526fdf1153Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:50 2022 -0800 New translations django.po (Italian) [ci skip] commitfc4aceb0eeAuthor: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:49 2022 -0800 New translations django.po (Hebrew) [ci skip] commit3d8421b718Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:48 2022 -0800 New translations django.po (Finnish) [ci skip] commit6cebceda15Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:47 2022 -0800 New translations django.po (Danish) [ci skip] commite1fd6bda19Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:46 2022 -0800 New translations django.po (Czech) [ci skip] commitfd34414b17Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:45 2022 -0800 New translations django.po (Belarusian) [ci skip] commit3ce1886a54Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:44 2022 -0800 New translations django.po (Arabic) [ci skip] commit8ed43779a8Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:43 2022 -0800 New translations django.po (Spanish) [ci skip] commita7949b3e22Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:42 2022 -0800 New translations django.po (French) [ci skip] commit19c293c3e6Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:41 2022 -0800 New translations django.po (Norwegian) [ci skip] commitccb1ec4ff5Author: Paperless-ngx Translation Bot [bot] <99855517+paperless-l10n@users.noreply.github.com> Date: Wed Nov 9 15:11:40 2022 -0800 New translations messages.xlf (Russian) [ci skip] commite5106bdca0Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Wed Nov 9 14:00:09 2022 -0800 Updates the version strings to 1.10.0 commitba1366f49aMerge:34a0111ff3b3db30Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Wed Nov 9 13:51:10 2022 -0800 Merge branch 'dev' into beta commitacd3832417Author: phail <phail@hacknology.de> Date: Thu Nov 3 21:08:15 2022 +0100 merge Pipfile.lock commit82b2ba3cc2Merge:3de6e0bc7e3e0a0fAuthor: phail <phail@hacknology.de> Date: Thu Nov 3 21:00:01 2022 +0100 Merge remote-tracking branch 'paperless/dev' into feature-consume-eml commit3de6e0bcf1Author: phail <phail@hacknology.de> Date: Thu Nov 3 00:58:36 2022 +0100 put parser into setup make test using convert optional Gotenberg live testing commit34a0111ff5Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon Oct 31 13:06:17 2022 -0700 update logs section commitb511b084d0Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun Oct 30 06:48:41 2022 -0700 Update matrix url [ci skip] commit6df73ae940Author: phail <phail@hacknology.de> Date: Sat Oct 29 23:20:35 2022 +0200 gotenberg with modified cmd commit4a24ba51c5Merge:87472b31d5fb98b7Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Oct 28 22:22:08 2022 -0700 Merge pull request #1876 from astubenbord/main Added new application to list of affiliated projects commitd5fb98b7c4Author: Anton Stubenbord <79228196+astubenbord@users.noreply.github.com> Date: Fri Oct 28 11:07:42 2022 +0200 Added new application to list of affiliated projects commit2204090151Author: phail <phail@hacknology.de> Date: Thu Oct 27 23:53:47 2022 +0200 fix string commit3c81a7468bAuthor: phail <phail@hacknology.de> Date: Thu Oct 27 23:41:29 2022 +0200 replace thumbnail creation with mock commit5ef86f9489Merge:90cb08369b82ab95Author: phail <phail@hacknology.de> Date: Thu Oct 27 23:12:51 2022 +0200 Merge remote-tracking branch 'paperless/dev' into feature-consume-eml commit90cb0836bbAuthor: phail <phail@hacknology.de> Date: Thu Oct 27 23:11:41 2022 +0200 Downgrade pdf validation to text only commitef1d4264b5Author: phail <phail@hacknology.de> Date: Thu Oct 27 00:27:15 2022 +0200 improve test coverage a little commite1fa59122dMerge:5bf263693357fa19Author: phail <phail@hacknology.de> Date: Wed Oct 26 20:59:49 2022 +0200 Merge remote-tracking branch 'paperless/dev' into feature-consume-eml commit5bf26369e2Author: phail <phail@hacknology.de> Date: Tue Oct 25 21:17:40 2022 +0200 remove erroring paramerter commit36239ba09fAuthor: phail <phail@hacknology.de> Date: Mon Oct 24 22:15:33 2022 +0200 rename help text commit318c1d2fbdMerge:e7c40fc3f8ce6285Author: phail <phail@hacknology.de> Date: Mon Oct 24 21:12:35 2022 +0200 Merge remote-tracking branch 'paperless/dev' into feature-consume-eml commite7c40fc3dcAuthor: phail <phail@hacknology.de> Date: Sun Oct 23 22:02:11 2022 +0200 Update Pipfile commit0da0b1c062Author: phail <phail@hacknology.de> Date: Sun Oct 23 21:39:15 2022 +0200 update variable names commit08988e11f8Merge:30372b0e8be6c707Author: phail <phail@hacknology.de> Date: Sun Oct 23 20:37:22 2022 +0200 Merge remote-tracking branch 'paperless/dev' into feature-consume-eml commit30372b0e85Author: phail <phail@hacknology.de> Date: Sun Oct 23 17:18:10 2022 +0200 add tests for mail_to_html and generate_pdf_from_mail commit567e89d1c7Author: phail <phail@hacknology.de> Date: Sat Oct 22 02:25:23 2022 +0200 test for broken eml, add test_generate_pdf commitf1f5227ccdAuthor: phail <phail@hacknology.de> Date: Sat Oct 22 00:44:32 2022 +0200 add unittest for external images commit09b5bd17f2Author: phail <phail@hacknology.de> Date: Wed Oct 19 23:19:33 2022 +0200 add unittest for generate_pdf_from_html commite384bd78c5Author: phail <phail@hacknology.de> Date: Tue Oct 18 23:48:07 2022 +0200 add unittest for transform_inline_html commitfda844f64cAuthor: phail <phail@hacknology.de> Date: Sat Oct 15 15:41:43 2022 +0200 add unittest for parse commitdaf90399bdAuthor: phail <phail@hacknology.de> Date: Sat Oct 15 13:13:29 2022 +0200 Add unitest for tika_parse() commit3d37e49c1aAuthor: phail <phail@hacknology.de> Date: Fri Oct 14 15:43:43 2022 +0200 add 2 more tests commit261c6fb990Author: phail <phail@hacknology.de> Date: Thu Oct 13 01:03:09 2022 +0200 add unittest for get_thumbnail commit87472b31d2Merge:430c5c3b1024d7e6Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Oct 11 19:59:46 2022 -0700 Merge pull request #1780 from paperless-ngx/fix/issue-1647 Documentation: Add note re MS exchange servers commit1024d7e6e2Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Oct 11 15:12:22 2022 -0700 Add note re MS exchange servers commit430c5c3b87Merge:0b5c6d35b7c33550Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri Oct 7 23:45:51 2022 -0700 Merge pull request #1761 from paperless-ngx/docs/lsio-tweak Documentation: Tweak LinuxServer commitb7c335507fAuthor: Trenton Holmes <holmes.trenton@gmail.com> Date: Thu Oct 6 18:24:25 2022 -0700 Fixes the LSIO migration setting for the media root commit0b5c6d3532Merge:fdac108c5fd39472Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu Oct 6 13:22:58 2022 -0700 Merge pull request #1731 from paperless-ngx/fix/1624 Documentation: Adds troubleshooting note about Kubernetes and ports commitfdac108cabMerge:5639659b821c14fbAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon Oct 3 17:07:06 2022 -0700 Merge pull request #1733 from paperless-ngx/docs-lsio-migrate Documentation: LinuxServer.io Migration commit821c14fbceAuthor: Trenton H <holmes.trenton@gmail.com> Date: Mon Oct 3 11:14:18 2022 -0700 Corrects how the link to example compose files looks commit8c03d9c638Author: Trenton H <holmes.trenton@gmail.com> Date: Mon Oct 3 11:11:51 2022 -0700 Corrects a re-numbered step commit174a609449Author: Trenton H <holmes.trenton@gmail.com> Date: Mon Oct 3 10:16:53 2022 -0700 Adds a few steps for migration from the LinuxServer.io image commit5fd394726eAuthor: Trenton H <holmes.trenton@gmail.com> Date: Mon Oct 3 09:01:07 2022 -0700 Adds troubleshooting note for Kubernetes about needing to set the port again commit5639659b63Merge:807b71307ba9cdbeAuthor: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed Sep 28 09:48:20 2022 -0700 Merge pull request #1683 from paperless-ngx/fix/issue-1660 Mariadb compose files should use `PAPERLESS_DBPASS` commit7ba9cdbe23Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed Sep 28 09:07:30 2022 -0700 Mariadb compose files should use `PAPERLESS_DBPASS` commit807b7130e5Merge:9d117ee1e2d593c0Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Sep 27 16:50:23 2022 -0700 Merge pull request #1671 from paperless-ngx/v1.9.2-changelog [Documentation] Add v1.9.2 changelog commite2d593c023Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Sep 27 10:04:41 2022 -0700 Fix formatting, add note about 1.9.1 version string commit7455963124Author: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue Sep 27 17:01:37 2022 +0000 Changelog - GHA commitcdd2b99b6bMerge:d0a0ae9172ce4405Author: phail <phail@hacknology.de> Date: Mon Jul 11 23:58:21 2022 +0200 Merge remote-tracking branch 'paperless/dev' into feature-consume-eml commitd0a0ae91c4Merge:c04b9fd7feaf2da8Author: phail <phail@hacknology.de> Date: Fri May 20 19:29:52 2022 +0200 Merge branch 'dev' into feature-consume-eml commitc04b9fd7f6Author: phail <phail@hacknology.de> Date: Thu May 19 22:51:17 2022 +0200 switch to From: Header instead of date to compensate for older libmagic versions commit6809b15ce1Author: phail <phail@hacknology.de> Date: Sat May 14 16:47:12 2022 +0200 workaround for wrong mime detection of .eml files commitc317eca1caAuthor: phail <phel@hacknology.de> Date: Thu May 5 00:20:32 2022 +0200 add attachment size to pdf commit466afa8203Author: phail <phel@hacknology.de> Date: Wed May 4 23:42:59 2022 +0200 fix consumption of mails without html split pdf generation functions commitc2e3dc76d9Author: phail <phel@hacknology.de> Date: Tue May 3 23:21:33 2022 +0200 add parsing of inline attachments remove insecure chromium option fix html parsing commit5a899664f8Author: phail <phel@hacknology.de> Date: Tue May 3 18:02:08 2022 +0200 remove .eml parser from tika commit990e905a04Merge:6b7155a898ebb095Author: phail <phel@hacknology.de> Date: Tue May 3 17:42:56 2022 +0200 Merge remote-tracking branch 'paperless/dev' into feature-consume-eml commit6b7155a849Author: phail <phel@hacknology.de> Date: Sat Apr 30 17:33:12 2022 +0200 merge migrations commit47851ddd3fMerge:471896430f1e3164Author: phail <phel@hacknology.de> Date: Fri Apr 29 23:52:56 2022 +0200 Merge remote-tracking branch 'paperless/dev' into feature-consume-eml commit47189643ffAuthor: phail <phel@hacknology.de> Date: Fri Apr 29 22:58:11 2022 +0200 add eml parser to paperless_mail commitc1efe11cf3Author: phail <phel@hacknology.de> Date: Wed Apr 27 23:32:10 2022 +0200 improve pdf generation commit0e40ef5f35Author: phail <phel@hacknology.de> Date: Wed Apr 27 19:52:59 2022 +0200 add css for pdf generation commitc8081595c4Author: phail <phel@hacknology.de> Date: Tue Apr 26 23:25:48 2022 +0200 improve pdf generation commita2b5b3b253Author: phail <phel@hacknology.de> Date: Tue Apr 26 23:12:36 2022 +0200 moved files commit790bcf05edAuthor: phail <phel@hacknology.de> Date: Mon Apr 25 20:55:00 2022 +0200 add prototype archive pdf commitd8d2d53c59Author: phail <phel@hacknology.de> Date: Tue Apr 19 20:14:31 2022 +0200 fix Mail actions mixup commit027897ff03Author: phail <phel@hacknology.de> Date: Tue Apr 19 00:39:00 2022 +0200 work in progress Mail parsing commitcca576f518Author: phail <phel@hacknology.de> Date: Fri Apr 15 14:40:02 2022 +0200 add feature to consume imap mail als .eml commit5fcf1b5434Author: phail <phel@hacknology.de> Date: Thu Apr 14 00:19:30 2022 +0200 remove uneeded print and fix merge fail commit942b5aa9dfMerge:c05b39a0cc936160Author: phail <phel@hacknology.de> Date: Wed Apr 13 23:55:38 2022 +0200 Merge branch 'dev' into fix-mail-starttls commitc05b39a056Author: phail <phel@hacknology.de> Date: Wed Apr 13 23:37:21 2022 +0200 fix unittest commit3c8196527fAuthor: phail <phel@hacknology.de> Date: Sat Apr 9 13:07:14 2022 +0200 adapt to starttls interface change in imap_tools pin imap-tools version to avoid breaking changes improve mail log Update settings.component.ts Update settings.component.ts
799 lines
27 KiB
Python
799 lines
27 KiB
Python
import datetime
|
|
import json
|
|
import math
|
|
import multiprocessing
|
|
import os
|
|
import re
|
|
import tempfile
|
|
from typing import Final
|
|
from typing import Optional
|
|
from typing import Set
|
|
from typing import Tuple
|
|
from urllib.parse import urlparse
|
|
|
|
from celery.schedules import crontab
|
|
from concurrent_log_handler.queue import setup_logging_queues
|
|
from django.utils.translation import gettext_lazy as _
|
|
from dotenv import load_dotenv
|
|
|
|
# Tap paperless.conf if it's available
|
|
if os.path.exists("../paperless.conf"):
|
|
load_dotenv("../paperless.conf")
|
|
elif os.path.exists("/etc/paperless.conf"):
|
|
load_dotenv("/etc/paperless.conf")
|
|
elif os.path.exists("/usr/local/etc/paperless.conf"):
|
|
load_dotenv("/usr/local/etc/paperless.conf")
|
|
|
|
# There are multiple levels of concurrency in paperless:
|
|
# - Multiple consumers may be run in parallel.
|
|
# - Each consumer may process multiple pages in parallel.
|
|
# - Each Tesseract OCR run may spawn multiple threads to process a single page
|
|
# slightly faster.
|
|
# The performance gains from having tesseract use multiple threads are minimal.
|
|
# However, when multiple pages are processed in parallel, the total number of
|
|
# OCR threads may exceed the number of available cpu cores, which will
|
|
# dramatically slow down the consumption process. This settings limits each
|
|
# Tesseract process to one thread.
|
|
os.environ["OMP_THREAD_LIMIT"] = "1"
|
|
|
|
|
|
def __get_boolean(key: str, default: str = "NO") -> bool:
|
|
"""
|
|
Return a boolean value based on whatever the user has supplied in the
|
|
environment based on whether the value "looks like" it's True or not.
|
|
"""
|
|
return bool(os.getenv(key, default).lower() in ("yes", "y", "1", "t", "true"))
|
|
|
|
|
|
def __get_int(key: str, default: int) -> int:
|
|
"""
|
|
Return an integer value based on the environment variable or a default
|
|
"""
|
|
return int(os.getenv(key, default))
|
|
|
|
|
|
def __get_float(key: str, default: float) -> float:
|
|
"""
|
|
Return an integer value based on the environment variable or a default
|
|
"""
|
|
return float(os.getenv(key, default))
|
|
|
|
|
|
def __get_path(key: str, default: str) -> str:
|
|
"""
|
|
Return a normalized, absolute path based on the environment variable or a default
|
|
"""
|
|
return os.path.abspath(os.path.normpath(os.environ.get(key, default)))
|
|
|
|
|
|
def _parse_redis_url(env_redis: Optional[str]) -> Tuple[str]:
|
|
"""
|
|
Gets the Redis information from the environment or a default and handles
|
|
converting from incompatible django_channels and celery formats.
|
|
|
|
Returns a tuple of (celery_url, channels_url)
|
|
"""
|
|
|
|
# Not set, return a compatible default
|
|
if env_redis is None:
|
|
return ("redis://localhost:6379", "redis://localhost:6379")
|
|
|
|
if "unix" in env_redis.lower():
|
|
# channels_redis socket format, looks like:
|
|
# "unix:///path/to/redis.sock"
|
|
_, path = env_redis.split(":")
|
|
# Optionally setting a db number
|
|
if "?db=" in env_redis:
|
|
path, number = path.split("?db=")
|
|
return (f"redis+socket:{path}?virtual_host={number}", env_redis)
|
|
else:
|
|
return (f"redis+socket:{path}", env_redis)
|
|
|
|
elif "+socket" in env_redis.lower():
|
|
# celery socket style, looks like:
|
|
# "redis+socket:///path/to/redis.sock"
|
|
_, path = env_redis.split(":")
|
|
if "?virtual_host=" in env_redis:
|
|
# Virtual host (aka db number)
|
|
path, number = path.split("?virtual_host=")
|
|
return (env_redis, f"unix:{path}?db={number}")
|
|
else:
|
|
return (env_redis, f"unix:{path}")
|
|
|
|
# Not a socket
|
|
return (env_redis, env_redis)
|
|
|
|
|
|
# NEVER RUN WITH DEBUG IN PRODUCTION.
|
|
DEBUG = __get_boolean("PAPERLESS_DEBUG", "NO")
|
|
|
|
|
|
###############################################################################
|
|
# Directories #
|
|
###############################################################################
|
|
|
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
STATIC_ROOT = __get_path("PAPERLESS_STATICDIR", os.path.join(BASE_DIR, "..", "static"))
|
|
|
|
MEDIA_ROOT = __get_path("PAPERLESS_MEDIA_ROOT", os.path.join(BASE_DIR, "..", "media"))
|
|
ORIGINALS_DIR = os.path.join(MEDIA_ROOT, "documents", "originals")
|
|
ARCHIVE_DIR = os.path.join(MEDIA_ROOT, "documents", "archive")
|
|
THUMBNAIL_DIR = os.path.join(MEDIA_ROOT, "documents", "thumbnails")
|
|
|
|
DATA_DIR = __get_path("PAPERLESS_DATA_DIR", os.path.join(BASE_DIR, "..", "data"))
|
|
|
|
NLTK_DIR = os.path.join(DATA_DIR, "nltk")
|
|
|
|
TRASH_DIR = os.getenv("PAPERLESS_TRASH_DIR")
|
|
|
|
# Lock file for synchronizing changes to the MEDIA directory across multiple
|
|
# threads.
|
|
MEDIA_LOCK = os.path.join(MEDIA_ROOT, "media.lock")
|
|
INDEX_DIR = os.path.join(DATA_DIR, "index")
|
|
MODEL_FILE = os.path.join(DATA_DIR, "classification_model.pickle")
|
|
|
|
LOGGING_DIR = __get_path("PAPERLESS_LOGGING_DIR", os.path.join(DATA_DIR, "log"))
|
|
|
|
CONSUMPTION_DIR = __get_path(
|
|
"PAPERLESS_CONSUMPTION_DIR",
|
|
os.path.join(BASE_DIR, "..", "consume"),
|
|
)
|
|
|
|
# This will be created if it doesn't exist
|
|
SCRATCH_DIR = __get_path(
|
|
"PAPERLESS_SCRATCH_DIR",
|
|
os.path.join(tempfile.gettempdir(), "paperless"),
|
|
)
|
|
|
|
###############################################################################
|
|
# Application Definition #
|
|
###############################################################################
|
|
|
|
env_apps = os.getenv("PAPERLESS_APPS").split(",") if os.getenv("PAPERLESS_APPS") else []
|
|
|
|
INSTALLED_APPS = [
|
|
"whitenoise.runserver_nostatic",
|
|
"django.contrib.auth",
|
|
"django.contrib.contenttypes",
|
|
"django.contrib.sessions",
|
|
"django.contrib.messages",
|
|
"django.contrib.staticfiles",
|
|
"corsheaders",
|
|
"django_extensions",
|
|
"paperless",
|
|
"documents.apps.DocumentsConfig",
|
|
"paperless_tesseract.apps.PaperlessTesseractConfig",
|
|
"paperless_text.apps.PaperlessTextConfig",
|
|
"paperless_mail.apps.PaperlessMailConfig",
|
|
"django.contrib.admin",
|
|
"rest_framework",
|
|
"rest_framework.authtoken",
|
|
"django_filters",
|
|
"django_celery_results",
|
|
] + env_apps
|
|
|
|
if DEBUG:
|
|
INSTALLED_APPS.append("channels")
|
|
|
|
REST_FRAMEWORK = {
|
|
"DEFAULT_AUTHENTICATION_CLASSES": [
|
|
"rest_framework.authentication.BasicAuthentication",
|
|
"rest_framework.authentication.SessionAuthentication",
|
|
"rest_framework.authentication.TokenAuthentication",
|
|
],
|
|
"DEFAULT_VERSIONING_CLASS": "rest_framework.versioning.AcceptHeaderVersioning",
|
|
"DEFAULT_VERSION": "1",
|
|
# Make sure these are ordered and that the most recent version appears
|
|
# last
|
|
"ALLOWED_VERSIONS": ["1", "2"],
|
|
}
|
|
|
|
if DEBUG:
|
|
REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"].append(
|
|
"paperless.auth.AngularApiAuthenticationOverride",
|
|
)
|
|
|
|
MIDDLEWARE = [
|
|
"django.middleware.security.SecurityMiddleware",
|
|
"whitenoise.middleware.WhiteNoiseMiddleware",
|
|
"django.contrib.sessions.middleware.SessionMiddleware",
|
|
"corsheaders.middleware.CorsMiddleware",
|
|
"django.middleware.locale.LocaleMiddleware",
|
|
"django.middleware.common.CommonMiddleware",
|
|
"django.middleware.csrf.CsrfViewMiddleware",
|
|
"paperless.middleware.ApiVersionMiddleware",
|
|
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
|
"django.contrib.messages.middleware.MessageMiddleware",
|
|
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
|
]
|
|
|
|
ROOT_URLCONF = "paperless.urls"
|
|
|
|
FORCE_SCRIPT_NAME = os.getenv("PAPERLESS_FORCE_SCRIPT_NAME")
|
|
BASE_URL = (FORCE_SCRIPT_NAME or "") + "/"
|
|
LOGIN_URL = BASE_URL + "accounts/login/"
|
|
LOGOUT_REDIRECT_URL = os.getenv("PAPERLESS_LOGOUT_REDIRECT_URL")
|
|
|
|
WSGI_APPLICATION = "paperless.wsgi.application"
|
|
ASGI_APPLICATION = "paperless.asgi.application"
|
|
|
|
STATIC_URL = os.getenv("PAPERLESS_STATIC_URL", BASE_URL + "static/")
|
|
WHITENOISE_STATIC_PREFIX = "/static/"
|
|
|
|
_CELERY_REDIS_URL, _CHANNELS_REDIS_URL = _parse_redis_url(
|
|
os.getenv("PAPERLESS_REDIS", None),
|
|
)
|
|
|
|
# TODO: what is this used for?
|
|
TEMPLATES = [
|
|
{
|
|
"BACKEND": "django.template.backends.django.DjangoTemplates",
|
|
"DIRS": [],
|
|
"APP_DIRS": True,
|
|
"OPTIONS": {
|
|
"context_processors": [
|
|
"django.template.context_processors.debug",
|
|
"django.template.context_processors.request",
|
|
"django.contrib.auth.context_processors.auth",
|
|
"django.contrib.messages.context_processors.messages",
|
|
],
|
|
},
|
|
},
|
|
]
|
|
|
|
CHANNEL_LAYERS = {
|
|
"default": {
|
|
"BACKEND": "channels_redis.core.RedisChannelLayer",
|
|
"CONFIG": {
|
|
"hosts": [_CHANNELS_REDIS_URL],
|
|
"capacity": 2000, # default 100
|
|
"expiry": 15, # default 60
|
|
},
|
|
},
|
|
}
|
|
|
|
###############################################################################
|
|
# Security #
|
|
###############################################################################
|
|
|
|
AUTO_LOGIN_USERNAME = os.getenv("PAPERLESS_AUTO_LOGIN_USERNAME")
|
|
|
|
if AUTO_LOGIN_USERNAME:
|
|
_index = MIDDLEWARE.index("django.contrib.auth.middleware.AuthenticationMiddleware")
|
|
# This overrides everything the auth middleware is doing but still allows
|
|
# regular login in case the provided user does not exist.
|
|
MIDDLEWARE.insert(_index + 1, "paperless.auth.AutoLoginMiddleware")
|
|
|
|
ENABLE_HTTP_REMOTE_USER = __get_boolean("PAPERLESS_ENABLE_HTTP_REMOTE_USER")
|
|
HTTP_REMOTE_USER_HEADER_NAME = os.getenv(
|
|
"PAPERLESS_HTTP_REMOTE_USER_HEADER_NAME",
|
|
"HTTP_REMOTE_USER",
|
|
)
|
|
|
|
if ENABLE_HTTP_REMOTE_USER:
|
|
MIDDLEWARE.append("paperless.auth.HttpRemoteUserMiddleware")
|
|
AUTHENTICATION_BACKENDS = [
|
|
"django.contrib.auth.backends.RemoteUserBackend",
|
|
"django.contrib.auth.backends.ModelBackend",
|
|
]
|
|
REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"].append(
|
|
"rest_framework.authentication.RemoteUserAuthentication",
|
|
)
|
|
|
|
# X-Frame options for embedded PDF display:
|
|
if DEBUG:
|
|
X_FRAME_OPTIONS = "ANY"
|
|
else:
|
|
X_FRAME_OPTIONS = "SAMEORIGIN"
|
|
|
|
|
|
# The next 3 settings can also be set using just PAPERLESS_URL
|
|
_csrf_origins = os.getenv("PAPERLESS_CSRF_TRUSTED_ORIGINS")
|
|
if _csrf_origins:
|
|
CSRF_TRUSTED_ORIGINS = _csrf_origins.split(",")
|
|
else:
|
|
CSRF_TRUSTED_ORIGINS = []
|
|
|
|
# We allow CORS from localhost:8000
|
|
CORS_ALLOWED_ORIGINS = tuple(
|
|
os.getenv("PAPERLESS_CORS_ALLOWED_HOSTS", "http://localhost:8000").split(","),
|
|
)
|
|
|
|
if DEBUG:
|
|
# Allow access from the angular development server during debugging
|
|
CORS_ALLOWED_ORIGINS += ("http://localhost:4200",)
|
|
|
|
_allowed_hosts = os.getenv("PAPERLESS_ALLOWED_HOSTS")
|
|
if _allowed_hosts:
|
|
ALLOWED_HOSTS = _allowed_hosts.split(",")
|
|
else:
|
|
ALLOWED_HOSTS = ["*"]
|
|
|
|
_paperless_url = os.getenv("PAPERLESS_URL")
|
|
if _paperless_url:
|
|
_paperless_uri = urlparse(_paperless_url)
|
|
CSRF_TRUSTED_ORIGINS.append(_paperless_url)
|
|
CORS_ALLOWED_ORIGINS += (_paperless_url,)
|
|
if _allowed_hosts:
|
|
ALLOWED_HOSTS.append(_paperless_uri.hostname)
|
|
else:
|
|
# always allow localhost. Necessary e.g. for healthcheck in docker.
|
|
ALLOWED_HOSTS = [_paperless_uri.hostname] + ["localhost"]
|
|
|
|
# The secret key has a default that should be fine so long as you're hosting
|
|
# Paperless on a closed network. However, if you're putting this anywhere
|
|
# public, you should change the key to something unique and verbose.
|
|
SECRET_KEY = os.getenv(
|
|
"PAPERLESS_SECRET_KEY",
|
|
"e11fl1oa-*ytql8p)(06fbj4ukrlo+n7k&q5+$1md7i+mge=ee",
|
|
)
|
|
|
|
AUTH_PASSWORD_VALIDATORS = [
|
|
{
|
|
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", # noqa: E501
|
|
},
|
|
{
|
|
"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
|
|
},
|
|
{
|
|
"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
|
|
},
|
|
{
|
|
"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
|
|
},
|
|
]
|
|
|
|
# Disable Django's artificial limit on the number of form fields to submit at
|
|
# once. This is a protection against overloading the server, but since this is
|
|
# a self-hosted sort of gig, the benefits of being able to mass-delete a tonne
|
|
# of log entries outweight the benefits of such a safeguard.
|
|
|
|
DATA_UPLOAD_MAX_NUMBER_FIELDS = None
|
|
|
|
COOKIE_PREFIX = os.getenv("PAPERLESS_COOKIE_PREFIX", "")
|
|
|
|
CSRF_COOKIE_NAME = f"{COOKIE_PREFIX}csrftoken"
|
|
SESSION_COOKIE_NAME = f"{COOKIE_PREFIX}sessionid"
|
|
LANGUAGE_COOKIE_NAME = f"{COOKIE_PREFIX}django_language"
|
|
|
|
###############################################################################
|
|
# Database #
|
|
###############################################################################
|
|
|
|
DATABASES = {
|
|
"default": {
|
|
"ENGINE": "django.db.backends.sqlite3",
|
|
"NAME": os.path.join(DATA_DIR, "db.sqlite3"),
|
|
"OPTIONS": {},
|
|
},
|
|
}
|
|
|
|
if os.getenv("PAPERLESS_DBHOST"):
|
|
# Have sqlite available as a second option for management commands
|
|
# This is important when migrating to/from sqlite
|
|
DATABASES["sqlite"] = DATABASES["default"].copy()
|
|
|
|
DATABASES["default"] = {
|
|
"HOST": os.getenv("PAPERLESS_DBHOST"),
|
|
"NAME": os.getenv("PAPERLESS_DBNAME", "paperless"),
|
|
"USER": os.getenv("PAPERLESS_DBUSER", "paperless"),
|
|
"PASSWORD": os.getenv("PAPERLESS_DBPASS", "paperless"),
|
|
"OPTIONS": {},
|
|
}
|
|
if os.getenv("PAPERLESS_DBPORT"):
|
|
DATABASES["default"]["PORT"] = os.getenv("PAPERLESS_DBPORT")
|
|
|
|
# Leave room for future extensibility
|
|
if os.getenv("PAPERLESS_DBENGINE") == "mariadb":
|
|
engine = "django.db.backends.mysql"
|
|
options = {"read_default_file": "/etc/mysql/my.cnf", "charset": "utf8mb4"}
|
|
|
|
# Silence Django error on old MariaDB versions.
|
|
# VARCHAR can support > 255 in modern versions
|
|
# https://docs.djangoproject.com/en/4.1/ref/checks/#database
|
|
# https://mariadb.com/kb/en/innodb-system-variables/#innodb_large_prefix
|
|
SILENCED_SYSTEM_CHECKS = ["mysql.W003"]
|
|
|
|
else: # Default to PostgresDB
|
|
engine = "django.db.backends.postgresql_psycopg2"
|
|
options = {"sslmode": os.getenv("PAPERLESS_DBSSLMODE", "prefer")}
|
|
|
|
DATABASES["default"]["ENGINE"] = engine
|
|
DATABASES["default"]["OPTIONS"].update(options)
|
|
|
|
if os.getenv("PAPERLESS_DB_TIMEOUT") is not None:
|
|
DATABASES["default"]["OPTIONS"].update(
|
|
{"timeout": float(os.getenv("PAPERLESS_DB_TIMEOUT"))},
|
|
)
|
|
|
|
DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
|
|
|
|
###############################################################################
|
|
# Internationalization #
|
|
###############################################################################
|
|
|
|
LANGUAGE_CODE = "en-us"
|
|
|
|
LANGUAGES = [
|
|
("en-us", _("English (US)")), # needs to be first to act as fallback language
|
|
("be-by", _("Belarusian")),
|
|
("cs-cz", _("Czech")),
|
|
("da-dk", _("Danish")),
|
|
("de-de", _("German")),
|
|
("en-gb", _("English (GB)")),
|
|
("es-es", _("Spanish")),
|
|
("fr-fr", _("French")),
|
|
("it-it", _("Italian")),
|
|
("lb-lu", _("Luxembourgish")),
|
|
("nl-nl", _("Dutch")),
|
|
("pl-pl", _("Polish")),
|
|
("pt-br", _("Portuguese (Brazil)")),
|
|
("pt-pt", _("Portuguese")),
|
|
("ro-ro", _("Romanian")),
|
|
("ru-ru", _("Russian")),
|
|
("sl-si", _("Slovenian")),
|
|
("sr-cs", _("Serbian")),
|
|
("sv-se", _("Swedish")),
|
|
("tr-tr", _("Turkish")),
|
|
("zh-cn", _("Chinese Simplified")),
|
|
]
|
|
|
|
LOCALE_PATHS = [os.path.join(BASE_DIR, "locale")]
|
|
|
|
TIME_ZONE = os.getenv("PAPERLESS_TIME_ZONE", "UTC")
|
|
|
|
USE_I18N = True
|
|
|
|
USE_L10N = True
|
|
|
|
USE_TZ = True
|
|
|
|
###############################################################################
|
|
# Logging #
|
|
###############################################################################
|
|
|
|
setup_logging_queues()
|
|
|
|
os.makedirs(LOGGING_DIR, exist_ok=True)
|
|
|
|
LOGROTATE_MAX_SIZE = os.getenv("PAPERLESS_LOGROTATE_MAX_SIZE", 1024 * 1024)
|
|
LOGROTATE_MAX_BACKUPS = os.getenv("PAPERLESS_LOGROTATE_MAX_BACKUPS", 20)
|
|
|
|
LOGGING = {
|
|
"version": 1,
|
|
"disable_existing_loggers": False,
|
|
"formatters": {
|
|
"verbose": {
|
|
"format": "[{asctime}] [{levelname}] [{name}] {message}",
|
|
"style": "{",
|
|
},
|
|
"simple": {
|
|
"format": "{levelname} {message}",
|
|
"style": "{",
|
|
},
|
|
},
|
|
"handlers": {
|
|
"console": {
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"class": "logging.StreamHandler",
|
|
"formatter": "verbose",
|
|
},
|
|
"file_paperless": {
|
|
"class": "concurrent_log_handler.ConcurrentRotatingFileHandler",
|
|
"formatter": "verbose",
|
|
"filename": os.path.join(LOGGING_DIR, "paperless.log"),
|
|
"maxBytes": LOGROTATE_MAX_SIZE,
|
|
"backupCount": LOGROTATE_MAX_BACKUPS,
|
|
},
|
|
"file_mail": {
|
|
"class": "concurrent_log_handler.ConcurrentRotatingFileHandler",
|
|
"formatter": "verbose",
|
|
"filename": os.path.join(LOGGING_DIR, "mail.log"),
|
|
"maxBytes": LOGROTATE_MAX_SIZE,
|
|
"backupCount": LOGROTATE_MAX_BACKUPS,
|
|
},
|
|
},
|
|
"root": {"handlers": ["console"]},
|
|
"loggers": {
|
|
"paperless": {"handlers": ["file_paperless"], "level": "DEBUG"},
|
|
"paperless_mail": {"handlers": ["file_mail"], "level": "DEBUG"},
|
|
},
|
|
}
|
|
|
|
###############################################################################
|
|
# Task queue #
|
|
###############################################################################
|
|
|
|
TASK_WORKERS = __get_int("PAPERLESS_TASK_WORKERS", 1)
|
|
|
|
WORKER_TIMEOUT: Final[int] = __get_int("PAPERLESS_WORKER_TIMEOUT", 1800)
|
|
|
|
CELERY_BROKER_URL = _CELERY_REDIS_URL
|
|
CELERY_TIMEZONE = TIME_ZONE
|
|
|
|
CELERY_WORKER_HIJACK_ROOT_LOGGER = False
|
|
CELERY_WORKER_CONCURRENCY = TASK_WORKERS
|
|
CELERY_WORKER_MAX_TASKS_PER_CHILD = 1
|
|
CELERY_WORKER_SEND_TASK_EVENTS = True
|
|
|
|
CELERY_SEND_TASK_SENT_EVENT = True
|
|
|
|
CELERY_TASK_TRACK_STARTED = True
|
|
CELERY_TASK_TIME_LIMIT = WORKER_TIMEOUT
|
|
|
|
CELERY_RESULT_EXTENDED = True
|
|
CELERY_RESULT_BACKEND = "django-db"
|
|
CELERY_CACHE_BACKEND = "default"
|
|
|
|
CELERY_BEAT_SCHEDULE = {
|
|
# Every ten minutes
|
|
"Check all e-mail accounts": {
|
|
"task": "paperless_mail.tasks.process_mail_accounts",
|
|
"schedule": crontab(minute="*/10"),
|
|
},
|
|
# Hourly at 5 minutes past the hour
|
|
"Train the classifier": {
|
|
"task": "documents.tasks.train_classifier",
|
|
"schedule": crontab(minute="5", hour="*/1"),
|
|
},
|
|
# Daily at midnight
|
|
"Optimize the index": {
|
|
"task": "documents.tasks.index_optimize",
|
|
"schedule": crontab(minute=0, hour=0),
|
|
},
|
|
# Weekly, Sunday at 00:30
|
|
"Perform sanity check": {
|
|
"task": "documents.tasks.sanity_check",
|
|
"schedule": crontab(minute=30, hour=0, day_of_week="sun"),
|
|
},
|
|
}
|
|
CELERY_BEAT_SCHEDULE_FILENAME = os.path.join(DATA_DIR, "celerybeat-schedule.db")
|
|
|
|
# django setting.
|
|
CACHES = {
|
|
"default": {
|
|
"BACKEND": "django.core.cache.backends.redis.RedisCache",
|
|
"LOCATION": _CHANNELS_REDIS_URL,
|
|
},
|
|
}
|
|
|
|
|
|
def default_threads_per_worker(task_workers) -> int:
|
|
# always leave one core open
|
|
available_cores = max(multiprocessing.cpu_count(), 1)
|
|
try:
|
|
return max(math.floor(available_cores / task_workers), 1)
|
|
except NotImplementedError:
|
|
return 1
|
|
|
|
|
|
THREADS_PER_WORKER = os.getenv(
|
|
"PAPERLESS_THREADS_PER_WORKER",
|
|
default_threads_per_worker(TASK_WORKERS),
|
|
)
|
|
|
|
###############################################################################
|
|
# Paperless Specific Settings #
|
|
###############################################################################
|
|
|
|
CONSUMER_POLLING = int(os.getenv("PAPERLESS_CONSUMER_POLLING", 0))
|
|
|
|
CONSUMER_POLLING_DELAY = int(os.getenv("PAPERLESS_CONSUMER_POLLING_DELAY", 5))
|
|
|
|
CONSUMER_POLLING_RETRY_COUNT = int(
|
|
os.getenv("PAPERLESS_CONSUMER_POLLING_RETRY_COUNT", 5),
|
|
)
|
|
|
|
CONSUMER_INOTIFY_DELAY: Final[float] = __get_float(
|
|
"PAPERLESS_CONSUMER_INOTIFY_DELAY",
|
|
0.5,
|
|
)
|
|
|
|
CONSUMER_DELETE_DUPLICATES = __get_boolean("PAPERLESS_CONSUMER_DELETE_DUPLICATES")
|
|
|
|
CONSUMER_RECURSIVE = __get_boolean("PAPERLESS_CONSUMER_RECURSIVE")
|
|
|
|
# Ignore glob patterns, relative to PAPERLESS_CONSUMPTION_DIR
|
|
CONSUMER_IGNORE_PATTERNS = list(
|
|
json.loads(
|
|
os.getenv(
|
|
"PAPERLESS_CONSUMER_IGNORE_PATTERNS",
|
|
'[".DS_STORE/*", "._*", ".stfolder/*", ".stversions/*", ".localized/*", "desktop.ini"]', # noqa: E501
|
|
),
|
|
),
|
|
)
|
|
|
|
CONSUMER_SUBDIRS_AS_TAGS = __get_boolean("PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS")
|
|
|
|
CONSUMER_ENABLE_BARCODES: Final[bool] = __get_boolean(
|
|
"PAPERLESS_CONSUMER_ENABLE_BARCODES",
|
|
)
|
|
|
|
CONSUMER_BARCODE_TIFF_SUPPORT: Final[bool] = __get_boolean(
|
|
"PAPERLESS_CONSUMER_BARCODE_TIFF_SUPPORT",
|
|
)
|
|
|
|
CONSUMER_BARCODE_STRING: Final[str] = os.getenv(
|
|
"PAPERLESS_CONSUMER_BARCODE_STRING",
|
|
"PATCHT",
|
|
)
|
|
|
|
OCR_PAGES = int(os.getenv("PAPERLESS_OCR_PAGES", 0))
|
|
|
|
# The default language that tesseract will attempt to use when parsing
|
|
# documents. It should be a 3-letter language code consistent with ISO 639.
|
|
OCR_LANGUAGE = os.getenv("PAPERLESS_OCR_LANGUAGE", "eng")
|
|
|
|
# OCRmyPDF --output-type options are available.
|
|
OCR_OUTPUT_TYPE = os.getenv("PAPERLESS_OCR_OUTPUT_TYPE", "pdfa")
|
|
|
|
# skip. redo, force
|
|
OCR_MODE = os.getenv("PAPERLESS_OCR_MODE", "skip")
|
|
|
|
OCR_IMAGE_DPI = os.getenv("PAPERLESS_OCR_IMAGE_DPI")
|
|
|
|
OCR_CLEAN = os.getenv("PAPERLESS_OCR_CLEAN", "clean")
|
|
|
|
OCR_DESKEW = __get_boolean("PAPERLESS_OCR_DESKEW", "true")
|
|
|
|
OCR_ROTATE_PAGES = __get_boolean("PAPERLESS_OCR_ROTATE_PAGES", "true")
|
|
|
|
OCR_ROTATE_PAGES_THRESHOLD = float(
|
|
os.getenv("PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD", 12.0),
|
|
)
|
|
|
|
OCR_MAX_IMAGE_PIXELS: Optional[int] = None
|
|
if os.environ.get("PAPERLESS_OCR_MAX_IMAGE_PIXELS") is not None:
|
|
OCR_MAX_IMAGE_PIXELS: int = int(os.environ.get("PAPERLESS_OCR_MAX_IMAGE_PIXELS"))
|
|
|
|
OCR_USER_ARGS = os.getenv("PAPERLESS_OCR_USER_ARGS", "{}")
|
|
|
|
# GNUPG needs a home directory for some reason
|
|
GNUPG_HOME = os.getenv("HOME", "/tmp")
|
|
|
|
# Convert is part of the ImageMagick package
|
|
CONVERT_BINARY = os.getenv("PAPERLESS_CONVERT_BINARY", "convert")
|
|
CONVERT_TMPDIR = os.getenv("PAPERLESS_CONVERT_TMPDIR")
|
|
CONVERT_MEMORY_LIMIT = os.getenv("PAPERLESS_CONVERT_MEMORY_LIMIT")
|
|
|
|
GS_BINARY = os.getenv("PAPERLESS_GS_BINARY", "gs")
|
|
|
|
|
|
# Pre-2.x versions of Paperless stored your documents locally with GPG
|
|
# encryption, but that is no longer the default. This behaviour is still
|
|
# available, but it must be explicitly enabled by setting
|
|
# `PAPERLESS_PASSPHRASE` in your environment or config file. The default is to
|
|
# store these files unencrypted.
|
|
#
|
|
# Translation:
|
|
# * If you're a new user, you can safely ignore this setting.
|
|
# * If you're upgrading from 1.x, this must be set, OR you can run
|
|
# `./manage.py change_storage_type gpg unencrypted` to decrypt your files,
|
|
# after which you can unset this value.
|
|
PASSPHRASE = os.getenv("PAPERLESS_PASSPHRASE")
|
|
|
|
# Trigger a script after every successful document consumption?
|
|
PRE_CONSUME_SCRIPT = os.getenv("PAPERLESS_PRE_CONSUME_SCRIPT")
|
|
POST_CONSUME_SCRIPT = os.getenv("PAPERLESS_POST_CONSUME_SCRIPT")
|
|
|
|
# Specify the default date order (for autodetected dates)
|
|
DATE_ORDER = os.getenv("PAPERLESS_DATE_ORDER", "DMY")
|
|
FILENAME_DATE_ORDER = os.getenv("PAPERLESS_FILENAME_DATE_ORDER")
|
|
|
|
# Maximum number of dates taken from document start to end to show as suggestions for
|
|
# `created` date in the frontend. Duplicates are removed, which can result in
|
|
# fewer dates shown.
|
|
NUMBER_OF_SUGGESTED_DATES = __get_int("PAPERLESS_NUMBER_OF_SUGGESTED_DATES", 3)
|
|
|
|
# Transformations applied before filename parsing
|
|
FILENAME_PARSE_TRANSFORMS = []
|
|
for t in json.loads(os.getenv("PAPERLESS_FILENAME_PARSE_TRANSFORMS", "[]")):
|
|
FILENAME_PARSE_TRANSFORMS.append((re.compile(t["pattern"]), t["repl"]))
|
|
|
|
# Specify the filename format for out files
|
|
FILENAME_FORMAT = os.getenv("PAPERLESS_FILENAME_FORMAT")
|
|
|
|
# If this is enabled, variables in filename format will resolve to
|
|
# empty-string instead of 'none'.
|
|
# Directories with 'empty names' are omitted, too.
|
|
FILENAME_FORMAT_REMOVE_NONE = __get_boolean(
|
|
"PAPERLESS_FILENAME_FORMAT_REMOVE_NONE",
|
|
"NO",
|
|
)
|
|
|
|
THUMBNAIL_FONT_NAME = os.getenv(
|
|
"PAPERLESS_THUMBNAIL_FONT_NAME",
|
|
"/usr/share/fonts/liberation/LiberationSerif-Regular.ttf",
|
|
)
|
|
|
|
# Tika settings
|
|
TIKA_ENABLED = __get_boolean("PAPERLESS_TIKA_ENABLED", "NO")
|
|
TIKA_ENDPOINT = os.getenv("PAPERLESS_TIKA_ENDPOINT", "http://localhost:9998")
|
|
TIKA_GOTENBERG_ENDPOINT = os.getenv(
|
|
"PAPERLESS_TIKA_GOTENBERG_ENDPOINT",
|
|
"http://localhost:3000",
|
|
)
|
|
|
|
if TIKA_ENABLED:
|
|
INSTALLED_APPS.append("paperless_tika.apps.PaperlessTikaConfig")
|
|
|
|
|
|
def _parse_ignore_dates(
|
|
env_ignore: str,
|
|
date_order: str = DATE_ORDER,
|
|
) -> Set[datetime.datetime]:
|
|
"""
|
|
If the PAPERLESS_IGNORE_DATES environment variable is set, parse the
|
|
user provided string(s) into dates
|
|
|
|
Args:
|
|
env_ignore (str): The value of the environment variable, comma separated dates
|
|
date_order (str, optional): The format of the date strings.
|
|
Defaults to DATE_ORDER.
|
|
|
|
Returns:
|
|
Set[datetime.datetime]: The set of parsed date objects
|
|
"""
|
|
import dateparser
|
|
|
|
ignored_dates = set()
|
|
for s in env_ignore.split(","):
|
|
d = dateparser.parse(
|
|
s,
|
|
settings={
|
|
"DATE_ORDER": date_order,
|
|
},
|
|
)
|
|
if d:
|
|
ignored_dates.add(d.date())
|
|
return ignored_dates
|
|
|
|
|
|
# List dates that should be ignored when trying to parse date from document text
|
|
IGNORE_DATES: Set[datetime.date] = set()
|
|
|
|
if os.getenv("PAPERLESS_IGNORE_DATES") is not None:
|
|
IGNORE_DATES = _parse_ignore_dates(os.getenv("PAPERLESS_IGNORE_DATES"))
|
|
|
|
ENABLE_UPDATE_CHECK = os.getenv("PAPERLESS_ENABLE_UPDATE_CHECK", "default")
|
|
if ENABLE_UPDATE_CHECK != "default":
|
|
ENABLE_UPDATE_CHECK = __get_boolean("PAPERLESS_ENABLE_UPDATE_CHECK")
|
|
|
|
###############################################################################
|
|
# Machine Learning #
|
|
###############################################################################
|
|
|
|
|
|
def _get_nltk_language_setting(ocr_lang: str) -> Optional[str]:
|
|
"""
|
|
Maps an ISO-639-1 language code supported by Tesseract into
|
|
an optional NLTK language name. This is the set of common supported
|
|
languages for all the NLTK data used.
|
|
|
|
Assumption: The primary language is first
|
|
"""
|
|
ocr_lang = ocr_lang.split("+")[0]
|
|
iso_code_to_nltk = {
|
|
"dan": "danish",
|
|
"nld": "dutch",
|
|
"eng": "english",
|
|
"fin": "finnish",
|
|
"fra": "french",
|
|
"deu": "german",
|
|
"ita": "italian",
|
|
"nor": "norwegian",
|
|
"por": "portuguese",
|
|
"rus": "russian",
|
|
"spa": "spanish",
|
|
"swe": "swedish",
|
|
"tur": "turkish",
|
|
}
|
|
|
|
return iso_code_to_nltk.get(ocr_lang, None)
|
|
|
|
|
|
NLTK_ENABLED: Final[bool] = __get_boolean("PAPERLESS_ENABLE_NLTK", "yes")
|
|
|
|
NLTK_LANGUAGE: Optional[str] = _get_nltk_language_setting(OCR_LANGUAGE)
|