aiongg
3bb1b49457
Merge PR #6263 : fix(ui): Paths panel footer: cut-off hover highlight and scroll jiggle (part of #6238 )
2026-10-22 15:37:44 +00:00
aiongg
c5abd43a22
Merge PR #6158 : Title bar: a window move the window manager finished no longer blocks the next move or resize ( #5725 )
...
contributors/people.toml: union of both sides' entries.
2026-10-22 15:37:43 +00:00
aiongg
bf687928c2
Merge PR #5936 : fix(ui): ensure turning View -> Snap off disables all snapping ( #5782 )
2026-10-22 15:37:43 +00:00
aiongg
8600ae79b0
Merge PR #5631 : Workspace: list saved workspaces in Window > Workspace and the switcher ( #5610 )
2026-10-22 15:37:42 +00:00
Zuujis
38bc5e916c
refactor(atn): build the clipping-mask and three adjustment events with macros ( #8401 )
...
Create/Release Clipping Mask and Brightness/Contrast, Black & White and
Gradient Map were written out by hand with the same body as
adjustment_event! or each other, which SonarCloud counts as duplicated new
code (photocraft's quality gate fails on 9.8% duplication from the GrpL
entry). adjustment_event! takes an optional command id, and clipping_event!
builds the two clipping events. The mapping table is unchanged.
2026-10-21 20:28:12 -04:00
Dylan M. Taylor
f4bc90b93f
ci: pin GitHub Actions to full commit SHA (SonarCloud githubactions:S7637) ( #8368 )
...
Pin third-party actions to full-length commit SHAs (with version comments)
instead of mutable tags/branches to prevent supply-chain tampering via
retagged releases. Resolves SonarCloud rule githubactions:S7637.
2026-10-21 20:12:22 -04:00
Dylan M. Taylor
3ec52a9ff1
security: enforce HTTPS on curl downloads (SonarCloud S6506) ( #8369 )
...
Add --proto '=https' to curl invocations so redirects cannot downgrade to
plaintext HTTP. Resolves SonarCloud S6506 (shell/docker/githubactions).
2026-10-21 20:11:03 -04:00
Dylan M. Taylor
9b18f57344
test: use tokio::time::sleep in async test poll loop (SonarCloud rust:S7488) ( #8373 )
...
The multi-thread #[tokio::test] polled with a blocking std::thread::sleep,
stalling a runtime worker. Use tokio::time::sleep(..).await instead.
2026-10-21 19:35:38 -04:00
aiongg
ad694eb17d
Merge pull request #8370 from storytold/sonar-fix/actions-script-injection
...
security: prevent script injection in fuzz workflow (SonarCloud S7630)
2026-10-21 19:26:09 -04:00
aiongg
ba40dffb25
Merge pull request #8355 from aiongg/integration-10
...
Integration batch: #8229 , David's follow-ups and 85 FredApps-approved PRs on main
2026-10-21 19:02:54 -04:00
aiongg
ce85a5ae78
Merge PR #8229 : Integration batch: 8 PRs on main
2026-10-21 22:30:00 +00:00
aiongg
33214b70f4
Merge PR #6708 : Paths: the path selected in the Paths panel is drawn on the canvas ( #6550 )
2026-10-21 22:30:00 +00:00
aiongg
989a685b3f
Merge PR #6208 : Preferences: Save in Background off saves in the foreground ( #6207 )
2026-10-21 22:29:59 +00:00
aiongg
3b04ff873c
Merge PR #5840 : Export As: Resample menu, incl. Nearest Neighbor ( #5838 )
2026-10-21 22:29:59 +00:00
aiongg
f32f882f3a
Merge main into integration-10
...
# Conflicts:
# apps/photocraft-web/src/web.rs
# apps/photocraft/src/services.rs
# crates/engine/src/file_cmds/tests.rs
# crates/engine/src/float_cmds.rs
# crates/engine/src/float_cmds/tests.rs
# xtask/src/corpus.rs
# xtask/src/corpus_pins.rs
# xtask/src/main.rs
2026-10-21 21:56:26 +00:00
aiongg
21a952698a
Integration: Lens Flare and the render filters' colours read with main's double and typed enum_name helpers, for #6160
2026-10-21 21:56:22 +00:00
aiongg
1a388f8ba7
Merge PR #8229 : Integration batch: 8 PRs on main
...
# Conflicts:
# crates/io/src/smart_map.rs
# docs/file-format-parity.md
2026-10-21 21:56:22 +00:00
aiongg
64d042aef5
Integration: Create Clipping Mask also maps the GrpL code and a named-layer target, for #6881 and #4496
2026-10-21 21:56:21 +00:00
aiongg
0e9cbbc88e
Integration: one tools.setColors and one clipping-mask mapping in .atn export, for #6881 and #4496
2026-10-21 21:56:21 +00:00
aiongg
719fb44d42
Merge PR #6881 : Actions: .atn Select Subject, Select and Mask, Color Range, clipping and layer masks, colours map to commands (part of #6745 )
2026-10-21 21:56:21 +00:00
aiongg
3b16c2bc98
Merge PR #5729 : Move tool: ΔX/ΔY readout beside the pointer while dragging ( #5727 )
2026-10-21 21:56:21 +00:00
aiongg
bd133eee81
Merge PR #5855 : Displace: OK asks for the displacement map, as in Photoshop ( #5806 )
2026-10-21 21:56:21 +00:00
aiongg
43e9587590
Merge PR #6363 : New Document: Color Profile, the working space or another profile of the mode ( #321 )
2026-10-21 21:56:21 +00:00
aiongg
20adb5f1d7
Merge PR #6410 : Artboards: layers outside the boards stay visible over the pasteboard ( #5712 )
2026-10-21 21:56:21 +00:00
aiongg
1bc45862cb
Merge PR #6813 : A layer that doesn't fit in GPU memory no longer breaks GPU drawing: older pages are freed and the layer is retried
2026-10-21 21:56:21 +00:00
aiongg
64526a6c28
Merge PR #7904 : Filter Gallery › Halftone Pattern: a tone-keeping screen at 45°
2026-10-21 21:56:21 +00:00
aiongg
f97c28828d
Merge PR #6873 : HEIF: honour the nclx colour description; HLG/PQ HEICs open as linear BT.2020 32-bit ( #6752 )
2026-10-21 21:56:21 +00:00
aiongg
1837a19362
Merge PR #6908 : Background redraw: keep the last finished composites, so a solo's restore uploads instead of recompositing (part of #6528 )
2026-10-21 21:56:21 +00:00
aiongg
29388de427
Merge PR #6919 : Selections don't mark a document modified ( #6865 )
2026-10-21 21:56:21 +00:00
aiongg
c71322043c
Merge PR #7941 : Light themes outline the slider knob (UI-217-11, #7927 )
2026-10-21 21:56:21 +00:00
aiongg
e4a413241a
Merge PR #8004 : Windows on ARM: auto picks DirectX 12 for Qualcomm graphics ( #7537 )
2026-10-21 21:56:21 +00:00
aiongg
403dc5043a
Merge PR #8096 : CodeRabbit follow-ups for the #8095 batch
2026-10-21 21:56:21 +00:00
aiongg
07e4020360
Merge PR #8098 : PSD layer comps: an entry without enab inherits the previous visibility, as in Photoshop ( #8093 )
2026-10-21 21:56:21 +00:00
aiongg
3b6fabb04a
Merge PR #6801 : Actions that start with Deselect play on when nothing is selected
2026-10-21 21:56:21 +00:00
aiongg
a06c4639f6
Merge PR #5590 : Warp: apply a large layer's warp in the background, with progress and Esc to cancel ( #1015 )
2026-10-21 21:56:21 +00:00
aiongg
7b81efddcb
Merge PR #5436 : IO: open .psd through the PSD reader, not codecs ( #5258 )
2026-10-21 21:56:21 +00:00
aiongg
dd83f87d3c
Merge PR #5581 : Layers: Group Layers creates the group collapsed ( #5571 )
2026-10-21 21:56:20 +00:00
aiongg
0fe1d3233d
Merge PR #5907 : Text: apply anti-alias mode shaping when rasterizing type ( #5902 )
2026-10-21 21:56:20 +00:00
aiongg
c865e3b93b
Merge PR #5928 : BMP export: Indexed Color documents save as palette BMPs
2026-10-21 21:56:20 +00:00
aiongg
b9b97f15ff
Merge PR #6243 : GPU: pin the keep-overlap ordering with a tile-growth regression test
2026-10-21 21:56:20 +00:00
aiongg
5eada4996a
Merge PR #7219 : Actions: record File › Export › Export As and replay it with its settings ( #7207 )
2026-10-21 21:56:20 +00:00
aiongg
abfb8cce96
Merge PR #8042 : Codecs: Fix corrupted CMYK JPEG exports ( #8008 )
2026-10-21 21:56:11 +00:00
aiongg
fa5a06de4f
Merge PR #8053 : Pencil: align 1 px click snapping with the line walker ( #4895 )
2026-10-21 21:56:11 +00:00
aiongg
fb9da6d581
Merge PR #7303 : Keyboard Shortcuts: Shift is recorded when capturing a shortcut
2026-10-21 21:56:11 +00:00
aiongg
a870371600
Merge PR #7270 : Brushes: folders with search matches can be collapsed while searching
2026-10-21 21:56:11 +00:00
aiongg
f38e0e40bd
Merge PR #7304 : Freeform Pen: ⇧ constrains freehand strokes to straight 45° lines
2026-10-21 21:56:11 +00:00
aiongg
9ce8ab897c
Merge PR #7317 : Color panel: RGB slider mode ( #7172 )
2026-10-21 21:56:11 +00:00
aiongg
a0d6bf2dcd
Merge PR #7791 : Camera raw: a developed raw keeps its EXIF (RW2 included), so File Info shows its Camera Data ( #6957 )
2026-10-21 21:56:11 +00:00
aiongg
b75f0cf21d
Merge PR #7799 : Displace on a Smart Object: the map is embedded in the smart filter, so it displaces ( #7423 )
2026-10-21 21:56:10 +00:00
aiongg
f3c20b9242
Merge PR #7626 : Flatpak: a second launch hands its files to the running PhotoCraft over a Unix socket ( #1540 )
2026-10-21 21:56:10 +00:00