apple_cloud_notes_parser icon indicating copy to clipboard operation
apple_cloud_notes_parser copied to clipboard

Missing `Gemfile.lock` in repo

Open alecdwm opened this issue 9 months ago • 6 comments

Because Gemfile.lock is in the .gitignore, it isn't included in this repo.

Without the lockfile, a fresh clone of this repo will always bundle install the latest available version of each gem.
This can lead to issues when breaking changes are released in one of the dependencies.

For example, the latest version of sqlite3-ruby has this change:

Raise ArgumentError if Database#execute, #execute_batch, or #query are passed multiple bind parameters that are not in an Array. In v2.0.0 these methods would silently swallow additional arguments, and this change makes the failure explicit.

Which causes this error when running notes_cloud_ripper.rb:

/usr/local/rvm/gems/default/gems/sqlite3-2.0.1/lib/sqlite3/database.rb:197:in `execute': wrong number of arguments (given 3, expected 1..2) (ArgumentError)
        from /workspaces/apple_cloud_notes_parser/lib/AppleNoteStore.rb:678:in `rip_notes'
        from /workspaces/apple_cloud_notes_parser/lib/AppleNoteStore.rb:221:in `rip_all_objects'
        from /workspaces/apple_cloud_notes_parser/lib/AppleBackup.rb:243:in `block in rip_notes'
        from /workspaces/apple_cloud_notes_parser/lib/AppleBackup.rb:240:in `each'
        from /workspaces/apple_cloud_notes_parser/lib/AppleBackup.rb:240:in `rip_notes'
        from notes_cloud_ripper.rb:194:in `<main>'

That specific error isn't too hard to fix, but there may be breaking changes in any of the other gems which don't necessarily cause the program to raise an error, but instead lead to works-on-my-machine-type bugs.
Also there might be more breaking changes in the future!

alecdwm avatar May 04 '24 08:05 alecdwm