Repository navigation
Accounting menu: add the Honduran lempira (L) format (#1893) - #5
Draft
isaac-levine wants to merge 431 commits into
Draft
isaac-levine wants to merge 431 commits into
isaac-levine wants to merge 431 commits into
Conversation
…part Business Central's "Open in Excel" exports write booleans as <c><f>TRUE()</f><v>1</v></c> with no t="b", so the cached value reads back as the number 1 and the calc oracle reported every such cell as a `number → bool` mismatch. A cached 1 or 0 now matches GridCraft's TRUE or FALSE, and the cells are counted apart (`boolAsNumber` in --json, a note in the text report) so a real number/logical disagreement stays visible. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # crates/xlsx/src/tests/passthrough_tests.rs
Brings the branch up to upstream's main (59 more commits). One conflict: - docs/ui-parity.md: every line of both sides is kept, as upstream's own merges keep them, in the order of their dates, newest first (upstream has a change of the 13th now, which goes above this one of the 12th). Gate: all eight steps, 1580 tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # ROADMAP.md # docs/gaps.md # docs/target-app-parity.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # docs/ui-parity.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: skylartaylor <26588250+skylartaylor@users.noreply.github.com>
…ver crash) (storytold#1330) A hostile file could abort any process that opens it: a cell formula of a million `%` (`1%%%…`) or a 200,000-term sum parsed into trees deep enough to overflow the stack when printed, saved, evaluated or dropped, even in release builds. Postfix operators (`%`, invoking a result) built their nesting in a loop that the 256-level limit did not see. - `parse` refuses formula text longer than Excel's 8,192 characters (`MAX_FORMULA_LEN`, counted in characters, the leading `=` excluded). This also bounds the depth of the left-deep trees long operator chains build. - Each postfix `%` and each call of a result counts towards the nesting limit. - A file's formula that is refused keeps its text and cached value, as other unparsable formulas do. Regression tests: formula (small-stack thread: long `%`, invoke and operator chains are errors; the limit counts characters, not bytes) and xlsx (`hostile_formula_text_does_not_overflow_the_stack`: open, save and drop a workbook with such formulas and a defined name on a 1 MiB stack). Both abort with a stack overflow without the fix. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…nter-applies AutoFilter: Enter in the filter menu applies the filter and closes it
…-workflow ci: delegate FreeBSD workflow, add nix check, and remove flatpak-pages
A line that is not a JSON object with a string method, including an HTTP request line, bytes that are not UTF-8 or a line over 64 MiB, gets one error reply and the connection closes before anything after it is read. Request lines are read with a bound instead of buffering them whole.
Close the control port on the first line that isn't a request
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Found while testing crates/engine/src/cmd/pivot.rs:678 (func_param at :248) Co-authored-by: Claude Haiku 5.5 <noreply@anthropic.com>
fixes storytold#1762) (storytold#1768) Crostini's cros-host-fonts mounts the host's fonts under /usr/share/fonts/chromeos (noto/, notocjk/, crosextra/), which none of the fixed Linux path lists reached: Thai, Hebrew, CJK and Symbols 2 fell back to egui's Latin-only faces and drew tofu with the fonts installed, and the UI and cell roles missed Noto Sans and Carlito. Add those folders to each list, with a structural test that every list probes them. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…1163) (storytold#1769) The grid's look() and print's cell_look() layered a rule's fill, font and borders onto the cell style but not its num_fmt, so a cell under a rule with a number format kept its own. Take the rule's code when it isn't General (in a differential style General means "not set", as layer_under treats it). Print also re-formatted every non-General cell from its own style through display::cell_text; format with the look's code instead, through a new display::value_text_as that value_text now calls (CSV/Text output unchanged). Show Formulas keeps cell_text. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Dylan M. Taylor <dylan@dylanmtaylor.com>
* docs: add SonarCloud and CodeRabbit badges to README * docs: put SonarCloud and CodeRabbit badges on their own line
The format code [$L-480A] already formats correctly, but the Accounting drop-down only listed dollar, pound, euro and yen. Add an L Spanish (Honduras) entry and pin the L and HNL outputs in the numfmt tests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GridCraft had no entry for the Honduran lempira. The number format engine already handles a code like
[$L-480A]#,##0.00(symbol before the amount, point decimals, comma grouping), but nothing in the UI offered it, so users had to know the code.This adds an "L Spanish (Honduras)" item to the Accounting drop-down on the Home tab, next to dollar, pound, euro and yen. It also adds numfmt tests that pin the output for
Lwith and without a space and for theHNLISO code, including a negative amount.Ran:
cargo fmt --all -- --check: okcargo clippy -p gridcraft-numfmt -p gridcraft-ui-egui --all-targets -- -D warnings: cleancargo test -p gridcraft-numfmt: 34 passedcargo test -p gridcraft-ui-egui --lib: 94 passedNot verified: the sandbox ran out of disk, so I did not finish the ui-egui integration tests,
cargo xtask layers,cargo xtask wasmor the engine tests. The numfmt tests passed before the ribbon change, so they pin existing behaviour and do not fail without it. The ribbon item itself has no screenshot check, and the label is not translated in the language catalogs.Upstream issue: storytold#1893
Generated by Claude Code