-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
🚀 Supports the WASM environment #2274
Conversation
Since we bootstrapped packages in our workflows, the minimum SDK requirement workflow reads the web_adapter from the overrides, thus hitting the dependency constraint limit. We should find a way to bypass it. |
Why is so much effort being spent on maintaining backwards compatibility with old Dart versions? The Flutter team isn’t doing this for their packages, and I’m not aware of any other package attempting this. The most effort I’ve seen put into backwards compatibility is using a range for the web dependency which I see you already have here. Creating a |
The package is widely used across different versions, dropping any SDK versions could reflected in thousands of downstream packages/projects to migrate their codebase requirements.
They don't, which is why the stable version could only be a major used version after a couple of releases, and they could have their policies, but that doesn't mean we need to follow them. The situations are also different in different regions, and we are not region-specific.
Which is why people ask "why the new version is not working anymore". Previous discussion: #2176
Could you elaborate more? What issue has it brought? |
@kuhnroyal Do you have any input about the min SDK check here? Once we migrate web to v2 the check becomes invalid always. |
The problem seems to be, that melos overwrites the |
|
Signed-off-by: Alex Li <[email protected]>
Alright if you're really comitted to the Both major versions of
Of course that causes this issue with melos: melos.yaml: Multiple packages with the name `dio_web_adapter` found in the workspace, which is unsupported.
To fix this problem, consider renaming your packages to have a unique name.
The packages that caused the problem are:
- dio_web_adapter at plugins/web_adapter/web
- dio_web_adapter at plugins/web_adapter/legacy I personally don't use melos specifically because it causes random issues like that, so I don't have a suggested fix besides removing melos in favor of another tool (such as puby). When both versions exist, you can add dependency overrides for the |
Of course you could pretend that web_adapter v1 will never need updated, but that negates all the effort spent splitting it out in the first place |
This comment from #2176 is relevant here although Dart 3.3 is only 6 months old. Maintaining compatibility with versions prior to 3.3 significantly increases the complexity of this project with little perceived benefit. |
We can always update v1 from a different branch and deploy manually if there are critical bugs. |
You can make whatever decision you see fit, I'm just providing insight. I don't want the maintainers of this package shooting themselves in the foot in the name of backwards compatibility. The decisions made here will affect development for the life of this package.
This is not ideal and an example of the extra overhead this approach introduces. Also it's not just bugs I'm concerned about. If a new feature needs added to both web_adapter v1 and v2, then the branching/review process becomes even more of a mess. |
Here is my main issue with the current project setup: By specifying the range Here are some things that could affect web_adapter v1
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about all the commented files, can they be removed?
Thanks for your input!
|
Originally I was keeping them to track with code changes. Once we have a v1 branch they can be removed completely IMO. |
Probably just branch it from before your commits in this PR, then it should be fine. |
Yeah will do. I've just finished our local I/O Connect summit and will be back in the next week. |
v1 branch created: https://github.com/cfug/dio/tree/feat/web/v1-adapter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have no WASM tests, we might want to add them in a separate PR for the stable/beta tracks.
Added the extra compiler flag to the workflow and all tests are happy so far. |
Code Coverage Report: Only Changed Files listed
Minimum allowed coverage is |
Resolves #2265
New Pull Request Checklist
main
branch to avoid conflicts (via merge from master or rebase)CHANGELOG.md
in the corresponding package