jason-rails 0.8.4 → 0.8.7

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: d1459a38f9838d91a9e0c85f5993bcc8d49e5ec123261afb84ac344a5ab3e248
4
- data.tar.gz: c6f0176ff3d0f7c25c6b3046cb683d9d549eff89d4015e371cd29a5fc8f68efa
3
+ metadata.gz: b766be80d826748b141369620c08ecd14c107b5473e47b5da61bcc30587f1f91
4
+ data.tar.gz: d3b7c5fbfe078bd6235ad623add82bc64b3f8ea3c022241b089b25604b5a657a
5
5
  SHA512:
6
- metadata.gz: 55e9e8e7421fd503b8b1941569846f9265f0ae16bd24c45905cf84e44443718c1f0175fb9c4893498dac4fd1b510b78b6d0fb2845acda0b441dc4afbb6bcffc7
7
- data.tar.gz: 1afd0c07a6829a85c0fbb6152cb13225a63ae19ea786fab28c773116c6e739bb8b25a8714c5681a8a8cada9a2aa4565b327972749ec768d5de5b0ec8f3b86c60
6
+ metadata.gz: feeb87b727b1517b22885b94c0b88f35baa886caefb5514d30c919d7902f520f5530273887badff425cb14c6ba0e067ecc17106299d2f823bb51e0d0e740c1de
7
+ data.tar.gz: 179e9ea89836b4dae0f3402e99a640642e5b5dd06e47587e79fe20d0e672099f8df74b56242e200d403fd4de1cca17c305c4a2ff0d7c65c898daec7bdc6f913d
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## v0.8.6
2
+ - Fix config usage, to allow changing websocket provider
3
+
1
4
  ## v0.8.4
2
5
  - Fix implicit kwargs that fail in Ruby 3+
3
6
 
@@ -63,4 +66,4 @@ act.posts.add({ name: 'new post' })
63
66
  ## v0.6.5
64
67
  - Added `reset!` and `reset!(hard: true)` methods to `Subscription`. Reset will load the IDs that should be part of the subscription from the database, and ensure that the graph matches those. It then re-broadcasts the payloads to all connected clients. Hard reset will do the same, but also clear all cached IDs and subscription hooks on instances - this is equivalent from starting from scratch.
65
68
  - Added `enforce: boolean` option to GraphHelper
66
- - When subscriptions are re-activated they now set the IDs with `enforce: true`, as there could be conditions where updates that were made while a subscription was not active would not be properly registered.
69
+ - When subscriptions are re-activated they now set the IDs with `enforce: true`, as there could be conditions where updates that were made while a subscription was not active would not be properly registered.
@@ -11,6 +11,7 @@ class Jason::JasonController < ::ApplicationController
11
11
  payload.merge!({
12
12
  pusherKey: Jason.pusher_key,
13
13
  pusherRegion: Jason.pusher_region,
14
+ pusherHost: Jason.pusher_host || nil,
14
15
  pusherChannelPrefix: Jason.pusher_channel_prefix
15
16
  })
16
17
  end
@@ -9,12 +9,16 @@ const uuid_1 = require("uuid");
9
9
  const lodash_1 = __importDefault(require("lodash"));
10
10
  function pusherAdapter(jasonConfig, handlePayload, dispatch) {
11
11
  const consumerId = uuid_1.v4();
12
- const { pusherKey, pusherRegion, pusherChannelPrefix } = jasonConfig;
13
- const pusher = new pusher_js_1.default(pusherKey, {
14
- cluster: 'eu',
12
+ const { pusherHost, pusherKey, pusherRegion, pusherChannelPrefix } = jasonConfig;
13
+ let config = {
14
+ cluster: pusherRegion,
15
15
  forceTLS: true,
16
- authEndpoint: '/jason/api/pusher/auth'
17
- });
16
+ authEndpoint: '/jason/api/pusher/auth',
17
+ };
18
+ if (pusherHost) {
19
+ config = Object.assign(Object.assign({}, config), { wsHost: pusherHost, httpHost: pusherHost });
20
+ }
21
+ const pusher = new pusher_js_1.default(pusherKey, config);
18
22
  pusher.connection.bind('state_change', ({ current }) => {
19
23
  if (current === 'connected') {
20
24
  dispatch({ type: 'jason/upsert', payload: { connected: true } });
data/client/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jamesr2323/jason",
3
- "version": "0.8.3",
3
+ "version": "0.8.6",
4
4
  "module": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "scripts": {
@@ -6,12 +6,20 @@ import _ from 'lodash'
6
6
  export default function pusherAdapter(jasonConfig, handlePayload, dispatch) {
7
7
  const consumerId = uuidv4()
8
8
 
9
- const { pusherKey, pusherRegion, pusherChannelPrefix } = jasonConfig
10
- const pusher = new Pusher(pusherKey, {
11
- cluster: 'eu',
9
+ const { pusherHost, pusherKey, pusherRegion, pusherChannelPrefix } = jasonConfig
10
+ let config : any = {
11
+ cluster: pusherRegion,
12
12
  forceTLS: true,
13
- authEndpoint: '/jason/api/pusher/auth'
14
- })
13
+ authEndpoint: '/jason/api/pusher/auth',
14
+ }
15
+ if (pusherHost) {
16
+ config = {
17
+ ...config,
18
+ wsHost: pusherHost,
19
+ httpHost: pusherHost,
20
+ }
21
+ }
22
+ const pusher = new Pusher(pusherKey, config)
15
23
  pusher.connection.bind('state_change', ({ current }) => {
16
24
  if (current === 'connected') {
17
25
  dispatch({ type: 'jason/upsert', payload: { connected: true } })
@@ -68,4 +76,4 @@ export default function pusherAdapter(jasonConfig, handlePayload, dispatch) {
68
76
  }
69
77
 
70
78
  return { getPayload, createSubscription, removeSubscription }
71
- }
79
+ }
data/lib/jason/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jason
2
- VERSION = "0.8.4"
2
+ VERSION = "0.8.7"
3
3
  end
data/lib/jason.rb CHANGED
@@ -22,6 +22,7 @@ module Jason
22
22
  self.mattr_accessor :transport_service
23
23
  self.mattr_accessor :redis
24
24
  self.mattr_accessor :pusher
25
+ self.mattr_accessor :pusher_host
25
26
  self.mattr_accessor :pusher_key
26
27
  self.mattr_accessor :pusher_region
27
28
  self.mattr_accessor :pusher_channel_prefix
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jason-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.4
4
+ version: 0.8.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Rees
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-31 00:00:00.000000000 Z
11
+ date: 2023-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -262,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
262
262
  - !ruby/object:Gem::Version
263
263
  version: '0'
264
264
  requirements: []
265
- rubygems_version: 3.1.4
265
+ rubygems_version: 3.4.1
266
266
  signing_key:
267
267
  specification_version: 4
268
268
  summary: Reactive user interfaces with minimal boilerplate, using Rails + Redux