Files
ElyOffice/tasks/reviews/C09.2-r1.md
T

3.2 KiB
Raw Blame History

FAIL

apps/ely-table/src/formulas.rs:243 — Name management discards the selected name's scope when jumping (TABLE-06). Define Local as $B$2 in worksheet Other, switch to the first worksheet, select Local (Other) in Names, and press Go To. The handler sends cell.goto("Local"); the patched engine returns cell.goto: the kernel reported Some((".uno:GoToCell", false)), and the target remains unselected. A workbook name shadowed by a same-named local name also resolves according to the current sheet instead of the selected entry. The existing name test only jumps to the global Rate. Fix: resolve and navigate the exact selected scope through the kernel; add cross-sheet local-name and shadowed-global-name regressions.

apps/ely-table/src/formulas.rs:91 — Define Name snapshots the selection before queued input and its callbacks settle. From A1, queue cell.goto("B2:C3") and immediately invoke Define Name. After the view settles on B2:C3, the dialog still contains '工作表1'!$A$1; submitting defines the name on the old cell. An isolated GPUI/real-worker regression reproduced this stale range. This contradicts the documented default of the selected area's absolute reference. Fix: retain the originating tab ID, wait for its input and selection state, then populate the dialog from that tab; cover pending cell and worksheet changes.

apps/ely-table/src/formulas.rs:104 — A named selection silently becomes an empty default reference. Define Area on B2:C3, move to A1, jump to Area through the name box, then invoke Define Name again. CELL_ADDRESS now contains Area; refers_to accepts only A1 addresses, so unwrap_or_default clears the Refers to field and disables Define despite a valid selection. Both a real-worker regression and the native AX tree reproduced the empty field while the name box showed Area. This violates the selected-range default and the rule against silent fallbacks. Fix: obtain the actual selected range, resolving named selections through the kernel, and surface an actual resolution failure; add this selection path to the tests.

apps/ely-table/src/formulas.rs:188 — The deferred Names action changes its target workbook. With two named workbooks open, queue an edit in workbook A, invoke Names before it settles, and switch to B. The continuation calls ask_names again using core.active, so the resulting dialog lists B's names and its Apply/Delete actions operate on B. An isolated GPUI/real-worker test captured originating tab ID 1 and dialog tab ID 0. Fix: pass the captured tab ID through the continuation and read names from that workbook; test a tab switch during the wait and verify subsequent mutations stay on the originating workbook.

patches/libreoffice/0015-aqua-no-wait-with-a-due-timer.patch:8 — Added comments violate the one-line, ten-word rule. python3 tests/scripts/comments.py exits 1: lines 8–9 form a two-line comment and each exceeds ten words. The same check reports overlong scoped comments at crates/ely-lok/src/client/tests/formula.rs:7, crates/ely-lok/src/sheet.rs:234, crates/ely-lok/src/view/formula.rs:102, apps/ely-table/src/sheets.rs:127, and patches/libreoffice/0014-lok-calc-formula-entry-and-names.patch:117 and :228. Fix: shorten each comment to a single line of at most ten words and rerun the comment check.