openc3 5.10.0 → 5.10.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of openc3 might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/lib/openc3/microservices/trigger_group_microservice.rb +6 -2
- data/lib/openc3/packets/packet.rb +7 -13
- data/lib/openc3/packets/structure_item.rb +0 -3
- data/lib/openc3/topics/command_decom_topic.rb +0 -4
- data/lib/openc3/topics/telemetry_decom_topic.rb +0 -4
- data/lib/openc3/topics/telemetry_reduced_topics.rb +1 -13
- data/lib/openc3/topics/topic.rb +0 -8
- data/lib/openc3/utilities/aws_bucket.rb +40 -38
- data/lib/openc3/version.rb +5 -5
- data/templates/tool_angular/package.json +17 -17
- data/templates/tool_angular/yarn.lock +1798 -998
- data/templates/tool_react/package.json +20 -20
- data/templates/tool_react/yarn.lock +754 -700
- data/templates/tool_svelte/package.json +21 -21
- data/templates/tool_svelte/yarn.lock +622 -478
- data/templates/tool_vue/package.json +7 -7
- data/templates/tool_vue/yarn.lock +152 -118
- data/templates/widget/package.json +8 -8
- data/templates/widget/yarn.lock +157 -66
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e462e9d0a5d73e46212ec61b784b432827b0588b64308449309196e1257ad5b0
|
4
|
+
data.tar.gz: 4811700be9aeab28edc867d11e26481d7cbf63abe8bb3ca9ef956823d8adb17d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e01b50dc62e075afe78f66101e176ec20118f017122a8f76a1eb3d1b302250e55717897c2302c6bf812cece5bedf0d9e6a0b1fdc2dc43f68998a693d7b04b4d
|
7
|
+
data.tar.gz: 5a93a1b914e84e5555cc88e4c74da80a8283ae621c958c6d9535848c1ff384dd7aa3a6ba59dff7e148b91eb3370ef563ec0a8c94f1ecafc517bd65665f8f8e2a
|
data/Gemfile
CHANGED
@@ -355,9 +355,13 @@ module OpenC3
|
|
355
355
|
end
|
356
356
|
# This shouldn't happen because the frontend provides valid items but good to check
|
357
357
|
# The raise is ultimately rescued inside evaluate_trigger when operand_value is called
|
358
|
-
|
358
|
+
if packet.nil?
|
359
|
+
raise "Packet #{operand[ITEM_TARGET]} #{operand[ITEM_PACKET]} not found"
|
360
|
+
end
|
359
361
|
value = packet.read(operand[ITEM_TYPE], operand[ITEM_VALUE_TYPE].intern)
|
360
|
-
|
362
|
+
if value.nil?
|
363
|
+
raise "Item #{operand[ITEM_TARGET]} #{operand[ITEM_PACKET]} #{operand[ITEM_TYPE]} not found"
|
364
|
+
end
|
361
365
|
value
|
362
366
|
end
|
363
367
|
|
@@ -540,7 +540,7 @@ module OpenC3
|
|
540
540
|
|
541
541
|
# (see Structure#get_item)
|
542
542
|
def get_item(name)
|
543
|
-
super(name)
|
543
|
+
return super(name)
|
544
544
|
rescue ArgumentError
|
545
545
|
raise "Packet item '#{@target_name} #{@packet_name} #{name.upcase}' does not exist"
|
546
546
|
end
|
@@ -1056,10 +1056,10 @@ module OpenC3
|
|
1056
1056
|
|
1057
1057
|
if @processors
|
1058
1058
|
processors = []
|
1059
|
-
config['processors'] = processors
|
1060
1059
|
@processors.each do |processor_name, processor|
|
1061
1060
|
processors << processor.as_json(*a)
|
1062
1061
|
end
|
1062
|
+
config['processors'] = processors
|
1063
1063
|
end
|
1064
1064
|
|
1065
1065
|
config['meta'] = @meta if @meta
|
@@ -1144,17 +1144,11 @@ module OpenC3
|
|
1144
1144
|
# Update to new limits state
|
1145
1145
|
item.limits.state = limits_state
|
1146
1146
|
|
1147
|
-
if
|
1148
|
-
if
|
1149
|
-
@limits_change_callback.call(self, item, old_limits_state, value,
|
1150
|
-
|
1151
|
-
|
1152
|
-
if @limits_change_callback
|
1153
|
-
if item.limits.state.nil?
|
1154
|
-
@limits_change_callback.call(self, item, old_limits_state, value, false)
|
1155
|
-
else
|
1156
|
-
@limits_change_callback.call(self, item, old_limits_state, value, true)
|
1157
|
-
end
|
1147
|
+
if @limits_change_callback
|
1148
|
+
if item.limits.state.nil?
|
1149
|
+
@limits_change_callback.call(self, item, old_limits_state, value, false)
|
1150
|
+
else
|
1151
|
+
@limits_change_callback.call(self, item, old_limits_state, value, true)
|
1158
1152
|
end
|
1159
1153
|
end
|
1160
1154
|
end
|
@@ -76,9 +76,6 @@ module OpenC3
|
|
76
76
|
# @return [Boolean] Whether this structure item can overlap another item in the same packet
|
77
77
|
attr_accessor :overlap
|
78
78
|
|
79
|
-
# A large buffer size in bits (1 Megabyte)
|
80
|
-
LARGE_BUFFER_SIZE_BITS = 1024 * 1024 * 8
|
81
|
-
|
82
79
|
# Create a StructureItem by setting all the attributes. It
|
83
80
|
# calls all the setter routines to do the attribute verification and then
|
84
81
|
# verifies the overall integrity.
|
@@ -24,10 +24,6 @@ require 'openc3/topics/topic'
|
|
24
24
|
|
25
25
|
module OpenC3
|
26
26
|
class CommandDecomTopic < Topic
|
27
|
-
def self.topics(scope:)
|
28
|
-
super(scope, 'DECOMCMD')
|
29
|
-
end
|
30
|
-
|
31
27
|
def self.write_packet(packet, scope:)
|
32
28
|
topic = "#{scope}__DECOMCMD__{#{packet.target_name}}__#{packet.packet_name}"
|
33
29
|
msg_hash = { time: packet.packet_time.to_nsec_from_epoch,
|
@@ -25,10 +25,6 @@ require 'openc3/utilities/open_telemetry'
|
|
25
25
|
|
26
26
|
module OpenC3
|
27
27
|
class TelemetryDecomTopic < Topic
|
28
|
-
def self.topics(scope:)
|
29
|
-
super(scope, 'DECOM')
|
30
|
-
end
|
31
|
-
|
32
28
|
def self.write_packet(packet, id: nil, scope:)
|
33
29
|
OpenC3.in_span("write_packet") do
|
34
30
|
# Need to build a JSON hash of the decommutated data
|
@@ -17,7 +17,7 @@
|
|
17
17
|
# All changes Copyright 2022, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
19
|
#
|
20
|
-
# This file may also be used under the terms of a commercial license
|
20
|
+
# This file may also be used under the terms of a commercial license
|
21
21
|
# if purchased from OpenC3, Inc.
|
22
22
|
|
23
23
|
require 'openc3/topics/topic'
|
@@ -25,10 +25,6 @@ require 'openc3/utilities/open_telemetry'
|
|
25
25
|
|
26
26
|
module OpenC3
|
27
27
|
class TelemetryReducedMinuteTopic < Topic
|
28
|
-
def self.topics(scope:)
|
29
|
-
super(scope, 'REDUCED_MINUTE')
|
30
|
-
end
|
31
|
-
|
32
28
|
def self.write(target_name:, packet_name:, stored:, time:, data:, id: nil, scope:)
|
33
29
|
OpenC3.in_span("write") do
|
34
30
|
# Write to stream
|
@@ -47,10 +43,6 @@ module OpenC3
|
|
47
43
|
end
|
48
44
|
|
49
45
|
class TelemetryReducedHourTopic < Topic
|
50
|
-
def self.topics(scope:)
|
51
|
-
super(scope, 'REDUCED_HOUR')
|
52
|
-
end
|
53
|
-
|
54
46
|
def self.write(target_name:, packet_name:, stored:, time:, data:, id: nil, scope:)
|
55
47
|
OpenC3.in_span("write") do
|
56
48
|
# Write to stream
|
@@ -69,10 +61,6 @@ module OpenC3
|
|
69
61
|
end
|
70
62
|
|
71
63
|
class TelemetryReducedDayTopic < Topic
|
72
|
-
def self.topics(scope:)
|
73
|
-
super(scope, 'REDUCED_DAY')
|
74
|
-
end
|
75
|
-
|
76
64
|
def self.write(target_name:, packet_name:, stored:, time:, data:, id: nil, scope:)
|
77
65
|
OpenC3.in_span("write") do
|
78
66
|
# Write to stream
|
data/lib/openc3/topics/topic.rb
CHANGED
@@ -33,14 +33,6 @@ module OpenC3
|
|
33
33
|
topics.each { |topic| EphemeralStore.xtrim(topic, maxlen) }
|
34
34
|
end
|
35
35
|
|
36
|
-
def self.topics(scope, key)
|
37
|
-
EphemeralStore
|
38
|
-
.scan_each(match: "#{scope}__#{key}__*", type: 'stream', count: 100)
|
39
|
-
.to_a # Change the enumerator into an array
|
40
|
-
.uniq # Scan can return duplicates so ensure unique
|
41
|
-
.sort # Sort not entirely necessary but nice
|
42
|
-
end
|
43
|
-
|
44
36
|
def self.get_cnt(topic)
|
45
37
|
_, packet = EphemeralStore.get_newest_message(topic)
|
46
38
|
packet ? packet["received_count"].to_i : 0
|
@@ -42,45 +42,47 @@ module OpenC3
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def ensure_public(bucket)
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
"
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
"
|
57
|
-
"
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
"
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
{
|
66
|
-
"Action": [
|
67
|
-
"s3:GetObject"
|
68
|
-
],
|
69
|
-
"Effect": "Allow",
|
70
|
-
"Principal": {
|
71
|
-
"AWS": [
|
72
|
-
"*"
|
73
|
-
]
|
45
|
+
unless ENV['OPENC3_NO_BUCKET_POLICY']
|
46
|
+
policy = <<~EOL
|
47
|
+
{
|
48
|
+
"Version": "2012-10-17",
|
49
|
+
"Statement": [
|
50
|
+
{
|
51
|
+
"Action": [
|
52
|
+
"s3:GetBucketLocation",
|
53
|
+
"s3:ListBucket"
|
54
|
+
],
|
55
|
+
"Effect": "Allow",
|
56
|
+
"Principal": {
|
57
|
+
"AWS": [
|
58
|
+
"*"
|
59
|
+
]
|
60
|
+
},
|
61
|
+
"Resource": [
|
62
|
+
"arn:aws:s3:::#{bucket}"
|
63
|
+
],
|
64
|
+
"Sid": ""
|
74
65
|
},
|
75
|
-
|
76
|
-
"
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
66
|
+
{
|
67
|
+
"Action": [
|
68
|
+
"s3:GetObject"
|
69
|
+
],
|
70
|
+
"Effect": "Allow",
|
71
|
+
"Principal": {
|
72
|
+
"AWS": [
|
73
|
+
"*"
|
74
|
+
]
|
75
|
+
},
|
76
|
+
"Resource": [
|
77
|
+
"arn:aws:s3:::#{bucket}/*"
|
78
|
+
],
|
79
|
+
"Sid": ""
|
80
|
+
}
|
81
|
+
]
|
82
|
+
}
|
83
|
+
EOL
|
84
|
+
@client.put_bucket_policy({ bucket: bucket, policy: policy })
|
85
|
+
end
|
84
86
|
end
|
85
87
|
|
86
88
|
def exist?(bucket)
|
data/lib/openc3/version.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# encoding: ascii-8bit
|
2
2
|
|
3
|
-
OPENC3_VERSION = '5.10.
|
3
|
+
OPENC3_VERSION = '5.10.1'
|
4
4
|
module OpenC3
|
5
5
|
module Version
|
6
6
|
MAJOR = '5'
|
7
7
|
MINOR = '10'
|
8
|
-
PATCH = '
|
8
|
+
PATCH = '1'
|
9
9
|
OTHER = ''
|
10
|
-
BUILD = '
|
10
|
+
BUILD = 'b248056bc6fa7af79757e21f3b79601118eec0e5'
|
11
11
|
end
|
12
|
-
VERSION = '5.10.
|
13
|
-
GEM_VERSION = '5.10.
|
12
|
+
VERSION = '5.10.1'
|
13
|
+
GEM_VERSION = '5.10.1'
|
14
14
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "<%= tool_name %>",
|
3
|
-
"version": "5.10.
|
3
|
+
"version": "5.10.1",
|
4
4
|
"scripts": {
|
5
5
|
"ng": "ng",
|
6
6
|
"start": "ng serve",
|
@@ -12,30 +12,30 @@
|
|
12
12
|
},
|
13
13
|
"private": true,
|
14
14
|
"dependencies": {
|
15
|
-
"@
|
16
|
-
"@angular/
|
17
|
-
"@angular/
|
18
|
-
"@angular/
|
19
|
-
"@angular/
|
20
|
-
"@angular/
|
21
|
-
"@angular/
|
22
|
-
"@angular/
|
23
|
-
"@angular/platform-browser
|
24
|
-
"@angular/
|
25
|
-
"@
|
15
|
+
"@openc3/tool-common": "5.10.1",
|
16
|
+
"@angular/animations": "^16.2.0",
|
17
|
+
"@angular/cdk": "^16.2.0",
|
18
|
+
"@angular/common": "^16.2.0",
|
19
|
+
"@angular/compiler": "^16.2.0",
|
20
|
+
"@angular/core": "^16.2.0",
|
21
|
+
"@angular/forms": "^16.2.0",
|
22
|
+
"@angular/material": "16.2.0",
|
23
|
+
"@angular/platform-browser": "^16.2.0",
|
24
|
+
"@angular/platform-browser-dynamic": "^16.2.0",
|
25
|
+
"@angular/router": "^16.2.0",
|
26
26
|
"rxjs": "~7.8.0",
|
27
27
|
"single-spa": ">=5.9.5",
|
28
28
|
"single-spa-angular": "^8.1.0",
|
29
|
-
"tslib": "^2.6.
|
29
|
+
"tslib": "^2.6.1",
|
30
30
|
"zone.js": "~0.13.1"
|
31
31
|
},
|
32
32
|
"devDependencies": {
|
33
33
|
"@angular-builders/custom-webpack": "16.0.0",
|
34
|
-
"@angular-devkit/build-angular": "^16.0
|
35
|
-
"@angular/cli": "~16.
|
36
|
-
"@angular/compiler-cli": "^16.
|
34
|
+
"@angular-devkit/build-angular": "^16.2.0",
|
35
|
+
"@angular/cli": "~16.2.0",
|
36
|
+
"@angular/compiler-cli": "^16.2.0",
|
37
37
|
"@types/jasmine": "~4.3.0",
|
38
|
-
"jasmine-core": "~5.0
|
38
|
+
"jasmine-core": "~5.1.0",
|
39
39
|
"karma": "~6.4.0",
|
40
40
|
"karma-chrome-launcher": "~3.2.0",
|
41
41
|
"karma-coverage": "~2.2.0",
|