yrby-actioncable 0.2.1 → 0.2.2
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-actioncable.md +14 -9
- data/README.md +13 -11
- data/lib/y/action_cable/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 761e38cb9b0e73b19aef2bc906d4170bc340c54fe09cae9aa6099814a7876dbb
|
|
4
|
+
data.tar.gz: 83d55bc7f20aca3cf82e7ee46adf6c8a163638f468afb1de35b339b5167a913e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 07d8e355e0eb3fa8fba54bb33a9250a7e5cc932e5a0dc0ab042b4aad96f07df010b2601f8b3f20f26733f5112639ee38b0b15fc089846e8b379862c4193ef156
|
|
7
|
+
data.tar.gz: 94d632ddca4cdebab57f63eb75d82bf94264bf1a2031baf5a50151d3564b10b4b6f904815cc95fd9b7726eddfb1fad7eb7d77454b916d5d54a6089afeac50527
|
data/CHANGELOG-actioncable.md
CHANGED
|
@@ -6,6 +6,18 @@ this project aims to follow [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.2.2] - 2026-07-01
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Raised the `yrby` floor to `>= 0.2.3`. That release makes `Doc#update_advances?`
|
|
13
|
+
exact for **delete-bearing** updates. The sync channel gates durable
|
|
14
|
+
record-before-distribute on `update_advances?` (`return :applied unless
|
|
15
|
+
doc.update_advances?(update)`), so with an older core a lost-ack retry of a
|
|
16
|
+
deletion the server had already integrated was re-recorded and re-broadcast
|
|
17
|
+
each time. No code change here — pinning the floor just makes the gem's
|
|
18
|
+
exactly-once durable-recording guarantee self-enforcing instead of dependent on
|
|
19
|
+
the app updating the core gem.
|
|
20
|
+
|
|
9
21
|
## [0.2.1] - 2026-06-29
|
|
10
22
|
|
|
11
23
|
### Changed
|
|
@@ -15,15 +27,8 @@ this project aims to follow [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
15
27
|
|
|
16
28
|
## [0.2.0] - 2026-06-28
|
|
17
29
|
|
|
18
|
-
First release
|
|
19
|
-
`
|
|
20
|
-
|
|
21
|
-
### Changed
|
|
22
|
-
- **Renamed `yrb-lite-actioncable` → `yrby-actioncable`.** Channel concern
|
|
23
|
-
`YrbLite::ActionCable::Sync` → **`Y::ActionCable::Sync`**; require
|
|
24
|
-
`require "yrb_lite/action_cable"` → `require "y/action_cable"`. (The stream
|
|
25
|
-
prefix shipped as `y_ruby:` in 0.2.0; see 0.2.1 for its rename to `yrby:`.)
|
|
26
|
-
Depends on `yrby >= 0.2.0`.
|
|
30
|
+
First release. The y-websocket sync channel concern is **`Y::ActionCable::Sync`**,
|
|
31
|
+
loaded with `require "y/action_cable"`. Depends on `yrby >= 0.2.0`.
|
|
27
32
|
|
|
28
33
|
### Notes
|
|
29
34
|
- Full y-websocket protocol over ActionCable/AnyCable: origin-filtered relay,
|
data/README.md
CHANGED
|
@@ -41,23 +41,25 @@ npm install yrby-client
|
|
|
41
41
|
one-include ActionCable concern.
|
|
42
42
|
- Authoritative record-before-distribute semantics: each document change can be
|
|
43
43
|
recorded durably before it goes out to anyone.
|
|
44
|
-
-
|
|
44
|
+
- Optional server-side reads: `Doc#read_text` and `Doc#read_map` reconstruct a
|
|
45
|
+
document's contents in Ruby - no Node process - for search, exports, validation,
|
|
46
|
+
or server-side rendering.
|
|
45
47
|
|
|
46
|
-
##
|
|
48
|
+
## Scope
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
`yrby` binds just the part of `y-crdt` you need to *sync and persist* collaborative
|
|
51
|
+
documents - a `Doc`, awareness, and the y-websocket protocol primitives. By default
|
|
52
|
+
the Ruby side treats a document as opaque CRDT state: it applies updates, answers
|
|
53
|
+
sync handshakes, and records deltas without reaching into the contents - the browser
|
|
54
|
+
editor owns the document's shape. When you do need to look inside, `Doc#read_text`
|
|
55
|
+
and `Doc#read_map` reconstruct it server-side, in Ruby.
|
|
54
56
|
|
|
55
|
-
##
|
|
57
|
+
## Durability and delivery
|
|
56
58
|
|
|
57
|
-
The surface
|
|
59
|
+
The surface is intentionally small, but the focus is durability, resiliency, delivery
|
|
58
60
|
guarantees, correctness, and thread safety.
|
|
59
61
|
|
|
60
|
-
Towards that goal, `yrby` adds capabilities that
|
|
62
|
+
Towards that goal, `yrby` adds capabilities that stand out even in the Yjs ecosystem:
|
|
61
63
|
|
|
62
64
|
- Built-in update acknowledgement: the `ActionCableProvider` in `yrby-client` will continue to
|
|
63
65
|
send updates until an ack is received from the server. [`yrby-actioncable`](https://rubygems.org/gems/yrby-actioncable)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yrby-actioncable
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- JP Camara
|
|
@@ -29,14 +29,14 @@ dependencies:
|
|
|
29
29
|
requirements:
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.2.
|
|
32
|
+
version: 0.2.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.2.
|
|
39
|
+
version: 0.2.3
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: actioncable
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|