add xlsx export suppport to workspace-sheets blueprint - #433
add xlsx export suppport to workspace-sheets blueprint#433maxwellpeterson wants to merge 9 commits into
Conversation
Preview:
|
|
Findings
|
26389f9 to
8b78cde
Compare
|
@maxwellpeterson Bonk workflow failed. Check the logs for details. View workflow run · To retry, trigger Bonk again. |
|
Submitted one review with 3 actionable inline findings. |
|
Submitted one review with 3 actionable inline findings. |
|
Submitted one review with 2 actionable inline findings. Focused XLSX tests pass ( |
|
Submitted one review with 3 actionable inline findings. |
| if (cell.value === "") return `<c r="${cell.reference}"${style}/>`; | ||
| const parsed = parsedCellValue(cell.value, formulaNames); | ||
| if (parsed.type === "blank") return `<c r="${cell.reference}"${style}/>`; | ||
| if (parsed.type === "formula") return `<c r="${cell.reference}"${style}><f>${formulaXml(parsed.value)}</f></c>`; |
There was a problem hiding this comment.
client.js discards whitespace while tokenizing, so =SUM (1,2) is supported and evaluates to 3. This emits it verbatim as <f>SUM (1,2)</f>, but OOXML function-call syntax requires SUM to be immediately followed by its parameter list (a space is the reference-intersection operator), making the exported formula invalid when Excel recalculates it. Normalize function-call whitespace before emission, or export formulas with this app-only syntax as text.
|
Submitted 1 inline finding. Additional findings:
|
|
All contributors have signed the CLA ✍️ ✅ |
7eece2b to
87aa007
Compare
|
Findings
Focused tests pass ( |
…king and dispose dropped stubs
|
Findings
|
There was a problem hiding this comment.
Devin Review found 1 new potential issue.
1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
| return this.enqueueMutation(async () => { | ||
| const document = await this.assembleDocument(await this.loadMeta()); |
There was a problem hiding this comment.
🟡 Failed subscriptions leak callback capabilities
When snapshot assembly fails, subscribe abandons the duplicated callback before registration. The caller gets an error, but its server capability remains allocated.
Prompt for agents
In packages/workshop-backend/format-blueprints/workspace-sheets/files/server.js, Gadget.subscribe duplicates the callback before enqueueing snapshot assembly. If loadMeta or assembleDocument rejects, the duplicate was never added to subscribers, so dropSubscriber cannot release it. Ensure every failure before successful registration disposes dup exactly once, while preserving the queued snapshot-and-registration ordering and the existing onRpcBroken cleanup.
Was this helpful? React with 👍 or 👎 to provide feedback.
update built-in sheets blueprint to support xlsx export