getodk / getodk/web-forms

Safari: ODK Web Forms are not rendered when old URL is used

Open
#917 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
38
Forks
22
PR merge metrics
No merged PRs in 30d

Description

ODK Web Forms are not rendered in Safari when old URL is redirected to canonical URL. Getting this error:
```
ReferenceError: Cannot access uninitialized variable.
(anonymous function) — index-DMNdIN8M.js:16:3725
```

Strangely Safari is also not showing source map in the dev tools.

Obfuscated code suggests that it is something to do with vite or defineAsyncComponent or loadAsync

```
u(E, () => N(v()), () => A(E), g + 1)
});
throw E
}).then(E => T !== p && p ? p : (E && (E.__esModule || E[Symbol.toStringTag] === "Module") && (E = E.default), h = E, E)))
};
return Gr({
name: "AsyncComponentWrapper",
__asyncLoader: S,
__asyncHydrate(T, E, N) {
const A = i ? () => {
const k = i(N, C => J_(T,
```

Maybe related: there is an open webkit bug about top-level await: https://bugs.webkit.org/show_bug.cgi?id=242740 and OWF uses top-level await

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the old-URL redirect failure in Safari and inspect the generated index-DMNdIN8M.js around the reported line. Investigate the defineAsyncComponent/loadAsync path and the possible top-level-await interaction noted in the WebKit bug; done means the canonical redirect renders ODK Web Forms in Safari without the ReferenceError.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vite
Domain
frontend, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.