Commit Graph
3498 Commits
Author SHA1 Message Date
Brandon Thomas 56decd96e2 Merge storytold/main into PR #1990 2026-10-29 21:55:23 -04:00
Brandon Thomas 7137006d55 Merge pull request #1238 from seanth/inline-objects-under-text
[fix] Inline objects paint under their frame's text
2026-10-29 21:55:02 -04:00
Brandon Thomas b7e5b8f963 Merge pull request #1952 from Silvertree2010/fix/h3606-tagged-text-import-accepts-a-sig
Skip signed hex codes in Tagged Text <0x…> tags
2026-10-29 21:54:59 -04:00
Brandon Thomas 7e841a073e Merge pull request #1972 from VoiceLessQ/fix/1209-autoflow-parity-runaway
Autoflow: a frame a Start Paragraph option ends early sets no fill rate (fixes #1209)
2026-10-29 21:54:51 -04:00
Brandon Thomas 9d9d3ab1ee Merge pull request #1893 from Silvertree2010/fix/h2824-xml-mapstyle-accepts-an-invalid
Reject invalid XML tag names in xml.mapStyle
2026-10-29 21:54:48 -04:00
Brandon Thomas e22e6038dd Merge storytold/main into PR #1990
# Conflicts:
#	docs/typography-parity.md
2026-10-29 21:53:38 -04:00
Brandon Thomas e5b30c4527 Merge storytold/main into PR #1238 2026-10-29 21:53:38 -04:00
Brandon Thomas dfc0b19e7a Merge storytold/main into PR #1952
# Conflicts:
#	crates/textimport/src/tagged.rs
2026-10-29 21:53:38 -04:00
Brandon Thomas 8867f312e9 Merge storytold/main into PR #1972 2026-10-29 21:53:38 -04:00
Brandon Thomas 7c24b673af Merge storytold/main into PR #1893
# Conflicts:
#	crates/engine/src/cmd/xml.rs
2026-10-29 21:53:38 -04:00
Brandon Thomas 2a3f92e63b Merge pull request #1919 from Silvertree2010/fix/1881-form-fields-export-with-a-stroke
Export form field borders from the item stroke
2026-10-29 21:53:21 -04:00
Brandon Thomas 2976cd1be2 Merge pull request #1764 from PiMinusMax/guide-drag-keeps-cursor
Rulers: a guide dragged out keeps its resize cursor until it is dropped
2026-10-29 21:53:18 -04:00
Brandon Thomas f05a022cb9 Merge pull request #1254 from RoHaX/feat/german-2006-hyphenation
Add German 2006 reform hyphenation
2026-10-29 21:53:14 -04:00
Brandon Thomas 53eeb497c2 Merge pull request #1949 from garrytan/fix/settle-chained-own-story-wraps
compose: settle a story's own anchored wraps by object count, not 4 passes
2026-10-29 21:53:10 -04:00
Brandon Thomas 211619e949 Merge pull request #1935 from Silvertree2010/fix/1883-bug-report-designcraft-error-mes
Open documents whose items share an id
2026-10-29 21:53:07 -04:00
Brandon Thomas d18351f187 Merge pull request #1863 from Atalantis/macos-dialog-localizations
macOS: declare the UI languages so the open and save panels are translated
2026-10-29 21:53:04 -04:00
Brandon Thomas 08e8fdf655 Merge pull request #1909 from Hamza0101/fix/unc-test-runs-on-windows
Data merge: the UNC refusal is tested on Windows too (#1601)
2026-10-29 21:52:57 -04:00
Brandon Thomas 3892c8ed1a Merge pull request #1871 from Hamza0101/fix/import-amplification
Import: a shared string and a footnote are not copied per reference (#1584)
2026-10-29 21:52:53 -04:00
Brandon Thomas bee07cbced Merge pull request #1183 from seanth/idml-app-icon-drop
(fix) macOS: accept .idml dropped on the app icon and opens with contextual "open with..."
2026-10-29 21:52:50 -04:00
Brandon Thomas fd207a0d7c Merge pull request #1998 from Silvertree2010/fix/h3964-tagged-text-import-trims-style-n
Keep leading and trailing spaces in Tagged Text style names
2026-10-29 21:52:46 -04:00
Brandon Thomas f9fabc3334 Merge pull request #1840 from dotCooCoo/fix/print-test-driver-default-color
Print: the Windows print test expects the driver's default color
2026-10-29 21:52:42 -04:00
Brandon Thomas b4463b5b26 Merge pull request #1911 from Hamza0101/fix/merge-image-reads
Data merge: an image named by many records is read once (#1595)
2026-10-29 21:52:38 -04:00
Brandon Thomas 1f20480194 Merge pull request #1948 from Silvertree2010/fix/h3527-placing-a-plain-text-file-keeps
Strip story marker characters from placed plain text files
2026-10-29 21:52:33 -04:00
Brandon Thomas 45369565ad Merge pull request #1872 from Hamza0101/fix/pdf-name-escaping
PDF export: a name escapes every byte a name cannot hold (#1582)
2026-10-29 21:52:30 -04:00
Brandon Thomas e62583dfc4 Merge pull request #1905 from Silvertree2010/fix/h2977-rtf-import-a-short-or-invalid-hh
Fix RTF import swallowing characters after a short \'hh escape
2026-10-29 21:52:27 -04:00
Brandon Thomas c0d1acd2b3 Merge pull request #1568 from Hamza0101/fix/table-insert-size
A table size Create Table cannot mean is refused
2026-10-29 21:52:22 -04:00
Brandon Thomas 352d9c526d Merge pull request #1860 from Silvertree2010/fix/h2768-tagged-text-export-does-not-esca
Escape font family and typeface values in Tagged Text export
2026-10-29 21:52:16 -04:00
Brandon Thomas 61adb2063e Merge pull request #1306 from Hamza0101/reproducible-pdf-export
PDF export: SOURCE_DATE_EPOCH stands in for the clock, so exports repeat
2026-10-29 21:52:12 -04:00
Brandon Thomas 0a05c1631c Merge pull request #1233 from seanth/running-header-order
[fix] Running headers read a page in text order, not by height
2026-10-29 21:52:08 -04:00
Brandon Thomas 4777269ee6 Merge pull request #1976 from hscabral/idml-export-story-preference
IDML export: write the document's default StoryPreference
2026-10-29 21:52:04 -04:00
Brandon Thomas bb210adf99 Merge pull request #1932 from devius/ka-new-strings
i18n(ka): Georgian for keyboard shortcut sets, command forms and labels added since #1573
2026-10-29 21:52:01 -04:00
Brandon Thomas 9d73109012 Merge pull request #1908 from Silvertree2010/fix/h2951-xml-export-writes-control-charac
Drop XML-forbidden control characters in file.exportXml
2026-10-29 21:51:57 -04:00
Brandon Thomas cddf074cc4 Merge pull request #1868 from Hamza0101/fix/table-allocation-cap
Tables: a shape a table cannot hold is clamped, not allocated (#1583)
2026-10-29 21:51:53 -04:00
Brandon Thomas 3e15ebc7b0 Merge pull request #2008 from Silvertree2010/fix/h4052-name-with-color-value-produces-r
Fix "-0" in Name with Color Value for slightly negative RGB
2026-10-29 21:51:49 -04:00
Brandon Thomas f920aa0d93 Merge pull request #1971 from KnottyDyes/squad/tables-clear-footnotes
Compose: tables clear the footnote area
2026-10-29 21:51:45 -04:00
Brandon Thomas 1f04ec6d61 Merge pull request #1915 from Silvertree2010/fix/h3022-idml-export-duplicates-cross-ref
Fix duplicated xref format text before an unclosed '<' in IDML export
2026-10-29 21:51:42 -04:00
Brandon Thomas 2b15bf79a2 Merge pull request #1842 from Silvertree2010/fix/1835-document-not-updated-on-image-re
Repaint the canvas when a placed file is relinked or updated
2026-10-29 21:51:38 -04:00
Brandon ThomasandClaude Opus 5.5 eace4735da Draw the checkbox border in its own function
Keeps add_fields under the cognitive complexity limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:43:49 -04:00
Brandon ThomasandClaude Opus 5.5 cc47975960 Use clamp for the wrap pass bounds
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:43:16 -04:00
Brandon ThomasandClaude Opus 5.5 680dfdc964 Format the checkbox border
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:41:41 -04:00
Brandon ThomasandClaude Opus 5.5 56eebe9556 Keep the host frame's text area across anchored text frames in PDF export
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:40:24 -04:00
Brandon ThomasandClaude Opus 5.5 44b07403b1 Draw a checkbox's border at the item's stroke weight
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:40:04 -04:00
Brandon ThomasandClaude Opus 5.5 794b7a29de Hold the guide-drag cursor only while the primary button is down
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:39:56 -04:00
Brandon ThomasandClaude Opus 5.5 e6e478bccb Leave the Windows print test to #1840
The expectation change is unrelated to hyphenation and lands with #1840.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:39:41 -04:00
Brandon ThomasandClaude Opus 5.5 a9256308e3 Keep at least four wrap passes for a story with few anchored objects
A single wrapping object moved by keep options or vertical justification had four passes to
settle before; one-per-object would have given it two.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:39:35 -04:00
Brandon ThomasandClaude Opus 5.5 84801932f2 Renumbering duplicate ids stops at the top of the id range instead of overflowing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:39:23 -04:00
Brandon ThomasandClaude Opus 5.5 d0fce7e9a3 Declare Spanish and Simplified Chinese in CFBundleLocalizations
Both are interface languages in LANGUAGES but were missing from the list.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:38:46 -04:00
Dylan M. Taylor 9fdaa81584 packaging: Flatpak finds and prints to CUPS printers (#2012)
* packaging: Flatpak finds and prints to CUPS printers

The Print dialog listed no printers in the Flatpak: the runtime has libcups but not
lpstat/lp, the sandbox couldn't reach the CUPS socket, and driverless network printers
(lpstat -e) need Avahi. Bundle lpstat/lp/lpoptions from CUPS 2.4.20 (Apache-2.0,
statically linked, licence installed) and grant --socket=cups and
--system-talk-name=org.freedesktop.Avahi in both manifests.

* packaging: Flatpak reads the user's CUPS settings (~/.cups, read-only)

Review (CodeRabbit): without it the sandbox's lp/lpstat ignore the user's default
printer and saved options (lpoptions) and a print server named in their client.conf.

* packaging: Flatpak CUPS tools reach the host socket when client.conf names a custom path

Review: Flatpak mounts the host's CUPS socket at /var/run/cups/cups.sock whatever
path ~/.cups/client.conf or CUPS_SERVER names, so lp/lpstat/lpoptions now run through
a wrapper that points a socket path missing in the sandbox there. Server names
(remote servers) and sockets that exist are left alone. Tested in the sandbox:
CUPS_SERVER=/run/custom/cups.sock lists the host's printers through the wrapper and
none without it; a host name is passed through unchanged.

* packaging: redirect a custom CUPS socket only when it is the one Flatpak mounted

Review (CodeRabbit): Flatpak picks the socket it mounts at /var/run/cups/cups.sock
with stricter rules than CUPS (flatpak-run-cups.c: a socket CUPS_SERVER, else the
first line spelled exactly "ServerName /path" in ~/.cups/client.conf, else the
default), while CUPS reads the keyword in any case and takes the last ServerName. The
wrapper now redirects only when CUPS' socket is the one Flatpak chose, so a job can't
reach a different server; otherwise CUPS fails on the missing path.

* packaging: never redirect a CUPS_SERVER the sandbox was given

Review (CodeRabbit): Flatpak picks the socket it mounts from the host's CUPS_SERVER,
so one set by flatpak run --env or an override may not be what it mounted. The
wrapper now leaves any CUPS_SERVER alone and redirects only a client.conf socket that
matches Flatpak's choice; otherwise CUPS fails on the missing path instead of
reaching a different server.

* packaging: point CUPS at the mounted socket only when it is the one Flatpak chose, else fail

Review (CodeRabbit): with a custom socket listed first and the default last in
~/.cups/client.conf, Flatpak mounts the custom one at /var/run/cups/cups.sock while
CUPS picks the last line, finds that path, and talks to the custom server. The
wrapper now compares CUPS' socket with Flatpak's choice even when the path exists:
equal, CUPS is pointed at the mount; different, the tool fails with an error instead
of reaching another server.
2026-10-29 18:48:35 -04:00
NetterSilverandClaude Haiku 5.5 6c6efe2f7a Fix "-0" in Name with Color Value for slightly negative RGB
Found while testing crates/color/src/swatch.rs:94-101 (value_name)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 15:43:45 +00:00
NetterSilverandClaude Haiku 5.5 e9d7a19994 Keep leading and trailing spaces in Tagged Text style names
Found while testing crates/textimport/src/tagged.rs:~190-205 (the ParaStyle and CharStyle branches of import: `unescape_value(value.trim())`)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 11:58:54 +00:00