-
Notifications
You must be signed in to change notification settings - Fork 54
Release 53 #1380
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Release 53 #1380
Conversation
Fix: Hot standby was not referring to the devices full name
feat: replace deprecated mongodb fields with projection
chore: refactor UploadButton to avoid duplication
feat: live status gateway type generation
feat: support hosting sofie under subdirectory
# 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
feat: Director's Screen # Conflicts: # packages/documentation/docs/user-guide/features/sofie-views-and-screens.mdx
…ease53 # Conflicts: # packages/job-worker/src/ingest/__tests__/syncChangesToPartInstance.test.ts
Modernizing Core tech stack
fix: bad header-clear merge
(they where accidentally removed during the remormatting)
…vice-page-crash fix: PeripheralDevice.configManifest is an optional field
…entBusListener` helper
…ause non-existent documents in the publication to be removed
* chore: tidy protectedString reexports * chore: replace createManualPromise with Promise.withResolvers * chore: remove remaining tempLib reexports from meteor * chore: tidy protectedString reexports * chore: remove remaining tempLib reexports from webui
Co-authored-by: Simon Rogers <s.rogers@evs.com>
No functional change, just a chore to have types aligned
* chore: update docs broken links * chore: update docusaurus
| validLicenses = strs.map(str => new RegExp(str), 'i') | ||
| const strs = m[1].split(","); | ||
| console.log(`Valid licenses: ${strs.join(", ")}`); | ||
| validLicenses = strs.map((str) => new RegExp(str), "i"); |
Check failure
Code scanning / CodeQL
Regular expression injection High
command-line argument
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 19 days ago
To fix the problem, we need to escape any special regex metacharacters in the user-provided license names before constructing a RegExp. The most robust and widely-accepted approach is to use the _.escapeRegExp function from the lodash package, producing literals out of any strings that contained special regex characters. This prevents injection and ensures that patterns only match the intended literal license names.
Steps:
- Add a
lodashimport (const _ = require('lodash');) at the top. - Update line 15 so each
stris sanitized using_.escapeRegExpbefore passing into the RegExp constructor. - (Unrelated but possibly important: move the "i" flag into the RegExp constructor rather than Array.map's second parameter, but this is not the focus here.)
-
Copy modified line R2 -
Copy modified line R16
| @@ -1,4 +1,5 @@ | ||
| const legally = require("../meteor/node_modules/legally"); | ||
| const _ = require('lodash'); | ||
|
|
||
| // Usage: node checkLicenses.js --allowed=MIT,ISC --excludePackages=badPackageWhoDoesntSpeficyLicense | ||
|
|
||
| @@ -12,7 +13,7 @@ | ||
| if (m) { | ||
| const strs = m[1].split(","); | ||
| console.log(`Valid licenses: ${strs.join(", ")}`); | ||
| validLicenses = strs.map((str) => new RegExp(str), "i"); | ||
| validLicenses = strs.map((str) => new RegExp(_.escapeRegExp(str), "i")); | ||
| } | ||
|
|
||
| m = argString.match(/--excludePackages=(.*)/); |
-
Copy modified lines R46-R48 -
Copy modified line R50
| @@ -43,5 +43,8 @@ | ||
| "semver": "^7.6.3", | ||
| "snyk-nodejs-lockfile-parser": "^1.58.16" | ||
| }, | ||
| "packageManager": "yarn@4.10.3" | ||
| "packageManager": "yarn@4.10.3", | ||
| "dependencies": { | ||
| "lodash": "^4.17.21" | ||
| } | ||
| } |
| Package | Version | Security advisories |
| lodash (npm) | 4.17.21 | None |
Changes in this commit: Split schemas into modular components with inheritance to reduce duplication Introduce channels for improved documentation structure and clarity Recursively resolve example references Generate a merged asyncapi.yaml for tooling compatibility (e.g., Postman) Reorganize schema directory structure Update references, filenames, and fix spelling inconsistencies Remove deprecated/unused schema files and scripts Improve generated documentation and clean up formatting Generate types for client-sent messages
…schema chore: refactor lsg asyncapi schema
* chore: disable running postinstall * chore: add yarn minimal age gate * chore: run dependabot for meteor and packages dirs
feat: add notifications to lsg
…ge-dismiss Fix dismissing long messages
|




Sofie-Automation/Sofie-TV-automation#58
Info to developers
This release includes a significant refactor/reformatting that affects a large part of the code base. If you want to submit contributions to release53 based on release52, please read the instructions in the Modernizing tech stack PR.