Commit Graph
1107 Commits
Author SHA1 Message Date
Dylan M. Taylor 2bd8f60e15 Merge pull request #367 from lehni/fix/native-bar-title
docking: a native floating window's bar shows no title, as its tab names the panel
2026-11-02 22:16:24 -05:00
Dylan M. Taylor 9d4f20aa03 Merge pull request #522 from vangel76/perf/bitreader-expgolomb-517
bitstream: decode short Exp-Golomb codes with one peek, write ue(v) in one call (#517)
2026-11-02 22:07:16 -05:00
Dylan M. Taylor 1508ae6d63 Merge pull request #521 from vangel76/perf/rbsp-unescape-518
bitstream: copy runs in unescape_rbsp instead of pushing byte by byte (#518)
2026-11-02 22:06:14 -05:00
Dylan M. Taylor 8e717b26da Merge pull request #519 from vangel76/perf/bitreader-peek-516
bitstream: one 8-byte load in BitReader::peek, bit reads 2.5x faster (#516)
2026-11-02 22:05:14 -05:00
Dylan M. Taylor 0535bc87f1 Merge pull request #146 from midasmatterhorn/fix/r4-cms-cube-domain
cms: write_cube keeps a non-default input domain
2026-11-02 22:01:55 -05:00
Dylan M. Taylor f52b9dc547 Merge pull request #475 from dotCooCoo/fix/hayro-syntax-debug-closing-brace
hayro-syntax: tests check that valid entries survive an unreadable value, and Debug prints the closing brace
2026-11-02 21:57:54 -05:00
Dylan M. Taylor 40bb05042f Merge pull request #474 from dotCooCoo/fix/krilla-gray-black
krilla: a gray stop in a CMYK gradient becomes its exact black (patch 17)
2026-11-02 21:57:50 -05:00
Dylan M. Taylor 9be9a63782 Merge pull request #426 from mockydevs/fix/path-as-rect-open-polyline
pdf reader: a five-point open polyline is not a rectangle
2026-11-02 21:53:06 -05:00
Dylan M. Taylor 69e3708e5c Merge pull request #451 from MarekSpodBiedry/issue-328
hayro-interpret: pad a missing low byte in 16-bit image data instead of panicking (#328)
2026-11-02 21:53:03 -05:00
Dylan M. Taylor 89e3bba144 Merge pull request #180 from bobbyjnichols/fix/atomic-smb-permissions
atomic: skip redundant chmod for matching replacement modes
2026-11-02 21:41:05 -05:00
Dylan M. Taylor c64d9b28f4 Merge pull request #145 from midasmatterhorn/fix/r4-settings-blank-file
settings: a blanked config.toml is no longer adopted over the loaded document
2026-11-02 21:41:02 -05:00
Dylan M. Taylor 0c332d87de Merge pull request #460 from marshiyar/fix/update-package-manager-copies
update: a package manager's copy and another app's bundle do not self-update on macOS and Windows
2026-11-02 21:39:55 -05:00
Dylan M. Taylor 0035af1539 Merge pull request #392 from Tomcatt/fix/standalone-update-whole-tree
fix(update): a standalone self-update replaces the whole tarball install
2026-11-02 21:39:39 -05:00
Dylan M. Taylor e21dfdba5d Merge pull request #481 from VoiceLessQ/fix/flatpak-bundle-reinstall
fix(update): handle a bundle Flatpak before 1.16.2 won't reinstall
2026-11-02 21:34:54 -05:00
Dylan M. Taylor 40751df9ac Merge pull request #465 from Jeremy8776/fix/msi-context-native
craft-update: read an MSI's install context without starting PowerShell
2026-11-02 21:34:50 -05:00
Dylan M. Taylor b49ce8590f Merge pull request #452 from ZIDAN44/fix/391-safe-release-link
update: the prompt opens only a safe release link; document token logging (#391)
2026-11-02 21:33:30 -05:00
Dylan M. Taylor e4108a3172 Merge pull request #513 from ljkx/update/sums-duplicate-names
update: one asset per name in SHA256SUMS.txt (#478)
2026-11-02 21:30:55 -05:00
Dylan M. Taylor 92a8f0df9f Merge pull request #514 from ljkx/update/https-only-agents
update: keep the remote HTTP agents and their redirects on HTTPS (#477)
2026-11-02 21:30:51 -05:00
Dylan M. Taylor 47c9f62530 Merge pull request #497 from benandez/p7-compound
craft-proof: flag-based compound words (COMPOUNDFLAG/BEGIN/PERMITFLAG…)
2026-11-02 20:38:11 -05:00
Martin BallandClaude Opus 5.5 22144c823a proof: licence warnings report the actual error; machine-independent English test; SuggestSteps drop note
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:47:39 +00:00
Martin BallandClaude Opus 5.5 3012d73c82 proof: AffixDict::build reads the stems' flags in its own function
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:47:28 +00:00
Martin BallandClaude Opus 5.5 f87f08a87a Merge origin/main into fix/497-coderabbit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:46:59 +00:00
Dylan M. Taylor b047c2f7a6 Merge pull request #496 from benandez/fu-proof-p3
craft-proof: review follow-ups (P3s from the proofing move)
2026-11-02 19:32:53 -05:00
ljkx e6189423a0 update: test Http::new's HTTPS-only setting, and keep refused links out of messages
An integration test builds the library without cfg(test), so it checks the release configuration: the remote agents refuse plain HTTP (an upper-case scheme too) without connecting, loopback links still work, and with local-mirror the remote agents take plain HTTP.

A refused hop's message names only the host. ureq's message holds the whole link, and a redirect to the file host carries a signed query. host() also drops a query and any user:password@.
2026-11-03 01:13:37 +01:00
Martin BallandClaude Opus 5.5 14cf444fcf craft-proof scowl — load_error(en-AU) also reports a failed en-GB list, which en-AU reads too (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:56:09 +00:00
Martin BallandClaude Opus 5.5 3aca2642c5 craft-proof tr — the double-space rule uses space_runs; the all-languages test adds Tr, EnAu, EnCa and pt-PT (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:56:09 +00:00
Martin BallandClaude Opus 5.5 aa3730352f craft-proof — en-AU comment and docs: it also takes en-GB's words (enquiry is only in the en-GB list), suggestions from en-AU (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:56:09 +00:00
Martin BallandClaude Opus 5.5 3e37fbcd7e craft-proof it, pt — an object placeholder between the mark and a real closing quote keeps the narration exemption («Vai?\u{1}» disse lui.) (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:56:09 +00:00
Martin BallandClaude Opus 5.5 4c8cb404ab craft-proof it — a space after the dialogue dash no longer hides the capital mark (Finì. — domani partiamo.) (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:48:04 +00:00
Martin BallandClaude Opus 5.5 f3d411638d craft-proof it — the dialogue-dash exception applies after ? and ! only, so Finì. —domani partiamo. gets its capital mark again (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:47:08 +00:00
Martin BallandClaude Opus 5.5 a8b3bb74c8 craft-proof it, pt — the object placeholder is not a closing quote, so Chi era?\u{1} era Marco. still gets its capital mark (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:23:15 +00:00
Martin BallandClaude Opus 5.5 cb82e91428 craft-proof — a run of spaces is one double-space issue over the whole run in every language, through one shared space_runs helper (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:23:15 +00:00
Martin BallandClaude Opus 5.5 7b64b78cb0 craft-proof english — Australian English also takes a word in SCOWL's en-GB list, and without SCOWL every en_AU source is read before any en_GB one (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:23:09 +00:00
ljkx 240a005494 update: look SHA256SUMS.txt names up in a map, not by scanning
A 4 MiB list holds some 60,000 names, and searching the earlier entries
for each one made parsing quadratic: about 8 s for a full-size list in
a release build. A map from name to position and a set of conflicting
names make it linear again, with the same entries in the same order.
2026-11-02 23:56:02 +01:00
vangel76andClaude Sonnet 5.5 ee76ffe8d8 bitstream: decode short Exp-Golomb codes with one peek, write ue(v) in one call (#517)
read_code_num read the leading zeros one read_bit() at a time. It now takes
peek(32) and, when the code has fewer than 16 leading zeros and lies wholly
inside the data, decodes it from that one word. Longer codes, codes cut off
by the end of the data and invalid codes take the previous bit-by-bit loop,
moved to a cold function, so errors and the position after an error are
unchanged.

write_code_num wrote the zero prefix as up to 32 one-bit writes. A code of
up to 32 bits is now one write_bits call; longer codes write the zero prefix
in one call.

Tests compare read_ue, read_se (several codes in a row, every start
position, zero runs of 28 to 40 bits, buffers of 0 to 16 bytes) and write_ue
with verbatim copies of the previous code, plus the 31/32/33-bit code
boundaries and u32::MAX.

Closes #517

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 23:02:49 +01:00
Martin BallandClaude Opus 5.5 5eb1710914 proof: a pack's exception word satisfies the ru/bg/tr letter check
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:59:48 +00:00
vangel76andClaude Sonnet 5.5 62eae4e4cc bitstream: copy runs in unescape_rbsp instead of pushing byte by byte (#518)
unescape_rbsp pushed every byte into the output Vec one at a time. It now
scans for 00 00 03 with the usual skip rule (a nonzero byte at i rules out
a match ending at i + 1 or i + 2, so the scan advances by 3) and copies the
bytes between matches with extend_from_slice. No unsafe, no indexing that
can panic.

Output is identical: a removed 03 still restarts the zero count. Tests
compare it with a verbatim copy of the old function over 20000 random
buffers (fixed-seed PRNG) and list the edge cases (empty input, 00 00 03 at
the end, 00 00 03 03, runs of zeros).

Closes #518

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 22:59:23 +01:00
Martin BallandClaude Opus 5.5 54ac5fbc4c craft-proof — README: embedded_locales() and the SCOWL byte count match build.rs with en-AU; ru: drop an unused binding (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:56:44 +00:00
Martin BallandClaude Opus 5.5 466919a8a5 craft-proof english — with SCOWL embedded, a dictionaries-folder en_GB no longer outranks the embedded en-AU (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:56:44 +00:00
Martin BallandClaude Opus 5.5 d2563a77d4 craft-proof tr — te and ta are the locative suffix, not a detached particle, so kitapte is not offered as kitap te (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:56:44 +00:00
Martin BallandClaude Opus 5.5 bd3db196a5 craft-proof es — a run of spaces is one Espacio doble issue over the whole run (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:56:44 +00:00
Martin BallandClaude Opus 5.5 15d3c0d370 craft-proof it, pt — narration after a quoted or dashed question or exclamation is not a new sentence («Vai?» disse lui) (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:56:44 +00:00
Martin BallandClaude Opus 5.5 61030150dc craft-proof cs, hr, it — a hyphenated word is looked up whole before its parts, and an elision (l'ex-amico) is read in each part (#496 review)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:56:44 +00:00
Martin BallandClaude Opus 5.5 6e0351f554 proof: ru is not an embedded locale by default (only ru-extra.txt is)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:46:08 +00:00
Martin BallandClaude Opus 5.5 61105d293a proof: no comma mark after ister or gerek (verb and noun uses)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:46:00 +00:00
Martin BallandClaude Opus 5.5 e91b2dbb97 proof: drop the unused binding in the pronoun-prefix arm
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:46:00 +00:00
Martin BallandClaude Opus 5.5 d279c8a99c proof: a pack's ru/bg/tr patterns need every letter of the word, else the built-in rules
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:46:00 +00:00
Martin BallandClaude Opus 5.5 83a4d73c69 proof: affix_check generators give up on a dictionary with no usable stems
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:46:00 +00:00
Martin BallandClaude Opus 5.5 7c3f45dd5e proof: skip a licence file that isn't UTF-8 instead of failing the build
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:46:00 +00:00
Martin BallandClaude Opus 5.5 9ef9185131 FU.8: craft-proof cs — regression test from wordcraft#4683: a letter that lowercases to two chars (İ) still gets its one-letter edits
The shared suggestion code already edits across the whole lowercased word, so no code change is needed; the test keeps it that way.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:43:25 +00:00