stumpylog
5caa3327fd
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-08-27 09:42:21 -07:00
stumpylog
c72c8d1574
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-08-27 09:42:21 -07:00
stumpylog
b1f5445689
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-08-27 09:42:21 -07:00
shamoon and GitHub
c93c996edf
Remote ocr reprocess ( #13636 )
...
* Backend stuff for remote ocr reprocess, add to bulk edit pass in from ui settings
* Ok, frontend reprocess remote option
* Docs
2026-08-24 14:43:05 -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