openreceive-rails 0.4.24 → 0.4.26
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 +16 -0
- data/app/models/open_receive_meta.rb +9 -1
- data/lib/openreceive/rails/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 258f55c1a7d5b3abe37dbe03fb80fed29243e422feadce18f280a8b68467970c
|
|
4
|
+
data.tar.gz: 7e96c18aefd8c72cc20e90d0ad53619da65a2a69b60070d2bd8bc89cc18f8c8b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b1bae664c7a1554fa14a5e9546771efa7db75ee1e968dcf38df32bdfc56ad6bdb8da7856f32b483cfcf722c712f911c01795fccf2b65aa13ccc1bd7e3fd9366b
|
|
7
|
+
data.tar.gz: 9b2dc752e6eb030c1fc220dda95a61c80682ce0f8a3a0546cc369aadb98e6d06407aa840fe13304c7ebbdd96de7f4d9000969462e36de1b1aa4d75b42a8a0c20
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.26 - 2026-10-14
|
|
4
|
+
|
|
5
|
+
Release with the complete 0.4.26 package family. No runtime changes from
|
|
6
|
+
0.4.25.
|
|
7
|
+
|
|
8
|
+
## 0.4.25 - 2026-10-13
|
|
9
|
+
|
|
10
|
+
Release with the complete 0.4.25 package family. The reconcile gate's
|
|
11
|
+
interval now also runs from the end of the last pass, not only from its
|
|
12
|
+
claim, as in every other engine. A pass slower than the interval used to
|
|
13
|
+
leave the gate open when it ended, so each request in a checkout's burst of
|
|
14
|
+
status checks ran a wallet scan of its own. The gate row stores
|
|
15
|
+
`finished_at`; older engines sharing the table ignore it. The bundled agent
|
|
16
|
+
skill adds directions for Flask and NestJS, and every server stack's
|
|
17
|
+
directions link the new guide for mobile apps.
|
|
18
|
+
|
|
3
19
|
## 0.4.24 - 2026-10-12
|
|
4
20
|
|
|
5
21
|
Release with the complete 0.4.24 package family. The gem's registry page
|
|
@@ -79,6 +79,11 @@ class OpenReceiveMeta < ActiveRecord::Base
|
|
|
79
79
|
current = parse_gate(row&.value)
|
|
80
80
|
claimed = current["claimed_at"]
|
|
81
81
|
return nil if claimed && fresh_timestamp?(now, claimed, interval_seconds)
|
|
82
|
+
# The interval also runs from the end of the last pass. A pass that takes
|
|
83
|
+
# longer than the interval would otherwise leave the gate open on release,
|
|
84
|
+
# and every sequential request after it would pay a full scan of its own.
|
|
85
|
+
finished = current["finished_at"]
|
|
86
|
+
return nil if finished && fresh_timestamp?(now, finished, interval_seconds)
|
|
82
87
|
return nil if current.fetch("lease_until", 0) > now && current.fetch("claimed_at", 0) <= now + 60
|
|
83
88
|
|
|
84
89
|
gate = {
|
|
@@ -105,7 +110,10 @@ class OpenReceiveMeta < ActiveRecord::Base
|
|
|
105
110
|
raise ArgumentError, "Reconciliation checkpoint exceeded bounded cohorts" if windows.length > 2 || windows.any? { |w| w.fetch("attempts").length > 200 }
|
|
106
111
|
|
|
107
112
|
gate["scheduler"] = scheduler
|
|
108
|
-
|
|
113
|
+
if release
|
|
114
|
+
gate["lease_until"] = 0
|
|
115
|
+
gate["finished_at"] = Integer(now)
|
|
116
|
+
end
|
|
109
117
|
encoded = JSON.generate(gate)
|
|
110
118
|
raise ArgumentError, "Reconciliation checkpoint exceeded 128 KiB" if encoded.bytesize > 128 * 1024
|
|
111
119
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: openreceive-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.26
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenReceive
|
|
@@ -15,28 +15,28 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.4.
|
|
18
|
+
version: 0.4.26
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.4.
|
|
25
|
+
version: 0.4.26
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: openreceive-server
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - '='
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.4.
|
|
32
|
+
version: 0.4.26
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - '='
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 0.4.
|
|
39
|
+
version: 0.4.26
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: rails
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|