forked from 1b-agent/opencadstudio-upstream
fix: close the review findings on the issue wave
Two reviewers over the #1345/#1348/#1349 wave; no blockers, two majors, several minors — all fixed. - La16 was still billed at 4 B/px: the no-conversion special case keyed on native_bpp == 4, which La16 also is — but only Rgba8 is a real move in into_rgba8, so La16's decode peak is 8. The case now keys on the color type, and a table test pins every layout's peak (plus GIF's screen+frame 8) so the accounting can't silently drift. - A control-routed open of a damaged-but-recoverable drawing parked the operation behind the RecoveryPrompt modal (hang until the JS timeout, silent drop if another op arrived, or false success when a human declined). The open op now settles as failed with recovery_required and the parse error; the prompt stays for humans, automation can retry through the recovery flow. - json_values_match: integers beyond f64 precision compared by value (a u64 could round-trip-match a float); integral pairs now compare exactly and mixed integer/float matches only when the float is whole and equals the integer. - A queued web open settles with the explicit queued marker whenever the open slot was busy (the old name check made same-named in-flight opens look completed with an empty result). - ocs-control.js resolves with the API object reference, not window.ocsControl (undefined if the bridge already existed when the script ran); DATALINK on web says the typed path is superseded by the picker instead of silently discarding it; the wipeout depth test probes past the page background's rectangle; and the plot-path doc comment names the function it actually mirrors.
This commit is contained in:
1 parent
2c38de53e2
commit
d719fb7778
30 files changed
+143
-18
No files matched your search
+7
-2
@@ -21,7 +21,10 @@
|
||||
let readyResolve;
|
||||
const ready = new Promise(resolve => { readyResolve = resolve; });
|
||||
const settle = () => {
|
||||
readyResolve(window.ocsControl);
|
||||
// apiObject is assigned to window.ocsControl at the END of this IIFE;
|
||||
// resolve with the local reference so a synchronous bridge (script
|
||||
// injected late) cannot settle `ready` with undefined.
|
||||
readyResolve(apiObject);
|
||||
window.dispatchEvent(new Event("ocs-ready"));
|
||||
};
|
||||
const poll = setInterval(() => {
|
||||
@@ -68,5 +71,7 @@
|
||||
return reply;
|
||||
}
|
||||
|
||||
window.ocsControl = {ready, request};
|
||||
const apiObject = {ready, request};
|
||||
|
||||
window.ocsControl = apiObject;
|
||||
})();
|
||||
Reference in new issue
Block a user