feat(web): establish Excel Web foundation - #3
Draft
uirmb wants to merge 202 commits into
Draft
Conversation
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.
Excel Web foundation — first deployable validation baseline
Independent GenOffice Sheets Web application on top of the validated Word/PPT
office:*lifecycle.Development branch:
agent/xlsx-web-foundation.Base:
agent/ppt-web-foundation.Current head:
b89fd931c3cea81c74b15326ffb50d1125c73d9e.Architecture
OfficeHostApi/office:*iframe protocol.xlsx-engine-service; browser save reuses the shared preservation planner./xlsx-engine/*; Vite/Nginx owns the Rust proxy.uc-plugin-rpc-*file APIs tooffice:*.office:pick-fileHost contract; onlyaccept,multipleandmodediffer.Web product shell aligned with Word / PPT
Filemenu pattern used by Word/PPT, with Excel-green product accent.ai:false, no Genspark AI entry, Copilot dock, AutoSave control or AI-oriented ready text is visible; the normal initial status isReady/就绪.127.0.0.1:5275; URL resolution is?sheetsUrl→VITE_SHEETS_URL→ current hostname on port 5275.Correlated UC window-close lifecycle
OFFICE_PROTOCOL_VERSION = 1and now consumed by Sheets Web for Host-driven window close.office:request-closewith a transactionrequestId; Excel does not reimplement dirty logic and instead enters the same existing File → ExitrequestExit()flow.office:close-requestwith the samerequestIdandreason: window-close.office:close-requestwith the samerequestId.office:close-cancelledwith the samerequestIdandreason: user-cancelled.office:request-closemessages are ignored while one close transaction is pending, so repeated UC × clicks cannot stack dialogs.office:close-requestwithreason: file-menuand no requestId.waiting-editorindefinitely.Excel Web capability implemented and browser-verified
refreshOnLoad, native Pivot creation and output-layout refresh/expansion with fail-closed overlap protectionVERSION_CONFLICTbeforesaveResultFile; Save As is exemptAll major renderer XLSX save journals have a Web preservation path and browser coverage. Shared planner guards fail closed for unsupported workbook constructs rather than emitting a partially corrupted package.
Engine production baseline
X-Request-Idcorrelation and JSON request logs with operational fields only/metrics/healthexposes admission capacity/availabilitydeploy/xlsx-engine/Current validation
31579469890): success — File UI plus correlated Host close transaction, including clean close, dirty cancel, duplicate suppression, discard, and save-before-close.31578850014): success on the immediately preceding production-code head — typecheck, Web unit tests, Rust build/session/open/save, five-fixture preservation corpus, production builds and Chromium. The current head only adds the File UI workflow label after that production code.31579469764): success.31579469926): success.31579469894): success.31579469848): success as a measurement workflow.31579469849): report generated successfully; see dependency note below.Compatibility and preservation
Release audit facts
nanoid5.1.11 advisory. This is not represented as security-clean; a scoped lockfile-safe remediation should be validated before public production release.Remaining platform/release work
idle → waiting-editor → allow-oncewindow-close state machineoffice:pick-fileto the same UC system picker used by File → Open for workbook/image/other file selectionnanoidadvisory and rerun all gatesThis branch is suitable for local/test-environment deployment and manual Excel acceptance. The PR intentionally remains Draft and is not merged while the remaining public-production/platform work is completed.