openc3 6.10.5 → 6.10.6
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/lib/openc3/accessors/json_accessor.rb +2 -2
- data/lib/openc3/models/activity_model.rb +9 -4
- data/lib/openc3/models/cvt_model.rb +8 -4
- data/lib/openc3/version.rb +5 -5
- data/templates/tool_angular/package.json +2 -2
- data/templates/tool_react/package.json +1 -1
- data/templates/tool_svelte/package.json +1 -1
- data/templates/tool_vue/package.json +3 -3
- data/templates/widget/package.json +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 82d3b0dd7139864979565d068d7ef9bb74839e8c120c361ef010e6ed2f85c39d
|
|
4
|
+
data.tar.gz: c90d9fb70c93f8e5409c85272012e014a1dd28850ca9d747960a84b18a22ee72
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 675f0387d53e5530b6a2895173d14cc4ebb6d5e6c991ac94d4efcde3acfa11c1ba55c473f2d586f2a1fa4e285e1eb060c6bd9c292b0d7726b506689117ea1159
|
|
7
|
+
data.tar.gz: 9265cd85dc41188c5e4c1610e1d340c5b4e6a7a65e798a717dea4ec8f6e0e70de258d3aad76af36bb88b292646aed63ab449ab5a4321e124e57809a26a255ed6
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: ascii-8bit
|
|
2
2
|
|
|
3
|
-
# Copyright
|
|
3
|
+
# Copyright 2026 OpenC3, Inc.
|
|
4
4
|
# All Rights Reserved.
|
|
5
5
|
#
|
|
6
6
|
# This program is free software; you can modify and/or redistribute it
|
|
@@ -25,7 +25,7 @@ require 'openc3/accessors/accessor'
|
|
|
25
25
|
OpenC3.disable_warnings do
|
|
26
26
|
class JsonPath
|
|
27
27
|
def self.process_object(obj_or_str, opts = {})
|
|
28
|
-
obj_or_str.is_a?(String) ?
|
|
28
|
+
obj_or_str.is_a?(String) ? JSON.parse(obj_or_str, max_nesting: opts[:max_nesting], create_additions: true, allow_nan: true) : obj_or_str
|
|
29
29
|
end
|
|
30
30
|
end
|
|
31
31
|
end
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# GNU Affero General Public License for more details.
|
|
15
15
|
|
|
16
16
|
# Modified by OpenC3, Inc.
|
|
17
|
-
# All changes Copyright
|
|
17
|
+
# All changes Copyright 2026, OpenC3, Inc.
|
|
18
18
|
# All Rights Reserved
|
|
19
19
|
#
|
|
20
20
|
# This file may also be used under the terms of a commercial license
|
|
@@ -33,6 +33,11 @@ module OpenC3
|
|
|
33
33
|
|
|
34
34
|
class ActivityModel < Model
|
|
35
35
|
MAX_DURATION = Time::SEC_PER_DAY
|
|
36
|
+
# Grace window (in seconds) to allow creating activities slightly in the past.
|
|
37
|
+
# This handles race conditions where real-time activity notifications arrive
|
|
38
|
+
# after the start time has already passed (e.g. from external systems).
|
|
39
|
+
# This is consistent with the -15 second window in the timeline microservice.
|
|
40
|
+
START_GRACE_SECONDS = 15
|
|
36
41
|
PRIMARY_KEY = '__openc3_timelines'.freeze # MUST be equal to `TimelineModel::PRIMARY_KEY` minus the leading __
|
|
37
42
|
# See run_activity(activity) in openc3/lib/openc3/microservices/timeline_microservice.rb
|
|
38
43
|
VALID_KINDS = %w(command script reserve expire)
|
|
@@ -217,7 +222,7 @@ module OpenC3
|
|
|
217
222
|
end
|
|
218
223
|
|
|
219
224
|
# validate the input to the rules we have created for timelines.
|
|
220
|
-
# - A task's start MUST NOT be in the past.
|
|
225
|
+
# - A task's start MUST NOT be more than START_GRACE_SECONDS in the past.
|
|
221
226
|
# - A task's start MUST be before the stop.
|
|
222
227
|
# - A task CAN NOT be longer than MAX_DURATION (86400) in seconds.
|
|
223
228
|
# - A task MUST have a kind.
|
|
@@ -235,8 +240,8 @@ module OpenC3
|
|
|
235
240
|
rescue NoMethodError
|
|
236
241
|
raise ActivityInputError.new "start and stop must be seconds: #{start}, #{stop}"
|
|
237
242
|
end
|
|
238
|
-
if now_f >= start and kind != 'expire'
|
|
239
|
-
raise ActivityInputError.new "activity must be in the
|
|
243
|
+
if now_f >= start + START_GRACE_SECONDS and kind != 'expire'
|
|
244
|
+
raise ActivityInputError.new "activity must not be more than #{START_GRACE_SECONDS} seconds in the past, current_time: #{now_f} vs #{start}"
|
|
240
245
|
elsif duration > MAX_DURATION and kind != 'expire'
|
|
241
246
|
raise ActivityInputError.new "activity can not be longer than #{MAX_DURATION} seconds"
|
|
242
247
|
elsif duration <= 0
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# GNU Affero General Public License for more details.
|
|
15
15
|
|
|
16
16
|
# Modified by OpenC3, Inc.
|
|
17
|
-
# All changes Copyright
|
|
17
|
+
# All changes Copyright 2026, OpenC3, Inc.
|
|
18
18
|
# All Rights Reserved
|
|
19
19
|
#
|
|
20
20
|
# This file may also be used under the terms of a commercial license
|
|
@@ -166,10 +166,14 @@ module OpenC3
|
|
|
166
166
|
query += "ASOF JOIN #{table_name} as T#{index} "
|
|
167
167
|
end
|
|
168
168
|
end
|
|
169
|
+
query_params = []
|
|
169
170
|
if start_time && !end_time
|
|
170
|
-
query += "WHERE T0.
|
|
171
|
+
query += "WHERE T0.PACKET_TIMESECONDS < $1 LIMIT -1"
|
|
172
|
+
query_params << start_time
|
|
171
173
|
elsif start_time && end_time
|
|
172
|
-
query += "WHERE T0.
|
|
174
|
+
query += "WHERE T0.PACKET_TIMESECONDS >= $1 AND T0.PACKET_TIMESECONDS < $2"
|
|
175
|
+
query_params << start_time
|
|
176
|
+
query_params << end_time
|
|
173
177
|
end
|
|
174
178
|
|
|
175
179
|
retry_count = 0
|
|
@@ -187,7 +191,7 @@ module OpenC3
|
|
|
187
191
|
@@conn.type_map_for_results = PG::BasicTypeMapForResults.new @@conn
|
|
188
192
|
end
|
|
189
193
|
|
|
190
|
-
result = @@conn.
|
|
194
|
+
result = @@conn.exec_params(query, query_params)
|
|
191
195
|
if result.nil? or result.ntuples == 0
|
|
192
196
|
return {}
|
|
193
197
|
else
|
data/lib/openc3/version.rb
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# encoding: ascii-8bit
|
|
2
2
|
|
|
3
|
-
OPENC3_VERSION = '6.10.
|
|
3
|
+
OPENC3_VERSION = '6.10.6'
|
|
4
4
|
module OpenC3
|
|
5
5
|
module Version
|
|
6
6
|
MAJOR = '6'
|
|
7
7
|
MINOR = '10'
|
|
8
|
-
PATCH = '
|
|
8
|
+
PATCH = '6'
|
|
9
9
|
OTHER = ''
|
|
10
|
-
BUILD = '
|
|
10
|
+
BUILD = '097195648aacf31991bfca633879a013c6f3af26'
|
|
11
11
|
end
|
|
12
|
-
VERSION = '6.10.
|
|
13
|
-
GEM_VERSION = '6.10.
|
|
12
|
+
VERSION = '6.10.6'
|
|
13
|
+
GEM_VERSION = '6.10.6'
|
|
14
14
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "<%= tool_name %>",
|
|
3
|
-
"version": "6.10.
|
|
3
|
+
"version": "6.10.6",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"ng": "ng",
|
|
6
6
|
"start": "ng serve",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@angular/platform-browser-dynamic": "^18.2.6",
|
|
24
24
|
"@angular/router": "^18.2.6",
|
|
25
25
|
"@astrouxds/astro-web-components": "^7.24.0",
|
|
26
|
-
"@openc3/js-common": "6.10.
|
|
26
|
+
"@openc3/js-common": "6.10.6",
|
|
27
27
|
"rxjs": "~7.8.0",
|
|
28
28
|
"single-spa": "^5.9.5",
|
|
29
29
|
"single-spa-angular": "^9.2.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "<%= tool_name %>",
|
|
3
|
-
"version": "6.10.
|
|
3
|
+
"version": "6.10.6",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@astrouxds/astro-web-components": "^7.24.0",
|
|
14
|
-
"@openc3/js-common": "6.10.
|
|
15
|
-
"@openc3/vue-common": "6.10.
|
|
14
|
+
"@openc3/js-common": "6.10.6",
|
|
15
|
+
"@openc3/vue-common": "6.10.6",
|
|
16
16
|
"axios": "^1.7.7",
|
|
17
17
|
"date-fns": "^4.1.0",
|
|
18
18
|
"lodash": "^4.17.21",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "<%= widget_name %>",
|
|
3
|
-
"version": "6.10.
|
|
3
|
+
"version": "6.10.6",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@astrouxds/astro-web-components": "^7.24.0",
|
|
11
|
-
"@openc3/vue-common": "6.10.
|
|
11
|
+
"@openc3/vue-common": "6.10.6",
|
|
12
12
|
"vuetify": "^3.7.1"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|