Files
FreeCADWasmDev/docs/current/web-website-owner-20260914.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

3.5 KiB

Website Owner Routing Correction

Eight commands wired and built: Std_DevHandbook, Std_FreeCADDonation, Std_FreeCADForum, Std_FreeCADUserHub, Std_FreeCADWebsite, Std_OnlineHelp, Std_OnlineHelpWebsite, Std_ReportBug. Receipt: web-website-owner-pipeline.json, eight ready and zero missing. No automatic tests, browser checks, acceptance, benchmarks or visits to these websites were run.

Corrected False Completion

The preceding browser-help change added fourteen catalog entries but only looked for a matching property name and a window.open string in the adapter. It did not establish that control flow reached that branch. Earlier native branches returned before the browser code. Recent files/macros, text documents, unit calculator and other GUI workflows were incorrectly included as well.

Removed browserCommands discovery and the overly broad catalog. Their original source implementations, records and history remain. The new websiteCommands catalog contains eight explicit URL workflows; it is consumed by the actual early adapter, capability generator and owner-specific build packet.

Actual Business Path

WebWebsiteTask -> executeWebDesktop -> executeWebsite -> existing Part owner endpoint -> nativeDocumentView -> existing WebViewCommands website logic.

The local CommandStd.cpp reads the Websites parameter group for configured URLs. The native implementation preserves that behavior instead of forcing a frontend URL constant. Online Help resolves the documentation start page. The selected PartBox or DocumentProbe owner remains explicit; no document is fabricated and no pointers cross WASM runtimes.

The adapter now returns the owner-bound batch envelope used by the UI rather than a raw result. The mounted task requires matching owner, document, command, canonical ID and success status before showing the link. It accepts HTTP(S) destinations without embedded credentials. Async native calls do not attempt a popup: a real anchor gives the user a direct open action. Old duplicate website and Python-console surfaces are not mounted for this group.

Other records need their own implementation and are not promoted by merely appearing in a URL/action table. No native markers or new worker were added.

Build Accounting

Step Seconds
Initial capability generation 8.580
Both existing owner target builds 60.880
Implementation packet preparation 1.972
Formal handoff pipeline 12.810
Pipeline capability generation 8.724
Pipeline build dependency check 0.202
Pipeline artifact synchronization 2.721
Frontend build 4.090
Public asset sync inside frontend build 2.551

Both native targets had older artifacts than their existing native headers; the build published those current inputs and exited 0. Unchanged FreeCAD/OCCT dependencies were reused. Final pipeline build only generated the version file, without another compile/link. Frontend build exited 0. No runtime parity is inferred from successful compilation.

Progress and Remaining Scope

Corrected inventory: 1355/1451 routed, 96 requiring implementation. The decrease from the previously reported 1361 is a correction of false route accounting. This is not deletion of user functionality and not a user-verified completion percentage. Full help viewer/search/offline packages and the non-URL commands formerly swept into browserCommands remain separate work. Scheduler was still running with a waiting_for_retry state at the final snapshot; throughput recovery is not claimed. Reuse this handler and receipt for the website group.