feat(pdf): Unicode-aware search and layout-aware reading order
#1081 -
Commit a82c8f7ff7 pushed by andodeki
ci(email): raise the domain floor; record the finance-email path
#1021 -
Commit 3928063392 pushed by andodeki
feat(pdf): signing and verification — Valid becomes reachable, with a policy
#1013 -
Commit 9a5ce9c0e6 pushed by andodeki
fix(ci): the sample_thread gate was inverted under pipefail
#1010 -
Commit 6e784fffee pushed by andodeki
feat(pdf): encryption on save — AES-128 and AES-256 (Phase 6, part one)
#990 -
Commit d4e3e9a443 pushed by andodeki
fix(ci): email.yml has been invalid YAML for six commits
#976 -
Commit 632479c964 pushed by andodeki
test(spreadsheet-ui): measure headless controller coverage
#974 -
Commit 77255965fa pushed by andodeki
test(spreadsheet): cover literal and comparison formula edges
#969 -
Commit ee81d292ed pushed by andodeki
test(spreadsheet): cover sum boolean text error branches
#966 -
Commit 0fcb2d3fae pushed by andodeki
docs: repo-wide coverage plan — census first, then phases
#964 -
Commit 4a955c5c89 pushed by andodeki
docs(cad): a phased plan to 100% coverage, written after measuring
#962 -
Commit 211ce31e9f pushed by andodeki
fix(makepad-table): measure text with the layouter instead of estimating it
#959 -
Commit dffa140123 pushed by andodeki
feat(pdf): outline, page label and struct-tree editing — Phase 5 complete
#956 -
Commit b870dc4c69 pushed by andodeki
feat(pdf): redaction and object compaction — and three reader defects
#953 -
Commit 41c43df0e5 pushed by andodeki
docs(cad): what the first widget extraction actually bought
#951 -
Commit 01d889c90b pushed by andodeki
feat(spreadsheet): logical and conditional formula functions
#948 -
Commit b7eb271a0d pushed by andodeki
fix(mpesa): parse SMS from in-memory messages, not serde-skipped cache
#946 -
Commit e1d1346b27 pushed by andodeki
fix(cad): the nav pad's zoom buttons were a pixel from their own hit zone
#943 -
Commit 70bbff7ecb pushed by andodeki
feat(pdf): flatten annotations and form fields into page content
#934 -
Commit e0d86274d8 pushed by andodeki
test(cad): measure the widget layer — 13.15%, and six files at zero
#932 -
Commit 0596fc66ed pushed by andodeki
docs(cad): the widget layer was never unbuildable — I never tried
#930 -
Commit f1c3c18374 pushed by andodeki
test(spreadsheet): cover the remaining serialization and border branches
#927 -
Commit 8ca5070b26 pushed by andodeki
fix(makepad-table): stop overlong cell text spilling into the next column
#924 -
Commit 2ba06f34c5 pushed by andodeki
fix(makepad-table): pin the pressed-state fill, and put the caret after the text
#921 -
Commit 306504bc0b pushed by andodeki
fix(makepad-table): make an editing cell readable — white fill, dark ink, one border
#915 -
Commit 60117099ae pushed by andodeki
feat(pdf): page operations — insert, reorder, duplicate, delete, import
#912 -
Commit e0aab74452 pushed by andodeki
feat(pdf): content-stream serialiser and editor — the Phase 5 foundation
#909 -
Commit b8bd71852f pushed by andodeki