Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support WebAssembly compilation #1068

Draft
wants to merge 42 commits into
base: main
Choose a base branch
from
Draft

Support WebAssembly compilation #1068

wants to merge 42 commits into from

Conversation

SleepySquash
Copy link
Contributor

@SleepySquash SleepySquash commented Jul 23, 2024

Synopsis

Flutter brings WebAssembly compilation to its stable branch. However, certain packages don't yet support this.

Solution

Upgrade packages to support building web as a WebAssembly target.

This PR is blocked by the following bugs discovered while testing:

Additionally it worth noting that only Chrome implements WasmGC required by Flutter to properly render WebAssembly. Firefox, as it seems, has it, but a bug with images being copied every frame makes it unusable. Safari doesn't support WasmGC at all.

Checklist

  • Created PR:
    • In draft mode
    • Name contains issue reference
    • Has type and k:: labels applied
  • Before review:
    • Documentation is updated (if required)
    • Tests are updated (if required)
    • Changes conform code style
    • CHANGELOG entry is added (if required)
    • FCM (final commit message) is posted or updated
    • Draft mode is removed
  • Review is completed and changes are approved
    • FCM (final commit message) is approved
  • Before merge:
    • Milestone is set
    • PR's name and description are correct and up-to-date
    • All temporary labels are removed

@SleepySquash SleepySquash added enhancement Improvement of existing features or bugfix k::refactor Refactor changes of existing code labels Jul 23, 2024
@SleepySquash SleepySquash added this to the 0.2.0 milestone Jul 23, 2024
@SleepySquash SleepySquash self-assigned this Jul 23, 2024
@SleepySquash
Copy link
Contributor Author

Despite drift fixing the issue, we still await the new dart2wasm compiler (comes with a new Dart SDK), because there're a lot of casting issues when doing INSERT/DELETE/SELECT, etc:
Screenshot 2024-08-02 at 15 13 01

@SleepySquash SleepySquash added waiting::materials There is a need for additional actions/info (temporary) platform::web Specific to Web platform labels Aug 2, 2024
@tyranron
Copy link
Contributor

@SleepySquash could you add to the PR description the relative tracking links for each issue?

@SleepySquash
Copy link
Contributor Author

Update: latest drift persists data with unsafe IndexedDB, works like a charm.

@SleepySquash SleepySquash modified the milestones: 0.2.0, 0.3.0 Sep 3, 2024
@SleepySquash SleepySquash modified the milestones: 0.2.1, 0.3.0 Sep 12, 2024
@SleepySquash
Copy link
Contributor Author

SleepySquash commented Sep 18, 2024

Latest master branch of Flutter fixes unreachable and GalleryPopup related issues. The only thing left is fixing the HtmlElementViews - while their positioning is already fixed, their clipping is still incorrectly displayed. E.g. if HtmlElementVIew is not positioned in the left top corner, then it'll be clipped.

@SleepySquash SleepySquash modified the milestones: 0.2.2, 0.3.0 Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement of existing features or bugfix k::refactor Refactor changes of existing code platform::web Specific to Web platform waiting::materials There is a need for additional actions/info (temporary)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants