eyes_universal 4.24.2 → 4.29.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 +151 -0
- data/ext/eyes-universal/core.tar.gz +0 -0
- data/lib/applitools/eyes_universal/executable_finder.rb +26 -13
- data/lib/applitools/eyes_universal/universal_binary_manager.rb +20 -16
- data/lib/applitools/eyes_universal/universal_server_control.rb +15 -1
- data/lib/applitools/eyes_universal/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc730d17df1ea994b796c6d82de605d37584c0ebce398b0b3980e24803f5b240
|
4
|
+
data.tar.gz: b253c9d18caff0af826519073f1f197860b4bb0ae32aca25190d18790493142f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3940f1b1e20d2ae2ec92b00d73f1325dfd928ed879c94889effa5557a223a3f2275f8fdf8162112ab0fe1c07f11e73731b622690bc048c530945dad849c9f734
|
7
|
+
data.tar.gz: a5818192548f3724b495490963d4246889c875f4e301fb12b589666498fd665a5817ed75cb75c987a7ec44dd4d0820554ae41e57a906097c8c91f8939703a903
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,156 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [4.29.1](https://github.com/Applitools-Dev/sdk/compare/ruby/eyes_universal@4.28.0...ruby/eyes_universal@4.29.1) (2025-01-19)
|
4
|
+
|
5
|
+
|
6
|
+
### Dependencies
|
7
|
+
|
8
|
+
* @applitools/socket bumped to 1.2.1
|
9
|
+
#### Bug Fixes
|
10
|
+
|
11
|
+
* mask from config property ([#2739](https://github.com/Applitools-Dev/sdk/issues/2739)) ([6840624](https://github.com/Applitools-Dev/sdk/commit/6840624f5f3f56512dce96547815904adec94704))
|
12
|
+
* @applitools/req bumped to 1.7.7
|
13
|
+
#### Bug Fixes
|
14
|
+
|
15
|
+
* memory usage going high when resource is uint8array ([#2743](https://github.com/Applitools-Dev/sdk/issues/2743)) ([d06deeb](https://github.com/Applitools-Dev/sdk/commit/d06deeb845de62e96ec623efefa90ae65a703736))
|
16
|
+
* @applitools/spec-driver-webdriver bumped to 1.1.24
|
17
|
+
#### Bug Fixes
|
18
|
+
|
19
|
+
* universal core on windows ([#2736](https://github.com/Applitools-Dev/sdk/issues/2736)) ([9bd0744](https://github.com/Applitools-Dev/sdk/commit/9bd0744ca816a020973f20645aeb2460af76f44c))
|
20
|
+
* @applitools/tunnel-client bumped to 1.6.1
|
21
|
+
#### Bug Fixes
|
22
|
+
|
23
|
+
* memory usage going high when resource is uint8array ([#2743](https://github.com/Applitools-Dev/sdk/issues/2743)) ([d06deeb](https://github.com/Applitools-Dev/sdk/commit/d06deeb845de62e96ec623efefa90ae65a703736))
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
* @applitools/screenshoter bumped to 3.10.4
|
28
|
+
|
29
|
+
* @applitools/nml-client bumped to 1.8.23
|
30
|
+
|
31
|
+
* @applitools/ufg-client bumped to 1.16.1
|
32
|
+
#### Bug Fixes
|
33
|
+
|
34
|
+
* memory usage going high when resource is uint8array ([#2743](https://github.com/Applitools-Dev/sdk/issues/2743)) ([d06deeb](https://github.com/Applitools-Dev/sdk/commit/d06deeb845de62e96ec623efefa90ae65a703736))
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
* @applitools/core-base bumped to 1.22.1
|
39
|
+
|
40
|
+
* @applitools/ec-client bumped to 1.10.2
|
41
|
+
|
42
|
+
* @applitools/core bumped to 4.29.1
|
43
|
+
#### Bug Fixes
|
44
|
+
|
45
|
+
* mask from config property ([#2739](https://github.com/Applitools-Dev/sdk/issues/2739)) ([6840624](https://github.com/Applitools-Dev/sdk/commit/6840624f5f3f56512dce96547815904adec94704))
|
46
|
+
* universal core on windows ([#2736](https://github.com/Applitools-Dev/sdk/issues/2736)) ([9bd0744](https://github.com/Applitools-Dev/sdk/commit/9bd0744ca816a020973f20645aeb2460af76f44c))
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
## [4.28.0](https://github.com/Applitools-Dev/sdk/compare/ruby/eyes_universal@4.24.2...ruby/eyes_universal@4.28.0) (2024-12-31)
|
52
|
+
|
53
|
+
|
54
|
+
### Features
|
55
|
+
|
56
|
+
* logger masking ([#2640](https://github.com/Applitools-Dev/sdk/issues/2640)) ([bd69d21](https://github.com/Applitools-Dev/sdk/commit/bd69d21f6341447b1acdb042f4ee1a6328d7428f))
|
57
|
+
|
58
|
+
|
59
|
+
### Dependencies
|
60
|
+
|
61
|
+
* @applitools/utils bumped to 1.7.7
|
62
|
+
#### Bug Fixes
|
63
|
+
|
64
|
+
* shim process execution functions for browser environment ([#2698](https://github.com/Applitools-Dev/sdk/issues/2698)) ([8d77db4](https://github.com/Applitools-Dev/sdk/commit/8d77db48e1c7fd54cad92c89a819a924255e5868))
|
65
|
+
* @applitools/logger bumped to 2.1.0
|
66
|
+
#### Features
|
67
|
+
|
68
|
+
* logger masking ([#2640](https://github.com/Applitools-Dev/sdk/issues/2640)) ([bd69d21](https://github.com/Applitools-Dev/sdk/commit/bd69d21f6341447b1acdb042f4ee1a6328d7428f))
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
* @applitools/dom-snapshot bumped to 4.11.13
|
73
|
+
#### Bug Fixes
|
74
|
+
|
75
|
+
* code scanning issue ([#2687](https://github.com/Applitools-Dev/sdk/issues/2687)) ([f301056](https://github.com/Applitools-Dev/sdk/commit/f301056cccfc9cc0c21ceedbd521d8f4b054f058))
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
* @applitools/socket bumped to 1.2.0
|
80
|
+
#### Features
|
81
|
+
|
82
|
+
* logger masking ([#2640](https://github.com/Applitools-Dev/sdk/issues/2640)) ([bd69d21](https://github.com/Applitools-Dev/sdk/commit/bd69d21f6341447b1acdb042f4ee1a6328d7428f))
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
* @applitools/core-base bumped to 1.22.0
|
87
|
+
#### Features
|
88
|
+
|
89
|
+
* deterministic output in offline execution ([#2711](https://github.com/Applitools-Dev/sdk/issues/2711)) ([5e8c7ca](https://github.com/Applitools-Dev/sdk/commit/5e8c7ca43c98e7ba6aed0c1a66c5a60b4001aeff))
|
90
|
+
* logger masking ([#2640](https://github.com/Applitools-Dev/sdk/issues/2640)) ([bd69d21](https://github.com/Applitools-Dev/sdk/commit/bd69d21f6341447b1acdb042f4ee1a6328d7428f))
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
* @applitools/req bumped to 1.7.6
|
95
|
+
|
96
|
+
* @applitools/image bumped to 1.1.16
|
97
|
+
|
98
|
+
* @applitools/dom-capture bumped to 11.5.3
|
99
|
+
#### Bug Fixes
|
100
|
+
|
101
|
+
* code scanning issue ([#2687](https://github.com/Applitools-Dev/sdk/issues/2687)) ([f301056](https://github.com/Applitools-Dev/sdk/commit/f301056cccfc9cc0c21ceedbd521d8f4b054f058))
|
102
|
+
* @applitools/driver bumped to 1.20.2
|
103
|
+
|
104
|
+
* @applitools/spec-driver-puppeteer bumped to 1.4.22
|
105
|
+
|
106
|
+
* @applitools/tunnel-client bumped to 1.6.0
|
107
|
+
#### Features
|
108
|
+
|
109
|
+
* logger masking ([#2640](https://github.com/Applitools-Dev/sdk/issues/2640)) ([bd69d21](https://github.com/Applitools-Dev/sdk/commit/bd69d21f6341447b1acdb042f4ee1a6328d7428f))
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
* @applitools/ec-client bumped to 1.10.0
|
114
|
+
#### Features
|
115
|
+
|
116
|
+
* logger masking ([#2640](https://github.com/Applitools-Dev/sdk/issues/2640)) ([bd69d21](https://github.com/Applitools-Dev/sdk/commit/bd69d21f6341447b1acdb042f4ee1a6328d7428f))
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
* @applitools/spec-driver-webdriver bumped to 1.1.22
|
121
|
+
|
122
|
+
* @applitools/spec-driver-selenium bumped to 1.5.93
|
123
|
+
|
124
|
+
* @applitools/screenshoter bumped to 3.10.2
|
125
|
+
|
126
|
+
* @applitools/nml-client bumped to 1.8.21
|
127
|
+
|
128
|
+
* @applitools/ufg-client bumped to 1.16.0
|
129
|
+
#### Features
|
130
|
+
|
131
|
+
* deterministic output in offline execution ([#2711](https://github.com/Applitools-Dev/sdk/issues/2711)) ([5e8c7ca](https://github.com/Applitools-Dev/sdk/commit/5e8c7ca43c98e7ba6aed0c1a66c5a60b4001aeff))
|
132
|
+
|
133
|
+
|
134
|
+
#### Bug Fixes
|
135
|
+
|
136
|
+
* code scanning issue ([#2687](https://github.com/Applitools-Dev/sdk/issues/2687)) ([f301056](https://github.com/Applitools-Dev/sdk/commit/f301056cccfc9cc0c21ceedbd521d8f4b054f058))
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
* @applitools/core bumped to 4.28.0
|
141
|
+
#### Features
|
142
|
+
|
143
|
+
* deterministic output in offline execution ([#2711](https://github.com/Applitools-Dev/sdk/issues/2711)) ([5e8c7ca](https://github.com/Applitools-Dev/sdk/commit/5e8c7ca43c98e7ba6aed0c1a66c5a60b4001aeff))
|
144
|
+
* logger masking ([#2640](https://github.com/Applitools-Dev/sdk/issues/2640)) ([bd69d21](https://github.com/Applitools-Dev/sdk/commit/bd69d21f6341447b1acdb042f4ee1a6328d7428f))
|
145
|
+
|
146
|
+
|
147
|
+
#### Bug Fixes
|
148
|
+
|
149
|
+
* take snapshots with coded regions on pages that has cross origin frames ([#2705](https://github.com/Applitools-Dev/sdk/issues/2705)) ([5972fec](https://github.com/Applitools-Dev/sdk/commit/5972fec890a1454a9f96c4eddcf17634e72111aa))
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
|
3
154
|
## [4.24.2](https://github.com/Applitools-Dev/sdk/compare/ruby/eyes_universal@4.21.2...ruby/eyes_universal@4.24.2) (2024-11-27)
|
4
155
|
|
5
156
|
|
Binary file
|
@@ -17,10 +17,18 @@ module Applitools::EyesUniversal
|
|
17
17
|
|
18
18
|
def executable_filepath
|
19
19
|
raise 'Universal server not Found' if server_lib.nil?
|
20
|
+
if RUBY_PLATFORM =~ /darwin.*arm64|aarch64/i
|
21
|
+
puts "[WARN] Running on Apple Silicon (M1/M2) - using Intel binary with Rosetta"
|
22
|
+
end
|
23
|
+
|
20
24
|
return filepath if valid_file?(filepath)
|
21
25
|
core_path = other_filepaths.find {|path| valid_file?(path) }
|
22
26
|
return core_path if core_path
|
23
|
-
|
27
|
+
|
28
|
+
raise "Universal server binary not found for platform #{RUBY_PLATFORM}. " \
|
29
|
+
"Expected binary: #{filename} in paths:\n" \
|
30
|
+
"- Primary: #{filepath}\n" \
|
31
|
+
"- Fallback: #{other_filepaths.join("\n ")}"
|
24
32
|
end
|
25
33
|
|
26
34
|
private
|
@@ -33,20 +41,25 @@ module Applitools::EyesUniversal
|
|
33
41
|
|
34
42
|
def filename
|
35
43
|
return 'core-win.exe' if Gem.win_platform?
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
'core-
|
45
|
-
|
46
|
-
'core-
|
44
|
+
|
45
|
+
platform = RUBY_PLATFORM.downcase
|
46
|
+
|
47
|
+
# First, handle specific platform combinations
|
48
|
+
if platform.include?('darwin')
|
49
|
+
return 'core-macos'
|
50
|
+
elsif platform.include?('linux')
|
51
|
+
if platform.include?('arm64') || platform.include?('aarch64')
|
52
|
+
return 'core-linux-arm64'
|
53
|
+
elsif platform.include?('musl')
|
54
|
+
return 'core-alpine'
|
47
55
|
else
|
48
|
-
|
56
|
+
return 'core-linux'
|
57
|
+
end
|
58
|
+
elsif platform.match?(/mswin|mingw|windows/)
|
59
|
+
return 'core-win.exe'
|
49
60
|
end
|
61
|
+
|
62
|
+
raise "Unsupported platform: #{RUBY_PLATFORM}"
|
50
63
|
end
|
51
64
|
|
52
65
|
def valid_file?(path)
|
@@ -37,28 +37,32 @@ module Applitools
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def filename
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
40
|
+
return 'core-win.exe' if Gem.win_platform?
|
41
|
+
|
42
|
+
platform = RUBY_PLATFORM.downcase
|
43
|
+
|
44
|
+
# First, handle specific platform combinations
|
45
|
+
if platform.include?('darwin')
|
46
|
+
return 'core-macos'
|
47
|
+
elsif platform.include?('linux')
|
48
|
+
if platform.include?('arm64') || platform.include?('aarch64')
|
49
|
+
return 'core-linux-arm64'
|
50
|
+
elsif platform.include?('musl')
|
51
|
+
return 'core-alpine'
|
52
|
+
else
|
53
|
+
return 'core-linux'
|
54
|
+
end
|
55
|
+
elsif platform.match?(/mswin|mingw|windows/)
|
56
|
+
return 'core-win.exe'
|
57
|
+
end
|
58
|
+
|
59
|
+
raise "Unsupported platform: #{RUBY_PLATFORM}"
|
55
60
|
end
|
56
61
|
|
57
62
|
def tar_gz_filename
|
58
63
|
'core.tar.gz'
|
59
64
|
end
|
60
65
|
|
61
|
-
|
62
66
|
end
|
63
67
|
end
|
64
68
|
end
|
@@ -12,12 +12,19 @@ module Applitools::EyesUniversal
|
|
12
12
|
DEFAULT_SERVER_HOST = 'localhost'
|
13
13
|
EXECUTABLE_FILEPATH = Applitools::EyesUniversal::UniversalServerGemFinder.executable_filepath
|
14
14
|
|
15
|
+
class << self
|
16
|
+
def configure(mask_log = nil)
|
17
|
+
@mask_log = mask_log
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
15
21
|
def initialize
|
16
22
|
@control_pipe = nil
|
17
23
|
@port_pipe = nil
|
18
24
|
@usdk_pid = nil
|
19
25
|
@monitoring_thread = nil
|
20
26
|
@port = nil
|
27
|
+
@mask_log = self.class.instance_variable_get(:@mask_log)
|
21
28
|
start_server_with_pipe
|
22
29
|
@sockets = []
|
23
30
|
end
|
@@ -60,9 +67,16 @@ module Applitools::EyesUniversal
|
|
60
67
|
def start_server_with_pipe
|
61
68
|
in_pipe, @control_pipe = IO.pipe
|
62
69
|
@port_pipe, port_w = IO.pipe
|
70
|
+
spawn_args = [
|
71
|
+
EXECUTABLE_FILEPATH, 'universal', '--no-singleton', '--shutdown-mode', 'stdin'
|
72
|
+
]
|
73
|
+
|
74
|
+
if @mask_log
|
75
|
+
spawn_args.push('--maskLog')
|
76
|
+
end
|
63
77
|
|
64
78
|
@usdk_pid = spawn(
|
65
|
-
|
79
|
+
*spawn_args,
|
66
80
|
in: in_pipe, out: port_w, err: port_w,
|
67
81
|
# close_others: true
|
68
82
|
)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eyes_universal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.29.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Applitools Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: open-uri
|