e2e 0.7.1 → 0.7.3

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: e58fc07c8356119f92b3c2be2849227d2be09a4f0e0e6410916b1672b60d50d9
4
- data.tar.gz: 0bfe39f3c8bca7b434dae7ca3922ffe08db1bf6fe351a5cf6ed1759a11d688bb
3
+ metadata.gz: 054a523b511bfbd8e1798c0b4733161b29a2a65938b8697266e36f8f63c7207e
4
+ data.tar.gz: f27d6c894f7dfeaa3626274b6dab9819de23f7249980a69f783e3740f86f62cb
5
5
  SHA512:
6
- metadata.gz: 1574bb81c3de068d48e255e5c9b4515ce5fac93ed07e2238599c597eaa0b6dadd3e10aee0bad5f5ff4efe45dd6582f249e39f2b7e78e7f4cb95974644a6b2f58
7
- data.tar.gz: 54a2aba91a6e02d3ad3bd628c7dc8f99abbba91930bf83285bd259873f0e89eb2d6f9b41bceda895982eb5826051fc0114ae7e0a719518e4fff8bff22942f579
6
+ metadata.gz: 4318374aef6f2f4fbcdff1c5019d9122ee8bdc3843bf96181c1aee9733f34c882b9c9ee9a38fff3714dd64a8a761b70f5d2fb36e49643b69591822861034f294
7
+ data.tar.gz: 76cd349a59d5fe14f44e06d9c6c65f711e7eea2feb8c6806369d5e4457b3e2c149af43fef43d5a70fdbfeb49273fb043074b2cd4225af473f6fb847c3ab46da8
data/CHANGELOG.md CHANGED
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.7.3] - 2026-08-20
11
+
12
+ ### Fixed
13
+
14
+ - `E2E::Server` eager loads a Rails app (once, before the in-process WEBrick thread starts) to close a rare full-process deadlock: Zeitwerk's per-loader autoload monitor and Ruby's own internal `require` lock can deadlock each other (a classic lock-ordering inversion) when the server thread and the caller's thread each reference a not-yet-loaded app constant for the first time at the same moment. The process idles at ~0% CPU forever with no exception raised. Only reproduces when `config.eager_load` is off (the common local-dev/test setting; CI setups that force eager loading were never affected). Opt out with `config.eager_load_app = false`.
15
+
16
+ ## [0.7.2] - 2026-08-13
17
+
18
+ ### Added
19
+
20
+ - `E2E.config.ensure_vite_assets` (`:auto` by default) builds ViteRuby test assets once before the e2e suite (RSpec `before(:suite)`, Minitest `before_setup`). Modes: `:auto` (build when ViteRuby is loaded), `:build` (require ViteRuby), `:warn`, `:skip`. Serialized with a flock so only one process compiles; ViteRuby skips compile when the watched-files digest is unchanged. Escape hatch: `SKIP_VITE_TEST_BUILD=1`.
21
+ - Install generator documents `ensure_vite_assets` in the helper template.
22
+
23
+ ### Fixed
24
+
25
+ - Inertia / vite_rails apps no longer silently run e2e against a stale `public/vite-test` bundle when specs are started without a manual `bin/vite build --mode=test`.
26
+
10
27
  ## [0.7.1] - 2026-08-05
11
28
 
12
29
  ### Fixed
data/README.md CHANGED
@@ -336,6 +336,14 @@ E2E.configure do |config|
336
336
  config.wait_timeout = 5 # Seconds to wait in auto-waiting matchers (default: 5)
337
337
  config.navigation_wait_until = "domcontentloaded" # Avoid hangs on third-party iframes
338
338
  config.navigation_timeout = 30 # Seconds for page.goto
339
+ # Vite / Inertia: ensure public/vite-test is fresh before the suite
340
+ # :auto (default) | :build | :warn | :skip — or SKIP_VITE_TEST_BUILD=1
341
+ config.ensure_vite_assets = :auto
342
+ # Eager load a Rails app (once) before the in-process server thread starts.
343
+ # Prevents a rare deadlock where that thread and the caller's thread race to
344
+ # autoload the same app constant for the first time. Leave this on unless
345
+ # eager loading your app is itself broken. Default: true
346
+ config.eager_load_app = true
339
347
  config.flash_selectors = {
340
348
  any: "[role='alert'], [role='status'], .flash",
341
349
  notice: "[role='status'], .flash.notice",
@@ -344,6 +352,18 @@ E2E.configure do |config|
344
352
  end
345
353
  ```
346
354
 
355
+ ### Vite / Inertia assets
356
+
357
+ Apps using `vite_rails` with `config/vite.json` `test.autoBuild: false` serve prebuilt files from `public/vite-test`. If that bundle is older than your frontend, e2e fails with missing buttons/pages instead of a clear asset error.
358
+
359
+ With `ensure_vite_assets: :auto` (default), the gem calls `ViteRuby.commands.build` once before the suite. ViteRuby skips the real compile when nothing changed. A file lock keeps a single builder if several processes start together.
360
+
361
+ ```bash
362
+ # Prefer either of these when building manually / in CI:
363
+ bin/vite build --mode=test
364
+ RAILS_ENV=test bin/vite build
365
+ ```
366
+
347
367
  ### Multiple Browsers
348
368
 
349
369
  One of the key advantages of Playwright is true cross-browser testing. You can easily switch engines:
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- e2e (0.7.1)
4
+ e2e (0.7.3)
5
5
  playwright-ruby-client (>= 1.40.0)
6
6
  rack
7
7
  rackup
@@ -92,29 +92,29 @@ GEM
92
92
  benchmark (0.5.0)
93
93
  bigdecimal (4.1.2)
94
94
  builder (3.3.0)
95
- concurrent-ruby (1.3.7)
95
+ concurrent-ruby (1.3.8)
96
96
  crass (1.0.7)
97
97
  date (3.5.1)
98
98
  diff-lcs (1.6.2)
99
99
  drb (2.2.3)
100
- erb (6.0.4)
100
+ erb (6.0.7)
101
101
  erubi (1.13.1)
102
102
  globalid (1.4.0)
103
103
  activesupport (>= 6.1)
104
104
  i18n (1.15.2)
105
105
  concurrent-ruby (~> 1.0)
106
- io-console (0.8.2)
106
+ io-console (0.9.2)
107
107
  irb (1.18.0)
108
108
  pp (>= 0.6.0)
109
109
  prism (>= 1.3.0)
110
110
  rdoc (>= 4.0.0)
111
111
  reline (>= 0.4.2)
112
- json (2.21.1)
112
+ json (2.21.2)
113
113
  language_server-protocol (3.17.0.6)
114
114
  lefthook (2.1.10)
115
115
  lint_roller (1.1.0)
116
116
  logger (1.7.0)
117
- loofah (2.25.1)
117
+ loofah (2.25.2)
118
118
  crass (~> 1.0.2)
119
119
  nokogiri (>= 1.12.0)
120
120
  mail (2.9.1)
@@ -135,7 +135,7 @@ GEM
135
135
  drb (~> 2.0)
136
136
  prism (~> 1.5)
137
137
  mutex_m (0.3.0)
138
- net-imap (0.6.4.1)
138
+ net-imap (0.6.6)
139
139
  date
140
140
  net-protocol
141
141
  net-pop (0.1.2)
@@ -162,10 +162,10 @@ GEM
162
162
  nokogiri (1.19.4-x86_64-linux-musl)
163
163
  racc (~> 1.4)
164
164
  parallel (2.1.0)
165
- parser (3.3.11.1)
165
+ parser (3.3.12.0)
166
166
  ast (~> 2.4.1)
167
167
  racc
168
- playwright-ruby-client (1.61.0)
168
+ playwright-ruby-client (1.62.0)
169
169
  base64
170
170
  concurrent-ruby (>= 1.1.6)
171
171
  mime-types (>= 3.0)
@@ -174,7 +174,7 @@ GEM
174
174
  prettyprint (0.2.0)
175
175
  prism (1.9.0)
176
176
  racc (1.8.1)
177
- rack (2.2.23)
177
+ rack (2.2.24)
178
178
  rack-test (2.2.0)
179
179
  rack (>= 1.3)
180
180
  rackup (1.0.1)
@@ -198,8 +198,8 @@ GEM
198
198
  activesupport (>= 5.0.0)
199
199
  minitest
200
200
  nokogiri (>= 1.6)
201
- rails-html-sanitizer (1.7.0)
202
- loofah (~> 2.25)
201
+ rails-html-sanitizer (1.7.1)
202
+ loofah (~> 2.25, >= 2.25.2)
203
203
  nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
204
204
  railties (7.0.10)
205
205
  actionpack (= 7.0.10)
@@ -210,7 +210,7 @@ GEM
210
210
  zeitwerk (~> 2.5)
211
211
  rainbow (3.1.1)
212
212
  rake (13.4.2)
213
- rbs (4.0.3)
213
+ rbs (4.1.3)
214
214
  logger
215
215
  prism (>= 1.6.0)
216
216
  tsort
@@ -220,7 +220,7 @@ GEM
220
220
  rbs (>= 4.0.0)
221
221
  tsort
222
222
  regexp_parser (2.12.0)
223
- reline (0.6.3)
223
+ reline (0.7.0)
224
224
  io-console (~> 0.5)
225
225
  rspec (3.13.2)
226
226
  rspec-core (~> 3.13.0)
@@ -235,7 +235,7 @@ GEM
235
235
  diff-lcs (>= 1.2.0, < 2.0)
236
236
  rspec-support (~> 3.13.0)
237
237
  rspec-support (3.13.7)
238
- rubocop (1.87.0)
238
+ rubocop (1.88.2)
239
239
  json (~> 2.3)
240
240
  language_server-protocol (~> 3.17.0.2)
241
241
  lint_roller (~> 1.1.0)
@@ -259,13 +259,13 @@ GEM
259
259
  rubocop (~> 1.86, >= 1.86.2)
260
260
  ruby-progressbar (1.13.0)
261
261
  securerandom (0.4.1)
262
- simplecov (1.0.1)
262
+ simplecov (1.1.1)
263
263
  sqlite3 (1.7.3)
264
264
  mini_portile2 (~> 2.8.0)
265
- standard (1.55.0)
265
+ standard (1.56.0)
266
266
  language_server-protocol (~> 3.17.0.2)
267
267
  lint_roller (~> 1.0)
268
- rubocop (~> 1.87.0)
268
+ rubocop (~> 1.88.0)
269
269
  standard-custom (~> 1.0.0)
270
270
  standard-performance (~> 1.8)
271
271
  standard-custom (1.0.2)
@@ -287,7 +287,7 @@ GEM
287
287
  base64
288
288
  websocket-extensions (>= 0.1.0)
289
289
  websocket-extensions (0.1.5)
290
- zeitwerk (2.8.2)
290
+ zeitwerk (2.8.3)
291
291
 
292
292
  PLATFORMS
293
293
  aarch64-linux-gnu
@@ -333,24 +333,25 @@ CHECKSUMS
333
333
  benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
334
334
  bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
335
335
  builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
336
- concurrent-ruby (1.3.7) sha256=4412caec3a5ea2e5fdc52076724c071a81f2c0593d83b2ac8cbb8ca63b3151b0
336
+ bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d
337
+ concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
337
338
  crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295
338
339
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
339
340
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
340
341
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
341
- e2e (0.7.1)
342
- erb (6.0.4) sha256=38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9
342
+ e2e (0.7.3)
343
+ erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
343
344
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
344
345
  globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
345
346
  i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
346
- io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
347
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
347
348
  irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
348
- json (2.21.1) sha256=13a43df75d95641443f5702dff350f237164a9d811ff0f2c2800d4d980220583
349
+ json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
349
350
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
350
351
  lefthook (2.1.10) sha256=cc9c06bd8ea689e8b8016eab9769e54d696d07951860c1c6d28e8f6812e61b65
351
352
  lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
352
353
  logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
353
- loofah (2.25.1) sha256=d436c73dbd0c1147b16c4a41db097942d217303e1f7728704b37e4df9f6d2e04
354
+ loofah (2.25.2) sha256=2007f746959ac65552456e04b433e83deb22759ab38c838b4445c70e43425918
354
355
  mail (2.9.1) sha256=06574eca475253d6c18145dd70af80d0eb970182d55053497c5f4d797ea160e8
355
356
  marcel (1.2.1) sha256=1678e9360e32f9eafa917c80029e2f6d10b2715c66a4b87b6d0da9b9cd1f859f
356
357
  method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
@@ -360,7 +361,7 @@ CHECKSUMS
360
361
  mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289
361
362
  minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1
362
363
  mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
363
- net-imap (0.6.4.1) sha256=29f0360d75a7efd3539f16ac1957dea5c0a51ddeceb348db4553c3120914ea0d
364
+ net-imap (0.6.6) sha256=96aa4ee50df3060203e649efc341f53480b791d49e150f2fdebf68beb141a8df
364
365
  net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
365
366
  net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
366
367
  net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
@@ -374,39 +375,39 @@ CHECKSUMS
374
375
  nokogiri (1.19.4-x86_64-linux-gnu) sha256=379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a
375
376
  nokogiri (1.19.4-x86_64-linux-musl) sha256=17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b
376
377
  parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356
377
- parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54
378
- playwright-ruby-client (1.61.0) sha256=1f5c5f0307a2f6bd70b4fa797020a30eef5680caf8d5bd9ccc8d3937f6666e08
378
+ parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
379
+ playwright-ruby-client (1.62.0) sha256=44eb6051ab7987f68a1288a7db7892403e59680116739987729c5fecfdb55715
379
380
  pp (0.6.4) sha256=dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570
380
381
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
381
382
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
382
383
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
383
- rack (2.2.23) sha256=a8fe9d7e07064770b8ec123663fded8a59ef7e2b6db5cda7173d45a5718ab69c
384
+ rack (2.2.24) sha256=ef16526a0d871c43753452338c754040a664c8b41bf0dd7450b85f7772adca5f
384
385
  rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
385
386
  rackup (1.0.1) sha256=ba86604a28989fe1043bff20d819b360944ca08156406812dca6742b24b3c249
386
387
  rails (7.0.10) sha256=866eb2c53d3184543fdb770d7ea308e4ee518063226a9e176229f3c7a9537c25
387
388
  rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
388
- rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89
389
+ rails-html-sanitizer (1.7.1) sha256=e797a7c9b01e567307e317c576b49ab4168017e63eea4dba9ce3cb587e2f22c2
389
390
  railties (7.0.10) sha256=d52a8b7a61ad941121a15a6596b2150e05c70b199c3afc9e9b73e63b3b1a57a7
390
391
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
391
392
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
392
- rbs (4.0.3) sha256=5a7bf70e2628549d9a1f44eae447b2cfe55968a9c60cfff52693a4bdcc020e14
393
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
393
394
  rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
394
395
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
395
- reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
396
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
396
397
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
397
398
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
398
399
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
399
400
  rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
400
401
  rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
401
- rubocop (1.87.0) sha256=b9d9ddf55116a513f8ef2c7ae660662d8b49301f118d3f0df61865b33a5c188d
402
+ rubocop (1.88.2) sha256=8def251c90cd955feb4daa3edc0ab56893250c4ce90ef81e6c80c03f9a939bbf
402
403
  rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
403
404
  rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
404
405
  rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
405
406
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
406
407
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
407
- simplecov (1.0.1) sha256=419d93c40484159d20b40e26e9a83cdd4c3afa2f3fd443bb8946c301cd658d75
408
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
408
409
  sqlite3 (1.7.3) sha256=fa77f63c709548f46d4e9b6bb45cda52aa3881aa12cc85991132758e8968701c
409
- standard (1.55.0) sha256=8a8f2c3e681a4db3aafde1b301561b0f3d7c5f06c160167cb744a4d7baf0426e
410
+ standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
410
411
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
411
412
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
412
413
  thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
@@ -418,7 +419,7 @@ CHECKSUMS
418
419
  webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131
419
420
  websocket-driver (0.8.2) sha256=97c556b019bf3410b4961002ac501621e9322d3f8a7bc02161a09301cc4c4146
420
421
  websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
421
- zeitwerk (2.8.2) sha256=7212a61311083c604184b1ea2574b9aa05cd14f855a0841c06985cabe9181d12
422
+ zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
422
423
 
423
424
  BUNDLED WITH
424
- 4.0.5
425
+ 4.0.16
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- e2e (0.7.1)
4
+ e2e (0.7.3)
5
5
  playwright-ruby-client (>= 1.40.0)
6
6
  rack
7
7
  rackup
@@ -111,7 +111,7 @@ GEM
111
111
  activesupport (>= 6.1)
112
112
  i18n (1.15.2)
113
113
  concurrent-ruby (~> 1.0)
114
- io-console (0.8.2)
114
+ io-console (0.9.2)
115
115
  irb (1.18.0)
116
116
  pp (>= 0.6.0)
117
117
  prism (>= 1.3.0)
@@ -180,7 +180,7 @@ GEM
180
180
  prettyprint (0.2.0)
181
181
  prism (1.9.0)
182
182
  racc (1.8.1)
183
- rack (3.2.6)
183
+ rack (3.2.7)
184
184
  rack-session (2.1.2)
185
185
  base64 (>= 0.1.0)
186
186
  rack (>= 3.0.0)
@@ -221,7 +221,7 @@ GEM
221
221
  zeitwerk (~> 2.6)
222
222
  rainbow (3.1.1)
223
223
  rake (13.4.2)
224
- rbs (4.1.2)
224
+ rbs (4.1.3)
225
225
  logger
226
226
  prism (>= 1.6.0)
227
227
  tsort
@@ -231,7 +231,7 @@ GEM
231
231
  rbs (>= 4.0.0)
232
232
  tsort
233
233
  regexp_parser (2.12.0)
234
- reline (0.6.3)
234
+ reline (0.7.0)
235
235
  io-console (~> 0.5)
236
236
  rspec (3.13.2)
237
237
  rspec-core (~> 3.13.0)
@@ -270,15 +270,15 @@ GEM
270
270
  rubocop (~> 1.86, >= 1.86.2)
271
271
  ruby-progressbar (1.13.0)
272
272
  securerandom (0.4.1)
273
- simplecov (1.0.3)
274
- sqlite3 (2.9.5-aarch64-linux-gnu)
275
- sqlite3 (2.9.5-aarch64-linux-musl)
276
- sqlite3 (2.9.5-arm-linux-gnu)
277
- sqlite3 (2.9.5-arm-linux-musl)
278
- sqlite3 (2.9.5-arm64-darwin)
279
- sqlite3 (2.9.5-x86_64-darwin)
280
- sqlite3 (2.9.5-x86_64-linux-gnu)
281
- sqlite3 (2.9.5-x86_64-linux-musl)
273
+ simplecov (1.1.1)
274
+ sqlite3 (2.9.6-aarch64-linux-gnu)
275
+ sqlite3 (2.9.6-aarch64-linux-musl)
276
+ sqlite3 (2.9.6-arm-linux-gnu)
277
+ sqlite3 (2.9.6-arm-linux-musl)
278
+ sqlite3 (2.9.6-arm64-darwin)
279
+ sqlite3 (2.9.6-x86_64-darwin)
280
+ sqlite3 (2.9.6-x86_64-linux-gnu)
281
+ sqlite3 (2.9.6-x86_64-linux-musl)
282
282
  standard (1.56.0)
283
283
  language_server-protocol (~> 3.17.0.2)
284
284
  lint_roller (~> 1.0)
@@ -350,6 +350,7 @@ CHECKSUMS
350
350
  benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
351
351
  bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
352
352
  builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
353
+ bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d
353
354
  cgi (0.5.2) sha256=61ca30298171190fd4fa0d8018e57ada456eae9b7a2b78526debf7f0a0e6f8bb
354
355
  concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
355
356
  connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
@@ -357,12 +358,12 @@ CHECKSUMS
357
358
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
358
359
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
359
360
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
360
- e2e (0.7.1)
361
+ e2e (0.7.3)
361
362
  erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
362
363
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
363
364
  globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
364
365
  i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
365
- io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
366
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
366
367
  irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
367
368
  json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
368
369
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
@@ -397,7 +398,7 @@ CHECKSUMS
397
398
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
398
399
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
399
400
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
400
- rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
401
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
401
402
  rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
402
403
  rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
403
404
  rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
@@ -407,10 +408,10 @@ CHECKSUMS
407
408
  railties (7.1.6) sha256=2a10e97f2eaca66d11f0fef4b1f4d826e6ee28d4cf01ff16624420dd45e7de1c
408
409
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
409
410
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
410
- rbs (4.1.2) sha256=050eb1d8b508f1233bed929c0f2c7052302f7adf295230d9cb314e9024078f48
411
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
411
412
  rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
412
413
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
413
- reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
414
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
414
415
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
415
416
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
416
417
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
@@ -422,15 +423,15 @@ CHECKSUMS
422
423
  rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
423
424
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
424
425
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
425
- simplecov (1.0.3) sha256=38ef0514f16ae7562f0d0f4df02610071115103d301b6de7dacbcc000082e39b
426
- sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc
427
- sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d
428
- sqlite3 (2.9.5-arm-linux-gnu) sha256=1bdfca0c7d63998c60b0f4a8e3c8df2d33800ccc4abd2d612eddbbbc92a4c48b
429
- sqlite3 (2.9.5-arm-linux-musl) sha256=bae1109d12b2e9f588455967729b008e1ff4feb7761749df695019c9079913c6
430
- sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2
431
- sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81
432
- sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e
433
- sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2
426
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
427
+ sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
428
+ sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
429
+ sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
430
+ sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
431
+ sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
432
+ sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
433
+ sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
434
+ sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
434
435
  standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
435
436
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
436
437
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
@@ -446,4 +447,4 @@ CHECKSUMS
446
447
  zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
447
448
 
448
449
  BUNDLED WITH
449
- 4.0.5
450
+ 4.0.16
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- e2e (0.7.1)
4
+ e2e (0.7.3)
5
5
  playwright-ruby-client (>= 1.40.0)
6
6
  rack
7
7
  rackup
@@ -105,7 +105,7 @@ GEM
105
105
  activesupport (>= 6.1)
106
106
  i18n (1.15.2)
107
107
  concurrent-ruby (~> 1.0)
108
- io-console (0.8.2)
108
+ io-console (0.9.2)
109
109
  irb (1.18.0)
110
110
  pp (>= 0.6.0)
111
111
  prism (>= 1.3.0)
@@ -173,7 +173,7 @@ GEM
173
173
  prettyprint (0.2.0)
174
174
  prism (1.9.0)
175
175
  racc (1.8.1)
176
- rack (3.2.6)
176
+ rack (3.2.7)
177
177
  rack-session (2.1.2)
178
178
  base64 (>= 0.1.0)
179
179
  rack (>= 3.0.0)
@@ -214,7 +214,7 @@ GEM
214
214
  zeitwerk (~> 2.6)
215
215
  rainbow (3.1.1)
216
216
  rake (13.4.2)
217
- rbs (4.1.2)
217
+ rbs (4.1.3)
218
218
  logger
219
219
  prism (>= 1.6.0)
220
220
  tsort
@@ -224,7 +224,7 @@ GEM
224
224
  rbs (>= 4.0.0)
225
225
  tsort
226
226
  regexp_parser (2.12.0)
227
- reline (0.6.3)
227
+ reline (0.7.0)
228
228
  io-console (~> 0.5)
229
229
  rspec (3.13.2)
230
230
  rspec-core (~> 3.13.0)
@@ -263,15 +263,15 @@ GEM
263
263
  rubocop (~> 1.86, >= 1.86.2)
264
264
  ruby-progressbar (1.13.0)
265
265
  securerandom (0.4.1)
266
- simplecov (1.0.3)
267
- sqlite3 (2.9.5-aarch64-linux-gnu)
268
- sqlite3 (2.9.5-aarch64-linux-musl)
269
- sqlite3 (2.9.5-arm-linux-gnu)
270
- sqlite3 (2.9.5-arm-linux-musl)
271
- sqlite3 (2.9.5-arm64-darwin)
272
- sqlite3 (2.9.5-x86_64-darwin)
273
- sqlite3 (2.9.5-x86_64-linux-gnu)
274
- sqlite3 (2.9.5-x86_64-linux-musl)
266
+ simplecov (1.1.1)
267
+ sqlite3 (2.9.6-aarch64-linux-gnu)
268
+ sqlite3 (2.9.6-aarch64-linux-musl)
269
+ sqlite3 (2.9.6-arm-linux-gnu)
270
+ sqlite3 (2.9.6-arm-linux-musl)
271
+ sqlite3 (2.9.6-arm64-darwin)
272
+ sqlite3 (2.9.6-x86_64-darwin)
273
+ sqlite3 (2.9.6-x86_64-linux-gnu)
274
+ sqlite3 (2.9.6-x86_64-linux-musl)
275
275
  standard (1.56.0)
276
276
  language_server-protocol (~> 3.17.0.2)
277
277
  lint_roller (~> 1.0)
@@ -344,6 +344,7 @@ CHECKSUMS
344
344
  benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
345
345
  bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
346
346
  builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
347
+ bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d
347
348
  cgi (0.5.2) sha256=61ca30298171190fd4fa0d8018e57ada456eae9b7a2b78526debf7f0a0e6f8bb
348
349
  concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
349
350
  connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
@@ -351,12 +352,12 @@ CHECKSUMS
351
352
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
352
353
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
353
354
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
354
- e2e (0.7.1)
355
+ e2e (0.7.3)
355
356
  erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
356
357
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
357
358
  globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
358
359
  i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
359
- io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
360
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
360
361
  irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
361
362
  json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
362
363
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
@@ -390,7 +391,7 @@ CHECKSUMS
390
391
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
391
392
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
392
393
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
393
- rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
394
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
394
395
  rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
395
396
  rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
396
397
  rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
@@ -400,10 +401,10 @@ CHECKSUMS
400
401
  railties (7.2.3) sha256=6eb010a6bfe6f223e783f739ddfcbdb5b88b1f3a87f7739f0a0685e466250422
401
402
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
402
403
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
403
- rbs (4.1.2) sha256=050eb1d8b508f1233bed929c0f2c7052302f7adf295230d9cb314e9024078f48
404
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
404
405
  rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
405
406
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
406
- reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
407
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
407
408
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
408
409
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
409
410
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
@@ -415,15 +416,15 @@ CHECKSUMS
415
416
  rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
416
417
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
417
418
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
418
- simplecov (1.0.3) sha256=38ef0514f16ae7562f0d0f4df02610071115103d301b6de7dacbcc000082e39b
419
- sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc
420
- sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d
421
- sqlite3 (2.9.5-arm-linux-gnu) sha256=1bdfca0c7d63998c60b0f4a8e3c8df2d33800ccc4abd2d612eddbbbc92a4c48b
422
- sqlite3 (2.9.5-arm-linux-musl) sha256=bae1109d12b2e9f588455967729b008e1ff4feb7761749df695019c9079913c6
423
- sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2
424
- sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81
425
- sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e
426
- sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2
419
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
420
+ sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
421
+ sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
422
+ sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
423
+ sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
424
+ sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
425
+ sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
426
+ sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
427
+ sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
427
428
  standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
428
429
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
429
430
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
@@ -440,4 +441,4 @@ CHECKSUMS
440
441
  zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
441
442
 
442
443
  BUNDLED WITH
443
- 4.0.5
444
+ 4.0.16
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- e2e (0.7.1)
4
+ e2e (0.7.3)
5
5
  playwright-ruby-client (>= 1.40.0)
6
6
  rack
7
7
  rackup
@@ -102,7 +102,7 @@ GEM
102
102
  activesupport (>= 6.1)
103
103
  i18n (1.15.2)
104
104
  concurrent-ruby (~> 1.0)
105
- io-console (0.8.2)
105
+ io-console (0.9.2)
106
106
  irb (1.18.0)
107
107
  pp (>= 0.6.0)
108
108
  prism (>= 1.3.0)
@@ -170,7 +170,7 @@ GEM
170
170
  prettyprint (0.2.0)
171
171
  prism (1.9.0)
172
172
  racc (1.8.1)
173
- rack (3.2.6)
173
+ rack (3.2.7)
174
174
  rack-session (2.1.2)
175
175
  base64 (>= 0.1.0)
176
176
  rack (>= 3.0.0)
@@ -210,7 +210,7 @@ GEM
210
210
  zeitwerk (~> 2.6)
211
211
  rainbow (3.1.1)
212
212
  rake (13.4.2)
213
- rbs (4.1.2)
213
+ rbs (4.1.3)
214
214
  logger
215
215
  prism (>= 1.6.0)
216
216
  tsort
@@ -220,7 +220,7 @@ GEM
220
220
  rbs (>= 4.0.0)
221
221
  tsort
222
222
  regexp_parser (2.12.0)
223
- reline (0.6.3)
223
+ reline (0.7.0)
224
224
  io-console (~> 0.5)
225
225
  rspec (3.13.2)
226
226
  rspec-core (~> 3.13.0)
@@ -259,15 +259,15 @@ GEM
259
259
  rubocop (~> 1.86, >= 1.86.2)
260
260
  ruby-progressbar (1.13.0)
261
261
  securerandom (0.4.1)
262
- simplecov (1.0.3)
263
- sqlite3 (2.9.5-aarch64-linux-gnu)
264
- sqlite3 (2.9.5-aarch64-linux-musl)
265
- sqlite3 (2.9.5-arm-linux-gnu)
266
- sqlite3 (2.9.5-arm-linux-musl)
267
- sqlite3 (2.9.5-arm64-darwin)
268
- sqlite3 (2.9.5-x86_64-darwin)
269
- sqlite3 (2.9.5-x86_64-linux-gnu)
270
- sqlite3 (2.9.5-x86_64-linux-musl)
262
+ simplecov (1.1.1)
263
+ sqlite3 (2.9.6-aarch64-linux-gnu)
264
+ sqlite3 (2.9.6-aarch64-linux-musl)
265
+ sqlite3 (2.9.6-arm-linux-gnu)
266
+ sqlite3 (2.9.6-arm-linux-musl)
267
+ sqlite3 (2.9.6-arm64-darwin)
268
+ sqlite3 (2.9.6-x86_64-darwin)
269
+ sqlite3 (2.9.6-x86_64-linux-gnu)
270
+ sqlite3 (2.9.6-x86_64-linux-musl)
271
271
  standard (1.56.0)
272
272
  language_server-protocol (~> 3.17.0.2)
273
273
  lint_roller (~> 1.0)
@@ -341,18 +341,19 @@ CHECKSUMS
341
341
  benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
342
342
  bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
343
343
  builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
344
+ bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d
344
345
  concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
345
346
  connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
346
347
  crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295
347
348
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
348
349
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
349
350
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
350
- e2e (0.7.1)
351
+ e2e (0.7.3)
351
352
  erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
352
353
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
353
354
  globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
354
355
  i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
355
- io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
356
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
356
357
  irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
357
358
  json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
358
359
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
@@ -386,7 +387,7 @@ CHECKSUMS
386
387
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
387
388
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
388
389
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
389
- rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
390
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
390
391
  rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
391
392
  rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
392
393
  rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
@@ -396,10 +397,10 @@ CHECKSUMS
396
397
  railties (8.0.5.1) sha256=da1958e1d9dab04691a2f8721b3ff7fab323715d37f103c19972dedfd644d5c7
397
398
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
398
399
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
399
- rbs (4.1.2) sha256=050eb1d8b508f1233bed929c0f2c7052302f7adf295230d9cb314e9024078f48
400
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
400
401
  rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
401
402
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
402
- reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
403
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
403
404
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
404
405
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
405
406
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
@@ -411,15 +412,15 @@ CHECKSUMS
411
412
  rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
412
413
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
413
414
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
414
- simplecov (1.0.3) sha256=38ef0514f16ae7562f0d0f4df02610071115103d301b6de7dacbcc000082e39b
415
- sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc
416
- sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d
417
- sqlite3 (2.9.5-arm-linux-gnu) sha256=1bdfca0c7d63998c60b0f4a8e3c8df2d33800ccc4abd2d612eddbbbc92a4c48b
418
- sqlite3 (2.9.5-arm-linux-musl) sha256=bae1109d12b2e9f588455967729b008e1ff4feb7761749df695019c9079913c6
419
- sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2
420
- sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81
421
- sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e
422
- sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2
415
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
416
+ sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
417
+ sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
418
+ sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
419
+ sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
420
+ sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
421
+ sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
422
+ sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
423
+ sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
423
424
  standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
424
425
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
425
426
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
@@ -437,4 +438,4 @@ CHECKSUMS
437
438
  zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
438
439
 
439
440
  BUNDLED WITH
440
- 4.0.5
441
+ 4.0.16
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- e2e (0.7.1)
4
+ e2e (0.7.3)
5
5
  playwright-ruby-client (>= 1.40.0)
6
6
  rack
7
7
  rackup
@@ -104,7 +104,7 @@ GEM
104
104
  activesupport (>= 6.1)
105
105
  i18n (1.15.2)
106
106
  concurrent-ruby (~> 1.0)
107
- io-console (0.8.2)
107
+ io-console (0.9.2)
108
108
  irb (1.18.0)
109
109
  pp (>= 0.6.0)
110
110
  prism (>= 1.3.0)
@@ -172,7 +172,7 @@ GEM
172
172
  prettyprint (0.2.0)
173
173
  prism (1.9.0)
174
174
  racc (1.8.1)
175
- rack (3.2.6)
175
+ rack (3.2.7)
176
176
  rack-session (2.1.2)
177
177
  base64 (>= 0.1.0)
178
178
  rack (>= 3.0.0)
@@ -212,7 +212,7 @@ GEM
212
212
  zeitwerk (~> 2.6)
213
213
  rainbow (3.1.1)
214
214
  rake (13.4.2)
215
- rbs (4.1.2)
215
+ rbs (4.1.3)
216
216
  logger
217
217
  prism (>= 1.6.0)
218
218
  tsort
@@ -222,7 +222,7 @@ GEM
222
222
  rbs (>= 4.0.0)
223
223
  tsort
224
224
  regexp_parser (2.12.0)
225
- reline (0.6.3)
225
+ reline (0.7.0)
226
226
  io-console (~> 0.5)
227
227
  rspec (3.13.2)
228
228
  rspec-core (~> 3.13.0)
@@ -261,15 +261,15 @@ GEM
261
261
  rubocop (~> 1.86, >= 1.86.2)
262
262
  ruby-progressbar (1.13.0)
263
263
  securerandom (0.4.1)
264
- simplecov (1.0.3)
265
- sqlite3 (2.9.5-aarch64-linux-gnu)
266
- sqlite3 (2.9.5-aarch64-linux-musl)
267
- sqlite3 (2.9.5-arm-linux-gnu)
268
- sqlite3 (2.9.5-arm-linux-musl)
269
- sqlite3 (2.9.5-arm64-darwin)
270
- sqlite3 (2.9.5-x86_64-darwin)
271
- sqlite3 (2.9.5-x86_64-linux-gnu)
272
- sqlite3 (2.9.5-x86_64-linux-musl)
264
+ simplecov (1.1.1)
265
+ sqlite3 (2.9.6-aarch64-linux-gnu)
266
+ sqlite3 (2.9.6-aarch64-linux-musl)
267
+ sqlite3 (2.9.6-arm-linux-gnu)
268
+ sqlite3 (2.9.6-arm-linux-musl)
269
+ sqlite3 (2.9.6-arm64-darwin)
270
+ sqlite3 (2.9.6-x86_64-darwin)
271
+ sqlite3 (2.9.6-x86_64-linux-gnu)
272
+ sqlite3 (2.9.6-x86_64-linux-musl)
273
273
  standard (1.56.0)
274
274
  language_server-protocol (~> 3.17.0.2)
275
275
  lint_roller (~> 1.0)
@@ -343,18 +343,19 @@ CHECKSUMS
343
343
  base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
344
344
  bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
345
345
  builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
346
+ bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d
346
347
  concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
347
348
  connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
348
349
  crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295
349
350
  date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
350
351
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
351
352
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
352
- e2e (0.7.1)
353
+ e2e (0.7.3)
353
354
  erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
354
355
  erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
355
356
  globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
356
357
  i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
357
- io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
358
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
358
359
  irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
359
360
  json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
360
361
  language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
@@ -388,7 +389,7 @@ CHECKSUMS
388
389
  prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
389
390
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
390
391
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
391
- rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
392
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
392
393
  rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
393
394
  rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
394
395
  rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
@@ -398,10 +399,10 @@ CHECKSUMS
398
399
  railties (8.1.3.1) sha256=2388a232579a00cefea4487de66c8553c3408c1300abdc6cf1799d86ffb04487
399
400
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
400
401
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
401
- rbs (4.1.2) sha256=050eb1d8b508f1233bed929c0f2c7052302f7adf295230d9cb314e9024078f48
402
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
402
403
  rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
403
404
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
404
- reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
405
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
405
406
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
406
407
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
407
408
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
@@ -413,15 +414,15 @@ CHECKSUMS
413
414
  rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2
414
415
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
415
416
  securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
416
- simplecov (1.0.3) sha256=38ef0514f16ae7562f0d0f4df02610071115103d301b6de7dacbcc000082e39b
417
- sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc
418
- sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d
419
- sqlite3 (2.9.5-arm-linux-gnu) sha256=1bdfca0c7d63998c60b0f4a8e3c8df2d33800ccc4abd2d612eddbbbc92a4c48b
420
- sqlite3 (2.9.5-arm-linux-musl) sha256=bae1109d12b2e9f588455967729b008e1ff4feb7761749df695019c9079913c6
421
- sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2
422
- sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81
423
- sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e
424
- sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2
417
+ simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
418
+ sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
419
+ sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
420
+ sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
421
+ sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
422
+ sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
423
+ sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
424
+ sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
425
+ sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
425
426
  standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
426
427
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
427
428
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
@@ -439,4 +440,4 @@ CHECKSUMS
439
440
  zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
440
441
 
441
442
  BUNDLED WITH
442
- 4.0.5
443
+ 4.0.16
data/lib/e2e/minitest.rb CHANGED
@@ -10,6 +10,11 @@ module E2E
10
10
  include E2E::DSL
11
11
  include E2E::Assertions
12
12
 
13
+ def before_setup
14
+ E2E::ViteAssets.ensure_built!
15
+ super
16
+ end
17
+
13
18
  def teardown
14
19
  take_failed_screenshot if !passed? && !skipped?
15
20
 
data/lib/e2e/rspec.rb CHANGED
@@ -10,6 +10,10 @@ require_relative "matchers"
10
10
  RSpec.configure do |config|
11
11
  config.include E2E::DSL, type: :e2e
12
12
 
13
+ config.before(:suite) do
14
+ E2E::ViteAssets.ensure_built!
15
+ end
16
+
13
17
  config.after(:each, type: :e2e) do |example|
14
18
  if example.exception
15
19
  # Create tmp/screenshots directory if it doesn't exist
data/lib/e2e/server.rb CHANGED
@@ -16,6 +16,7 @@ module E2E
16
16
  end
17
17
 
18
18
  def start
19
+ eager_load_app!
19
20
  @thread = Thread.new do
20
21
  webrick_handler.run(
21
22
  @app,
@@ -43,6 +44,31 @@ module E2E
43
44
 
44
45
  private
45
46
 
47
+ # Zeitwerk's per-loader autoload monitor and Ruby's own internal `require`
48
+ # lock can deadlock each other (classic lock-ordering inversion) when two
49
+ # threads race to autoload the same not-yet-loaded app constant for the
50
+ # first time. That race is exactly what this gem sets up by design: the
51
+ # WEBrick thread servicing the very first request and the caller's thread
52
+ # (evaluating spec/support files, factories, etc.) can each reference a
53
+ # fresh app class at the same moment, one thread ends up mid-`require`
54
+ # holding Ruby's require lock while waiting on Zeitwerk's monitor, the
55
+ # other holds that monitor while waiting on the require lock -- neither
56
+ # ever proceeds, and the process idles at ~0% CPU forever.
57
+ #
58
+ # Eager loading synchronously on the caller's thread, before the server
59
+ # thread ever starts, guarantees no constant is loaded for the first time
60
+ # under concurrency, so the race can't occur. This mirrors what already
61
+ # happens for free in CI-style setups that force `config.eager_load = true`
62
+ # in the test environment -- local runs that leave eager loading off are
63
+ # exactly where this hang has been observed.
64
+ def eager_load_app!
65
+ return unless E2E.config.eager_load_app
66
+ return unless defined?(::Rails) && ::Rails.respond_to?(:application) && ::Rails.application
67
+ return if ::Rails.application.config.eager_load
68
+
69
+ ::Rails.application.eager_load!
70
+ end
71
+
46
72
  # rackup 2.x (the version paired with Rack 3) exposes Rackup::Handler.
47
73
  # Older stacks that pin Rack 2.x (e.g. Rails 7.0/7.1 via this gem's own
48
74
  # Appraisal matrix) resolve `rackup` down to its 1.x line, which has no
data/lib/e2e/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module E2E
4
- VERSION = "0.7.1"
4
+ VERSION = "0.7.3"
5
5
  end
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "fileutils"
4
+ require "pathname"
5
+
6
+ module E2E
7
+ # Ensures ViteRuby test assets are built before the e2e suite runs.
8
+ #
9
+ # ViteRuby::Builder skips compile when the watched-files digest is unchanged,
10
+ # so calling this on every suite start is cheap when assets are fresh.
11
+ #
12
+ # A flock serializes builders across processes (e.g. accidental parallel e2e).
13
+ module ViteAssets
14
+ LOCK_NAME = "e2e-vite-test-build.lock"
15
+ SKIP_ENV = "SKIP_VITE_TEST_BUILD"
16
+
17
+ class << self
18
+ def ensure_built!
19
+ return if ENV[SKIP_ENV] == "1"
20
+ return if done?
21
+
22
+ mode = normalize_mode(E2E.config.ensure_vite_assets)
23
+ return mark_done! if mode == :skip
24
+
25
+ with_lock do
26
+ return if done?
27
+
28
+ case mode
29
+ when :auto
30
+ ensure_auto!
31
+ when :build
32
+ ensure_required!
33
+ when :warn
34
+ ensure_warn!
35
+ end
36
+
37
+ mark_done!
38
+ end
39
+ end
40
+
41
+ def reset!
42
+ @done = false
43
+ end
44
+
45
+ def project_root
46
+ if defined?(Rails) && Rails.respond_to?(:root) && Rails.root
47
+ Pathname(Rails.root)
48
+ else
49
+ Pathname.pwd
50
+ end
51
+ end
52
+
53
+ private
54
+
55
+ def done?
56
+ @done
57
+ end
58
+
59
+ def mark_done!
60
+ @done = true
61
+ end
62
+
63
+ def normalize_mode(value)
64
+ case value
65
+ when :auto, :build, :warn, :skip then value
66
+ when true then :build
67
+ when false, nil then :skip
68
+ else
69
+ raise E2E::Error, "Unknown ensure_vite_assets=#{value.inspect} (expected :auto, :build, :warn, :skip)"
70
+ end
71
+ end
72
+
73
+ def vite_ruby_loaded?
74
+ defined?(ViteRuby)
75
+ end
76
+
77
+ def ensure_auto!
78
+ return unless vite_ruby_loaded?
79
+
80
+ build_or_raise!
81
+ end
82
+
83
+ def ensure_required!
84
+ unless vite_ruby_loaded?
85
+ raise E2E::Error, <<~MSG.chomp
86
+ ViteRuby is not loaded, but E2E.config.ensure_vite_assets = :build.
87
+ Add vite_rails / vite_ruby, or set ensure_vite_assets to :skip / :auto.
88
+ MSG
89
+ end
90
+
91
+ build_or_raise!
92
+ end
93
+
94
+ def ensure_warn!
95
+ return warn_missing_vite_ruby unless vite_ruby_loaded?
96
+
97
+ return if ViteRuby.commands.build
98
+
99
+ warn <<~MSG
100
+ [E2E] Vite test asset build failed.
101
+ Run: bin/vite build --mode=test
102
+ Or set #{SKIP_ENV}=1 / E2E.config.ensure_vite_assets = :skip
103
+ MSG
104
+ end
105
+
106
+ def warn_missing_vite_ruby
107
+ warn "[E2E] ensure_vite_assets=:warn but ViteRuby is not loaded; skipping."
108
+ end
109
+
110
+ def build_or_raise!
111
+ return if ViteRuby.commands.build
112
+
113
+ raise E2E::Error, <<~MSG.chomp
114
+ Vite test asset build failed.
115
+ Run: bin/vite build --mode=test
116
+ Or set #{SKIP_ENV}=1 to skip (not recommended for Inertia/Vite apps).
117
+ MSG
118
+ end
119
+
120
+ def with_lock
121
+ lock_path = project_root.join("tmp", LOCK_NAME)
122
+ FileUtils.mkdir_p(lock_path.dirname)
123
+
124
+ File.open(lock_path, File::RDWR | File::CREAT, 0o644) do |lock|
125
+ lock.flock(File::LOCK_EX)
126
+ yield
127
+ ensure
128
+ lock.flock(File::LOCK_UN)
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
data/lib/e2e.rb CHANGED
@@ -7,6 +7,7 @@ require_relative "e2e/session"
7
7
  require_relative "e2e/dsl"
8
8
  require_relative "e2e/element"
9
9
  require_relative "e2e/rails"
10
+ require_relative "e2e/vite_assets"
10
11
  require_relative "e2e/drivers/playwright"
11
12
 
12
13
  module E2E
@@ -67,7 +68,7 @@ module E2E
67
68
  }.freeze
68
69
 
69
70
  attr_accessor :driver, :headless, :app, :browser_type, :wait_timeout, :flash_selectors,
70
- :navigation_timeout, :navigation_wait_until
71
+ :navigation_timeout, :navigation_wait_until, :ensure_vite_assets, :eager_load_app
71
72
 
72
73
  def initialize
73
74
  @driver = :playwright
@@ -80,6 +81,11 @@ module E2E
80
81
  @navigation_wait_until = "domcontentloaded"
81
82
  @navigation_timeout = 30
82
83
  @flash_selectors = DEFAULT_FLASH_SELECTORS.dup
84
+ # :auto builds when ViteRuby is loaded; :build requires it; :warn / :skip
85
+ @ensure_vite_assets = :auto
86
+ # See Server#eager_load_app! for why this defaults on. Set to false only
87
+ # if eager loading the host app is itself broken or unacceptably slow.
88
+ @eager_load_app = true
83
89
  end
84
90
  end
85
91
  end
@@ -68,6 +68,9 @@ module E2e
68
68
  E2E.configure do |config|
69
69
  config.app = Rails.application
70
70
  config.headless = ENV.fetch("HEADLESS", "true") == "true"
71
+ # :auto builds Vite test assets when ViteRuby is loaded (Inertia/Vite apps).
72
+ # Options: :auto, :build, :warn, :skip — or SKIP_VITE_TEST_BUILD=1
73
+ config.ensure_vite_assets = :auto
71
74
  end
72
75
 
73
76
  # If you want to use transactional tests (faster), enable shared connection:
@@ -89,6 +92,9 @@ module E2e
89
92
  E2E.configure do |config|
90
93
  config.app = Rails.application
91
94
  config.headless = ENV.fetch("HEADLESS", "true") == "true"
95
+ # :auto builds Vite test assets when ViteRuby is loaded (Inertia/Vite apps).
96
+ # Options: :auto, :build, :warn, :skip — or SKIP_VITE_TEST_BUILD=1
97
+ config.ensure_vite_assets = :auto
92
98
  end
93
99
 
94
100
  # If you want to use transactional tests (faster), enable shared connection:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: e2e
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Poimtsev
@@ -258,6 +258,7 @@ files:
258
258
  - lib/e2e/server.rb
259
259
  - lib/e2e/session.rb
260
260
  - lib/e2e/version.rb
261
+ - lib/e2e/vite_assets.rb
261
262
  - lib/generators/e2e/install_generator.rb
262
263
  - lib/generators/e2e/templates/minitest_test.rb.erb
263
264
  - lib/generators/e2e/templates/rspec_test.rb.erb
@@ -285,7 +286,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
285
286
  - !ruby/object:Gem::Version
286
287
  version: '0'
287
288
  requirements: []
288
- rubygems_version: 4.0.18
289
+ rubygems_version: 4.0.19
289
290
  specification_version: 4
290
291
  summary: Unified E2E testing framework for Ruby.
291
292
  test_files: []