imfile-io / imfile-desktop

A full-featured download manager.
https://imfile.io
MIT License
1.71k stars 39 forks source link

Tag `v1.0.9` refers to a broken and deleted commit #121

Closed Zh40Le1ZOOB closed 2 months ago

Zh40Le1ZOOB commented 2 months ago

The tag v1.0.9 refers to commit 840f2e4f8f2fb5bb1d57b7e6e78c74f1cf55db29, but this commit is broken and already been deleted. This can make distro maintainers to packaging difficult and causes misunderstanding.

chenjia404 commented 2 months ago

ok,it update

Zh40Le1ZOOB commented 2 months ago

ok,it update

Thank you very much! But there's still a little problem.

TL; DR version: Yarn lock file is broken. Need fix to make build successfully in Nix packageing.

The yarn lock file at v1.0.9 (840f2e4f8f2fb5bb1d57b7e6e78c74f1cf55db29), dmg-builder has a optional dependency dmg-license, but dmg-license is not in the lock file. At the previous commit of v1.0.9, dmg-license is in the lock file.

When I'm trying to package imFile for nixpkgs (Nix Packages collection & NixOS), this cause an error when installing dependencies, because Nix packaging works are running offline. First, Nix will build a offline cache from lock file, then yarn will install dependecies using the offline cache. Due to the the lock file is broken, the offline cache is also broken, so it's impossible to build correctly without using a fixed lock file.

I'm very sorry to bother you again, please pardon me.

chenjia404 commented 2 months ago

I create a new version

Zh40Le1ZOOB commented 2 months ago

I create a new version

I'm sorry to make misunderstanding.

Add a new commit to fix this won't help fix the lock file of v1.0.9. in this case, the lock file at v1.0.9 is still no changes, and packaging v1.0.9 is still impossible. Instead, you may try rebase to v1.0.9 and run yarn install, then you need to stage changes and amend the commit v1.0.9 using git commit --amend. After force pushing the fixed v1.0.9 commit to the repository, everything should work correctly.

One more thing, using 3 package managers in a porject is very bad and not easy to maintain, so I will create a PR to unify package managers into Yarn.

Thank you for your hard work!

PS: After running yarn install, there should be two changes:

        modified:  src/renderer/components/Task/TaskItem.vue
        modified:  yarn.lock
chenjia404 commented 2 months ago

Migrate to yarn and create v1.1.0?

Zh40Le1ZOOB commented 2 months ago

Migrate to yarn and create v1.1.0?

This is also a solution, but it seems that there aren't so many changes that should release a new version. Not only that, if we don't fix the v1.0.9, when user overriding the package source to v1.0.9, it's still broken and cannot be build.

I suggest just edit the commit 840f2e4f8f2fb5bb1d57b7e6e78c74f1cf55db29 via rebase to fix this problem. I mean, rebase to v1.0.9, edit the commit, and amend the commit, then force push.

I'm so sorry to make you get into trouble. But don't be worried, I'm free now and I'm glad to help you :) Pardon me for my impolite.

Zh40Le1ZOOB commented 2 months ago

Migrate to yarn

This is only a optimize suggestion, it's not such thing "required", so maybe we don't need to be too hasty to do it.

Zh40Le1ZOOB commented 2 months ago

Now using patch to fixup, so don't need to make any change.