prxnvt
66f7993ba5
Merge main into #462
...
# Conflicts:
# crates/engine/src/lib.rs
# crates/engine/src/tests.rs
# docs/architecture.md
2026-10-22 02:30:25 -04:00
prxnvt
471114e296
Engine: a visible name of the item shape is not workbook data
...
The item store read, listed and removed every workbook-scope name of the `_gc_<key>_<n>` shape,
visible or not, so saving an item removed a person's own visible name that happened to look like
one. Items are the hidden names the store writes; a legacy `_sc_<key>` name still reads. A visible
`_gc_` name is left alone by every operation, and writing an item that would need that name is
refused before anything changes: a hidden name beside it with the same name is the one an xlsx
file drops, so the item would be lost on save.
2026-10-22 02:24:55 -04:00
prxnvt
2287f63a95
Engine: a group rolled back inside a command keeps the redo history
...
A command that changed the workbook cleared the redo history even when an open group owned
its step. When the group was then rolled back inside the same command (the debugger's Stop
with Undo Changes), the rollback put the redo history back and the command's bookkeeping cleared
it again. Now only a command that makes a step of its own clears the redo history; a group
clears it when it ends as a step, and a rollback restores it.
2026-10-22 02:00:54 -04:00
prxnvt
eb3eaa052d
Engine: a command keeps its group's name only for a group it ended itself
...
The record of the last group step (document, history length, epoch) outlived the Undo of that
step. A later command that opened and closed its own groups at the same history length, after
rolling one back, passed the epoch check (the record's epoch merely differed from the one the
command started with) and took the name of the nested edit it had made instead of its own.
The step must now come from a group ended during the command (an epoch past the command's
starting one), and a rollback drops a record of a step it truncated away.
2026-10-22 01:36:01 -04:00
aiongg
06920de8da
Merge pull request #2226 from aiongg/next
...
Backlog integration: 230 reviewed fixes and reference app behaviour changes
2026-10-22 00:53:18 -04:00
aiongg
6f10378b17
Integration: #1320 font-measure AutoFit tests in their own test binary
...
They run the process-wide installed-font scan, whose faces bind from the
next frame; in the same process as the header drag tests they changed text
widths under them, which failed those tests about 1 run in 4 in parallel.
2026-10-22 04:22:36 +00:00
aiongg
c4c7f747c7
Integration: keytip NR test gives the sheet data so the Insert Chart dialog opens
2026-10-22 03:54:39 +00:00
aiongg
818175f51e
Integration: Japanese catalog covers the reference catalog's new keys; clear the texture delta in the completion test
2026-10-22 03:32:41 +00:00
aiongg
c7016fb724
Integration: fix struct literals and call signatures after combining tracks (Series.quartiles, Comment.note_box, Image data Arc, signature language)
2026-10-22 03:11:35 +00:00
aiongg
cde364f269
Integration: cargo fmt after combining tracks
2026-10-22 03:08:30 +00:00
aiongg
d5cdd2ea2b
Integration: track t15
...
# Conflicts:
# contributors/people.toml
# crates/engine/src/tests.rs
# docs/file-format-parity.md
# docs/localization-parity.md
2026-10-22 03:05:39 +00:00
aiongg
561382cc6d
Integration: track t14
...
# Conflicts:
# ROADMAP.md
# contributors/people.toml
# crates/formula/src/tests.rs
# docs/file-format-parity.md
# docs/localization-parity.md
# docs/ui-parity.md
2026-10-22 03:05:30 +00:00
aiongg
ca1cdd4229
Integration: track t13
...
# Conflicts:
# ROADMAP.md
# contributors/people.toml
# crates/engine/src/cmd/data.rs
# crates/xlsx/src/tests/mod.rs
# docs/chart-parity.md
# docs/file-format-parity.md
# docs/function-parity.md
# docs/gaps.md
# docs/localization-parity.md
# docs/target-app-parity.md
2026-10-22 03:05:18 +00:00
aiongg
c7fd66d807
Integration: track t12
...
# Conflicts:
# ROADMAP.md
# crates/calc/src/tests.rs
# crates/chart/src/tests.rs
# crates/engine/src/tests.rs
# crates/xlsx/src/tests/mod.rs
# docs/chart-parity.md
2026-10-22 03:05:03 +00:00
aiongg
9350ab1def
Integration: track t11
...
# Conflicts:
# ROADMAP.md
# apps/gridcraft-web/Cargo.toml
# crates/ui-egui/src/i18n.rs
# docs/control-protocol.md
# docs/gaps.md
# docs/target-app-parity.md
# docs/ui-parity.md
2026-10-22 03:04:52 +00:00
aiongg
4c5c345c31
Integration: track t10
...
# Conflicts:
# ROADMAP.md
# crates/ui-egui/tests/sheet_tabs.rs
# crates/xlsx/src/tests/roundtrip.rs
# docs/gaps.md
# docs/ui-parity.md
2026-10-22 03:04:30 +00:00
aiongg
6dda6be2c6
Integration: track t09
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/src/i18n/pt.rs
# docs/file-format-parity.md
# docs/target-app-parity.md
# docs/ui-parity.md
2026-10-22 03:04:21 +00:00
aiongg
d3201e7cea
Integration: track t08
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/tests.rs
# docs/file-format-parity.md
# docs/localization-parity.md
2026-10-22 03:03:55 +00:00
aiongg
a680ac59f0
Integration: track t07
...
# Conflicts:
# crates/calc/src/tests.rs
# docs/function-parity.md
2026-10-22 03:03:23 +00:00
aiongg
cfda01c831
Integration: track t06
...
# Conflicts:
# ROADMAP.md
# contributors/people.toml
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/tests/interaction.rs
# docs/gaps.md
# docs/localization-parity.md
2026-10-22 03:03:17 +00:00
aiongg
4c81d658ec
Integration: track t05
...
# Conflicts:
# crates/ui-egui/tests/keyboard_shortcuts.rs
# docs/ui-parity.md
2026-10-22 03:01:39 +00:00
aiongg
512b2aa9fd
Integration: track t04
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/cmd/edit.rs
# crates/engine/src/cmd/formulas.rs
# crates/engine/src/tests.rs
# crates/formula/src/lib.rs
# crates/formula/src/parser.rs
# crates/formula/src/tests.rs
# crates/ui-egui/src/control.rs
# crates/ui-egui/src/formula_bar.rs
# crates/ui-egui/src/grid.rs
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/ribbon.rs
# crates/ui-egui/tests/selection.rs
# docs/function-parity.md
# docs/ui-parity.md
2026-10-22 03:01:31 +00:00
aiongg
b0b6409112
Integration: track t03
...
# Conflicts:
# ROADMAP.md
# crates/ui-egui/tests/keyboard_shortcuts.rs
# docs/file-format-parity.md
# docs/localization-parity.md
# docs/ui-parity.md
2026-10-22 03:00:13 +00:00
aiongg
54d0f7cfc0
Integration: track t02
...
# Conflicts:
# ROADMAP.md
# crates/core/src/lib.rs
# crates/ui-egui/src/editor.rs
# crates/ui-egui/src/grid.rs
# crates/ui-egui/src/tabs.rs
# docs/chart-parity.md
# docs/localization-parity.md
# docs/ui-parity.md
2026-10-22 02:59:55 +00:00
aiongg
f193f0d834
Integration: track t01
2026-10-22 02:58:49 +00:00
aiongg
d056570d97
Integration: cargo fmt
2026-10-22 02:57:51 +00:00
aiongg
21c3ec248c
Integration: cargo fmt
2026-10-22 02:51:29 +00:00
aiongg
ec61d59b41
Integration: cargo fmt
2026-10-22 02:50:46 +00:00
aiongg
55aeed6f1a
Integration: cargo fmt
2026-10-22 02:48:11 +00:00
aiongg
1b4b51225d
Integration: #1912 restore the end of add_page lost in the merge resolution
2026-10-22 02:47:32 +00:00
aiongg
b35b5a8b9d
Integration: cargo fmt
2026-10-22 02:46:29 +00:00
aiongg
7b47c5a846
Integration: #995 test builds Image.data as Arc<Vec<u8>> (after #1629 )
...
shared_media.rs predates the Arc change; literals and comparisons use .into() and to_vec().
2026-10-22 02:46:21 +00:00
aiongg
55877df80f
Integration: cargo fmt
2026-10-22 02:46:00 +00:00
aiongg
f02f446905
Integration: #1194 drop the duplicate Cut and Copy German arms ( #1830 already translates them)
2026-10-22 02:45:54 +00:00
aiongg
4ac3f2fa64
Integration: cargo fmt
2026-10-22 02:45:35 +00:00
aiongg
1d9b29ff57
Integration: cargo fmt
2026-10-22 02:45:22 +00:00
aiongg
c37298b468
Integration: #1151 test literal gains the category_levels field from #1088
2026-10-22 02:40:38 +00:00
aiongg
36c9df453f
Integration: order localization-parity revision rows newest first
2026-10-22 02:39:29 +00:00
aiongg
47bf083d0a
Integration: #2116 move name_sort_key and its test into the existing tests module
2026-10-22 02:39:21 +00:00
aiongg
a1c1fc05de
Merge PR #2116 : Backstage: list the languages alphabetically by their own name
2026-10-22 02:39:08 +00:00
aiongg
d4eabcee96
Merge PR #2106 : Translate form-dialog field labels, choices and notes
2026-10-22 02:39:04 +00:00
aiongg
10ac46c243
Integration: #2102 fill Romanian catalog gap (Options|Editing, English text)
2026-10-22 02:39:04 +00:00
aiongg
0eeaeec0c1
Merge PR #2102 : Romanian (ro) interface language
...
Conflicts:
- crates/ui-egui/src/i18n.rs: language registration lines kept from both sides (Language::ALL has 18 entries).
- crates/ui-egui/tests/file_menu.rs: both language rows kept.
- docs/localization-parity.md: one Last updated line naming all changes; both revision rows kept, newest first.
2026-10-22 02:38:43 +00:00
aiongg
e72d5f290a
Merge PR #2061 : i18n: Dutch (nl) interface language
...
Conflicts:
- crates/ui-egui/src/i18n.rs: language registration lines kept from both sides (Language::ALL has 17 entries).
- ROADMAP.md: one Last updated line naming both changes; both progress-log rows kept.
- docs/localization-parity.md: one Last updated line naming both changes; both revision rows kept.
2026-10-22 02:38:32 +00:00
aiongg
905ef6a6a5
Integration: #2000 remove duplicated Spanish financial alias block
2026-10-22 02:38:15 +00:00
aiongg
4286ac2930
Merge PR #2000 : Spanish formula aliases for financial functions ( #1986 )
2026-10-22 02:38:09 +00:00
aiongg
7649a762ff
Merge PR #1772 : i18n: add Vietnamese interface translations
...
Conflicts:
- crates/ui-egui/src/i18n.rs: language registration lines kept from both sides (Language::ALL has 16 entries).
- docs/localization-parity.md: both revision rows kept.
2026-10-22 02:38:09 +00:00
aiongg
e4c406dbcf
Merge PR #1194 : fix(ui): ribbon tooltips show each platform's shortcuts (Ctrl+B on Windows, ⌘B on macOS) ( #1191 )
...
crates/ui-egui/src/widgets.rs: both test modules kept.
2026-10-22 02:37:51 +00:00
aiongg
8bfe310208
Integration: #1770 register Ukrainian (Language::Uk) and fill 573 missing keys with English text
2026-10-22 02:37:49 +00:00
aiongg
a9a8fe7d20
Integration: #1754 translate the sheet-tab Delete button; Spanish Hide and Autoguardado; test that the sheet-tab and AutoSave labels translate in es, de, fr, ko, ru, zh, sr
2026-10-22 02:37:48 +00:00