Compare commits

...

5 Commits

Author SHA1 Message Date
Carlos Valente 03e68c03a9 refactor: allow cloud in iframe 2025-04-10 21:28:43 +02:00
Carlos Valente 44048a889d bump version to 3.14.4 2025-04-10 21:28:27 +02:00
arc-alex f72db62e08 add comment 2025-04-10 21:21:33 +02:00
arc-alex 333f2623a5 Fix: timeUntil past coutToEnd events 2025-04-10 21:21:33 +02:00
Alex Christoffer Rasmussen 3ebb3451e4 better browser compatibility for view params (#1566) 2025-04-09 12:39:59 +02:00
8 changed files with 10 additions and 9 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@getontime/cli", "name": "@getontime/cli",
"version": "3.14.3", "version": "3.14.4",
"author": "Carlos Valente", "author": "Carlos Valente",
"description": "Time keeping for live events", "description": "Time keeping for live events",
"repository": "https://github.com/cpvalente/ontime", "repository": "https://github.com/cpvalente/ontime",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "ontime-ui", "name": "ontime-ui",
"version": "3.14.3", "version": "3.14.4",
"private": true, "private": true,
"type": "module", "type": "module",
"dependencies": { "dependencies": {
@@ -4,10 +4,10 @@ import type { MultiselectOptions, ParamField } from './types';
export const makeOptionsFromCustomFields = ( export const makeOptionsFromCustomFields = (
customFields: CustomFields, customFields: CustomFields,
additionalOptions: Record<string, string> = {}, additionalOptions: Readonly<Record<string, string>> = {},
filterImageType = true, filterImageType = true,
) => { ) => {
const options = structuredClone(additionalOptions); const options = { ...additionalOptions };
for (const [key, value] of Object.entries(customFields)) { for (const [key, value] of Object.entries(customFields)) {
if (filterImageType && value.type === 'image') { if (filterImageType && value.type === 'image') {
continue; continue;
+2 -1
View File
@@ -300,7 +300,8 @@ export default function Rundown({ data }: RundownProps) {
isNextDay = checkIsNextDay(entry, lastEvent); isNextDay = checkIsNextDay(entry, lastEvent);
if (!isPast) { if (!isPast) {
totalGap += entry.gap; totalGap += entry.gap;
isLinkedToLoaded = isLinkedToLoaded && entry.linkStart !== null; // We also include countToEnd in this test as the behavior of a linked event coming after a countToEnd is simelar to an unlinked event
isLinkedToLoaded = isLinkedToLoaded && entry.linkStart !== null && !lastEvent?.countToEnd;
} }
if (isNewLatest(entry, lastEvent)) { if (isNewLatest(entry, lastEvent)) {
// populate previous entry // populate previous entry
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "ontime-electron", "name": "ontime-electron",
"version": "3.14.3", "version": "3.14.4",
"author": "Carlos Valente", "author": "Carlos Valente",
"description": "Time keeping for live events", "description": "Time keeping for live events",
"repository": "https://github.com/cpvalente/ontime", "repository": "https://github.com/cpvalente/ontime",
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "ontime-server", "name": "ontime-server",
"type": "module", "type": "module",
"main": "src/index.ts", "main": "src/index.ts",
"version": "3.14.3", "version": "3.14.4",
"exports": "./src/index.js", "exports": "./src/index.js",
"dependencies": { "dependencies": {
"@googleapis/sheets": "^5.0.5", "@googleapis/sheets": "^5.0.5",
+1 -1
View File
@@ -124,6 +124,6 @@ function setSessionCookie(res: Response, token: string) {
httpOnly: false, // allow websocket to access cookie httpOnly: false, // allow websocket to access cookie
secure: true, secure: true,
path: '/', // allow cookie to be accessed from any path path: '/', // allow cookie to be accessed from any path
sameSite: 'strict', sameSite: 'none', // allow cookies to be sent in cross-origin requests (e.g., iframes)
}); });
} }
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "ontime", "name": "ontime",
"version": "3.14.3", "version": "3.14.4",
"description": "Time keeping for live events", "description": "Time keeping for live events",
"keywords": [ "keywords": [
"ontime", "ontime",