chore: sync upstream (108 Commits) #17

Merged
alf merged 108 commits from chore/sync-upstream-20261102 into main 2026-11-02 16:19:27 +00:00
Owner

Upstream-Sync von upstream/main (108 Commits). Fast-Forward.

  • cc3c70d4 Windows: keep the custom title bar window borderless (#2139)
  • a288a87b Merge pull request #1018 from kler/swedish-ui
  • 8d75ded7 Merge pull request #2109 from Tom-R-Main/font-list-fstype
  • 1b02e542 Merge remote-tracking branch 'origin/main' into land-2109
  • 185412cd Merge remote-tracking branch 'origin/main' into land-1018b
  • 78a10870 Merge pull request #1223 from macrobi/codex/hungarian-localization
  • 19d99267 Merge pull request #1147 from y-az/feat/dutch-hyphenation
  • 00c148cb Merge pull request #1162 from y-az/chore/contributors-y-az
  • d199db2c Merge pull request #2124 from MarekSpodBiedry/issue-2075
  • 3bd5adfb Merge pull request #2108 from Tom-R-Main/openbytes-title
  • c091733e Merge pull request #2076 from Silvertree2010/fix/h4302-hit-intersects-rect-misses-a-sha
  • d2045c4a Merge pull request #2081 from Silvertree2010/fix/h4609-script-parse-errors-report-the-w
  • 7cbf4275 Merge pull request #2083 from Silvertree2010/fix/h4637-type-on-a-path-zero-tangent-angl
  • e3aea68c Merge pull request #2084 from Silvertree2010/fix/h4663-math-svg-does-not-clamp-the-size
  • d8c36f51 Merge pull request #2086 from Silvertree2010/fix/2050-validate-pdf-reports-valid-pdf-x
Upstream-Sync von `upstream/main` (108 Commits). Fast-Forward. - cc3c70d4 Windows: keep the custom title bar window borderless (#2139) - a288a87b Merge pull request #1018 from kler/swedish-ui - 8d75ded7 Merge pull request #2109 from Tom-R-Main/font-list-fstype - 1b02e542 Merge remote-tracking branch 'origin/main' into land-2109 - 185412cd Merge remote-tracking branch 'origin/main' into land-1018b - 78a10870 Merge pull request #1223 from macrobi/codex/hungarian-localization - 19d99267 Merge pull request #1147 from y-az/feat/dutch-hyphenation - 00c148cb Merge pull request #1162 from y-az/chore/contributors-y-az - d199db2c Merge pull request #2124 from MarekSpodBiedry/issue-2075 - 3bd5adfb Merge pull request #2108 from Tom-R-Main/openbytes-title - c091733e Merge pull request #2076 from Silvertree2010/fix/h4302-hit-intersects-rect-misses-a-sha - d2045c4a Merge pull request #2081 from Silvertree2010/fix/h4609-script-parse-errors-report-the-w - 7cbf4275 Merge pull request #2083 from Silvertree2010/fix/h4637-type-on-a-path-zero-tangent-angl - e3aea68c Merge pull request #2084 from Silvertree2010/fix/h4663-math-svg-does-not-clamp-the-size - d8c36f51 Merge pull request #2086 from Silvertree2010/fix/2050-validate-pdf-reports-valid-pdf-x
alf added 108 commits 2026-11-02 16:19:26 +00:00
Add 1,917 Hungarian translations and two context captions, register Magyar in Preferences, and cover language persistence and tool labels with regression tests. Let tool flyouts grow to fit translated labels.

AI-assisted translation reviewed by a native Hungarian contributor with over 30 years of DTP experience. Further in-context feedback is welcome. Add the contributor's requested public GitHub profile-name preference.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Distinguish numbers from counts and text columns from grid columns, use formal Hungarian address consistently, and align menu paths with the visible labels. Add context and menu-path regression coverage and correct the localization language count and revision history.

Set my chosen real name and display name to Veress Róbert and disable GitHub profile-name synchronization. Preserve all other contributor entries.
Restore the separate catalog and caption tests, preserve both merge parents’ assertions, and include Hungarian in the shared integrity checks. Part of the four-file update validated by all eight local CI stages (2,993 tests passed).
Remove only 13 unused entries identified by the shared integrity test; retain all active translated UI labels. Validated with the complete four-file update: 14 localization tests and all eight CI stages passed.
Record the merge test repairs and the verified catalog count of 1,904 entries plus four context captions. Part of the locally validated four-file update.
Record the test integration fixes, preserve both sides of the merge, and align the current Hungarian catalog count with the validated sources.
Correct only the 2026-10-17 narrative from four to two context captions, matching the dated revision history and ROADMAP. The current catalog still has four context captions. All eight local CI stages passed.
Add concise documentation for the cached lookup and three localization regression tests. Documentation only; runtime code, translations and test assertions are unchanged.
Describe the purpose of five existing menu-path and language-selection tests. Documentation only; test assertions and application behavior are unchanged.
Describe adaptive Tools-panel rendering and the existing Hungarian tooltip regression test. Documentation only; rendering and test assertions are unchanged.
Record the documentation-only follow-up for localization helpers and regression tests. Existing roadmap entries are preserved.
Relocate the documentation-only progress entry beside the existing Hungarian entry. Preserve every line and allow a clean merge with main; no code or tests changed. All nine cargo xtask ci gates passed.
Add purpose descriptions only. All nine CI gates passed; test assertions and executable code are unchanged.
Add purpose descriptions only. All nine CI gates passed; existing test assertions remain unchanged.
Document the existing labeled-widget lookup helper. Documentation only; all nine CI gates passed.
Reorder the existing Hungarian contributor block so it merges with the new upstream contributor. Preserve every name and setting, including Veress Róbert and disabled GitHub-name synchronization. All nine CI gates passed.
Extend the existing Hungarian toolbar test with real right-click flyouts, translated row labels, painted shortcuts, clipping and overlap checks. Preserve original assertions and production code. Focused test and all nine CI gates passed.
Record tested right-click flyout coverage for translated row labels, shortcuts, clipping and overlap. No runtime or readiness change.
Add Arrangement → Elrendezés to the Hungarian catalog. The retained cross-locale regression and Hungarian catalog tests pass. Full local validation and the separate pre-existing font/Georgian findings are documented in the PR.
Updated Hungarian catalog entry count to 1,905 and added Data Merge arrangement caption. Minor adjustments made to translation tests and review history.Record 1,905 Hungarian catalog entries and four context captions, preserving historical counts. Clarify that general missing-translation reports are non-blocking while targeted caption regressions can fail tests.
Updated progress log with new localization and regression test details for HU1.Preserve every progress entry from both branches and record the Hungarian Arrangement caption, updated egui button role, and retained localization and toolbar tests.
Restore the explicit names required by the upstream panel-docking tests and format the imports. All test bodies and assertions are byte-for-byte unchanged. fmt, pdf-deps and clippy pass; 3,375 tests pass, with four font/Georgian findings documented in the PR and six ignored. The remaining i18n-report, doctest, assets, layers and 16 WASM checks pass. One worker under a 2 GiB memory guard.
Adopt upstream blob 73f98f61 for panel_docking_tests.rs to avoid a parallel-fix conflict. The same 31 names are imported from the same parent module; every byte after the imports is unchanged. cargo fmt --all -- --check and cargo clippy --workspace --all-targets -- -D warnings both pass. No new main-branch changes are merged.
Add Georgian translations for File Info… and Check for Updates…. Keep the complete-menu assertion unchanged; interface_language_switches_and_validates now passes. The Hungarian regressions also pass. The full test stage records 3,376 passed, three previously documented missing-glyph failures and six ignored.
Document the two added Georgian menu captions and the unchanged complete-menu regression. Preserve historical coverage counts and make the separate native-speaker review status explicit.
Record the two Georgian menu captions and preservation of the existing complete-menu regression. Retain all other roadmap entries and readiness percentages.
Upstream d77fdf2d moved these tests to crates/ui-egui/src/panel_docking/tests.rs. The tested local merge preserves every test body from both parents there. Remove the obsolete path to unblock GitHub’s web conflict resolver; the remaining module integration follows immediately.
Retain localization checks from both merge parents, including Hungarian context and catalog coverage, and directly check the repaired Georgian captions. This file matches the locally tested shared-module integration.
Retain the upstream shortcut and navigation tests together with Hungarian selection, persistence, menu-path and document-preservation regressions and the complete Georgian-menu assertion.
Preserve existing toolbar assertions and Hungarian right-click flyout coverage in both column layouts. Check platform-formatted default shortcuts and a user-assigned chord, including painted text, clipping and overlap. All 13 focused toolbar tests passed.
Keep hu in the app.language parameter documentation after the UI command table moved to menus/ui_commands.rs.
Apply the equivalent De Morgan form of the upstream gradient condition so Rust 1.95 clippy with warnings denied can complete. Short-circuit order and output behavior are unchanged.
Simplify two upstream Option predicates to equivalent is_none_or forms. Preserve the None cases, all test cases and assertions; no coverage is removed.
Record the preserved Hungarian catalog and both parents localization, menu, toolbar and docking tests, current keymap-aware flyout sizing and direct Georgian lookup checks. Keep every existing progress entry and readiness percentage.
Enable hypher's "dutch" feature: Piet Tutelaers's hyph-nl.tex 1.1 from
hyph-utf8, MIT licensed (added to NOTICE). Dutch text, including InDesign's
nl_NL_2005, now hyphenates instead of never breaking a word.
Greek patterns are bundled on main; the localization parity list now
names them next to Dutch.
Removed Georgian translations for 'File Info...' and 'Check for Updates...'.
Introduced a new test function to check Georgian menu label translations and replaced the previous inline implementation with a call to this new function.
Updated Hungarian localization entries and added Depth Ruler caption.
Found while testing crates/geom/src/hit.rs:32-35 (intersects_rect early-out)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Found while testing crates/engine/src/script.rs:30-47 (parse: `t.lines().enumerate()` runs over the trimmed text)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Found while testing crates/geom/src/warp.rs:~44-52 (PathWarp::at)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Found while testing crates/engine/src/cmd/mathexpr.rs:~50 (the math.svg query) vs insert at ~64

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Fixes #2050

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Found while testing crates/color/src/lib.rs:115 (Color::to_hsb, the `max == r` branch)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Found while testing crates/engine/src/math.rs:909 (to_svg, the `esc` closure used for each <text> glyph)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
font.list now gives, for the face that sets the text, its raw OS/2 fsType
and what the bits mean: restrictedLicence, bitmapOnly, noSubsetting,
editable and previewPrint (null when the face is missing). A host that
makes print PDFs can then refuse a face whose licence doesn't allow the
export, including system fonts and the bundled fonts, without reading the
font files itself. PDF export subsets every font, so a caller needs
noSubsetting as well as the restricted and bitmap-only bits.

FontFace gains fs_type(); restricted_licence() and bitmap_only() read it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ApvpyStzzHbKyDBNxpzn2Y
file.openBytes used the name it was given as the document's title as is. The
IDML path strips .idml/.indd/.indt, but a native document opened as
"Brochure.designcraft" kept the extension, and everything that adds it back
doubled it: Save in the browser downloaded Brochure.designcraft.designcraft,
Save As suggested that name, and the File Name variable showed it. The app's
own drop and open paths strip the extension before calling, so only hosts and
scripts that pass a file name hit it.

The title now drops one trailing .designcraft (any case). Other names are
unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ApvpyStzzHbKyDBNxpzn2Y
Fixes #2085

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Found while testing crates/epub/src/html.rs:47-54 (reading_order: the `it.hidden` check comes after the group's children are pushed)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Found while testing crates/textimport/src/export.rs:18 (plain_char) and :177 (rtf)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Removed specific assertions for Georgian translations and added a new test for Hungarian catalog glyphs in bundled UI fonts.
Removed the test for Georgian menu label translations.
Removed outdated Hungarian localization entries and integrated new ones while retaining existing tests and assertions.
Updated Hungarian interface catalog with new entries and context-specific captions, reflecting recent reviews and regressions.
Updated test for Hungarian flyout to ensure it resets correctly on reopening while preserving scroll position, shortcut, and selection.
Adds Swedish (Svenska) as an interface language: 1850 strings, written from the English source.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A font with no readable OS/2 table doesn't say what its licence allows,
and reporting fsType 0 made it look installable. FontFace::fs_type() now
returns None for it, and font.list reports fsType and the five flags as
null. restricted_licence() and bitmap_only() still treat it as
unrestricted, so export behaviour doesn't change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ApvpyStzzHbKyDBNxpzn2Y
Names with characters outside ASCII, one shorter than the extension,
lose a trailing .designcraft or keep their names like the others.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ApvpyStzzHbKyDBNxpzn2Y
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pass the original filename to file.openBytes so the engine removes one native extension. Cover Open and Drop, repeated suffixes, Unicode, bare and missing extensions, and IDML through the import inbox. Keep the full filename in import warnings.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	contributors/people.toml
# Conflicts:
#	crates/compose/Cargo.toml
#	crates/compose/src/hyphen.rs
#	docs/gaps.md
#	docs/localization-parity.md
#	docs/target-app-parity.md
#	docs/typography-parity.md
Drop text variable markers in Text Only and RTF story export
Skip children of hidden groups in EPUB/HTML export
Match placed SVG font-family against legacy family and full names
Drop XML-forbidden control characters from math SVG text
Keep Color::to_hsb hue below 360
Read PDF/X output intent and Info as parsed objects in validate-pdf
Clamp math.svg size to the same range as math.insert
Fix zero tangent angle in Type on a Path at collapsed handles
Report script parse error line numbers from the original text
Fix intersects_rect missing hits for zero-width/height marquee rects
file.openBytes: title a .designcraft file without its extension
Zoom In/Out shortcuts zoom around the pointer over the canvas (#2075)
Contributors: credit Y-az
Hyphenation: bundle the Dutch patterns
Add initial Hungarian (hu) interface localization
# Conflicts:
#	crates/ui-egui/src/i18n.rs
#	crates/ui-egui/src/i18n/tests.rs
#	crates/ui-egui/src/menus/ui_commands.rs
#	docs/localization-parity.md
font.list: report each face's fsType embedding bits
i18n: Swedish (sv) interface translation
Windows: keep the custom title bar window borderless (#2139)
Some checks failed
ci.yml / Windows: keep the custom title bar window borderless (#2139) (pull_request) Failing after 0s
nix.yml / Windows: keep the custom title bar window borderless (#2139) (pull_request) Failing after 0s
packaging-lint.yml / Windows: keep the custom title bar window borderless (#2139) (pull_request) Failing after 0s
sonarcloud.yml / Windows: keep the custom title bar window borderless (#2139) (pull_request) Failing after 0s
ci.yml / Windows: keep the custom title bar window borderless (#2139) (push) Failing after 0s
nix.yml / Windows: keep the custom title bar window borderless (#2139) (push) Failing after 0s
packaging-lint.yml / Windows: keep the custom title bar window borderless (#2139) (push) Failing after 0s
sonarcloud.yml / Windows: keep the custom title bar window borderless (#2139) (push) Failing after 0s
cc3c70d4be
winit 0.30 gives an undecorated window WS_CAPTION and WS_BORDER; on some systems the compositor
reserves that frame, so the content is drawn offset (black bars at the top and left) while the
pointer keeps the client coordinates. A per-frame guard strips the styles again after every
winit flag change and keeps a maximized window clear of the taskbar. Fixes #1295.
alf merged commit cc3c70d4be into main 2026-11-02 16:19:27 +00:00
alf deleted branch chore/sync-upstream-20261102 2026-11-02 16:19:28 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
iris/designcraft!17
No description provided.