Release v2.20.5
This commit is contained in:
1 parent
e6c48c6340
commit
1e8bcae72a
8 files changed
+35
-7
No files matched your search
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## 2.20.5 - 2026-10-25
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed playlist schedule summaries showing weekday text and omitting boundary times when dates are returned as `Date` objects.
|
||||||
|
|
||||||
## 2.20.4 - 2026-10-25
|
## 2.20.4 - 2026-10-25
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pulse-signage-player",
|
"name": "pulse-signage-player",
|
||||||
"version": "2.20.4",
|
"version": "2.20.5",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "Pulse Signage player application bundle",
|
"description": "Pulse Signage player application bundle",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pulse-signage-web",
|
"name": "pulse-signage-web",
|
||||||
"version": "2.20.4",
|
"version": "2.20.5",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "Pulse Signage web and bridge application bundle",
|
"description": "Pulse Signage web and bridge application bundle",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "pulse-signage",
|
"name": "pulse-signage",
|
||||||
"version": "2.20.4",
|
"version": "2.20.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "pulse-signage",
|
"name": "pulse-signage",
|
||||||
"version": "2.20.4",
|
"version": "2.20.5",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@better-auth/passkey": "^1.7.13",
|
"@better-auth/passkey": "^1.7.13",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pulse-signage",
|
"name": "pulse-signage",
|
||||||
"version": "2.20.4",
|
"version": "2.20.5",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "Pulse Signage application with MySQL and media storage",
|
"description": "Pulse Signage application with MySQL and media storage",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
@@ -3,6 +3,14 @@
|
|||||||
const DAY_NAMES = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
const DAY_NAMES = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
||||||
|
|
||||||
function normalizeDateTimeValue(value) {
|
function normalizeDateTimeValue(value) {
|
||||||
|
if (value instanceof Date || Object.prototype.toString.call(value) === '[object Date]') {
|
||||||
|
if (Number.isNaN(value.getTime())) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
const pad = (part) => String(part).padStart(2, '0');
|
||||||
|
return value.getFullYear() + '-' + pad(value.getMonth() + 1) + '-' + pad(value.getDate())
|
||||||
|
+ 'T' + pad(value.getHours()) + ':' + pad(value.getMinutes());
|
||||||
|
}
|
||||||
const raw = String(value || '').trim();
|
const raw = String(value || '').trim();
|
||||||
return raw ? raw : null;
|
return raw ? raw : null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,18 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Schedule helpers.
|
// Schedule helpers.
|
||||||
|
function normalizeDateTimeValue(value) {
|
||||||
|
if (value instanceof Date || Object.prototype.toString.call(value) === '[object Date]') {
|
||||||
|
if (Number.isNaN(value.getTime())) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
var pad = function (part) { return String(part).padStart(2, '0'); };
|
||||||
|
return value.getFullYear() + '-' + pad(value.getMonth() + 1) + '-' + pad(value.getDate())
|
||||||
|
+ 'T' + pad(value.getHours()) + ':' + pad(value.getMinutes());
|
||||||
|
}
|
||||||
|
return String(value || '').trim();
|
||||||
|
}
|
||||||
|
|
||||||
function formatDays(daysValue) {
|
function formatDays(daysValue) {
|
||||||
var days = [];
|
var days = [];
|
||||||
if (Array.isArray(daysValue)) {
|
if (Array.isArray(daysValue)) {
|
||||||
@@ -36,8 +48,8 @@
|
|||||||
|
|
||||||
function normalizeScheduleRuleValue(rule) {
|
function normalizeScheduleRuleValue(rule) {
|
||||||
var input = rule && typeof rule === 'object' ? rule : {};
|
var input = rule && typeof rule === 'object' ? rule : {};
|
||||||
var startDatetime = String(input.start_datetime || input.startDateTime || input.startDateTimeValue || '').trim();
|
var startDatetime = normalizeDateTimeValue(input.start_datetime || input.startDateTime || input.startDateTimeValue);
|
||||||
var endDatetime = String(input.end_datetime || input.endDateTime || input.endDateTimeValue || '').trim();
|
var endDatetime = normalizeDateTimeValue(input.end_datetime || input.endDateTime || input.endDateTimeValue);
|
||||||
var startTime = String(input.start_time || input.startTime || input.startTimeValue || '').trim();
|
var startTime = String(input.start_time || input.startTime || input.startTimeValue || '').trim();
|
||||||
var endTime = String(input.end_time || input.endTime || input.endTimeValue || '').trim();
|
var endTime = String(input.end_time || input.endTime || input.endTimeValue || '').trim();
|
||||||
var days = [];
|
var days = [];
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ test('playlist schedule summaries show up to two short rules on separate lines a
|
|||||||
[[{ days: [1] }, { days: [2] }, { days: [3] }, { days: [4] }], '4 rules'],
|
[[{ days: [1] }, { days: [2] }, { days: [3] }, { days: [4] }], '4 rules'],
|
||||||
[[{ start_datetime: '2026-10-25T09:00', end_datetime: '2026-10-26T17:00', days: [1] }],
|
[[{ start_datetime: '2026-10-25T09:00', end_datetime: '2026-10-26T17:00', days: [1] }],
|
||||||
'Rule 1: Dates 2026-10-25 09:00 to 2026-10-26 17:00: Mon'],
|
'Rule 1: Dates 2026-10-25 09:00 to 2026-10-26 17:00: Mon'],
|
||||||
|
[[{ start_datetime: new Date(2026, 0, 1, 0, 0), end_datetime: new Date(2026, 9, 30, 20, 0) }],
|
||||||
|
'Rule 1: Dates 2026-01-01 00:00 to 2026-10-30 20:00'],
|
||||||
[[{ start_datetime: '2026-10-25T09:00', end_datetime: '2026-10-26T17:00',
|
[[{ start_datetime: '2026-10-25T09:00', end_datetime: '2026-10-26T17:00',
|
||||||
days: [1, 2], start_time: '09:00', end_time: '17:00' }],
|
days: [1, 2], start_time: '09:00', end_time: '17:00' }],
|
||||||
'1 rule'],
|
'1 rule'],
|
||||||
|
|||||||
Reference in new issue
Block a user