stumpylog
41524a6230
Mark empty-pks early-return in set_permissions_for_objects as no-cover
...
Defensive guard for an edge case (all requested pks already gone/invalid)
rather than a path normal usage exercises; matches the existing
pragma: no cover convention elsewhere in this file.
2026-09-09 11:11:23 -07:00
stumpylog
e5c9b8facb
Fix: use .distinct() for existing-grant lookup, drop flaky query-count invariant tests
...
.distinct() lets the database dedupe identity ids server-side instead of
transferring one row per (object, grantee) match and deduping in Python --
was the dominant cost on a large selection with existing grants.
Also replaced the two query-count-equality tests (bulk_edit and the
bulk_edit_objects API path) with plain functional-correctness checks at
both batch sizes. Hopefully stops that flake.
2026-09-09 11:11:23 -07:00
stumpylog
cf3a080694
Perf: avoid unnecessary full-row fetches in batch permission assignment
...
set_permissions_for_objects now takes a model + pks instead of instances,
and identity filtering resolves straight to ids, so bulk-editing
permissions no longer materializes full Document/User/Group rows just to
read their pk/id. Row construction for bulk_create is also chunked to
bound peak memory for very large "apply to all" operations.
2026-09-09 11:11:23 -07:00
stumpylog
018de125ff
Perf: batch guardian permission assignment in bulk-edit
...
bulk_edit.set_permissions and BulkEditObjectPermissionsView both
looped documents/objects and called set_permissions_for_object per
object, which itself calls guardian's assign_perm/remove_perm once
per (object, user) pair -- ~10-20+ queries per object, scaling with
selection size.
Added set_permissions_for_objects, a bulk equivalent that resolves
existing permission holders once across the whole batch (not once per
object) and applies changes with a small, batch-size-independent
number of queries per action instead of one per (object, user) pair.
2026-09-09 11:11:22 -07:00
Trenton H
310628699d
Fix: If a file remains stable but has zero size after the stability window has passed, drop it from tracking ( #14047 )
...
A slow writer might create a zero byte file, then take longer than the window to
finish the write. We would then queue a zero byte file for consumption and race the writer
to most likely fail due to still being empty. Instead, drop zero size files at yeild time.
The slow writer may or may not finish, but if it does, there will be a Change.modified
event fired again
2026-09-09 16:24:17 +00:00
GitHub Actions
aff0f9cf41
Auto translate strings
2026-09-09 16:04:18 +00:00
shamoon
bf716ebfd1
Fixhancement: better LLM errors ( #14031 )
2026-09-09 16:02:43 +00:00
GitHub Actions
7d67a10a35
Auto translate strings
2026-09-09 15:50:33 +00:00
shamoon
8d1bc5dd24
Fix: prevent orphaned versions from bulk delete ( #14030 )
2026-09-09 08:48:59 -07:00
Trenton H
43a8d7d412
Enhancement: add Tantivy full-text fallback adapter for taxonomy candidates ( #13820 )
...
This brings users without an embedding backend configured to closer
parity with those who do. Reuse the search backend to locate similar
documents and use them to provide the LLM with the better suggestion pool
to draw from
2026-09-09 15:15:15 +00:00
Trenton H
c40922440b
Fix: prevent overlapping mail-account processing runs ( #14046 )
...
process_mail_accounts had no guard against a scheduled run still being
in progress when the next one fires. Skip a run outright
if another MAIL_FETCH task is already PENDING/STARTED.
2026-09-09 07:49:49 -07:00
GitHub Actions
b989b74140
Auto translate strings
2026-09-08 15:57:05 +00:00
shamoon
5194f47291
Performance: ensure version-aware content filters on querysets ( #13792 )
2026-09-08 15:55:45 +00:00
GitHub Actions
714885d7a5
Auto translate strings
2026-09-08 15:32:41 +00:00
Trenton H
73e777a48c
Fix: skip nested TagSerializer construction when a tag has no children ( #14039 )
...
TagSerializer.get_children() built a full nested TagSerializer(many=True)
for every tag, even when it had zero children, likely the common case for
most tags and maybe even most installs. Constructing a DRF ModelSerializer isn't
free (field introspection, deepcopy of declared fields, i18n lookups
all re-run per instantiation), so this scaled GET /api/tags/ linearly
with tag count in pure Python overhead, unrelated to SQL query count.
2026-09-08 15:30:58 +00:00
GitHub Actions
e9141366bb
Auto translate strings
2026-09-08 14:40:59 +00:00
shamoon
7813375123
Enhancement (QoL): surface externally-set options in Config UI ( #13989 )
2026-09-08 14:39:22 +00:00
shamoon
0132c7bd6e
Fix pr-bot timing
2026-09-07 22:59:41 -07:00
GitHub Actions
4d5897ec80
Auto translate strings
2026-09-07 22:05:44 +00:00
shamoon
f197d09b3e
Enhancement: allow disabling auto-suggestions for inbox documents ( #13946 )
2026-09-07 22:04:13 +00:00
shamoon
937feb1bef
Change: skip documents with empty content in apply AI suggestions WF ( #13985 )
2026-09-07 21:56:37 +00:00
Trenton H
f5ff18326d
Performance: resolve index-write permissions and effective content in bulk ( #13869 )
...
* fix(search): resolve index-write permissions and effective content in bulk
Add WriteBatch.add_or_update_ids() and use it in bulk_update_documents
and trash restore, cutting index writes from ~8 queries per document
to a constant handful per batch
* Always these new ones with xdist, try a better condition
2026-09-07 14:43:13 -07:00
Berk D. Demir
d52cc1b609
Fix: Use PAPERLESS_REDIS_PREFIX for Celery result backend keys ( #14015 )
...
PR #12741 sets the result backend for Celery to Redis, but forget to carryover
transport option `global_keyprefix`. This resulted keys with prefix
`celery-task-meta-` prefix to be created.
This fix unbreaks strict Redis ACLs that allow a single prefix.
2026-09-07 21:08:34 +00:00
GitHub Actions
3f5f4f3ed4
Auto translate strings
2026-09-07 20:48:12 +00:00
shamoon
9a47b20d2a
Enhancement: duplicates filter ( #13994 )
2026-09-07 20:46:49 +00:00
GitHub Actions
05905287b3
Auto translate strings
2026-09-07 20:29:01 +00:00
shamoon
d65de00ca1
Fix: correct setting ai_enabled to false via UI ( #13987 )
2026-09-07 20:27:33 +00:00
dependabot[bot] and Trenton Holmes
f287a4cb8c
Chore(deps): Bump the utilities-minor group across 1 directory with 11 updates ( #13988 )
...
* Chore(deps): Bump the utilities-minor group across 1 directory with 11 updates
Bumps the utilities-minor group with 11 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [django-guardian](https://github.com/django-guardian/django-guardian ) | `3.3.3` | `3.4.0` |
| [django-treenode](https://github.com/fabiocaccamo/django-treenode ) | `0.24.0` | `0.25.0` |
| [drf-spectacular-sidecar](https://github.com/tfranzel/drf-spectacular-sidecar ) | `2026.7.1` | `2026.8.1` |
| [imap-tools](https://github.com/ikvk/imap_tools ) | `1.14.0` | `1.15.0` |
| [ocrmypdf](https://github.com/ocrmypdf/OCRmyPDF ) | `17.10.0` | `17.11.0` |
| [prek](https://github.com/j178/prek ) | `0.4.11` | `0.5.0` |
| [faker](https://github.com/joke2k/faker ) | `40.36.0` | `40.37.0` |
| [pytest-django](https://github.com/pytest-dev/pytest-django ) | `4.12.0` | `4.14.0` |
| [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures ) | `16.4` | `16.6` |
| [time-machine](https://github.com/adamchainz/time-machine ) | `3.2.0` | `3.5.0` |
| [types-pygments](https://github.com/python/typeshed ) | `2.20.0.20260408` | `2.21.0.20260819` |
Updates `django-guardian` from 3.3.3 to 3.4.0
- [Release notes](https://github.com/django-guardian/django-guardian/releases )
- [Commits](https://github.com/django-guardian/django-guardian/compare/3.3.3...3.4.0 )
Updates `django-treenode` from 0.24.0 to 0.25.0
- [Release notes](https://github.com/fabiocaccamo/django-treenode/releases )
- [Changelog](https://github.com/fabiocaccamo/django-treenode/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fabiocaccamo/django-treenode/compare/0.24.0...0.25.0 )
Updates `drf-spectacular-sidecar` from 2026.7.1 to 2026.8.1
- [Commits](https://github.com/tfranzel/drf-spectacular-sidecar/compare/2026.7.1...2026.8.1 )
Updates `imap-tools` from 1.14.0 to 1.15.0
- [Release notes](https://github.com/ikvk/imap_tools/releases )
- [Changelog](https://github.com/ikvk/imap_tools/blob/master/docs/release_notes.rst )
- [Commits](https://github.com/ikvk/imap_tools/compare/v1.14.0...v1.15.0 )
Updates `ocrmypdf` from 17.10.0 to 17.11.0
- [Release notes](https://github.com/ocrmypdf/OCRmyPDF/releases )
- [Commits](https://github.com/ocrmypdf/OCRmyPDF/compare/v17.10.0...v17.11.0 )
Updates `prek` from 0.4.11 to 0.5.0
- [Release notes](https://github.com/j178/prek/releases )
- [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md )
- [Commits](https://github.com/j178/prek/compare/v0.4.11...v0.5.0 )
Updates `faker` from 40.36.0 to 40.37.0
- [Release notes](https://github.com/joke2k/faker/releases )
- [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md )
- [Commits](https://github.com/joke2k/faker/compare/v40.36.0...v40.37.0 )
Updates `pytest-django` from 4.12.0 to 4.14.0
- [Release notes](https://github.com/pytest-dev/pytest-django/releases )
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst )
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.12.0...v4.14.0 )
Updates `pytest-rerunfailures` from 16.4 to 16.6
- [Changelog](https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-rerunfailures/compare/16.4...16.6 )
Updates `time-machine` from 3.2.0 to 3.5.0
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/docs/changelog.rst )
- [Commits](https://github.com/adamchainz/time-machine/compare/3.2.0...3.5.0 )
Updates `types-pygments` from 2.20.0.20260408 to 2.21.0.20260819
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: django-guardian
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: utilities-minor
- dependency-name: django-treenode
dependency-version: 0.25.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: utilities-minor
- dependency-name: drf-spectacular-sidecar
dependency-version: 2026.8.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: utilities-minor
- dependency-name: faker
dependency-version: 40.37.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: utilities-minor
- dependency-name: imap-tools
dependency-version: 1.15.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: utilities-minor
- dependency-name: ocrmypdf
dependency-version: 17.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: utilities-minor
- dependency-name: prek
dependency-version: 0.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: utilities-minor
- dependency-name: pytest-django
dependency-version: 4.14.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: utilities-minor
- dependency-name: pytest-rerunfailures
dependency-version: '16.6'
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: utilities-minor
- dependency-name: time-machine
dependency-version: 3.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: utilities-minor
- dependency-name: types-pygments
dependency-version: 2.21.0.20260819
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: utilities-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Handles pytest-django
* Formatting
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Trenton Holmes <797416+stumpylog@users.noreply.github.com >
2026-09-07 20:13:15 +00:00
GitHub Actions
a415d1bf74
Auto translate strings
2026-09-07 15:50:11 +00:00
shamoon
4b1434f876
Fix: catch some frontend failed object retrievals ( #14023 )
2026-09-07 08:48:34 -07:00
shamoon
43fd109bc6
Refactor issue comment for clarity and conciseness
2026-09-07 01:27:44 -07:00
shamoon
ec70e4f423
Fix: more v3 icons cleanup ( #14017 )
2026-09-06 16:12:45 -07:00
GitHub Actions
340118ad51
Auto translate strings
2026-09-06 22:53:12 +00:00
shamoon
3899e0f0d6
Fix: correct add version actor parity ( #14016 )
2026-09-06 15:51:53 -07:00
shamoon
d648526858
Fix: fix v3 favicon file ( #14014 )
2026-09-06 15:43:37 -07:00
GitHub Actions
154a1932d8
Auto translate strings
2026-09-06 00:01:12 +00:00
shamoon
4d9e64031c
Tweak: note that apply AI suggestions runs async in WF editor ( #14004 )
2026-09-05 16:59:09 -07:00
GitHub Actions
7c24f4b34f
Auto translate strings
2026-09-05 23:54:37 +00:00
shamoon
be45149677
Fix: change share link bundle dialog button to close after create, don't toast on copied ( #14002 )
2026-09-05 16:53:12 -07:00
GitHub Actions
5b71fa825a
Auto translate strings
2026-09-05 23:19:46 +00:00
shamoon
c37e9ea187
Chore: resolve Angular NG01354 warnings ( #14000 )
2026-09-05 16:18:13 -07:00
GitHub Actions
90f6db8328
Auto translate strings
2026-09-05 23:06:07 +00:00
shamoon
4dcdc4bd68
Enhancement (QoL): attempt to localize firstDayOfWeek for date picker ( #13999 )
2026-09-05 16:04:44 -07:00
shamoon
6ed753cf59
Update issue-bot.yml
2026-09-05 14:33:20 -07:00
shamoon
835c4e51d0
Repo updates
2026-09-05 02:09:31 -07:00
shamoon
f1679a2ee3
Fix: truncate mail subjects to field max length ( #13991 )
2026-09-05 01:52:18 -07:00
dependabot[bot]
06234f4f64
Chore(deps): Bump sentence-transformers from 5.6.1 to 6.0.0 ( #13983 )
...
Bumps [sentence-transformers](https://github.com/huggingface/sentence-transformers ) from 5.6.1 to 6.0.0.
- [Release notes](https://github.com/huggingface/sentence-transformers/releases )
- [Commits](https://github.com/huggingface/sentence-transformers/compare/v5.6.1...v6.0.0 )
---
updated-dependencies:
- dependency-name: sentence-transformers
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-04 18:32:04 -07:00
dependabot[bot]
8e31d8f4d6
Chore(deps-dev): Bump types-markdown ( #13982 )
...
Bumps [types-markdown](https://github.com/python/typeshed ) from 3.10.2.20260518 to 3.10.2.20260712.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-markdown
dependency-version: 3.10.2.20260712
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-04 16:00:04 -07:00
dependabot[bot]
97c59df620
Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates ( #13980 )
...
Bumps the utilities-patch group with 6 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [dateparser](https://github.com/scrapinghub/dateparser ) | `1.4.1` | `1.4.2` |
| [django-cachalot](https://github.com/noripyt/django-cachalot ) | `2.9.0` | `2.9.1` |
| [filelock](https://github.com/tox-dev/py-filelock ) | `3.32.0` | `3.32.4` |
| [llama-index-core](https://github.com/run-llama/llama_index ) | `0.14.23` | `0.14.24` |
| [python-dotenv](https://github.com/theskumar/python-dotenv ) | `1.2.2` | `1.2.3` |
| [types-dateparser](https://github.com/python/typeshed ) | `1.4.1.20260617` | `1.4.2.20260813` |
Updates `dateparser` from 1.4.1 to 1.4.2
- [Release notes](https://github.com/scrapinghub/dateparser/releases )
- [Changelog](https://github.com/scrapinghub/dateparser/blob/master/HISTORY.rst )
- [Commits](https://github.com/scrapinghub/dateparser/compare/v1.4.1...v1.4.2 )
Updates `django-cachalot` from 2.9.0 to 2.9.1
- [Release notes](https://github.com/noripyt/django-cachalot/releases )
- [Changelog](https://github.com/noripyt/django-cachalot/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/noripyt/django-cachalot/compare/v2.9.0...v2.9.1 )
Updates `filelock` from 3.32.0 to 3.32.4
- [Release notes](https://github.com/tox-dev/py-filelock/releases )
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst )
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.32.0...3.32.4 )
Updates `llama-index-core` from 0.14.23 to 0.14.24
- [Release notes](https://github.com/run-llama/llama_index/releases )
- [Changelog](https://github.com/run-llama/llama_index/blob/main/CHANGELOG.md )
- [Commits](https://github.com/run-llama/llama_index/compare/v0.14.23...v0.14.24 )
Updates `python-dotenv` from 1.2.2 to 1.2.3
- [Release notes](https://github.com/theskumar/python-dotenv/releases )
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md )
- [Commits](https://github.com/theskumar/python-dotenv/compare/v1.2.2...v1.2.3 )
Updates `types-dateparser` from 1.4.1.20260617 to 1.4.2.20260813
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: dateparser
dependency-version: 1.4.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: utilities-patch
- dependency-name: django-cachalot
dependency-version: 2.9.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: utilities-patch
- dependency-name: filelock
dependency-version: 3.32.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: utilities-patch
- dependency-name: llama-index-core
dependency-version: 0.14.24
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: utilities-patch
- dependency-name: python-dotenv
dependency-version: 1.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: utilities-patch
- dependency-name: types-dateparser
dependency-version: 1.4.2.20260813
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: utilities-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-04 22:24:58 +00:00
dependabot[bot]
e76ba49d86
Chore(deps): Update granian[uvloop] requirement ( #13984 )
...
Updates the requirements on [granian[uvloop]](https://github.com/emmett-framework/granian ) to permit the latest version.
- [Release notes](https://github.com/emmett-framework/granian/releases )
- [Commits](https://github.com/emmett-framework/granian/compare/v2.7.0...v2.8.2 )
---
updated-dependencies:
- dependency-name: granian[uvloop]
dependency-version: 2.8.2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-04 21:57:01 +00:00