Commit Graph
3113 Commits
Author SHA1 Message Date
aiongg f2c133b987 Merge PR #4258: M7: a batch of content edits refreshes the added content and page marks 2026-10-24 06:22:48 +00:00
aiongg 1b404e6956 Merge PR #4095: Comments: the composer hides while its comment is scrolled away (#4021)
Conflicts:
- crates/ui-egui/tests/it/comments.rs: kept both PRs' new tests (adjacent additions).
2026-10-24 06:22:46 +00:00
aiongg 5cb74eeb69 Merge PR #4217: M7: edited text keeps every space typed (#4199, #3797)
crates/edit/src/tests.rs: both sides appended tests at the end; kept both.
Cargo.lock: unchanged from base (the PR's ctutils bump did not apply).
2026-10-24 06:22:45 +00:00
aiongg 481b91f112 Merge PR #4323: test(ui): recovery idle tests make folders that never share a name 2026-10-24 06:22:37 +00:00
aiongg 5ee65440c0 Merge PR #4242: Tests: UI tests wait for background work by time, not frame count (#4186) 2026-10-24 06:22:36 +00:00
aiongg 6ed0082a3e Merge PR #4211: feat(ui): add 'Split document...' to page thumbnail context menus 2026-10-24 06:22:35 +00:00
aiongg 2d8e21e08e Merge PR #3750: feat(organize): Extract pages takes typed page ranges (#3593) 2026-10-24 06:22:35 +00:00
aiongg 8ff6c8af31 Merge PR #2748: M10: a booklet decides two-sided itself, as Acrobat does (#2707)
Conflicts: crates/automation/src/printing.rs: kept job_duplex (#2748) next to bad; #4161's paper_named/spool_job unchanged.
2026-10-24 06:22:34 +00:00
aiongg ad54ef3a5f Merge PR #3970: M3: resize and move the window again right after a resize or move (Wayland) 2026-10-24 06:22:33 +00:00
aiongg 8a0319a24f Merge PR #4368: M6: check boxes, radio buttons and push buttons without an appearance are drawn, and comb fields show their cells
crates/forms/src/tests.rs: append conflict, kept both tests.
parity/acrobat-features.toml: form.fill-text-field evidence is the union; notes keep HEAD's text plus the comb-cells sentence.
2026-10-24 06:22:30 +00:00
aiongg c097653162 Merge PR #4329: M10: preserve table text from covered export slots
Conflicts: ROADMAP.md, docs/roadmap.md: both sides' status, progress and change-log lines; M10 row has both sentences. parity/acrobat-features.toml: export.docx evidence has both tests, notes has both statements.
2026-10-24 06:22:30 +00:00
aiongg b9f5ef6662 Merge PR #4198: fix(audit): covered_text reports the words under the cover, not the whole line 2026-10-24 06:22:30 +00:00
aiongg a84a255e4e Integration: #4178 doc comment back above mode_tab 2026-10-24 06:22:30 +00:00
aiongg d626a4ae72 Merge PR #2190: M3: a fresh install follows the desktop's appearance (#1248) 2026-10-24 06:22:29 +00:00
aiongg ee989ab5ca Merge PR #3016: M5: sticky notes stay upright where they are placed on rotated pages (NoRotate, #2583)
Conflicts:
- parity/acrobat-features.toml: comment.note: kept main's icon notes text, added the NoRotate sentence and the PR's three evidence entries.
- vendor/README.md: kept main's rows; added the PR's hayro-interpret patch as (53) with its test (53).
2026-10-24 06:22:25 +00:00
aiongg 321d59aec8 Merge PR #4178: fix(ui): the added-text editor keeps the box's alignment 2026-10-24 06:22:21 +00:00
aiongg 9230cb826d Merge PR #4352: Reject open-ended page range on a document with no pages 2026-10-24 06:22:19 +00:00
aiongg 496e3b3308 Merge PR #4312: M10: preserve page artwork when printing annotations 2026-10-24 06:22:19 +00:00
aiongg f9f08017f0 Merge PR #4111: fix(edit): Delete removes the selected paragraph or objects in Edit text
crates/ui-egui/src/object_ui.rs: main removed the tests module's translation test; kept the PR's two
new delete tests and dropped the translation test.
2026-10-24 06:22:17 +00:00
aiongg c24e90b59c Merge PR #3985: M6: a document script that throws no longer stops the form's other scripts (#3940)
crates/automation/src/tools.rs: js_run description: both sides' wording merged.
2026-10-24 06:22:15 +00:00
aiongg 0041a3b10e Merge PR #4161: M10: every paper size reaches the printer, from the dialog and doc_print (#3752)
Conflicts: ROADMAP.md: kept both progress-log lines.
2026-10-24 06:22:15 +00:00
aiongg 44831a6047 Merge PR #3670: Redaction: follow nested forms as deep as the readers do
crates/redact/src/interp.rs: kept both sides: main's per-page DecodeBudget and the PR's
visits counter (MAX_FORM_VISITS, same 50,000 as MAX_PAGE_FORMS; the visit check fires first).
2026-10-24 06:22:04 +00:00
aiongg 75f3a267eb Merge PR #4133: fix(sign): let an LTV update declare the ESIC extension in the catalog 2026-10-24 06:22:03 +00:00
aiongg 423e98cd19 Merge PR #4343: M6: the date picker has a Today button (#4274) 2026-10-24 06:22:02 +00:00
aiongg 40258a5cc2 Merge PR #4132: fix(sign): judge a page's indirect /Annots array by the annotations it gains 2026-10-24 06:22:02 +00:00
aiongg 2a1ceebb4f Merge PR #4339: M6: fields that don't scroll stop taking text when full
parity/acrobat-features.toml: form.fill-text-field evidence is the union of both sides; notes keep both sides' sentences (DoNotScroll clause and the Password sentence).
2026-10-24 06:22:02 +00:00
aiongg c0687edbbe Merge PR #3552: M12: a date typed by another of an XFA field's edit patterns is kept in its first 2026-10-24 06:22:01 +00:00
aiongg 19b36de16f Merge PR #3997: fix(automation): guard MCP dispatch and bound line and file reads (#3924) 2026-10-24 06:22:01 +00:00
aiongg 1fd37592d4 Merge PR #3401: M12: laying out a dynamic XFA form takes off the usage rights it voids
parity/acrobat-features.toml: form.xfa-dynamic evidence list: both sides' entries; notes: both sides' insertions (word-level merge).
2026-10-24 06:22:01 +00:00
aiongg c77906b0c1 Merge PR #3974: Leave the page grid when the Crop tool is chosen
Conflicts: Cargo.lock: kept ours (the PR's ctutils bump is dropped).
2026-10-24 06:21:57 +00:00
aiongg 8b1f21f77a Merge PR #4311: M10: write DOCX cell widths from their grid columns
Conflicts: ROADMAP.md and docs/roadmap.md took both sides' status lines, progress-log and change-log rows; M10 table row from #4311, M11 row from #4310.
2026-10-24 06:21:54 +00:00
aiongg 66c8db07a0 Merge PR #3849: cli: the argument bugs photocraft#7071 lists are live here too
Conflicts: apps/pdfcraft-cli/src/main.rs (render, check_one, check): kept main's bodies, positional() takes the option spec.
2026-10-24 06:21:50 +00:00
aiongg 339d8f411f Merge PR #4307: M6: Field Properties > Actions: Edit opens an existing script (#4006) 2026-10-24 06:21:45 +00:00
aiongg 4eb7cf4a4b Merge PR #4295: Check boxes and radio buttons draw their mark in the field's text colour 2026-10-24 06:21:42 +00:00
aiongg 01dc49c13c Merge PR #4053: fix: Issue #4018, form_fill warns when a value does not fit its field (#4018)
crates/forms/src/tests.rs: append conflict, kept both tests.
2026-10-24 06:21:41 +00:00
aiongg 70d92a052b Integration: #2289 keep Contents, BM, Lang and AF on the split widget 2026-10-24 06:21:39 +00:00
aiongg b6b6e6eca3 Merge PR #3943: M6: values typed into Password fields are written to no file (#3926)
crates/forms/src/tests.rs: append conflict, kept both tests.
2026-10-24 06:21:33 +00:00
aiongg 7c005aed5b Merge PR #3551: Edit text: keep Tr, stroke, line width and gs set inside BT when rewriting a paragraph (#3508, #3509) 2026-10-24 06:21:29 +00:00
aiongg d06bc3cb7c Merge PR #3546: Save commits the open Edit Text boxes before writing the file (#3496) 2026-10-24 06:21:25 +00:00
aiongg 4167ac6d5a Merge PR #4310: M11: honor page UserUnit when measuring image resolution 2026-10-24 06:21:23 +00:00
aiongg 0cfde22386 Merge PR #3488: fix(forms): write each /DR font as its own object, so Acrobat keeps typed text (#3441)
crates/forms/src/tests.rs: append conflict, kept both tests.
2026-10-24 06:21:22 +00:00
aiongg d34476d947 Merge PR #4157: M2: a symbolic TrueType font reads its (3, 0) cmap before its (1, 0) one (#4156) 2026-10-24 06:21:22 +00:00
aiongg ce2000573b Merge PR #4155: M4: a save prompt that opens in the background asks for the user's attention 2026-10-24 06:21:22 +00:00
aiongg aa78832c07 Integration: #3000 drop unrelated wait_for_file hunk in forms.rs test 2026-10-24 06:21:22 +00:00
aiongg 4fedfe7e8c Merge PR #2648: fix(xfa): skip PDF fallback scripts while XFA layout is active
crates/engine/src/js.rs: kept main's DocInfo.xfa field and multi-line layout, added the PR's xfa_active gate on doc_scripts.
2026-10-24 06:21:20 +00:00
aiongg afba441f2a Merge PR #2289: organize: split a combined field/widget so every copied page owns its widget 2026-10-24 06:21:17 +00:00
aiongg fa3a0221d9 Merge PR #3000: fix(edit): batch styled paragraph fallback glyphs 2026-10-24 06:21:12 +00:00
aiongg 6672e103a5 Merge PR #3009: fix(ui): the header, footer and watermark previews show the page under the marks (#2837) 2026-10-24 06:21:11 +00:00
aiongg ba85d2af66 Merge PR #2957: M6: dotted field names make parent fields (#2696) 2026-10-24 06:21:05 +00:00
Jayesh Prajapati 86730ed144 Tests: UI tests wait for background work by time, not frame count (#4186) (#4242)
* Tests: UI tests wait for background work by time, not frame count (#4186)

A frame count is not a time: on a busy runner the worker had not finished
the open, or the page text had not arrived, within 30 frames or 50 hover
rounds. support::step_until (#[must_use]) steps frames until a condition
holds or 30 s pass, sleeping briefly between frames, and says whether it
held; each test asserts on that with its own message.

- control_open_replies_pending_while_the_worker_opens_and_focuses_once_it_has
  and mode_tabs_keep_the_hand_over_page_text_scrolled_under_them wait with it,
  and so does control.rs call() for its reply.
- support::settle waits for every pending render and fails if the pages are
  not rendered within 30 s. It replaces all the render-pending settle loops
  (40 to 3000 frames) and the local settle/wait_for_pages wrappers, except
  text_select's double-click wait, which is held to 8 frames on purpose to
  stay inside egui's multi-click window, and view.rs's loops that already
  wait by a deadline.
- wait_until is built on step_until, keeping its diagnostic message.
- tabbing_back_to_the_same_field_then_saving_keeps_the_committed_value already
  waited 30 s for its file. It failed because its "same-frame" case shared
  its scratch directory with typing_and_saving_in_the_same_frame_saves_the_last_keystrokes,
  which runs in the same test process (since ee1ee704, #1045) and deleted
  the directory mid-save. forms' and pickers' scratch() now give every call
  a directory of its own.

Fixes #4186

* M14: update ctutils to 0.4.5 for RUSTSEC-2026-0385

The dependency-advisory gate rejects ctutils 0.4.2 (non-constant-time
mask generation and u128 comparisons, fixed in 0.4.4). It comes in
through crypto-bigint for the signing crates. Only its version and
checksum change in Cargo.lock.

(cherry picked from commit 1f8811761a)
2026-10-24 02:05:33 -04:00