-
Couldn't load subscription status.
- Fork 651
feat(services/opfs): add read/write/delete/list support for OPFS #6564
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
base: main
Are you sure you want to change the base?
Conversation
.github/workflows/test_behavior.yml
Outdated
| os: ${{ matrix.os }} | ||
| cases: ${{ toJson(matrix.cases) }} | ||
|
|
||
| test_opfs: |
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.
Hi, opfs is a new service, and I didn’t expect it to be added as a new type for behavior tests.
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.
I'm not sure if we need to duplicate all the tests for WASM again.
| # specific language governing permissions and limitations | ||
| # under the License. | ||
|
|
||
| name: OPFS Test |
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 can add opfs test as a new edge case under at https://github.com/apache/opendal/blob/main/.github/workflows/test_edge.yml
|
|
||
| let (tx, rx) = mpsc::unbounded(); | ||
|
|
||
| // everything in wasm-bindgen is non-send, so we need to spawn a new task |
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.
oio::Read and oio::List should be able to implemented in a non-Send way. I think we can avoid the those usage of channel. What's the problem we are facing now?
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.
Since everything is non-Send and non-Sync under wasm, but Read requires Send + Sync, I can't hold any content related to wasm in OpfsReader.
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.
I think we can remove read/write/list from this PR for now and open a new issue on how to implememt these without using channel. What do you think @Xuanwo ?
Which issue does this PR close?
Closes #5799.
Rationale for this change
What changes are included in this PR?
core/edge/opfs_on_wasm). These tests are basically copied fromcore/tests/behaviorNotice:
Are there any user-facing changes?