rpremote 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 900c268660317e50ca480983f9993698adb35ab699a82d3e0539dfb583e03723
4
- data.tar.gz: 5e506856f83d7a48f91481cb0ef377df70d4e6f348e922d3412d068c5012fa15
3
+ metadata.gz: 21b188c13268efadddce4c649dae65a26465b0f2b5a680013015d0c9dfb1ea14
4
+ data.tar.gz: f964e2a4c148a33841e596d570229a33112f5ba6c5dcdd4254f4758241175360
5
5
  SHA512:
6
- metadata.gz: 7fe7454fe617b0a31004b17ca7e38c681711e90d4bb7889a801092fad8089246e7a1a93d89ff48058a320d60488bd825400b0bfded5380bd8f77d5bde8bded45
7
- data.tar.gz: cd79792554f9174f2c416794f5973a3e5090f9494ea54ce22ca96bd21cbb72ef1dda7188b78eb9d5939f3dc44b8fcbd003bac772d41e7b13c24436bc9315f034
6
+ metadata.gz: 5a15b170f1432c80970158a7b41d2902c1765fb5ba8b6d369350b8dab366b605d8e72baf54ceeb2830977b517ef135508b702af701be7f21b6d36f9edbe10e5a
7
+ data.tar.gz: 6cf0ba03b2aabf0c94dc2ab7d82856a832ddf2a98e18f3f9d21ad4f061d162b60a86d4217e01f60686d75afc5cb0ef00dfa0617fdd3d4eab356137815734f724
data/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## 0.4.0 - 2026-08-31
6
+
7
+ - Add the Daisen Kofun PicoRuby project, with 32 WS2812 illumination patterns, a firmware-embedded local mrbgem, LED layout and setlist definitions, bilingual documentation, and host-side regression tests.
8
+ - Check R2P2 filesystem connectivity before non-recursive `fs cp` transfers, and report Shell synchronization timeouts as filesystem connection failures.
9
+
5
10
  ## 0.3.0 - 2026-08-28
6
11
 
7
12
  - Add `bootsel` to ask supported R2P2 firmware to enter USB BOOTSEL mode without pressing the button.
data/RELEASING.md CHANGED
@@ -48,7 +48,7 @@ bundle exec rake release
48
48
  After the tag exists on GitHub, create a GitHub Release and attach the exact gem that passed validation. `--verify-tag` prevents GitHub CLI from silently creating a tag at another commit:
49
49
 
50
50
  ```sh
51
- gh release create v0.3.0 rpremote-0.3.0.gem --verify-tag --generate-notes
51
+ gh release create v0.4.0 rpremote-0.4.0.gem --verify-tag --generate-notes
52
52
  ```
53
53
 
54
- Replace `0.3.0` in both places for later versions. Finally, install from RubyGems.org in a fresh environment and run `rpremote --version`.
54
+ Replace `0.4.0` in both places for later versions. Finally, install from RubyGems.org in a fresh environment and run `rpremote --version`.
data/lib/rpremote/cli.rb CHANGED
@@ -152,6 +152,8 @@ module Rpremote
152
152
  else
153
153
  raise ArgumentError, "unknown fs command: #{subcommand || "(none)"}"
154
154
  end
155
+ rescue Shell::TimeoutError => e
156
+ raise Shell::TimeoutError, "filesystem connection failed: #{e.message}"
155
157
  end
156
158
 
157
159
  def run_file(args)
@@ -255,6 +257,7 @@ module Rpremote
255
257
  raise ArgumentError, "exactly one cp path must be remote (prefix remote paths with :)" if source_remote == destination_remote
256
258
  return RecursiveCopy.new(output: stdout, serial: serial, device: device).call(source, destination, options) if recursive
257
259
 
260
+ ensure_filesystem_connection!(options)
258
261
  if source_remote
259
262
  data = with_modem(options) { |modem| modem.download(RemotePath.unwrap(source)) }
260
263
  File.binwrite(local_destination(destination, source), data)
@@ -293,6 +296,11 @@ module Rpremote
293
296
  raise Shell::CommandError, output.strip if failed
294
297
  end
295
298
 
299
+ def ensure_filesystem_connection!(options)
300
+ output = with_shell(options) { |shell| shell.execute("ls '/'") }
301
+ ensure_filesystem_success!("ls", output)
302
+ end
303
+
296
304
  def with_modem(options)
297
305
  port_path = device.main_port(options[:port])
298
306
  serial.open(port_path, baud: options[:baud]) do |port|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rpremote
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rpremote
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ogom