fix(web): give the browser build a load_file to fail through
Reading a drawing by path is gated off on wasm, and two features added since 0.9.3 call it unconditionally: importing a drawing as a block, and taking layer standards from one. Both compile into the web build, so the web bundle stopped building and the v0.9.4 Pages deploy failed. Neither feature can work in the browser — a file arrives through the page, not from a filesystem the app can open — so the fix is not to make them work but to let them say so. `load_file` now exists on wasm and returns that as its error, which both callers already surface. Keeping the signature means neither has to know that the web has no files, and the next feature that reads a second drawing will not break the bundle either. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
17b2f158f4
commit
6ca4463a26
3 changed files with 15 additions and 0 deletions
|
|
@ -3436,3 +3436,4 @@ catalog-tcount-placement-must-be-overwrite-prefix-or-s-84211d2b75 = TCOUNT: plac
|
|||
catalog-tcount-numbered-n-text-object-s-from-start-by-30588884cc = TCOUNT: numbered __ocs_fmt_0__ text object(s) from __ocs_fmt_1__ by __ocs_fmt_2__ (__ocs_fmt_3__).
|
||||
catalog-prefix-90eceb016c = Prefix
|
||||
catalog-suffix-885db975a3 = Suffix
|
||||
catalog-opening-a-drawing-by-path-is-not-available-in-be27bd71d4 = Opening a drawing by path is not available in the browser.
|
||||
|
|
|
|||
|
|
@ -747,6 +747,19 @@ pub fn load_file(path: &Path) -> Result<CadDocument, String> {
|
|||
load_file_with_progress(path, None).map(|outcome| outcome.document)
|
||||
}
|
||||
|
||||
/// Opening a drawing by path is a desktop affair. In the browser a file
|
||||
/// arrives through the page rather than from a filesystem the app can reach,
|
||||
/// so there is nothing behind a path to open.
|
||||
///
|
||||
/// The function still exists there so the features that read a *second*
|
||||
/// drawing — importing one as a block, taking layer standards from one — go on
|
||||
/// compiling and say why they cannot run, instead of each having to know that
|
||||
/// the web has no files.
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
pub fn load_file(_path: &Path) -> Result<CadDocument, String> {
|
||||
Err(crate::t!("Opening a drawing by path is not available in the browser.").into_owned())
|
||||
}
|
||||
|
||||
pub(crate) fn load_file_with_progress(
|
||||
path: &Path,
|
||||
_progress: Option<Arc<dyn Fn(u16) + Send + Sync>>,
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ pub(super) fn message_id(source: &str) -> Option<&'static str> {
|
|||
" ⚠ No closed boundary found." => Some("catalog-no-closed-boundary-found-7a55b25ecb"),
|
||||
" (%{count} objects)" => Some("catalog-count-objects-83518eccc2"),
|
||||
" [Edge: Extend]" => Some("catalog-edge-extend-90a0cb9b4f"),
|
||||
"Opening a drawing by path is not available in the browser." => Some("catalog-opening-a-drawing-by-path-is-not-available-in-be27bd71d4"),
|
||||
"Prefix" => Some("catalog-prefix-90eceb016c"),
|
||||
"Suffix" => Some("catalog-suffix-885db975a3"),
|
||||
"TCOUNT increment <{increment}>:" => Some("catalog-tcount-increment-increment-79f9ab6108"),
|
||||
|
|
|
|||
Loading…
Reference in a new issue