Brandon Thomas
ea3e0ce0c5
Merge pull request #355 from LloydNicholson/fix/journal-redact-passwords
...
Journal: sheet protection passwords aren't recorded in plain text
# Conflicts:
# crates/engine/src/tests.rs
2026-10-11 12:04:12 -04:00
Brandon Thomas
684bc41d03
Merge remote-tracking branch 'origin/main' into land
2026-10-11 12:02:56 -04:00
Brandon Thomas and Claude Opus 5.5
5f3e60b48a
Docs: headline counts after the community merges (509 / 523 functions, 500 working; catalog 260 / 290)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 12:02:26 -04:00
Brandon Thomas and Claude Opus 5.5
2f6c2cd486
Fix-up: Spanish and German strings for Interface size ( #294 met #242/#271); rustfmt after merges
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 11:59:24 -04:00
Brandon Thomas
4f7144d753
Merge pull request #295 from vangel76/feat/view-formula-bar-zoom100
...
View: Formula Bar and Zoom 100% as engine commands (#289 )
# Conflicts:
# ROADMAP.md
# crates/ui-egui/src/control.rs
# crates/ui-egui/src/lib.rs
# docs/target-app-parity.md
2026-10-11 11:45:32 -04:00
Brandon Thomas
8f3d13a115
Merge pull request #294 from vangel76/fix/interface-scale
...
View: Interface size preference scales the whole window (#230 )
# Conflicts:
# ROADMAP.md
2026-10-11 11:45:01 -04:00
Brandon Thomas
505d001ad4
Merge pull request #293 from vangel76/fix/name-manager-new
...
Name Manager: New… and Edit… open the name dialog and return to the manager (#238 )
# Conflicts:
# crates/engine/src/tests.rs
2026-10-11 11:45:00 -04:00
Brandon Thomas
fb9266f479
Merge pull request #271 from arekown/german-translation
...
Add German (de) interface language
# Conflicts:
# ROADMAP.md
# crates/ui-egui/src/i18n.rs
2026-10-11 11:44:58 -04:00
Brandon Thomas
ea0e971e27
Merge pull request #228 from webdevtodayjason/fix/200-formula-helpers
...
Keep formula helpers inside the worksheet when scrolling (#200 )
# Conflicts:
# contributors/people.toml
# docs/ui-parity.md
2026-10-11 11:44:56 -04:00
Brandon Thomas
a1f97c2f06
Merge pull request #218 from MarekSpodBiedry/issue-190
...
Resize charts from the corner handle and the Size fields, keep typed chart and table names (#190 )
2026-10-11 11:44:55 -04:00
Brandon Thomas
0a65ffc31a
Merge pull request #219 from Zarvinx/fix-keyboard-chart-delete
...
Delete selected charts with the keyboard
# Conflicts:
# ROADMAP.md
2026-10-11 11:44:53 -04:00
Brandon Thomas
ad8aeca851
Merge pull request #217 from MarekSpodBiedry/issue-198
...
Do not draw the selection over the frozen pane when it lies only in the scrolling pane (#198 )
2026-10-11 11:44:51 -04:00
Brandon Thomas
90dcc2b329
Merge pull request #297 from vangel76/feat/trimrange
...
Functions: TRIMRANGE (#296 )
# Conflicts:
# README.md
# ROADMAP.md
# crates/xlsx/src/tables.rs
# docs/function-parity.md
# docs/gaps.md
# docs/target-app-parity.md
2026-10-11 11:44:50 -04:00
Brandon Thomas
c2c381d55d
Merge pull request #292 from vangel76/feat/bahttext
...
Functions: BAHTTEXT (#291 )
# Conflicts:
# README.md
# ROADMAP.md
# docs/function-parity.md
# docs/gaps.md
# docs/target-app-parity.md
2026-10-11 11:44:48 -04:00
Brandon Thomas
fa4d2e5741
Merge pull request #280 from vangel76/feat/percentof-euroconvert
...
Functions: PERCENTOF and EUROCONVERT (#279 )
# Conflicts:
# README.md
# ROADMAP.md
# crates/functions/src/financial.rs
# docs/function-parity.md
# docs/gaps.md
# docs/target-app-parity.md
2026-10-11 11:44:46 -04:00
Brandon Thomas
f91f7bc154
Merge pull request #276 from vangel76/feat/odd-bond-functions
...
Functions: ODDFPRICE, ODDFYIELD, ODDLPRICE, ODDLYIELD (#275 )
# Conflicts:
# ROADMAP.md
2026-10-11 11:43:49 -04:00
Brandon Thomas
59deadc4c3
Merge pull request #285 from vangel76/fix/currency-paste
...
Clipboard: pasted currency cells keep the number from the clipboard HTML (#257 )
2026-10-11 11:43:48 -04:00
Brandon Thomas
96703b79d4
Merge pull request #278 from vangel76/fix/fill-handle-ctrl-series
...
Fill handle: Ctrl+drag swaps copying and extending a series (#264 )
# Conflicts:
# ROADMAP.md
2026-10-11 11:43:47 -04:00
Brandon Thomas
4ea12e967b
Merge pull request #242 from diegozpy/i18n/es-interfaz
...
i18n: Spanish interface translation (the Español option only localized formulas)
2026-10-11 11:42:40 -04:00
Brandon Thomas
f6628954fc
Merge pull request #263 from alexanderalber/fix/201-filter-header-row
...
AutoFilter: a selected header row filters the data below it; search box in the filter menu (#201 )
2026-10-11 11:42:38 -04:00
Brandon Thomas
3b0da1d760
Merge pull request #254 from nihilist-narwhal/fix-typed-dates-and-times
...
Typed dates before 1900 stay text; typed times past 24 hours keep their hours
2026-10-11 11:42:37 -04:00
Brandon Thomas
77e6a4a46d
Merge pull request #251 from nihilist-narwhal/fix-conditional-format-layers
...
Conditional formatting: apply every matching rule; Cell Value rules as in Excel
2026-10-11 11:42:36 -04:00
Brandon Thomas
47dcd84e04
Merge pull request #282 from vangel76/fix/name-box-enter
...
UI: Name Box Enter goes to the typed cell, not the one below (#247 )
2026-10-11 11:24:39 -04:00
Brandon Thomas
331a535d3c
Merge pull request #277 from vangel76/fix/linux-font-panic
...
UI: skip system fonts egui can't parse instead of panicking at startup (#226 )
2026-10-11 11:24:38 -04:00
Brandon Thomas
c97f025459
Merge pull request #248 from MacJedi42/fix/excel-15-digit-display
...
Accuracy: round an exact tie at the 16th significant digit toward zero
2026-10-11 11:24:37 -04:00
Brandon Thomas
85f0320f5c
Merge pull request #267 from alexanderalber/fix/64-write-at-as-single
...
XLSX: write `@` as `_xlfn.SINGLE` in a dynamic-array formula (#64 )
# Conflicts:
# crates/xlsx/src/tests/roundtrip.rs
2026-10-11 11:24:36 -04:00
Brandon Thomas
1eb7796724
Merge pull request #262 from alexanderalber/fix/235-icon-set-cfvo
...
XLSX: write one cfvo per icon in icon-set rules (#235 )
# Conflicts:
# contributors/people.toml
2026-10-11 11:24:22 -04:00
Brandon Thomas
aa7c97adb9
Merge pull request #255 from nihilist-narwhal/fix-sort-and-duplicates
...
Sort and Remove Duplicates: compare text the way Excel does
2026-10-11 11:24:00 -04:00
Brandon Thomas
d059a5b5a4
Merge pull request #252 from nihilist-narwhal/fix-choose-array-index
...
CHOOSE: pick element by element when the index is an array
2026-10-11 11:23:59 -04:00
Brandon Thomas
46cd4d7b72
Merge pull request #250 from nihilist-narwhal/fix-criteria-blank-cells
...
Criteria: text patterns don't match blank cells
2026-10-11 11:23:58 -04:00
Brandon Thomas
711339e2ef
Merge pull request #253 from MacJedi42/contributors/add-macjedi42
...
Add MacJedi42 to the contributor names
# Conflicts:
# contributors/people.toml
2026-10-11 11:23:52 -04:00
Brandon Thomas
45819abd09
Merge pull request #274 from vangel76/contributors-vangel76
...
Add vangel76 to the contributor names
2026-10-11 11:23:33 -04:00
Brandon Thomas
e1939aac68
Merge pull request #272 from ttrudging/fix/paste-deadlock
...
Fix Paste button deadlock in ribbon
2026-10-11 11:23:32 -04:00
Brandon Thomas
2559426c60
Merge pull request #222 from Zarvinx/fix/macos-icon-size
...
macOS: use the correctly padded Dock icon
2026-10-11 11:23:31 -04:00
Brandon Thomas
96af804cb5
Merge pull request #223 from Dejan-Port/fix-web-edit-loss
...
fix: Save toolbar button and saveChanges dialog discard an in-progress cell edit
2026-10-11 11:23:30 -04:00
Brandon Thomas
1cd3d4af5d
Merge pull request #231 from pkibiego/security/quick-xml-0.41
...
XLSX: bump quick-xml 0.38 -> 0.41 (RUSTSEC-2026-0195 namespace-declaration DoS)
2026-10-11 11:23:29 -04:00
Brandon Thomas
f7c40e3d7e
Merge pull request #232 from webdevtodayjason/fix/selection-move-overflow
...
selection.move: clamp extreme dr/dc to the sheet edge instead of overflowing
2026-10-11 11:23:28 -04:00
Brandon Thomas and Claude Opus 5.5
9f896c1249
Bump version to 0.5.0 for release ( #227 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 19:10:53 -04:00
Brandon Thomas and Claude Opus 5.5
90b3c41eec
Fix-up: #83 's array-export test expects #156 's legacy-array read (cached values refilled on recalc)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:59:42 -04:00
Brandon Thomas and Claude Opus 5.5
c6392e6380
Fix-up: chartex frames use the (open, close) anchor tags after merging #161 onto the move-only anchor change
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:52:46 -04:00
Brandon Thomas
502c588690
Merge pull request #164 from LloydNicholson/macos-open-documents
...
macOS: open documents from Finder, the Dock and `open -a` (#69 )
# Conflicts:
# apps/gridcraft/src/main.rs
2026-10-10 15:50:57 -04:00
Brandon Thomas
88d0c772fb
Merge pull request #161 from nihilist-narwhal/fix-chart-kinds-roundtrip
...
Charts: histogram, box & whisker, waterfall, funnel, treemap and sunburst keep their kind through XLSX
2026-10-10 15:50:48 -04:00
Brandon Thomas
f23281db8c
Merge pull request #144 from harrisonoconnorhover/codex/cross-sheet-cut
...
Preserve formula references when cutting cells across sheets
# Conflicts:
# ROADMAP.md
# crates/formula/src/adjust.rs
# crates/formula/src/tests.rs
2026-10-10 15:48:08 -04:00
Brandon Thomas
49fbae245a
Merge pull request #156 from nihilist-narwhal/fix-legacy-array-formulas
...
Legacy array formulas: fill the range they were entered in
# Conflicts:
# crates/engine/src/cmd/edit.rs
# crates/ui-egui/src/formula_bar.rs
2026-10-10 15:47:56 -04:00
Brandon Thomas
de0c715662
Merge pull request #186 from MarekSpodBiedry/issue-126
...
Write comment and hyperlink maps with A1 keys so JSON save works (#126 )
# Conflicts:
# crates/engine/src/tests.rs
2026-10-10 15:47:35 -04:00
Brandon Thomas
b07249de75
Merge pull request #160 from itrycodinganditsbad/fix-month-fill-clamp
...
fill: clamp month and year date series to the month's last day
# Conflicts:
# crates/engine/src/tests.rs
2026-10-10 15:47:32 -04:00
Brandon Thomas and Claude Opus 5.5
c15a51c959
Fix-up: move the #179 table-style test module to the end of tables.rs after merging #149
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:47:19 -04:00
Brandon Thomas
dd185ff12f
Merge pull request #157 from nihilist-narwhal/fix-blocked-spill-dependents
...
Recalc: formulas over a blocked spill see #SPILL!; no spilling in tables
2026-10-10 15:47:12 -04:00
Brandon Thomas
c3cfc92186
Merge pull request #155 from nihilist-narwhal/fix-range-blank-cells
...
Ranges keep their size past the used range; spilled blanks show 0
2026-10-10 15:47:12 -04:00
Brandon Thomas
9fea6235f7
Merge pull request #148 from nihilist-narwhal/fix-stale-recalc-values
...
Recalc: stale spills and values after edits (fixes #133 , #139 )
2026-10-10 15:47:12 -04:00
Brandon Thomas
84a414a705
Merge pull request #158 from nihilist-narwhal/fix-chart-kinds-combo-stock
...
Charts: combo and stock charts keep their kind in XLSX
2026-10-10 15:47:11 -04:00
Brandon Thomas
1e5edbd43c
Merge pull request #154 from nihilist-narwhal/fix-repeated-headers
...
Repeated headers: number pivot fields and table columns in linear time
2026-10-10 15:47:11 -04:00
Brandon Thomas
5c456df4b7
Merge pull request #152 from nihilist-narwhal/fix-whole-sheet-selection
...
Whole-sheet selection: Fill and Remove Duplicates no longer run out of memory or time
2026-10-10 15:47:10 -04:00
Brandon Thomas
92fb7cd1b3
Merge pull request #149 from nihilist-narwhal/fix-table-header-edits
...
Tables: typing in the header row renames the column; Go To a table selects its data
# Conflicts:
# crates/engine/src/tables.rs
2026-10-10 15:47:10 -04:00
Brandon Thomas
5545e72944
Merge pull request #188 from MarekSpodBiedry/issue-145
...
Release focus when the sheet tab rename ends (#145 )
2026-10-10 15:46:34 -04:00
Brandon Thomas
960c79a328
Merge pull request #187 from MarekSpodBiedry/issue-57
...
Compare numbers at 15 significant digits like Excel (#57 )
2026-10-10 15:46:33 -04:00
Brandon Thomas
645782f5e3
Merge pull request #185 from MarekSpodBiedry/issue-135
...
Report an error when file commands get no file in MCP and CLI (#135 )
2026-10-10 15:46:32 -04:00
Brandon Thomas
87d64f20e1
Merge pull request #184 from MarekSpodBiedry/issue-136
...
Honor search in the desktop engine.commands handler so connected list_commands filters (#136 )
2026-10-10 15:46:32 -04:00
Brandon Thomas
d031c8f37e
Merge pull request #183 from MarekSpodBiedry/issue-140
...
Shrink 3-D sheet spans when an end sheet is deleted (#140 )
2026-10-10 15:46:31 -04:00
Brandon Thomas
cda29c5b73
Merge pull request #182 from MarekSpodBiedry/issue-141
...
Deliver Export as PDF as a browser download (#141 )
2026-10-10 15:46:30 -04:00
Brandon Thomas
c21123e375
Merge pull request #181 from MarekSpodBiedry/issue-127
...
Keep comma when a semicolon or tab is missing from some CSV lines (#127 )
2026-10-10 15:46:29 -04:00
Brandon Thomas
75ede09917
Merge pull request #180 from MarekSpodBiedry/issue-129
...
Keep the untouched part of a data validation range when clearing or replacing part of it (#129 )
2026-10-10 15:35:45 -04:00
Brandon Thomas
14402fc5a3
Merge pull request #179 from MarekSpodBiedry/issue-130
...
Clamp table style number to 1 so zero-numbered styles don't underflow (#130 )
2026-10-10 15:35:44 -04:00
Brandon Thomas
e9fb005eed
Merge pull request #178 from MarekSpodBiedry/issue-134
...
Rename sheet-qualified defined names with their sheet (#134 )
2026-10-10 15:35:44 -04:00
Brandon Thomas
5578c09e55
Merge pull request #159 from itrycodinganditsbad/fix-min-no-args
...
functions: MIN() accepts zero arguments
2026-10-10 15:35:43 -04:00
Brandon Thomas
00df1908a7
Merge pull request #153 from nihilist-narwhal/fix-jump-without-direction
...
selection.move: Ctrl+arrow without a direction no longer loops forever
2026-10-10 15:35:42 -04:00
Brandon Thomas
c4e4aeb293
Merge pull request #151 from nihilist-narwhal/fix-current-region
...
Current region: grow past 10,000 rows, in linear time
2026-10-10 15:35:42 -04:00
Brandon Thomas
20aa531d8c
Merge pull request #150 from nihilist-narwhal/fix-paste-special-operations
...
Paste Special operations: keep text, errors and formulas
2026-10-10 15:35:41 -04:00
Brandon Thomas and Claude Opus 5.5
11ef0e6b04
Maintainer fix-up: compare clearly different numbers directly, skipping the 15-digit text round trip on the sort/lookup hot path
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:35:13 -04:00
Brandon Thomas and Claude Opus 5.5
dfd3675324
Maintainer fix-up: drop wall-clock assertions from the repeated-headers test (flaky under load; Instant::now is a disallowed method)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:35:10 -04:00
Brandon Thomas and Claude Opus 5.5
f75ded37e7
Merge pull request #105 from harrisonoconnorhover/codex/cell-pictures
...
Add static pictures inside cells with XLSX roundtrip
Rebased onto main (conflicts with #83/#98 and main resolved by maintainer); the contributor's branch does not allow maintainer edits.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:02:44 -04:00
Brandon Thomas and Claude Opus 5.5
59c8e36d36
Merge pull request #83 from harrisonoconnorhover/codex/nonspilling-array-export
...
Preserve array evaluation for non-spilling XLSX formulas
Rebased onto main with a maintainer fix-up (LET bindings via split_last/as_chunks for clippy, no slice indexing); the contributor's branch does not allow maintainer edits.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 15:02:43 -04:00
Brandon Thomas and Claude Opus 5.5
5b15827ede
Maintainer fix-up: leave English formula display untouched, match engine formula detection
...
English (and languages without a formula table) now shows stored formula
text verbatim instead of re-parsing it every frame; localized entry no longer
trims leading spaces before formula detection (" =1" stays text, as in the
engine). Adds a display round-trip test for string literals containing
separators, decimal commas and the intersection operator.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 14:49:52 -04:00
Brandon Thomas
3e40014eb0
Merge pull request #98 from harrisonoconnorhover/codex/spanish-formulas
...
Support common Spanish formula names and semicolon arguments
2026-10-10 14:49:52 -04:00
Brandon Thomas
82f42713a8
Merge pull request #108 from harrisonoconnorhover/codex/desktop-shortcut
...
Offer an optional desktop shortcut in the Windows installer
# Conflicts:
# ROADMAP.md
2026-10-10 14:32:51 -04:00
Brandon Thomas and Claude Opus 5.5
60aa2dfe07
Progress docs: target-app parity, gaps, alpha gate, readiness by audience ( #189 )
...
Progress docs per craftrules standards/progress-docs.md: target-app parity, gaps, roadmap with alpha gate, readiness by audience (full / mainstream / essentials) with Opus 5.5 hours, and feature, format, hardware, UI and localization parity docs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 14:09:06 -04:00
Brandon Thomas
e72e16a0ec
Merge pull request #82 from edurbs/feat/i18n-portuguese
...
i18n: Brazilian Portuguese interface language (#79 )
2026-10-10 13:25:35 -04:00
Brandon Thomas
580b14eeb9
Merge pull request #104 from neko233-com/feature/i18n-zh-ko-ru
...
i18n: add Simplified Chinese, Korean and Russian UI
2026-10-10 13:25:34 -04:00
Brandon Thomas
837bb00f2b
Merge pull request #31 from justinjohn0306/feat/i18n-language
...
i18n: switch the interface language, defaulting to the system language (#20 )
2026-10-10 13:25:34 -04:00
Brandon Thomas
4f10e48128
Merge pull request #38 from justinjohn0306/fix/thai-hebrew-font-fallback
...
Fonts: render Thai and Hebrew (and other non-Latin scripts) instead of tofu (#32 )
2026-10-10 13:25:33 -04:00
Brandon Thomas
f2ed982fdd
Merge pull request #12 from justinjohn0306/fix/anchor-mode-sort
...
Objects: anchor modes — images/charts/shapes follow cells on sort (#5 )
# Conflicts:
# crates/engine/src/tests.rs
2026-10-10 13:17:30 -04:00
Brandon Thomas
eb4174723d
Merge pull request #17 from justinjohn0306/fix/encrypted-file-message
...
File open: report password-protected (encrypted) files clearly (#11 )
# Conflicts:
# crates/engine/src/io.rs
2026-10-10 13:17:21 -04:00
Brandon Thomas
bd1be73f2d
Merge pull request #62 from justinjohn0306/fix/smooth-line-charts
...
Line charts: smooth (spline) curves (issue #52 )
# Conflicts:
# crates/xlsx/src/tests/mod.rs
2026-10-10 13:17:07 -04:00
Brandon Thomas
13f8f19248
Merge pull request #116 from nihilist-narwhal/fix-chart-switch-and-scatter
...
Charts: Switch Row/Column on charts read from a file; scatter with text X values
2026-10-10 13:16:59 -04:00
Brandon Thomas
76f9e2625f
Merge updated #104 (latest main) into feat/i18n-portuguese
2026-10-10 13:15:11 -04:00
Brandon Thomas
d51d4e51b9
Merge updated #31 (latest main) into feature/i18n-zh-ko-ru
2026-10-10 13:15:11 -04:00
Brandon Thomas
6e935a3c8c
Merge origin/main into feat/i18n-language
...
# Conflicts:
# crates/engine/src/cmd/file.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/ribbon.rs
2026-10-10 13:15:10 -04:00
Brandon Thomas
19094e2d62
Merge pull request #36 from harrisonoconnorhover/fix/rich-table-clipboard
...
Fix copying selected cells as rich HTML tables
2026-10-10 12:58:38 -04:00
Brandon Thomas
e20a7b41af
Merge pull request #84 from harrisonoconnorhover/codex/text-box-editing
...
Allow editing and selecting text inside worksheet text boxes
2026-10-10 12:58:37 -04:00
Brandon Thomas
cb794080b9
Merge pull request #43 from harrisonoconnorhover/codex/ribbon-keytips
...
Add initial Alt ribbon keytips and legacy shortcuts (#33 )
2026-10-10 12:58:36 -04:00
Brandon Thomas and Claude Opus 5.5
7f2146476e
Fix clippy on main: allow the clock read in native-only import tests
...
#101/#100 added tests that name temp dirs with SystemTime::now(); #125 's
disallowed-methods lint (wasm has no clock) landed alongside them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 12:58:22 -04:00
Brandon Thomas and Claude Opus 5.5
ca4011dc5e
Review fix-up: merge fixed #104 ; Portuguese as an i18n/pt.rs module
...
Merge the fixed #104 branch (which carries #31 and #38 ) and restructure
the Brazilian Portuguese language onto its per-language layout:
- The PORTUGUESE table moves, unchanged, to crates/ui-egui/src/i18n/pt.rs
as pt::translate, like zh/ko/ru. Language::PtBr gets code() "pt"
(parse also accepts pt-BR/pt_BR via the tag reduction); it is still
saved as "pt".
- No per-language command: the View combo and the control channel switch
with app.language.set {"language": "pt"} (app.language.portuguese is
dropped); error text, engine.commands params and the snapshot example
list every code.
- pt.rs covers the keys added since (Page Layout|Orientation, the display
theme combo, and the Sheet Options View/Print checkboxes, Exibir /
Imprimir); the coverage test checks pt like zh/ko/ru.
- people.toml keeps both new contributor entries.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 12:54:33 -04:00
Brandon Thomas
b68ae0fe53
Merge pull request #100 from harrisonoconnorhover/codex/ods-import
...
Import worksheet data and cached values from ODS files
2026-10-10 12:52:43 -04:00
Brandon Thomas
09b1ac8d16
Merge pull request #101 from harrisonoconnorhover/codex/xlsb-import
...
Import worksheet data and cached results from XLSB workbooks
2026-10-10 12:52:42 -04:00
Brandon Thomas and Claude Opus 5.5
f54c0ca2a6
Review fix-up: merge fixed #31 ; language-ordered Han faces on #38 's fallback
...
Merge the fixed #31 branch (which carries #38 's font fallback) and resolve:
- theme.rs: build on #38 's fallback_faces/load_fallback instead of the old
load_cjk. The interface language only reorders the two Han entries
(sys-cjk-han-ja / sys-cjk-han-zh; Japanese first for ja, Chinese first
otherwise); Hangul, Thai and Hebrew keep their place. The region-merged
Noto Sans CJK .ttc is loaded once, with the leading language's face index.
- Fonts are rebuilt on a language switch only when the Han order changes
(HanOrder), not on every switch. font_definitions()/setup_context() use
the default order and never read the host locale.
- Tests stay locale-independent (UiState defaults to English; the desktop
app applies the system language). The web build follows the browser
language except CJK, which would render as tofu without system fonts.
- app.language.set error/params list all five codes; engine.commands lists
it. zh/ko/ru gain the keys #31 added (Page Layout|Orientation, display
theme). The Page Layout screen checkbox keeps English "View" via a
"Sheet Options|View" key (was shown as "Screen").
- Coverage test checks zh/ja/ko/Thai/Hebrew/Cyrillic in both the UI and
cell families by comparing glyphs with the tofu glyph.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 12:52:00 -04:00
Brandon Thomas and Claude Opus 5.5
e8ec40da8b
Review fix-up: build test anchors with ..Anchor::default()
...
Keeps the smooth round-trip test compiling as Anchor gains fields (e.g. #12 's anchor mode).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 12:45:00 -04:00
Brandon Thomas and Claude Opus 5.5
d7c77e94cd
Review fix-up: locale-independent defaults, lenient saved language, listed commands
...
- UiState::default() is English: tests, the kittest harness and the
snapshot example no longer depend on the host's locale. The desktop app
alone starts from the system language, when ui.json names no supported
language (first run, an older file, an unknown value).
- An unknown or malformed saved language reads as English instead of
failing the whole UiState and resetting every other preference.
- app.language.set takes {"language": "ja"} (with `code` as an alias, the
name the PR description used); the View combo now uses it via
Language::code(). The app.language.* commands are listed by
engine.commands with the other UI commands and documented in
docs/control-protocol.md.
- Home's text "Orientation" (方向) and Page Layout's print "Orientation"
(印刷の向き) get separate keys through a `context|label` key form.
- Japanese: Hide Rows → 行を表示しない, Trace Dependents → 参照先のトレース;
translate the display-theme combo merged in from main.
- system_theme test: the View tab now has two combo boxes; pick the theme one.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 12:44:57 -04:00
Brandon Thomas and Claude Opus 5.5
fa9c6798ab
Review fix-up: sort moves only objects inside the block; picture default oneCell
...
Re-anchor loop zips objects with their measured corners instead of indexing; a sort moves
only objects anchored inside the sorted block on the other axis too (a picture at Z3 stays
put when A1:B4 is sorted). insert.picture defaults to Move but don't size (Excel's
editAs="oneCell", which the writer emits for it), and object.setAnchorMode errors on an
unknown or empty kind. Tests for each.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 12:41:17 -04:00
Brandon Thomas
b5fe936d83
Merge pull request #66 from LloydNicholson/fix/recalc-range-dependents
...
Issue #122 : Recalc: linear in the number of range formulas
2026-10-10 12:40:00 -04:00
Brandon Thomas
c450b545a6
Merge pull request #125 from LloydNicholson/fix/wasm-commit-trap
...
Issue #118 : committing a cell in the web app no longer traps on the clock
2026-10-10 12:39:58 -04:00