openreceive-rails 0.4.1 → 0.4.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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3728f2af46867cb69f88ae8a5d0a9d594ec15fc144c61095b116e6a18c40c26f
|
|
4
|
+
data.tar.gz: c761ba6cc843d76ab40f6bff5a0219be46d3afa8c85f93ecc74f2858bf46d91f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 194fedae9e48bd925b89e0aaf6b0aea5b902aa202d64d163dee5d4f3547b551363e83406fe8e939f43d130bcffba6ba6b5f9a2f6079964f64fc583d6aa9511ad
|
|
7
|
+
data.tar.gz: fa6b0b156598591ac4575f081031f4ff8dbd0f808a7b40c88134ae4c4f51c3545dc9290f3cec2c9fbdb63c42952d50344a12809f984ca257d144fde05b615720
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.3 - 2026-09-03
|
|
4
|
+
|
|
5
|
+
Version lockstep with the 0.4.3 npm release (container-query checkout
|
|
6
|
+
layout, themed pre-create screens, padded root, money caption).
|
|
7
|
+
|
|
8
|
+
The opportunistic reconcile pass logs one short line per status poll:
|
|
9
|
+
`[openreceive] payment.reconcile.completed: 1 pending attempt_count=1
|
|
10
|
+
window=<from>..<until>` — what the pass decided (zero counts dropped, `of N
|
|
11
|
+
attempts` when a truncated walk could not reach every hash), the same shape
|
|
12
|
+
as the Node engine's line. It replaces the sentence about batched
|
|
13
|
+
`list_transactions` windows. Rails' own request logging for the poll route
|
|
14
|
+
is unchanged; use `config.log_level` or `Rails.logger.silence` there.
|
|
15
|
+
|
|
16
|
+
## 0.4.2 - 2026-09-03
|
|
17
|
+
|
|
18
|
+
Version lockstep with the 0.4.2 npm release (the scoped frontend stylesheet).
|
|
19
|
+
No Ruby changes.
|
|
20
|
+
|
|
3
21
|
## 0.4.1 - 2026-09-02
|
|
4
22
|
|
|
5
23
|
Version lockstep with the 0.4.1 npm release. First version published from CI
|
|
@@ -230,17 +230,25 @@ module OpenReceive
|
|
|
230
230
|
# attempts are pending), so operators can watch settlement discovery and
|
|
231
231
|
# the batched list_transactions window without raising the log level. All
|
|
232
232
|
# pending attempts share one creation-time window walked at most twice —
|
|
233
|
-
# never one wallet call per invoice.
|
|
233
|
+
# never one wallet call per invoice. One short line per poll: this fires
|
|
234
|
+
# on every status poll while a payer waits. Mirrors the JS
|
|
235
|
+
# payment.reconcile.completed line.
|
|
234
236
|
def log_reconcile_pass(attempts, results, overlap_seconds, observed_at)
|
|
235
237
|
logger = openreceive_logger
|
|
236
238
|
return if logger.nil?
|
|
237
239
|
|
|
238
240
|
counts = results.group_by { |checked| checked["status"] }.transform_values(&:length)
|
|
241
|
+
decided = %w[settled pending not_found].filter_map do |status|
|
|
242
|
+
count = counts[status]
|
|
243
|
+
"#{count} #{status.tr('_', ' ')}" unless count.nil? || count.zero?
|
|
244
|
+
end
|
|
245
|
+
decided = ["0 decided"] if decided.empty?
|
|
246
|
+
# Attempts scanned vs hashes decided: a gap is how a truncated scan shows up.
|
|
247
|
+
scanned = results.length == attempts.length ? "" : " of #{attempts.length} attempts"
|
|
239
248
|
window_from = [attempts.map { |attempt| Integer(attempt.fetch("created_at")) }.min - overlap_seconds, 0].max
|
|
240
249
|
logger.info(
|
|
241
|
-
"[openreceive] reconcile
|
|
242
|
-
"
|
|
243
|
-
"#{counts.map { |status, count| "#{count} #{status}" }.join(', ')}"
|
|
250
|
+
"[openreceive] payment.reconcile.completed: #{decided.join(', ')}#{scanned} " \
|
|
251
|
+
"attempt_count=#{attempts.length} window=#{window_from}..#{observed_at + overlap_seconds}"
|
|
244
252
|
)
|
|
245
253
|
rescue StandardError
|
|
246
254
|
# Diagnostics must never affect the pass.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (Node.js)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.3.
|
|
4
4
|
|
|
5
5
|
Add OpenReceive to a Node application — the app you are already working in. You
|
|
6
6
|
do not need a copy of the OpenReceive source: the packages are on npm, and the
|
|
@@ -439,7 +439,9 @@ import "@openreceive/react/styles.css";
|
|
|
439
439
|
|
|
440
440
|
The checkout renders, polls, and settles itself. The compiled `styles.css`
|
|
441
441
|
sheets (`@openreceive/react`, `@openreceive/elements`) are self-contained — a
|
|
442
|
-
plain `<link rel="stylesheet">` works with no build step
|
|
442
|
+
plain `<link rel="stylesheet">` works with no build step — and scoped: every
|
|
443
|
+
rule applies only inside what OpenReceive renders, so the sheet is safe next
|
|
444
|
+
to any CSS framework (Mantine, Bootstrap, your own reset) in any import order.
|
|
443
445
|
|
|
444
446
|
`<Checkout>` is complete as rendered: it already shows the `description` from
|
|
445
447
|
`amountFor` and the collapsed transaction-details panel. Do not build a custom
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (Rails)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.3.
|
|
4
4
|
|
|
5
5
|
Add OpenReceive to a Rails application — the app you are already working in. You
|
|
6
6
|
do not need a copy of the OpenReceive source: the gem is on RubyGems, the
|
|
@@ -486,7 +486,8 @@ The engine serves JSON checkout routes only — rendering is your view. Any
|
|
|
486
486
|
OpenReceive frontend package works against the `/openreceive` mount; the
|
|
487
487
|
smallest is the custom element (its default `prefix` is already
|
|
488
488
|
`/openreceive`, and the package ships a self-contained `styles.css` a plain
|
|
489
|
-
stylesheet link can serve
|
|
489
|
+
stylesheet link can serve; it is scoped to what OpenReceive renders, so it
|
|
490
|
+
sits safely next to any CSS framework in any order):
|
|
490
491
|
|
|
491
492
|
```erb
|
|
492
493
|
<%# app/views/orders/pay.html.erb %>
|
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.3
|
|
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.3
|
|
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.3
|
|
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.3
|
|
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.3
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: rails
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|