pbsync 0.1.0 → 0.1.1
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 +4 -4
- data/CHANGELOG.md +32 -0
- data/lib/pbsync/clipboard_sync.rb +11 -11
- data/lib/pbsync/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 933afdb59db90e4b70c3d56f5e7ae9cfc41134df901eafb8f5bdc755a3c9e182
|
4
|
+
data.tar.gz: '0248520223c267ed7d0f7dfaf24b3e09a6d7c2deef14c24ee3784808de4b1397'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 138e3a9b5c61befe2f6d585585dff6f454444fa426174d3338934837238f935808e0bda11e19d61c34d1456c57fb835cd758418d24c01a4e44a6cb71467cde83
|
7
|
+
data.tar.gz: b5eaf254214c5cfec8cfa3aec66c67bc87a2ac21a5ea182ee3a346e03434791542205d14c65156471a509565d466f7d00340308ba779484c7d4281aba0d78be0
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
+
|
8
|
+
## [0.1.1] - 2025-08-13
|
9
|
+
|
10
|
+
### Changed
|
11
|
+
- Removed all emoji/icon characters from log outputs for better terminal compatibility
|
12
|
+
- Clipboard sync events now only log in verbose mode to reduce output noise
|
13
|
+
- Changed clipboard sync logging from info level to debug level
|
14
|
+
|
15
|
+
### Fixed
|
16
|
+
- Fixed test expectations to match actual error handling behavior
|
17
|
+
- Updated RuboCop configuration for more reasonable code complexity limits
|
18
|
+
|
19
|
+
## [0.1.0] - 2025-08-13
|
20
|
+
|
21
|
+
### Added
|
22
|
+
- Initial release of pbsync Ruby gem
|
23
|
+
- Bidirectional clipboard synchronization over SSH
|
24
|
+
- Cross-platform support (macOS, Linux, Windows) via clipboard gem
|
25
|
+
- Automatic server startup via connect command
|
26
|
+
- Verbose logging mode with -v/--verbose flag
|
27
|
+
- Binary protocol with UTF-8 support
|
28
|
+
- Automatic deduplication to prevent sync loops
|
29
|
+
- Maximum clipboard size limit (1MB)
|
30
|
+
- Comprehensive test suite with mocks
|
31
|
+
- RuboCop integration for code quality
|
32
|
+
- Logger-based output with configurable verbosity
|
@@ -55,7 +55,7 @@ module PBSync
|
|
55
55
|
|
56
56
|
@socket.write(packet)
|
57
57
|
@socket.flush
|
58
|
-
PBSync.
|
58
|
+
PBSync.log("Sent clipboard (#{data.bytesize} bytes): \"#{text[0..99]}\"")
|
59
59
|
rescue StandardError => e
|
60
60
|
PBSync.log("Error sending clipboard: #{e.message}")
|
61
61
|
end
|
@@ -75,21 +75,21 @@ module PBSync
|
|
75
75
|
end
|
76
76
|
|
77
77
|
def start_clipboard_monitor
|
78
|
-
PBSync.logger.info('
|
78
|
+
PBSync.logger.info('Starting clipboard monitor')
|
79
79
|
Thread.new do
|
80
80
|
while @running
|
81
81
|
begin
|
82
|
-
PBSync.log('
|
82
|
+
PBSync.log('Clipboard poll fired')
|
83
83
|
text = get_clipboard_text
|
84
84
|
|
85
85
|
if text.nil?
|
86
|
-
PBSync.log('
|
86
|
+
PBSync.log('Clipboard is empty or invalid')
|
87
87
|
elsif text == @last_clipboard_sent
|
88
|
-
PBSync.log('
|
88
|
+
PBSync.log('Clipboard unchanged (already sent)')
|
89
89
|
elsif text == @last_clipboard_received
|
90
|
-
PBSync.log('
|
90
|
+
PBSync.log('Clipboard came from remote (already received)')
|
91
91
|
else
|
92
|
-
PBSync.log('
|
92
|
+
PBSync.log('Clipboard changed - sending')
|
93
93
|
@last_clipboard_sent = text
|
94
94
|
send_clipboard(text)
|
95
95
|
end
|
@@ -104,13 +104,13 @@ module PBSync
|
|
104
104
|
end
|
105
105
|
|
106
106
|
def start_receive_loop
|
107
|
-
PBSync.logger.info('
|
107
|
+
PBSync.logger.info('Starting receive loop')
|
108
108
|
Thread.new do
|
109
109
|
while @running
|
110
110
|
begin
|
111
111
|
length_data = read_exact(4)
|
112
112
|
unless length_data && length_data.bytesize == 4
|
113
|
-
PBSync.logger.info('
|
113
|
+
PBSync.logger.info('Disconnected (no length)')
|
114
114
|
break
|
115
115
|
end
|
116
116
|
|
@@ -126,9 +126,9 @@ module PBSync
|
|
126
126
|
if received != @last_clipboard_sent && received != @last_clipboard_received
|
127
127
|
@last_clipboard_received = received
|
128
128
|
set_clipboard_text(received)
|
129
|
-
PBSync.
|
129
|
+
PBSync.log("Received clipboard (#{message_data.bytesize} bytes): \"#{received[0..99]}\"")
|
130
130
|
else
|
131
|
-
PBSync.log('
|
131
|
+
PBSync.log('Ignored duplicate clipboard content')
|
132
132
|
end
|
133
133
|
rescue StandardError => e
|
134
134
|
PBSync.log("Error in receive loop: #{e.message}")
|
data/lib/pbsync/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pbsync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Remo
|
@@ -86,6 +86,7 @@ executables:
|
|
86
86
|
extensions: []
|
87
87
|
extra_rdoc_files: []
|
88
88
|
files:
|
89
|
+
- CHANGELOG.md
|
89
90
|
- CLAUDE.md
|
90
91
|
- LICENSE
|
91
92
|
- README.md
|