stumpylog
d5db659281
Fix: cache document/field on updated CustomFieldInstance rows, not just created ones
...
update_or_create() fetches an existing row via plain .get() before saving
it, so passing already-resolved document/field objects as lookup kwargs
never actually cached them on that row. Replaced with an explicit
get-or-build + assign + save so both paths get the cache.
Also: only build docs_by_id when there's something to add (a remove-only
call has no use for it), and resolve the removal pass's source documents
via select_related instead, so it doesn't force-load irrelevant documents.
Added tests for the update-path caching and the removal-path batching.
2026-08-26 15:01:28 -07:00
stumpylog
1910c3b542
Perf: batch CustomField/Document lookups in modify_custom_fields
...
modify_custom_fields looped documents x fields, re-.get()-ing the
CustomField queryset per iteration and Document.objects.get() per doc
for DOCUMENTLINK fields -- same shape as the earlier custom_fields
serializer N+1 (#13779 ), just nested one level deeper. Resolve both
into dicts once up front instead. Also pass the resolved objects
(not bare ids) to update_or_create so newly-created CustomFieldInstance
rows cache their field/document FK, avoiding a re-fetch when auditlog's
post_save receiver calls str(instance) (which touches .field.name).
docs_by_id defers `content` (the one field guaranteed both large and
unused by this function or its receivers) rather than using .only(),
since .only() would just turn the filename-generation signal's other
field access into a deferred-reload N+1.
2026-08-26 15:01:07 -07:00
shamoon and GitHub
6f8e39c2e0
Fix: avoid unnecessary creating new PDF with pw removal workflow ( #12948 )
2026-06-07 20:30:08 +00:00
shamoon and GitHub
0a6e0db186
Fix: use chord.on_error before apply_async ( #12842 )
2026-05-24 14:42:11 -07:00
bd86dca57e
Fix: Password removal source file location ( #12830 )
...
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com >
2026-05-19 13:52:04 -07:00
Trenton H and GitHub
14fe520319
Chore: Update typing and baselines again ( #12641 )
...
a
2026-04-28 09:28:05 -07:00
Trenton H and GitHub
fbf4e32646
Chore: Converts all call sites and test asserts to use apply_async and headers ( #12591 )
2026-04-20 11:40:04 -07:00
shamoon and GitHub
731448a8f9
Fixhancement: support version-specific edits ( #12233 )
2026-03-06 11:59:26 -08:00
shamoon and GitHub
ceee769e26
Feature: document file versions ( #12061 )
2026-02-26 16:46:54 +00:00
shamoon and GitHub
6192915be7
Fixhancement: improve ASN handling with PDF operations ( #11689 )
2026-02-06 21:14:02 +00:00
Sebastian Steinbeißer and GitHub
3b5ffbf9fa
Chore(mypy): Annotate None returns for typing improvements ( #11213 )
2026-02-02 08:44:12 -08:00
shamoon and GitHub
5b1e66be91
Feature: password removal action ( #11656 )
2026-01-08 21:36:11 +00:00
shamoon and GitHub
504c824cfe
Fix: propagate metadata override created value ( #11659 )
2025-12-27 19:42:45 -08:00
shamoon and GitHub
7604a0b583
Fix: prevent ASN collisions for merge operations ( #11634 )
2025-12-19 20:05:34 -08:00
4ddac79f0f
Chore(deps): Bump the small-changes group across 1 directory with 3 updates ( #10880 )
...
* Chore(deps): Bump the small-changes group across 1 directory with 3 updates
Bumps the small-changes group with 3 updates in the / directory: [ocrmypdf](https://github.com/ocrmypdf/OCRmyPDF ), [mkdocs-material](https://github.com/squidfunk/mkdocs-material ) and [ruff](https://github.com/astral-sh/ruff ).
Updates `ocrmypdf` from 16.10.4 to 16.11.0
- [Release notes](https://github.com/ocrmypdf/OCRmyPDF/releases )
- [Changelog](https://github.com/ocrmypdf/OCRmyPDF/blob/main/docs/release_notes.md )
- [Commits](https://github.com/ocrmypdf/OCRmyPDF/compare/v16.10.4...v16.11.0 )
Updates `mkdocs-material` from 9.6.19 to 9.6.20
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases )
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG )
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.19...9.6.20 )
Updates `ruff` from 0.12.12 to 0.13.0
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.12.12...0.13.0 )
---
updated-dependencies:
- dependency-name: ocrmypdf
dependency-version: 16.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: small-changes
- dependency-name: mkdocs-material
dependency-version: 9.6.20
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: small-changes
- dependency-name: ruff
dependency-version: 0.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: small-changes
...
Signed-off-by: dependabot[bot] <support@github.com >
* Applies the new Ruff rule for unpacking
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Trenton H <797416+stumpylog@users.noreply.github.com >
2025-09-17 13:16:34 -07:00
shamoon and GitHub
6d72ee795f
Feature: PDF editor ( #10318 )
2025-08-11 17:29:48 +00:00
shamoon and GitHub
1a6f32534c
Change: treat created as date not datetime ( #9793 )
2025-05-16 14:23:04 +00:00
shamoon and GitHub
6dea158de9
Fix: prevent self-linking when bulk edit doc link ( #9629 )
2025-04-14 07:12:50 -07:00
shamoon and GitHub
1e489a0666
Enhancement: add switch to allow merging non-PDFs with archive version ( #9305 )
2025-03-05 20:46:51 +00:00
Sebastian Steinbeißer and GitHub
e560fa3be0
Chore: Enable ruff FBT ( #8645 )
2025-02-07 09:12:03 -08:00
shamoon and GitHub
54e72d5b60
Fix: also ensure symmetric doc link removal on bulk edit ( #8963 )
2025-01-31 07:39:22 -08:00
shamoon and GitHub
5b8c9ef5fc
Fix: reflect doc links in bulk modify custom fields ( #8962 )
2025-01-30 10:55:05 -08:00
shamoon and GitHub
e4f69dc945
Feature: bulk edit custom field values ( #8428 )
2024-12-09 17:35:49 +00:00
shamoon and GitHub
9c1561adfb
Change: change update content to handle archive disabled ( #8315 )
2024-11-20 20:01:13 +00:00
shamoon and GitHub
28fdb170bf
Fix: handle uuid fields created under mariadb and Django 4 ( #8034 )
2024-10-28 13:54:16 +00:00
c92c3e224a
Feature: page count ( #7750 )
...
---------
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com >
2024-09-25 08:22:12 -07:00
shamoon and GitHub
a64d457c30
Enhancement: use request user as owner of split / merge docs ( #7112 )
2024-06-27 13:46:49 -07:00
Dominik Bruhn and shamoon
d1ac15baa9
Enhancement: support delete originals after split / merge ( #6935 )
...
---------
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com >
2024-06-08 11:29:03 -07:00
shamoon and GitHub
3e62f13f96
Enhancement: delete pages PDF action ( #6772 )
2024-05-22 23:01:15 +00:00
shamoon and GitHub
63e1f9f5d3
Feature: custom fields filtering & bulk editing ( #6484 )
2024-04-26 15:10:03 -07:00
Trenton H and GitHub
ae2b302962
Fix: Rotation fails due to celery chord ( #6306 )
...
Use Celery immutable signature so it does not take the result of the header task
2024-04-06 23:26:48 +00:00
shamoon and GitHub
4af8070450
Feature: PDF actions - merge, split & rotate ( #6094 )
2024-03-25 18:41:24 -07:00
shamoon and GitHub
ef4f589094
Change: dont require empty bulk edit parameters ( #6059 )
2024-03-09 07:39:35 -08:00
shamoon
625780899d
Fix location of bulk edit tests
2024-02-04 12:39:26 -08:00