Skip to content

Commit 5cab843

Browse files
committed
Merge branch 'release52' into release53
# Conflicts: # meteor/server/publications/buckets.ts # packages/webui/public/origo-ui/dist/origo.css # packages/webui/src/client/lib/ModalDialog.tsx # packages/webui/src/client/ui/App.tsx # packages/webui/src/client/ui/FloatingInspectors/VTFloatingInspector.tsx # packages/webui/src/client/ui/Header.tsx # packages/webui/src/client/ui/RundownView.tsx # packages/webui/src/client/ui/RundownView/SwitchboardPopUp.tsx # packages/webui/src/client/ui/SegmentStoryboard/StoryboardPartSecondaryPieces/StoryboardSecondaryPiece.tsx # packages/webui/src/client/ui/Settings.tsx # packages/webui/src/client/ui/Status.tsx # packages/webui/src/client/ui/Status/MediaManager.tsx # packages/webui/src/client/ui/SupportPopUp.tsx # packages/webui/src/client/ui/TestTools/index.tsx # packages/yarn.lock
2 parents c092ea9 + c2556cd commit 5cab843

File tree

64 files changed

+6633
-1086
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+6633
-1086
lines changed

.github/workflows/node.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ jobs:
252252
echo "image=$image" >> $GITHUB_OUTPUT
253253
- name: Trivy scanning
254254
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
255-
uses: aquasecurity/trivy-action@0.29.0
255+
uses: aquasecurity/trivy-action@0.30.0
256256
env:
257257
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db
258258
with:
@@ -405,7 +405,7 @@ jobs:
405405
echo "image=$image" >> $GITHUB_OUTPUT
406406
- name: Trivy scanning
407407
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
408-
uses: aquasecurity/trivy-action@0.29.0
408+
uses: aquasecurity/trivy-action@0.30.0
409409
env:
410410
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db
411411
with:

.github/workflows/trivy.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717

1818
steps:
1919
- name: Run Trivy vulnerability scanner (json)
20-
uses: aquasecurity/trivy-action@0.29.0
20+
uses: aquasecurity/trivy-action@0.30.0
2121
env:
2222
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db
2323
with:
@@ -26,7 +26,7 @@ jobs:
2626
output: "${{ matrix.image }}-trivy-scan-results.json"
2727

2828
- name: Run Trivy vulnerability scanner (table)
29-
uses: aquasecurity/trivy-action@0.29.0
29+
uses: aquasecurity/trivy-action@0.30.0
3030
env:
3131
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db
3232
with:
@@ -44,7 +44,7 @@ jobs:
4444
echo $CODE_BLOCK >> $GITHUB_STEP_SUMMARY
4545
4646
- name: Run Trivy in GitHub SBOM mode and submit results to Dependency Graph
47-
uses: aquasecurity/trivy-action@0.29.0
47+
uses: aquasecurity/trivy-action@0.30.0
4848
env:
4949
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db
5050
with:

meteor/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
"object-path": "^0.11.8",
6868
"p-lazy": "^3.1.0",
6969
"semver": "^7.6.3",
70-
"superfly-timeline": "9.0.2",
70+
"superfly-timeline": "9.1.2",
7171
"threadedclass": "^1.2.2",
7272
"timecode": "0.0.4",
7373
"type-fest": "^4.33.0",

meteor/server/api/deviceTriggers/RundownsObserver.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import { literal } from '@sofie-automation/corelib/dist/lib'
55
import { MongoFieldSpecifierOnesStrict } from '@sofie-automation/corelib/dist/mongo'
66
import { DBRundown } from '@sofie-automation/corelib/dist/dataModel/Rundown'
77
import { PromiseDebounce } from '../../publications/lib/PromiseDebounce'
8+
import { stringifyError } from '@sofie-automation/shared-lib/dist/lib/stringifyError'
9+
import { logger } from '../../logging'
810

911
const REACTIVITY_DEBOUNCE = 20
1012

@@ -24,15 +26,19 @@ export class RundownsObserver {
2426
#disposed = false
2527

2628
readonly #triggerUpdateRundownContent = new PromiseDebounce(async () => {
27-
if (this.#disposed) return
29+
try {
30+
if (this.#disposed) return
2831

29-
if (!this.#changed) return
30-
this.#cleanup?.()
32+
if (!this.#changed) return
33+
this.#cleanup?.()
3134

32-
const changed = this.#changed
33-
this.#cleanup = await changed(this.rundownIds)
35+
const changed = this.#changed
36+
this.#cleanup = await changed(this.rundownIds)
3437

35-
if (this.#disposed) this.#cleanup?.()
38+
if (this.#disposed) this.#cleanup?.()
39+
} catch (e) {
40+
logger.error(`Error in RundownsObserver triggerUpdateRundownContent: ${stringifyError(e)}`)
41+
}
3642
}, REACTIVITY_DEBOUNCE)
3743

3844
private constructor(onChanged: ChangedHandler) {

meteor/server/migration/1_52_0.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ export const addSteps = addMigrationSteps('1.52.0', [
8282
// .abPlayers in the overrides:
8383
for (const override of studio.routeSetsWithOverrides.overrides) {
8484
if (override.op === 'set') {
85+
if (override.path.includes('.')) continue // Only include overrides at the top level
8586
const value = override.value as StudioRouteSet
8687

8788
if (!value.abPlayers) {
@@ -113,6 +114,7 @@ export const addSteps = addMigrationSteps('1.52.0', [
113114
// .abPlayers in the overrides:
114115
for (const override of newRouteSetsWithOverrides.overrides) {
115116
if (override.op === 'set') {
117+
if (override.path.includes('.')) continue // Only include overrides at the top level
116118
const value = override.value as StudioRouteSet
117119

118120
if (!value.abPlayers) {

meteor/server/publications/buckets.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ meteorPublish(
5151
return BucketAdLibs.findWithCursor(selector, {
5252
projection: {
5353
ingestInfo: 0, // This is a large blob, and is not of interest to the UI
54+
privateData: 0,
5455
},
5556
})
5657
}
@@ -76,6 +77,7 @@ meteorPublish(
7677
return BucketAdLibActions.findWithCursor(selector, {
7778
projection: {
7879
ingestInfo: 0, // This is a large blob, and is not of interest to the UI
80+
privateData: 0,
7981
},
8082
})
8183
}

meteor/server/publications/lib/PromiseDebounce.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export class PromiseDebounce<TResult = void, TArgs extends unknown[] = []> {
3838

3939
/**
4040
* Trigger an execution, but don't report the result.
41+
* Warning: If the function throws an error, that will not be logged or reported to the caller
4142
*/
4243
trigger = (...args: TArgs): void => {
4344
// If an execution is 'imminent', don't do anything

meteor/server/publications/lib/rundownsObserver.ts

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import { Meteor } from 'meteor/meteor'
22
import { RundownId, RundownPlaylistId, StudioId } from '@sofie-automation/corelib/dist/dataModel/Ids'
33
import { Rundowns } from '../../collections'
44
import { PromiseDebounce } from './PromiseDebounce'
5+
import { logger } from '../../logging'
6+
import { stringifyError } from '@sofie-automation/shared-lib/dist/lib/stringifyError'
57

68
const REACTIVITY_DEBOUNCE = 20
79

@@ -20,14 +22,22 @@ export class RundownsObserver implements Meteor.LiveQueryHandle {
2022
#disposed = false
2123

2224
readonly #triggerUpdateRundownContent = new PromiseDebounce(async () => {
23-
if (this.#disposed) return
24-
if (!this.#changed) return
25-
this.#cleanup?.()
26-
27-
const changed = this.#changed
28-
this.#cleanup = await changed(this.rundownIds)
29-
30-
if (this.#disposed) this.#cleanup?.()
25+
try {
26+
if (this.#disposed) return
27+
if (!this.#changed) return
28+
this.#cleanup?.()
29+
this.#cleanup = undefined
30+
31+
const changed = this.#changed
32+
this.#cleanup = await changed(this.rundownIds)
33+
34+
if (this.#disposed) {
35+
this.#cleanup?.()
36+
this.#cleanup = undefined
37+
}
38+
} catch (e) {
39+
logger.error(`Error in RundownsObserver triggerUpdateRundownContent: ${stringifyError(e)}`)
40+
}
3141
}, REACTIVITY_DEBOUNCE)
3242

3343
private constructor(onChanged: ChangedHandler) {

meteor/yarn.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,7 @@ __metadata:
11601160
mongodb: "npm:^6.12.0"
11611161
p-lazy: "npm:^3.1.0"
11621162
p-timeout: "npm:^4.1.0"
1163-
superfly-timeline: "npm:9.0.2"
1163+
superfly-timeline: "npm:9.1.2"
11641164
threadedclass: "npm:^1.2.2"
11651165
tslib: "npm:^2.8.1"
11661166
type-fest: "npm:^4.33.0"
@@ -1191,7 +1191,7 @@ __metadata:
11911191
resolution: "@sofie-automation/shared-lib@portal:../packages/shared-lib::locator=automation-core%40workspace%3A."
11921192
dependencies:
11931193
"@mos-connection/model": "npm:^4.2.2"
1194-
timeline-state-resolver-types: "npm:9.3.0-release52.0"
1194+
timeline-state-resolver-types: "npm:9.3.0-release52.2"
11951195
tslib: "npm:^2.8.1"
11961196
type-fest: "npm:^4.33.0"
11971197
languageName: node
@@ -2291,7 +2291,7 @@ __metadata:
22912291
prettier: "npm:^2.8.8"
22922292
semver: "npm:^7.6.3"
22932293
standard-version: "npm:^9.5.0"
2294-
superfly-timeline: "npm:9.0.2"
2294+
superfly-timeline: "npm:9.1.2"
22952295
threadedclass: "npm:^1.2.2"
22962296
timecode: "npm:0.0.4"
22972297
ts-jest: "npm:^29.2.5"
@@ -10152,12 +10152,12 @@ __metadata:
1015210152
languageName: node
1015310153
linkType: hard
1015410154

10155-
"superfly-timeline@npm:9.0.2":
10156-
version: 9.0.2
10157-
resolution: "superfly-timeline@npm:9.0.2"
10155+
"superfly-timeline@npm:9.1.2":
10156+
version: 9.1.2
10157+
resolution: "superfly-timeline@npm:9.1.2"
1015810158
dependencies:
1015910159
tslib: "npm:^2.6.0"
10160-
checksum: 10/1459938b2f05858a9563b23774ffeb9376c8babcf8ea59cf10ec76296ae4d8a923f9b6858bf86517dbe7eaba705150b3f502cac11354b92c241efc52ffe3fe0f
10160+
checksum: 10/f77552cb8b4faab5d13aa88da364498c90d5117427af739fa456d73acd26075fe2e04cc227b8d58d45a4684af7115c24a7e5867c85479a2c0aba3f43b6230367
1016110161
languageName: node
1016210162
linkType: hard
1016310163

@@ -10332,12 +10332,12 @@ __metadata:
1033210332
languageName: node
1033310333
linkType: hard
1033410334

10335-
"timeline-state-resolver-types@npm:9.3.0-release52.0":
10336-
version: 9.3.0-release52.0
10337-
resolution: "timeline-state-resolver-types@npm:9.3.0-release52.0"
10335+
"timeline-state-resolver-types@npm:9.3.0-release52.2":
10336+
version: 9.3.0-release52.2
10337+
resolution: "timeline-state-resolver-types@npm:9.3.0-release52.2"
1033810338
dependencies:
1033910339
tslib: "npm:^2.6.3"
10340-
checksum: 10/162d765cb3f3a673e284ed942aa355c7ab136f092989f28626f73def5f9878fdff763160e3372c8b5da681c9bfdaf104b02c4879bfadbd70fa699a8403920261
10340+
checksum: 10/2f50474e96d6f10d085788b59c2a8a2bedcf8511646424afcb9c2b421798e689894028629f0c55d0b76dc5f543cba06367c7be93c2662608a3804f60c108ded2
1034110341
languageName: node
1034210342
linkType: hard
1034310343

packages/blueprints-integration/src/context/syncIngestChangesContext.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ import type {
55
IBlueprintPiece,
66
IBlueprintPieceInstance,
77
} from '../documents'
8+
import type { IEventContext } from './eventContext'
89

9-
export interface ISyncIngestUpdateToPartInstanceContext extends IRundownUserContext {
10+
export interface ISyncIngestUpdateToPartInstanceContext extends IRundownUserContext, IEventContext {
1011
/** Sync a pieceInstance. Inserts the pieceInstance if new, updates if existing. Optionally pass in a mutated Piece, to override the content of the instance */
1112
syncPieceInstance(
1213
pieceInstanceId: string,

0 commit comments

Comments
 (0)