Skip to content
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

When i try to update the library to 2.7.16 the library disappears! #1451

Closed
EgHubs opened this issue Mar 30, 2021 · 32 comments
Closed

When i try to update the library to 2.7.16 the library disappears! #1451

EgHubs opened this issue Mar 30, 2021 · 32 comments
Assignees
Labels

Comments

@EgHubs
Copy link

EgHubs commented Mar 30, 2021

Describe the bug

When I try to update the library to 2.7.16 the library disappears from the library folder on my 2017 MacBook Air with macOS Big SUR 11.2.3 (20D91) installed and Arduino 1.8.14 installed,
and when I try to downgrade to 2.7.15 and install the library is installed, if I try to update, it disappears from the library folder located on /Users/$USERNAME/Documents/Arduino
also if I try to install it while it's not in the folder it does complete the installation but there is nothing in the folder and also I get errors on compiling, with version 2.7.15 I am good.

@brianmiller1956
Copy link

I have the same problem on 2 windows10 laptops, the update appears to install but it isn't there! If I install the previous version this installs fine, if I try to update from there it just deletes the old library and doesn't install the latest.

@crankyoldgit
Copy link
Owner

Thanks for reporting the issue. I've checked over our config for the 2.7.16 release, and it seems to be fine. i.e. Produced the same way as 2.7.15. So, it isn't a problem with the library per-se, nor with github where it is hosted.
My guess is there is some corruption/problem/issue at the Arduino IDE's Library Manager end.

I suggest in the meantime you try installing it from a zip file, per: https://www.arduino.cc/en/guide/libraries

Or log an issue with Arduino at https://github.com/arduino/Arduino/issues.

Perhaps try deleting the library from the IDE and try adding it again?!

I checked what & where the Arduino IDE thinks it should be downloading: https://downloads.arduino.cc/libraries/github.com/markszabo/IRremoteESP8266-2.7.16.zip

When I download that file, it contains what I would expect.

@crankyoldgit
Copy link
Owner

and Arduino 1.8.14 installed,

Interestingly, https://www.arduino.cc/en/software indicates to me that 1.8.13 is the latest version available to download.
e.g. https://downloads.arduino.cc/arduino-1.8.13-macosx.zip

@crankyoldgit
Copy link
Owner

and https://downloads.arduino.cc/arduino-1.8.14-macosx.zip doesn't seem to work/download anything.

@EgHubs
Copy link
Author

EgHubs commented Mar 31, 2021

I went to the site and you have a point, I don't know when or where did I get this update! :)
Screen Shot 2021-03-31 at 2 37 22 AM

@EgHubs
Copy link
Author

EgHubs commented Mar 31, 2021

i will try to downgrade and see

@EgHubs
Copy link
Author

EgHubs commented Mar 31, 2021

Alrigth, i downgraded to version 1.8.13 and the problem remains,
so i added the library by adding the zip file as you suggested and it did work.
i guess the issue isn't solved so maybe i will leave it open if you may,
thanks.

@crankyoldgit
Copy link
Owner

crankyoldgit commented Mar 31, 2021

I went to the site and you have a point, I don't know when or where did I get this update! :)

I think you must have chosen the nightly-build stream.

so i added the library by adding the zip file as you suggested and it did work.

Yay. Well, that proves the library "package" is fine at least.

i guess the issue isn't solved so maybe i will leave it open if you may,

Agreed. Something is up with the Arduino Library Manager. Not sure what I can do about it. Let's give them 24 hours to see if it is just something transient.

About the only thing I can do solely at my end is to push another release to see if it flushes their cache/whatever.

I do suggest you log a bug/issue with Arduino themselves (see issue link I included before) as I think it's there end, but again, wait and see if it clears itself up.

@EgHubs
Copy link
Author

EgHubs commented Mar 31, 2021

I think you must have chosen the nightly-build stream.

Yeah, you are right :), it was a very bad experience after all,

Let's give them 24 hours to see if it is just something transient.

I hope.

@brianmiller1956
Copy link

brianmiller1956 commented Mar 31, 2021 via email

@mosave
Copy link

mosave commented Apr 1, 2021

Reporting same behaviour here. Latest Arduino Studio, up-to-date Win10.
Library manager successfully goes thru installation process but:

  • library disappears if installing 2.7.16
  • everything is Ok with 2.7.15

@crankyoldgit
Copy link
Owner

I've created a pre-release (v2.7.16a) See: https://github.com/crankyoldgit/IRremoteESP8266/releases/tag/v2.7.16a
It should be exactly the same as v2.7.16. Give it a few hours (or a day) and it should show up in the Arduino Library Manager ... I think.

Let's see if that clears up the blockage/problem. Please let me know.

@crankyoldgit
Copy link
Owner

Running the Arduino Library Manager Linter yields the following output:

$ bin/arduino-lint --library-manager update
Linting library in /home/david/git/IRremoteESP8266
Rule LS004 result: fail
WARNING: Git submodule detected. Library Manager installations and installations from GitHub's "Download ZIP" will only contain an empty folder in place of the submodule.

Finished linting project. Results:
Warning count: 1
Error count: 0
Rules passed: true

That seems to be the only issue it found.

@crankyoldgit
Copy link
Owner

I'm attempting to remove any submodules used by the library, but realistically the warning message says those submodule directories will be blank, not the actual libraries directory. i.e. This should not fix it, it's just a long shot. No errors were found.

@manj9501
Copy link
Contributor

I have the same issue while installing v2.7.16! The library just keeps disappearing '_'

@mosave
Copy link

mosave commented Apr 16, 2021

I've created a pre-release (v2.7.16a) See: https://github.com/crankyoldgit/IRremoteESP8266/releases/tag/v2.7.16a
It should be exactly the same as v2.7.16. Give it a few hours (or a day) and it should show up in the Arduino Library Manager ... I think.

Let's see if that clears up the blockage/problem. Please let me know.

Still an active issue.
No v2.7.16a available to install, Arduino Studio still cries "update required" and not able to install updated version ending with desappearing library :(

@brianmiller1956
Copy link

brianmiller1956 commented Apr 16, 2021 via email

@crankyoldgit
Copy link
Owner

I'll try drafting a pre-release of 2.7.17 once a couple of the current PRs get merged. Fingers crossed that might work.

crankyoldgit added a commit that referenced this issue Apr 17, 2021
Attempt to clean-up any issues found by `arduino-lint --library-manager update --compliance strict`
e.g.
```
Rule LS004 result: fail
WARNING: Git submodule detected. Library Manager installations and installations from GitHub's "Download ZIP" will only contain an empty folder in place of the submodule.
```

It's only a warning, but just being super-safe.

For #1451
@AVDeveloppement
Copy link

Same problem for me too, i not help but i can say thanks for your work it's a very good library and manual install are fine for me it take less time than you write this great library!

crankyoldgit added a commit that referenced this issue Apr 17, 2021
_v2.7.17 (20210418)_
**[News]**
- The library now supports 100 IR protocols! \o/

**[Bug Fixes]**
- Fix `IRAcUtils::decodeToState()` for different length Samsung msgs (#1447 #1448)

**[Features]**
- Fujitsu: Add support for `ARREW4E` model. (#1455 #1456)
- Experimental detailed support for Truma A/Cs. (#1440 #1449)

**[Misc]**
- Fix Arduino library linter issues. (#1451 #1452 #1453 #1460)
crankyoldgit added a commit that referenced this issue Apr 18, 2021
## _v2.7.17 (20210418)_
### **[News]**
- The library now supports 100 IR protocols! \o/

**[Bug Fixes]**
- Fix `IRAcUtils::decodeToState()` for different length Samsung msgs (#1447 #1448)

**[Features]**
- Fujitsu: Add support for `ARREW4E` model. (#1455 #1456)
- Experimental detailed support for Truma A/Cs. (#1440 #1449)

**[Misc]**
- Fix Arduino library linter issues. (#1451 #1452 #1453 #1460)
@crankyoldgit
Copy link
Owner

I've made a new (pre-)release of the library (v2.7.17), Arduino's library manager should pick it up with in 24 hours. Let me know how it goes. If it fixes this issue, I'll make it an official release.

Fingers crossed

@brianmiller1956
Copy link

brianmiller1956 commented Apr 18, 2021 via email

@crankyoldgit
Copy link
Owner

Hi, I have just checked this, 17 is showing as an available update in library manager, I hit update, it goes through the motions of updating but it leaves version 16 still in place with no sign of version 17, lib manager says I still have v16 installed and it can be updated, Tried this several times, I also removed v16 and tried a new install of v17via lib manager but no directory is created and nothing is installed. Restarted IDE in between with no change, also Tried this on 2 windows 10 machines with same results. Hope this is of assistance.

In a word, Bugger!

Sadly, I'm out of immediate ideas as to what could be causing the issue.

crankyoldgit added a commit that referenced this issue Apr 18, 2021
Issues with Arduino IDE ( #1451 ) might be related to zip file size. It surpassed 5Meg as of v2.7.16. So remove unneeded items from being included in the zip file, I hope.
This is a Hail Mary
crankyoldgit added a commit that referenced this issue Apr 18, 2021
Issues with Arduino IDE ( #1451 ) might be related to zip file size. It surpassed 5Meg as of v2.7.16. So remove unneeded items from being included in the zip file, I hope.
This is a Hail Mary
@EgHubs
Copy link
Author

EgHubs commented Apr 18, 2021

Hi, I have just checked this, 17 is showing as an available update in library manager, I hit update, it goes through the motions of updating but it leaves version 16 still in place with no sign of version 17, lib manager says I still have v16 installed and it can be updated, Tried this several times, I also removed v16 and tried a new install of v17via lib manager but no directory is created and nothing is installed. Restarted IDE in between with no change, also Tried this on 2 windows 10 machines with the same results. Hope this is of assistance.

Sadly confirming this is the same exactly here, right now only version 2.7.15 is the only one that library manager can install, version 2.7.16 still fails and also 2.7.17.
I would suggest going to all the commits that were made after publishing version 2.7.15 to check if there is anything was done by mistake.

Sadly, I'm out of immediate ideas as to what could be causing the issue.

You are a great person, and I want to congratulate and thank you for the 100's IR protocol ♥️.

@crankyoldgit
Copy link
Owner

crankyoldgit commented Apr 19, 2021

I would suggest going to all the commits that were made after publishing version 2.7.15 to check if there is anything was done by mistake.

That was the first thing I did. I've just reviewed line-by-line all the changes (except the auto-generated documentation) between 2.7.15 & 2.7.16. (You can do this yourself here: v2.7.15...v2.7.16

The only thing suspicious is we renamed a file in one of the commits in between the two versions. We've renamed files before. This has never happened previously, so it is unlikely the culprit.

Nothing, content-wise, has changed that should cause arduino to pick on this library.

My current theory is the .zip file was slightly under 5Meg for v2.7.15, and slightly over for both v2.7.16 & 17. I am taking a wild guestimate that the Arduino IDE has a limit on the size of a .zip file it will unpack via Library Manager on Windows 10.
I'm currently working on trying to reduce the size of the zip file that the Arduino Library system builds for its IDEs.

Things I've looked at/tried so far:

  • All commits between v2.7.15 & v2.7.16
  • All actual line changes between v2.7.15 & v2.7.16
  • Quadruple reviewed & improved the library.properties file used by Arduino's Library Manager service/backend. It's been unchanged except simple version number changes for years. So it shouldn't have exploded.
  • Run and installed constant Arduino Library Manager linter checks to confirm nothing is wrong with the library setup so it should be accepted perfectly.
  • Fixed any Library Manager linter issues found, even just "warnings" which were fine as-is.
  • Forced the Library Manager service to build new versions of the zip file(s), in case of corruption.
  • Forced/created new version numbers, , in case of corruption.
  • Installed Arduino IDE 1.8.13 on Windows 10 to verify/replicate the problem (which I can).
  • Verified by hand that the Arduino Library Manage json index file has the correct entries for v2.7.16+ etc.
  • Verified the URLs work to download the library using a browser.
  • Inspected the Arduino IDE logs to see that Library Manager is detecting, fetching, & downloading the correct file & version etc.
  • Verified the IDE is downloading the file and storing it in it's staging directory successfully. e.g. C:\Users\USERNAME\AppData\Local\Arduino15\staging\libraries
  • Verified said file is correct and has what I expect in it.
  • Cross verified the contents of the zip files in the staging directory to see if they look/appear the same. (They do)

In short, all the evidence points to:

  • The IRremoteESP8266 library is correctly setup for Arduino's Library Manager service.
  • The Arduino's Library Manager service is picking up the library changes and zip files accordingly.
  • Those zip files contain the correct contents.
  • The Arduino IDE is detecting new versions of the library correctly.
  • It is successfully able to download the zip file correctly.
  • That zip file contains the right contents.
  • The IDE fails without logging info or warning for some unknown reason when it goes to unpack the v2.7.16+ zip files that it has downloaded.
  • The Linux version of the Arduino IDE (1.8.13) doesn't have this issue at all. It appears it's Windows 10 / OSX only.

crankyoldgit added a commit that referenced this issue Apr 19, 2021
* Apparently this can the Arduino IDE to fail to install the library if there is a duplicate file in the zip archive.
* Clean up any orphaned files created by `Doxygen`.
* Add a CI test for this to ensure this **never** happens again.

Ref #1451
Ref arduino/Arduino#11441 (comment)
crankyoldgit added a commit that referenced this issue Apr 19, 2021
* Apparently this can cause the Arduino IDE to fail to install the library if there is a duplicate file in the zip archive.
* Clean up any orphaned files created by `Doxygen`.
* Add a CI test for this to ensure this **never** happens again.
  - Release process documentation updated to ensure this doesn't happen again too, but that's not in this PR.
     See: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Library-Maintainers-Guide#new-version-release-checklist

For #1451
Ref arduino/Arduino#11441 (comment)
crankyoldgit added a commit that referenced this issue Apr 19, 2021
_v2.7.17 (20210420)_
**[News]**
- The library now supports 100 IR protocols! \o/

**[Bug Fixes]**
- Fix `IRAcUtils::decodeToState()` for different length Samsung msgs (#1447 #1448)
- Fix issues with installing the library under the Arduino IDE on Win10 & OSX (#1451 #1464)

**[Features]**
- Fujitsu: Add support for `ARREW4E` model. (#1455 #1456)
- Experimental detailed support for Truma A/Cs. (#1440 #1449)

**[Misc]**
- Fix Arduino library linter issues. (#1451 #1452 #1453 #1460)
- Reduce the library's zip download size. (#1451 #1463)
- An experiment in using Github Actions to do some of the CI work. (#1462)
@crankyoldgit
Copy link
Owner

I've just re-released v2.7.17 with hopefully the fixes required to get this working on Win10 & OSX again. It may take a few hours for the changes to make themselves available to Arduino IDE end users.

Please try updating the Library Manager's cache etc. (e.g. remove the appropriate .zip file from the staging directory. (see previous comment) Let me know how it goes. I can't stay up anymore to wait myself to test it.

Hopefully, the 17th time was/is the charm. Looking forward to "Yay! \o/" messages in the morning. If so, I'll change it from a draft release to a proper one tomorrow.

/fingerscrossed

crankyoldgit added a commit that referenced this issue Apr 19, 2021
_v2.7.17.1 (20210420)_

**[Misc]**
- Fix issues with installing the library under the Arduino IDE on Win10 & OSX (#1451 #1464)
- Reduce the library's github zip download size. (#1451 #1463)
- An experiment in using Github Actions to do some of the CI work. (#1462)
crankyoldgit added a commit that referenced this issue Apr 19, 2021
_v2.7.18 (20210420)_

**[Misc]**
- Fix issues with installing the library under the Arduino IDE on Win10 & OSX (#1451 #1464)
- Reduce the library's github zip download size. (#1451 #1463)
- An experiment in using Github Actions to do some of the CI work. (#1462)
@crankyoldgit
Copy link
Owner

Well, that didn't go as planed. Seems to still be caching the old zip file/version. Burning a new release number, v2.7.18. Waiting on the code review before making a release.

crankyoldgit added a commit that referenced this issue Apr 20, 2021
_v2.7.18 (20210420)_

**[Misc]**
- Fix issues with installing the library under the Arduino IDE on Win10 & OSX (#1451 #1464)
- Reduce the library's github zip download size. (#1451 #1463)
- An experiment in using Github Actions to do some of the CI work. (#1462)
@crankyoldgit
Copy link
Owner

v2.7.18 release seems to work with Windows 10. I'm going to assume it also works for Mac OSX.
Can you please confirm?

@crankyoldgit crankyoldgit added bug Pending Confirmation Waiting for confirmation from user and removed help wanted labels Apr 20, 2021
@brianmiller1956
Copy link

brianmiller1956 commented Apr 20, 2021 via email

@crankyoldgit
Copy link
Owner

Thanks for the extra confirmation. Just waiting on @EgHubs for OSX.

@manj9501
Copy link
Contributor

I hereby provide auxiliary confirmation for the success of v2.7.18 on Windows 10 (if it was needed). Thanks for all the efforts @crankyoldgit !

@EgHubs
Copy link
Author

EgHubs commented Apr 20, 2021

Yay! \o/ 😂 .
now it's all good and okay on macOS :)
Thanks for your great effort in solving this.

@EgHubs EgHubs closed this as completed Apr 20, 2021
@crankyoldgit crankyoldgit removed the Pending Confirmation Waiting for confirmation from user label Apr 21, 2021
@AVDeveloppement
Copy link

Everything are ok for me on Win10, thanks for your work! 👍
🍻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants