From 6aeaeaf8958c1029a787f9ff544b4df95cd66e0f Mon Sep 17 00:00:00 2001 From: fatchan Date: Tue, 11 Feb 2020 01:11:57 +0100 Subject: [PATCH 01/11] add some filetypes to nginx configs --- configs/nginx.example | 2 +- configs/nginx_no_https.example | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/nginx.example b/configs/nginx.example index 5f4894f7..2ee7bcea 100644 --- a/configs/nginx.example +++ b/configs/nginx.example @@ -110,7 +110,7 @@ server { } # Files (image, video, audio, other) - location ~* \.(png|jpg|jpeg|gif|mp4|webm|mov|svg|mp3|ogg|wav|opus)$ { + location ~* \.(png|jpg|jpeg|gif|apng|webp|jfif|pjpeg|mkv|mp4|webm|mov|svg|mp3|ogg|wav|opus)$ { access_log off; expires max; root /path/to/jschan/static; diff --git a/configs/nginx_no_https.example b/configs/nginx_no_https.example index 136620a1..fd034153 100644 --- a/configs/nginx_no_https.example +++ b/configs/nginx_no_https.example @@ -110,7 +110,7 @@ server { } # Files (image, video, audio, other) - location ~* \.(png|jpg|jpeg|gif|mp4|webm|mov|svg|mp3|ogg|wav|opus)$ { + location ~* \.(png|jpg|jpeg|gif|apng|webp|pjpeg|jfif|mkv|mp4|webm|mov|svg|mp3|ogg|wav|opus)$ { access_log off; expires max; root /path/to/jschan/static; From c3a3ca2314ae4880dedc5d225c86ea225807610c Mon Sep 17 00:00:00 2001 From: fatchan Date: Wed, 12 Feb 2020 22:25:33 +0100 Subject: [PATCH 02/11] minor script fixes --- gulp/res/js/quote.js | 4 +--- gulp/res/js/time.js | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/gulp/res/js/quote.js b/gulp/res/js/quote.js index 8521f448..18692eb2 100644 --- a/gulp/res/js/quote.js +++ b/gulp/res/js/quote.js @@ -35,13 +35,11 @@ window.addEventListener('DOMContentLoaded', (event) => { } const quote = function(e) { - e.preventDefault(); const quoteNum = this.textContent.replace('[Reply]', '').split(' ')[0].trim(); - if (isThread) { + if (isThread && !e.ctrlKey) { addQuote(quoteNum); } else { setLocalStorage('clickedQuote', quoteNum); - window.location = this.firstChild.href.replace(/#postform$/, '#'+quoteNum); } }; diff --git a/gulp/res/js/time.js b/gulp/res/js/time.js index 278a42e7..96c6c813 100644 --- a/gulp/res/js/time.js +++ b/gulp/res/js/time.js @@ -52,11 +52,11 @@ const relativeTimeString = (date) => { } const changeDateFormat = (date) => { - const options = { hour12: !hour24 }; + const options = { hourCycle: hour24 ? 'h23' : 'h12' }; if (!localTime) { options.timeZone = SERVER_TIMEZONE; } - const dateString = new Date(date.dateTime).toLocaleString(0, options); + const dateString = new Date(date.dateTime).toLocaleString('en-US', options); if (relativeTime) { date.innerText = relativeTimeString(date.dateTime); date.title = dateString; From d04b391b7e99d15ea634bb8fab92596dbccd2067 Mon Sep 17 00:00:00 2001 From: fatchan Date: Thu, 13 Feb 2020 08:27:48 +0100 Subject: [PATCH 03/11] patch brainlet filtering to make filters lowercase --- models/forms/makepost.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/forms/makepost.js b/models/forms/makepost.js index 8ef116ba..51de7e5d 100644 --- a/models/forms/makepost.js +++ b/models/forms/makepost.js @@ -104,11 +104,11 @@ module.exports = async (req, res, next) => { } //global filters if (globalSettings && globalSettings.filters.length > 0 && globalSettings.filterMode > 0) { - hitGlobalFilter = globalSettings.filters.some(filter => { return allContents.includes(filter) }); + hitGlobalFilter = globalSettings.filters.some(filter => { return allContents.includes(filter.toLowerCase()) }); } //board-specific filters if (!hitGlobalFilter && res.locals.permLevel >= 4 && filterMode > 0 && filters && filters.length > 0) { - hitLocalFilter = filters.some(filter => { return allContents.includes(filter) }); + hitLocalFilter = filters.some(filter => { return allContents.includes(filter.toLowerCase()) }); } if (hitGlobalFilter || hitLocalFilter) { await deleteTempFiles(req).catch(e => console.error); From 90e8b59d2e31484e30db4888bc0e512167aae91f Mon Sep 17 00:00:00 2001 From: fatchan Date: Fri, 14 Feb 2020 21:33:36 +0100 Subject: [PATCH 04/11] post-name just apply to the a so easier to style --- gulp/res/css/style.css | 4 ++-- views/mixins/post.pug | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/gulp/res/css/style.css b/gulp/res/css/style.css index d890c4e2..20d4f959 100644 --- a/gulp/res/css/style.css +++ b/gulp/res/css/style.css @@ -176,7 +176,7 @@ pre { margin-bottom: 5px; } -a, a:visited, a .post-name { +a, a:visited { text-decoration: underline; color: var(--link-color); } @@ -350,7 +350,7 @@ p { color: var(--greentext-color); } -a .post-name:hover, a:hover { +a:hover { color: var(--link-hover)!important; } diff --git a/views/mixins/post.pug b/views/mixins/post.pug index a4bb9cca..8ed06bb5 100644 --- a/views/mixins/post.pug +++ b/views/mixins/post.pug @@ -20,8 +20,7 @@ mixin post(post, truncate, manage=false, globalmanage=false, ban=false) span.post-subject #{post.subject} | if post.email - a(href=`mailto:${post.email}`) - span.post-name #{post.name} + a.post-name(href=`mailto:${post.email}`) #{post.name} else span.post-name #{post.name} | From ec71ffc093f437ae393d10677cf39cb749703944 Mon Sep 17 00:00:00 2001 From: fatchan Date: Fri, 14 Feb 2020 21:52:51 +0100 Subject: [PATCH 05/11] still keep it link-color by default --- gulp/res/css/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulp/res/css/style.css b/gulp/res/css/style.css index 20d4f959..49023e6d 100644 --- a/gulp/res/css/style.css +++ b/gulp/res/css/style.css @@ -176,7 +176,7 @@ pre { margin-bottom: 5px; } -a, a:visited { +a, a:visited, a.post-name { text-decoration: underline; color: var(--link-color); } From 5060b48868022fb0a0c1dbc063559708326cb128 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Sun, 16 Feb 2020 14:24:30 +0000 Subject: [PATCH 06/11] Bump bull from 3.12.1 to 3.13.0 (#81) Bumps [bull](https://github.com/OptimalBits/bull) from 3.12.1 to 3.13.0. - [Release notes](https://github.com/OptimalBits/bull/releases) - [Changelog](https://github.com/OptimalBits/bull/blob/develop/CHANGELOG.md) - [Commits](https://github.com/OptimalBits/bull/compare/v3.12.1...v3.13.0) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 128 +++++++++++++++++++++++++--------------------- 1 file changed, 69 insertions(+), 59 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1ee7a3d3..e18f9083 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1086,20 +1086,20 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "bull": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/bull/-/bull-3.12.1.tgz", - "integrity": "sha512-X3bSP7gTqPXLYVSyUtQuTOqZuU0GwVbV304Et84Z8bxYP60R1VD3FUOLsESVRA9LIUEOWVH3hE8MFqlszmO0Gw==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/bull/-/bull-3.13.0.tgz", + "integrity": "sha512-nP8ICMNHGYDNt6cgPqBPm90n57xA+/Om2wI2EGEOIJtWutjrYt8JAWiiFYjZKrly9UkKlrfG9qgOCwFFdS5xaw==", "requires": { "cron-parser": "^2.13.0", "debuglog": "^1.0.0", - "get-port": "^5.0.0", + "get-port": "^5.1.1", "ioredis": "^4.14.1", "lodash": "^4.17.15", - "p-timeout": "^3.1.0", - "promise.prototype.finally": "^3.1.1", + "p-timeout": "^3.2.0", + "promise.prototype.finally": "^3.1.2", "semver": "^6.3.0", - "util.promisify": "^1.0.0", - "uuid": "^3.3.3" + "util.promisify": "^1.0.1", + "uuid": "^3.4.0" }, "dependencies": { "semver": { @@ -1108,9 +1108,9 @@ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, @@ -2180,26 +2180,35 @@ } }, "es-abstract": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.2.tgz", - "integrity": "sha512-jYo/J8XU2emLXl3OLwfwtuFfuF2w6DYPs+xy9ZfVyPkDcrauu6LYrw/q2TyCtrbc/KUdCiC5e9UajRhgNkVopA==", + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", "object-inspect": "^1.7.0", "object-keys": "^1.1.1", - "string.prototype.trimleft": "^2.1.0", - "string.prototype.trimright": "^2.1.0" + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" }, "dependencies": { "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } } } }, @@ -3421,12 +3430,9 @@ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, "get-port": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.0.0.tgz", - "integrity": "sha512-imzMU0FjsZqNa6BqOjbbW6w5BivHIuQKopjpPqcnx0AVHJQKCxK1O+Ab3OrVXhrekqfVMjwA9ZYu062R+KcIsQ==", - "requires": { - "type-fest": "^0.3.0" - } + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==" }, "get-uri": { "version": "2.0.4", @@ -4197,9 +4203,9 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" }, "is-data-descriptor": { "version": "0.1.4", @@ -4210,9 +4216,9 @@ } }, "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" }, "is-descriptor": { "version": "0.1.6", @@ -4274,11 +4280,11 @@ } }, "is-nan": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.2.1.tgz", - "integrity": "sha1-n69ltvttskt/XAYoR16nH5iEAeI=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.0.tgz", + "integrity": "sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ==", "requires": { - "define-properties": "^1.1.1" + "define-properties": "^1.1.3" } }, "is-negated-glob": { @@ -5239,12 +5245,12 @@ } }, "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" } }, "object.map": { @@ -5901,12 +5907,12 @@ } }, "promise.prototype.finally": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.1.tgz", - "integrity": "sha512-gnt8tThx0heJoI3Ms8a/JdkYBVhYP/wv+T7yQimR+kdOEJL21xTFbiJhMRqnSPcr54UVvMbsscDk2w+ivyaLPw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.2.tgz", + "integrity": "sha512-A2HuJWl2opDH0EafgdjwEw7HysI8ff/n4lW4QEVBCUXFk9QeGecBWv0Deph0UmLe3tTNYegz8MOjsVuE6SMoJA==", "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.13.0", + "es-abstract": "^1.17.0-next.0", "function-bind": "^1.1.1" } }, @@ -7129,18 +7135,18 @@ } }, "string.prototype.trimleft": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", - "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" } }, "string.prototype.trimright": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", - "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", "requires": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" @@ -7410,11 +7416,6 @@ "prelude-ls": "~1.1.2" } }, - "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" - }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -7615,12 +7616,21 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + } } }, "utils-merge": { From d38cd55b1d19fcd3d582166a015647ff03e7e0a0 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Sun, 16 Feb 2020 14:24:45 +0000 Subject: [PATCH 07/11] Bump mongodb from 3.5.2 to 3.5.3 (#80) Bumps [mongodb](https://github.com/mongodb/node-mongodb-native) from 3.5.2 to 3.5.3. - [Release notes](https://github.com/mongodb/node-mongodb-native/releases) - [Changelog](https://github.com/mongodb/node-mongodb-native/blob/master/CHANGES_3.0.0.md) - [Commits](https://github.com/mongodb/node-mongodb-native/compare/v3.5.2...v3.5.3) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index e18f9083..e91a36e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4937,9 +4937,9 @@ } }, "mongodb": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.2.tgz", - "integrity": "sha512-Lxt4th2tK2MxmkDBR5cMik+xEnkvhwg0BC5kGcHm9RBwaNEsrIryvV5istGXOHbnif5KslMpY1FbX6YbGJ/Trg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.3.tgz", + "integrity": "sha512-II7P7A3XUdPiXRgcN96qIoRa1oesM6qLNZkzfPluNZjVkgQk3jnQwOT6/uDk4USRDTTLjNFw2vwfmbRGTA7msg==", "requires": { "bl": "^2.2.0", "bson": "^1.1.1", From 29e78c2e2b23bcf8663025c2ab2119513dd6fa4e Mon Sep 17 00:00:00 2001 From: fatchan Date: Mon, 17 Feb 2020 15:38:46 +1100 Subject: [PATCH 08/11] UTC dates for date param so modlog doesnt get broken by timezones --- helpers/paramconverter.js | 6 +++--- models/pages/modlog.js | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/helpers/paramconverter.js b/helpers/paramconverter.js index 38b0e24a..7c907bee 100644 --- a/helpers/paramconverter.js +++ b/helpers/paramconverter.js @@ -104,10 +104,10 @@ module.exports = (req, res, next) => { } //moglog date if (req.params.date) { - const dateString = req.params.date.replace(/-/g, '/'); - const date = new Date(dateString); + const [ month, day, year ] = req.params.date.split('-'); + const date = new Date(Date.UTC(year, month, day, 0, 0, 0, 0)); if (date !== 'Invalid Date') { - res.locals.date = date; + res.locals.date = { month, day, year, date }; } } diff --git a/models/pages/modlog.js b/models/pages/modlog.js index c63e9d9f..e10fe1da 100644 --- a/models/pages/modlog.js +++ b/models/pages/modlog.js @@ -9,10 +9,10 @@ module.exports = async (req, res, next) => { return next(); } - const startDate = new Date(res.locals.date); - const endDate = new Date(startDate.valueOf()); - startDate.setHours(0,0,0,0); - endDate.setHours(23,59,59,999); + const startDate = res.locals.date.date; + const { year, month, day } = res.locals.date; + const endDate = new Date(Date.UTC(year, month, day, 23, 59, 59, 999)); + let html; try { const logs = await Modlogs.findBetweenDate(res.locals.board, startDate, endDate); From c6aaef24958ef44f4c559a30701ca20a843b441b Mon Sep 17 00:00:00 2001 From: fatchan Date: Mon, 17 Feb 2020 05:44:26 +0100 Subject: [PATCH 09/11] months are 0 indexed --- helpers/paramconverter.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/helpers/paramconverter.js b/helpers/paramconverter.js index 7c907bee..f4585a3a 100644 --- a/helpers/paramconverter.js +++ b/helpers/paramconverter.js @@ -104,7 +104,8 @@ module.exports = (req, res, next) => { } //moglog date if (req.params.date) { - const [ month, day, year ] = req.params.date.split('-'); + let [ month, day, year ] = req.params.date.split('-'); + month = month-1; const date = new Date(Date.UTC(year, month, day, 0, 0, 0, 0)); if (date !== 'Invalid Date') { res.locals.date = { month, day, year, date }; From a426c8542e5e0ed0b03df0defe3296e1340174a8 Mon Sep 17 00:00:00 2001 From: Thomas Lynch Date: Mon, 17 Feb 2020 15:51:41 +1100 Subject: [PATCH 10/11] Update ratelimits.js nobody had issues with this? --- db/ratelimits.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/ratelimits.js b/db/ratelimits.js index d27650b4..05a9ae85 100644 --- a/db/ratelimits.js +++ b/db/ratelimits.js @@ -14,7 +14,7 @@ module.exports = { incrmentQuota: (ip, suffix, amount) => { return db.findOneAndUpdate( { - '_id': `${ip}-suffix` + '_id': `${ip}-${suffix}` }, { '$inc': { From 21b4e8cf236e8b56e2f48b864898f5580210306a Mon Sep 17 00:00:00 2001 From: fatchan Date: Mon, 17 Feb 2020 16:07:51 +1100 Subject: [PATCH 11/11] also use proper date in tasks --- helpers/tasks.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/helpers/tasks.js b/helpers/tasks.js index 61690695..3eb451b4 100644 --- a/helpers/tasks.js +++ b/helpers/tasks.js @@ -136,10 +136,12 @@ module.exports = { buildModLog: async (options) => { if (!options.startDate || !options.endDate) { - options.startDate = new Date(); //this is being built by action handler so will always be current date - options.endDate = new Date(options.startDate.getTime()); - options.startDate.setHours(0,0,0,0); - options.endDate.setHours(23,59,59,999); + const d = new Date(); + const month = d.getUTCMonth() + , day = d.getUTCDate() + , year = d.getUTCFullYear(); + options.startDate = new Date(Date.UTC(year, month, day, 0, 0, 0, 0)); + options.endDate = new Date(Date.UTC(year, month, day, 23, 59, 59, 999)); } const day = ('0'+options.startDate.getDate()).slice(-2); const month = ('0'+(options.startDate.getMonth()+1)).slice(-2);