NativeScript / NativeScript/nativescript-cli

Potential difference between hashes and files both on device and platforms folder

未关闭
#3,796 0 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@KristianDD 已经在做这个了。

开始于 2018年11月13日。

bug os: android run
主要语言
JavaScript
星标
1.1k
派生
204
平均合并
1 天 9 小时
30 天内合并 PR
8

描述

Please, provide the details below:

Did you verify this is a real problem by searching the NativeScript Forum and the other open issues in this repo?

Yes

Tell us about the problem

There is a chance that hashes on device are updated, when all files are written to the output socket, but the application doesn't manage to read all of them, because it did crash or was manually killed.

The other part of the issue is that files that are removed from the application are removed from the device, but still reside inside the platfroms folder. This prevent us from fixing the previous problem, because we can't detect on initial sync that the hashes file on the device contains hashes of files that are missing in the platforms folder.

After investigating the issues are 3:

  1. Hashes are saved after writing to socket, without waiting for doSync conformation
  2. Remove file while LS is running doesn't trigger prepare for platform
  3. Files that are removed while LS is not running are not detected as change and removed on initial sync.
Which platform(s) does your issue occur on?

iOS/Android/Both

Please provide the following version numbers that your issue occurs with:
  • CLI: (run tns --version to fetch it)
  • Cross-platform modules: (check the 'version' attribute in the
    node_modules/tns-core-modules/package.json file in your project)
  • Runtime(s): (look for the "tns-android" and "tns-ios" properties in the
    package.json file of your project)
  • Plugin(s): (look for the version number in the package.json file of your
    project)
Please tell us how to recreate the issue in as much detail as possible.
Is there code involved? If so, please share the minimal amount of code needed to recreate the problem.

Consider using the playground to provide the code you have issues with.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。