yume-chan/ya-webadb

build products on npm has not been updated

qz1543706741 opened this issue · 13 comments

Issue Checklist

  • I'm using the library programmatically
  • For Scrcpy related issues, I have searched in Genymobile/scrcpy repository.

Library version

0.0.18

Runtime

Chrome 111.0.5563.146(正式版本)

Device

macOs (arm64)

Describe the bug

  "dependencies": {
    "@yume-chan/adb": "^0.0.18",
    "@yume-chan/adb-backend-webusb": "^0.0.18",
    "@yume-chan/adb-credential-web": "^0.0.18",
    "@yume-chan/stream-extra": "^0.0.18"
  },

Steps to reproduce

  1. yarn add @yume-chan/stream-extra
  2. import { WrapConsumableStream, WritableStream } from "@yume-chan/stream-extra"
  3. In my project, ts tell me there is no 'WritableStreama','WrapConsumableStream' export from "@yume-chan/stream-extra"

The next version is not ready. I'm not satisfied with the consumable interface.

Could U please tell me how many times will it take?
The version 0.0.17 will cause a problem which I sometimes could not push some files into mobile,and the wirteablestream is pending for a long time, but it's gone by using 0.0.18 in your demo's libraries.
I don't no if it's one known bug?

Any detail (repro code/steps) about the file pushing bug?

I can release a new version now if you really need.

If easy for u, please make it. Thanks a lot! By the way, Are u Chinese?

Version 0.0.19 released.

Any detail (repro code/steps) about the file pushing bug?

something wrong may happend that cause the wirteable stream promise is still pending, although I have waited for it about 10min.

I guess it was the pipeTo method which caused this problem.And I noticed you use pripeThrough method instead of pipeTo in 0.0.19 version.

pipeTo(WritableStream) and pipeThrough(TransformStream) are two completely different methods. Which pipeTo do you think caused the bug?

I guess pipeTo(WritableStream) method may cause the bug. Because after the upload method has been overrided in the file apps/demo/src/pages/file-manager.tsx, the bug has disappeared.

await sync.write({
                    filename: itemPath,
                    file: createFileStream(file)
                        .pipeThrough(new WrapConsumableStream())
                        // this method has been changed
                        .pipeThrough(
                            new ProgressStream(
                                action((uploaded) => {
                                    this.uploadedSize = uploaded;
                                })
                            )
                        ),
                    mode: (LinuxFileType.File << 12) | 0o666,
                    mtime: file.lastModified / 1000,
                });

I noticed that u are in China, could you speek Chinese?

Yes.

老哥,稳

Demo is not released to NPM, but sync.write's signature did change between 0.0.18 and 0.0.19. It's part of a big change (#510) so I still don't know where the problem lies.

If this issue is still persisting in 0.0.19, please open an new issue with more detailed reproduce code and steps.