From 50d172bbd50ed7b6195a69b91ecb5aacc485e585 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 15 Jan 2023 14:11:33 +1300 Subject: [PATCH 01/10] Add Themes directory to watch list --- scripts/buildHomebrew.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/buildHomebrew.js b/scripts/buildHomebrew.js index ea5d1d0e2..ed9afb58b 100644 --- a/scripts/buildHomebrew.js +++ b/scripts/buildHomebrew.js @@ -136,6 +136,6 @@ fs.emptyDirSync('./build'); if(isDev){ livereload('./build'); watchFile('./server.js', { - watch : ['./client', './server'] // Watch additional folders if you want + watch : ['./client', './server', './themes'] // Watch additional folders if you want }); } From 3c86984cf1a7059766cb61e9474852b1ad1b4d3e Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 15 Jan 2023 14:13:25 +1300 Subject: [PATCH 02/10] Add change to changelog --- changelog.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/changelog.md b/changelog.md index adb2d73ce..e1ab6e391 100644 --- a/changelog.md +++ b/changelog.md @@ -57,6 +57,13 @@ pre { ## changelog For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery). +### v3.6.0 +{{taskList +##### G-Ambatte + +* [x] Add Themes directory to development server watchlist. +}} + ### v3.6.0 {{taskList ##### Jeddai From 40e36fd87576c12b24a1b76115805c0ff4c04408 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 15 Jan 2023 17:26:56 +1300 Subject: [PATCH 03/10] Fix minor version number --- changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index e1ab6e391..907210661 100644 --- a/changelog.md +++ b/changelog.md @@ -57,7 +57,7 @@ pre { ## changelog For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery). -### v3.6.0 +### v3.6.1 {{taskList ##### G-Ambatte From e82da3a6c1e3310b59eac09e41dc3011ff025063 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 15 Jan 2023 18:19:23 +1300 Subject: [PATCH 04/10] Add buildDev to NPM scripts --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 978bde7e7..5d630bf2a 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "quick": "node scripts/quick.js", "build": "node scripts/buildHomebrew.js", "buildall": "node scripts/buildHomebrew.js && node scripts/buildAdmin.js", + "builddev": "node scripts/buildHomebrew.js --dev", "lint": "eslint --fix **/*.{js,jsx}", "lint:dry": "eslint **/*.{js,jsx}", "circleci": "npm test && eslint **/*.{js,jsx} --max-warnings=0", From ac9fbb1f085fa204b6affd8a0061e6e88877eb07 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 15 Jan 2023 18:24:23 +1300 Subject: [PATCH 05/10] Move changes from 3.6.1 to 3.6.0 --- changelog.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/changelog.md b/changelog.md index 907210661..67503206d 100644 --- a/changelog.md +++ b/changelog.md @@ -57,18 +57,15 @@ pre { ## changelog For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery). -### v3.6.1 -{{taskList -##### G-Ambatte - -* [x] Add Themes directory to development server watchlist. -}} - ### v3.6.0 {{taskList ##### Jeddai * [x] Add unit tests with full coverage for the Homebrewery API + +##### G-Ambatte + +* [x] Add Themes directory to development server watchlist. }} ### Friday 23/12/2022 - v3.5.0 From 8526faa0414c9a28a1ee2af41aad8c1a119f1341 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 03:01:52 +0000 Subject: [PATCH 06/10] Bump marked from 4.2.5 to 4.2.12 Bumps [marked](https://github.com/markedjs/marked) from 4.2.5 to 4.2.12. - [Release notes](https://github.com/markedjs/marked/releases) - [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json) - [Commits](https://github.com/markedjs/marked/compare/v4.2.5...v4.2.12) --- updated-dependencies: - dependency-name: marked dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index b44a6fd57..2ae0b6cff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "jwt-simple": "^0.5.6", "less": "^3.13.1", "lodash": "^4.17.21", - "marked": "4.2.5", + "marked": "4.2.12", "marked-extended-tables": "^1.0.5", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.29.4", @@ -10097,9 +10097,9 @@ } }, "node_modules/marked": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.5.tgz", - "integrity": "sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ==", + "version": "4.2.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz", + "integrity": "sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==", "bin": { "marked": "bin/marked.js" }, @@ -24297,9 +24297,9 @@ } }, "marked": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.5.tgz", - "integrity": "sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ==" + "version": "4.2.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz", + "integrity": "sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==" }, "marked-extended-tables": { "version": "1.0.5", diff --git a/package.json b/package.json index 978bde7e7..a62bf2409 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "jwt-simple": "^0.5.6", "less": "^3.13.1", "lodash": "^4.17.21", - "marked": "4.2.5", + "marked": "4.2.12", "marked-extended-tables": "^1.0.5", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.29.4", From 68d3724e50c737b1eea165666d25495111030ec9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Jan 2023 03:00:45 +0000 Subject: [PATCH 07/10] Bump eslint-plugin-react from 7.31.11 to 7.32.1 Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.31.11 to 7.32.1. - [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases) - [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.31.11...v7.32.1) --- updated-dependencies: - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index b44a6fd57..5a4c7451d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,7 @@ }, "devDependencies": { "eslint": "^8.31.0", - "eslint-plugin-react": "^7.31.11", + "eslint-plugin-react": "^7.32.1", "jest": "^29.2.2", "supertest": "^6.3.3" }, @@ -6201,9 +6201,9 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.31.11", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", - "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "version": "7.32.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.1.tgz", + "integrity": "sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www==", "dev": true, "dependencies": { "array-includes": "^3.1.6", @@ -6218,7 +6218,7 @@ "object.hasown": "^1.1.2", "object.values": "^1.1.6", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", + "resolve": "^2.0.0-next.4", "semver": "^6.3.0", "string.prototype.matchall": "^4.0.8" }, @@ -21463,9 +21463,9 @@ } }, "eslint-plugin-react": { - "version": "7.31.11", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", - "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "version": "7.32.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.1.tgz", + "integrity": "sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www==", "dev": true, "requires": { "array-includes": "^3.1.6", @@ -21480,7 +21480,7 @@ "object.hasown": "^1.1.2", "object.values": "^1.1.6", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", + "resolve": "^2.0.0-next.4", "semver": "^6.3.0", "string.prototype.matchall": "^4.0.8" }, diff --git a/package.json b/package.json index 978bde7e7..18d896cd7 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ }, "devDependencies": { "eslint": "^8.31.0", - "eslint-plugin-react": "^7.31.11", + "eslint-plugin-react": "^7.32.1", "jest": "^29.2.2", "supertest": "^6.3.3" } From 187738ee114d255fea395d759b8be46a7b432210 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Jan 2023 03:01:47 +0000 Subject: [PATCH 08/10] Bump mongoose from 6.8.3 to 6.8.4 Bumps [mongoose](https://github.com/Automattic/mongoose) from 6.8.3 to 6.8.4. - [Release notes](https://github.com/Automattic/mongoose/releases) - [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md) - [Commits](https://github.com/Automattic/mongoose/compare/6.8.3...6.8.4) --- updated-dependencies: - dependency-name: mongoose dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index b44a6fd57..1dff34128 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "marked-extended-tables": "^1.0.5", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.29.4", - "mongoose": "^6.8.3", + "mongoose": "^6.8.4", "nanoid": "3.3.4", "nconf": "^0.12.0", "npm": "^8.10.0", @@ -10395,9 +10395,9 @@ } }, "node_modules/mongoose": { - "version": "6.8.3", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.8.3.tgz", - "integrity": "sha512-qrVWefJK+wFNBH0ALV+oiyJ+FN42O/BqvHFmlFJJ2LKuNmQEOE0JV8FCxnZqtanwbHs4i+k/SkjhtC+C01haaw==", + "version": "6.8.4", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.8.4.tgz", + "integrity": "sha512-19Jk2hbSAPcM4u6ErW0UPwaSO2YfP/cXfBS9YEiNgNzZfXd+jkyemqJ+t2aflaicXeU4VdTP33pZYxqjk2hUYw==", "dependencies": { "bson": "^4.7.0", "kareem": "2.5.1", @@ -24533,9 +24533,9 @@ } }, "mongoose": { - "version": "6.8.3", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.8.3.tgz", - "integrity": "sha512-qrVWefJK+wFNBH0ALV+oiyJ+FN42O/BqvHFmlFJJ2LKuNmQEOE0JV8FCxnZqtanwbHs4i+k/SkjhtC+C01haaw==", + "version": "6.8.4", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.8.4.tgz", + "integrity": "sha512-19Jk2hbSAPcM4u6ErW0UPwaSO2YfP/cXfBS9YEiNgNzZfXd+jkyemqJ+t2aflaicXeU4VdTP33pZYxqjk2hUYw==", "requires": { "bson": "^4.7.0", "kareem": "2.5.1", diff --git a/package.json b/package.json index 978bde7e7..800ceeebc 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "marked-extended-tables": "^1.0.5", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.29.4", - "mongoose": "^6.8.3", + "mongoose": "^6.8.4", "nanoid": "3.3.4", "nconf": "^0.12.0", "npm": "^8.10.0", From c9241e21624aed44d9f4fa84a747a631f6f00bba Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 20 Jan 2023 17:19:02 -0500 Subject: [PATCH 09/10] Fix Google Drive brews duplicating --- changelog.md | 6 ++++++ server/homebrew.api.js | 13 +++++++------ server/homebrew.api.spec.js | 3 --- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/changelog.md b/changelog.md index adb2d73ce..8311fce01 100644 --- a/changelog.md +++ b/changelog.md @@ -59,6 +59,12 @@ For a full record of development, visit our [Github Page](https://github.com/nat ### v3.6.0 {{taskList +##### calculuschild + + * [x] Fix Google Drive brews sometimes duplicating + +Fixes issues [#2603](https://github.com/naturalcrit/homebrewery/issues/2603) + ##### Jeddai * [x] Add unit tests with full coverage for the Homebrewery API diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 07b1c33f2..0d3f87a20 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -109,7 +109,7 @@ If you believe you should have access to this brew, ask the file owner to invite excludePropsFromUpdate : (brew)=>{ // Remove undesired properties const modified = _.clone(brew); - const propsToExclude = ['_id', 'views', 'lastViewed', 'editId', 'shareId', 'googleId']; + const propsToExclude = ['_id', 'views', 'lastViewed']; for (const prop of propsToExclude) { delete modified[prop]; } @@ -189,17 +189,18 @@ If you believe you should have access to this brew, ask the file owner to invite res.status(200).send(saved); }, updateBrew : async (req, res)=>{ - // Initialize brew from request and body, destructure query params, set a constant for the google id, and set the initial value for the after-save method + // Initialize brew from request and body, destructure query params, and set the initial value for the after-save method const brewFromClient = api.excludePropsFromUpdate(req.body); - if(req.brew.version && brewFromClient.version && req.brew.version > brewFromClient.version) { - console.log(`Version mismatch on brew ${req.body.editId}`); + const brewFromServer = req.brew; + if(brewFromServer.version && brewFromClient.version && brewFromServer.version > brewFromClient.version) { + console.log(`Version mismatch on brew ${brewFromClient.editId}`); res.setHeader('Content-Type', 'application/json'); return res.status(409).send(JSON.stringify({ message: `The brew has been changed on a different device. Please save your changes elsewhere, refresh, and try again.` })); } - let brew = _.assign(req.brew, brewFromClient); - const { saveToGoogle, removeFromGoogle } = req.query; + let brew = _.assign(brewFromServer, brewFromClient); const googleId = brew.googleId; + const { saveToGoogle, removeFromGoogle } = req.query; let afterSave = async ()=>true; brew.text = api.mergeBrewText(brew); diff --git a/server/homebrew.api.spec.js b/server/homebrew.api.spec.js index 68355cc1a..71d9bdcc7 100644 --- a/server/homebrew.api.spec.js +++ b/server/homebrew.api.spec.js @@ -342,9 +342,6 @@ brew`); expect(result._id).toBeUndefined(); expect(result.views).toBeUndefined(); expect(result.lastViewed).toBeUndefined(); - expect(result.editId).toBeUndefined(); - expect(result.shareId).toBeUndefined(); - expect(result.googleId).toBeUndefined(); }); it('excludeGoogleProps removes the correct keys', ()=>{ From bd594fa2142392fe5862db3add59c01ffa0bf155 Mon Sep 17 00:00:00 2001 From: Charlie Humphreys Date: Sat, 21 Jan 2023 09:22:58 -0600 Subject: [PATCH 10/10] lower coverage thresholds for api --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 5d630bf2a..6a00c05ef 100644 --- a/package.json +++ b/package.json @@ -51,10 +51,10 @@ "lines" : 25 }, "server/homebrew.api.js" : { - "statements" : 71, - "branches" : 54, - "functions" : 66, - "lines" : 73 + "statements" : 65, + "branches" : 50, + "functions" : 60, + "lines" : 70 } } },