pakyow-ui 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '029a6889e04a00fa12379734dae4932aa450411efd096737fac4de21d6e0aafa'
4
- data.tar.gz: e1e0f172533da19a6ac41c11ef47b84f4aab3e50ec874a5a32a25135fb7397c2
3
+ metadata.gz: 2bca22d0b90aa4fef65d942e88f4ac231211710b98680b41cf92b0d35c4efb41
4
+ data.tar.gz: 0c4a2656a25becc416e78e1116e48fd714c7120a2bf0e3ef58b0bab0c75e32ef
5
5
  SHA512:
6
- metadata.gz: ea50930b13b73111b4c8a058ca22d4a165063d8775795b1d803f8cbdc06503c798ef3df7971c84bb9e62a1ac86d3d6bb8b276c2f2271263038eb38aaa1f06cd9
7
- data.tar.gz: 3504bcff7f15d19d9564b9bba9acaa9f1a3c6ccaac5c7016a88e6c56f5cb8b15dcc2bb1971bf97ea158d93ca88827aba46c9484ee8c77e69735419780152ec9f
6
+ metadata.gz: d995d59b1a48fed0944e6c38e9d22c12adebd546f12e28dbb7a5f0b47fd257fa6cf9916e9f9fa49e353b9b6c6b7ef815fb19257a47a0af88fc123e5d0462e98d
7
+ data.tar.gz: caa547f6e43ed4c2c6d4291ce91482e395a110d51b60d6b08b5179d51cf06b4479255ede2d9dc1ab3181276ba85a10f2e7586b35b749263b60066ca807909c54
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
- # UNRELEASED
1
+ # v1.0.2 (unreleased)
2
2
 
3
- # 1.0
3
+ * `fix` **Issue causing data subscriptions to never be expired for a web socket connection.**
4
+
5
+ *Related links:*
6
+ - [Pull Request #295][pr-295]
7
+
8
+ [pr-295]: https://github.com/pakyow/pakyow/pull/295
9
+
10
+ # v1.0.0
4
11
 
5
12
  * Hello, Web
@@ -86,7 +86,12 @@ module Pakyow
86
86
 
87
87
  # Expire subscriptions if the connection is never established.
88
88
  #
89
- context.app.data.expire(context.socket_client_id, context.app.config.realtime.timeouts.initial)
89
+ # We only do this at the top level render and not in sub renders (e.g.) components
90
+ # because the same socket client id applies for every render.
91
+ #
92
+ if @composer.class == Pakyow::Presenter::Composers::View
93
+ context.app.data.expire(context.socket_client_id, context.app.config.realtime.timeouts.initial)
94
+ end
90
95
  end
91
96
  end
92
97
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "concurrent/executor/thread_pool_executor"
3
+ require "concurrent/executor/single_thread_executor"
4
4
 
5
5
  require "pakyow/framework"
6
6
 
@@ -76,11 +76,8 @@ module Pakyow
76
76
  unfreezable :ui_executor
77
77
 
78
78
  after "initialize" do
79
- @ui_executor = Concurrent::ThreadPoolExecutor.new(
79
+ @ui_executor = Concurrent::SingleThreadExecutor.new(
80
80
  auto_terminate: false,
81
- min_threads: 1,
82
- max_threads: 10,
83
- max_queue: 0
84
81
  )
85
82
  end
86
83
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pakyow-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Powell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-16 00:00:00.000000000 Z
11
+ date: 2019-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pakyow-core
@@ -16,84 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.1
19
+ version: 1.0.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.1
26
+ version: 1.0.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pakyow-data
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.1
33
+ version: 1.0.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.1
40
+ version: 1.0.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pakyow-presenter
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 1.0.1
47
+ version: 1.0.2
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 1.0.1
54
+ version: 1.0.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pakyow-realtime
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 1.0.1
61
+ version: 1.0.2
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 1.0.1
68
+ version: 1.0.2
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pakyow-routing
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 1.0.1
75
+ version: 1.0.2
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 1.0.1
82
+ version: 1.0.2
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pakyow-support
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 1.0.1
89
+ version: 1.0.2
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 1.0.1
96
+ version: 1.0.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: concurrent-ruby
99
99
  requirement: !ruby/object:Gem::Requirement