From 9b0db1508349407de77f97f64874b0971ca24e0b Mon Sep 17 00:00:00 2001 From: David Bolack Date: Fri, 17 May 2024 22:10:28 -0500 Subject: [PATCH 01/11] Add Jump To hotkeys This binds CTRL/META-J to brewJump and SHIFT-CTRL/META-J to sourceJump. --- client/homebrew/editor/editor.jsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index f5c1766a8..119658f8c 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -56,6 +56,7 @@ const Editor = createClass({ this.updateEditorSize(); this.highlightCustomMarkdown(); window.addEventListener('resize', this.updateEditorSize); + document.addEventListener('keydown', this.handleControlKeys); const editorTheme = window.localStorage.getItem(EDITOR_THEME_KEY); if(editorTheme) { @@ -79,6 +80,18 @@ const Editor = createClass({ }; }, + handleControlKeys : function(e){ + if(!(e.ctrlKey || e.metaKey)) return; + const J_KEY = 74; + if((!e.shiftKey) && (e.keyCode == J_KEY)) this.brewJump(); + if (e.shiftKey && (e.keyCode == J_KEY)) this.sourceJump(); + if( e.keyCode == J_KEY) { + e.stopPropagation(); + e.preventDefault(); + } + }, + + updateEditorSize : function() { if(this.refs.codeEditor) { let paneHeight = this.refs.main.parentNode.clientHeight; @@ -116,6 +129,7 @@ const Editor = createClass({ const codeMirror = this.refs.codeEditor.codeMirror; codeMirror.operation(()=>{ // Batch CodeMirror styling + //reset custom text styles const customHighlights = codeMirror.getAllMarks().filter((mark)=>!mark.__isFold); //Don't undo code folding for (let i=customHighlights.length - 1;i>=0;i--) customHighlights[i].clear(); From c0cc27a750fd3989541440a933d6db2f9030cba1 Mon Sep 17 00:00:00 2001 From: David Bolack Date: Sun, 19 May 2024 11:12:19 -0500 Subject: [PATCH 02/11] Change Jump hotkeys to M ( move ) bindings. --- client/homebrew/editor/editor.jsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index 119658f8c..abe8c2f39 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -82,10 +82,11 @@ const Editor = createClass({ handleControlKeys : function(e){ if(!(e.ctrlKey || e.metaKey)) return; - const J_KEY = 74; - if((!e.shiftKey) && (e.keyCode == J_KEY)) this.brewJump(); - if (e.shiftKey && (e.keyCode == J_KEY)) this.sourceJump(); - if( e.keyCode == J_KEY) { + console.log(e); + const M_KEY = 77; + if((!e.shiftKey) && (e.keyCode == M_KEY)) this.brewJump(); + if (e.shiftKey && (e.keyCode == M_KEY)) this.sourceJump(); + if( e.keyCode == M_KEY) { e.stopPropagation(); e.preventDefault(); } From a48d9d295eccd4189883d7a3fd10a6572c9c4c60 Mon Sep 17 00:00:00 2001 From: David Bolack Date: Sun, 2 Jun 2024 20:23:33 -0500 Subject: [PATCH 03/11] Try binging to ctrl-X and CTRL-Shift-X which seem to somehow be available... --- client/homebrew/editor/editor.jsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index abe8c2f39..a9b330fcd 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -56,6 +56,7 @@ const Editor = createClass({ this.updateEditorSize(); this.highlightCustomMarkdown(); window.addEventListener('resize', this.updateEditorSize); + document.getElementById('BrewRenderer').addEventListener('keydown', this.handleControlKeys); document.addEventListener('keydown', this.handleControlKeys); const editorTheme = window.localStorage.getItem(EDITOR_THEME_KEY); @@ -72,6 +73,10 @@ const Editor = createClass({ componentDidUpdate : function(prevProps, prevState, snapshot) { this.highlightCustomMarkdown(); + if(this.props.jumpSource) { + this.sourceJump(); + this.setState({sourceJump: false}); + } if(prevProps.moveBrew !== this.props.moveBrew) { this.brewJump(); }; @@ -83,10 +88,10 @@ const Editor = createClass({ handleControlKeys : function(e){ if(!(e.ctrlKey || e.metaKey)) return; console.log(e); - const M_KEY = 77; - if((!e.shiftKey) && (e.keyCode == M_KEY)) this.brewJump(); - if (e.shiftKey && (e.keyCode == M_KEY)) this.sourceJump(); - if( e.keyCode == M_KEY) { + const X_KEY = 88; + if((!e.shiftKey) && (e.keyCode == X_KEY)) this.brewJump(); + if (e.shiftKey && (e.keyCode == X_KEY)) this.sourceJump(); + if( e.keyCode == X_KEY) { e.stopPropagation(); e.preventDefault(); } From a3f146cd53ea665d658cf9616efd965aae17e449 Mon Sep 17 00:00:00 2001 From: David Bolack Date: Wed, 19 Jun 2024 18:39:20 -0500 Subject: [PATCH 04/11] Change the last Boneheaded hot change to something better CTRL-SHIFT-LEFTARROW - Source Jump CTRL-SHIFT-RIGHTARROW - Brew Jump --- client/homebrew/editor/editor.jsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index a9b330fcd..f951563ee 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -88,10 +88,11 @@ const Editor = createClass({ handleControlKeys : function(e){ if(!(e.ctrlKey || e.metaKey)) return; console.log(e); - const X_KEY = 88; - if((!e.shiftKey) && (e.keyCode == X_KEY)) this.brewJump(); - if (e.shiftKey && (e.keyCode == X_KEY)) this.sourceJump(); - if( e.keyCode == X_KEY) { + const LEFTARROW_KEY = 37; + const RIGHTARROW_KEY = 39; + if (e.shiftKey && (e.keyCode == LEFTARROW_KEY)) this.brewJump(); + if (e.shiftKey && (e.keyCode == RIGHTARROW_KEY)) this.sourceJump(); + if ((e.keyCode == LEFTARROW_KEY) || (e.keyCode == RIGHTARROW_KEY)) { e.stopPropagation(); e.preventDefault(); } From 136e877ee62c4be19f88bb02c6567e7e71aa5031 Mon Sep 17 00:00:00 2001 From: David Bolack Date: Mon, 12 Aug 2024 21:42:25 -0500 Subject: [PATCH 05/11] Prevent loading of undefined renderer or theme themebundle. --- client/homebrew/pages/homePage/homePage.jsx | 4 +++- client/homebrew/pages/sharePage/sharePage.jsx | 4 +++- server/app.js | 2 -- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/client/homebrew/pages/homePage/homePage.jsx b/client/homebrew/pages/homePage/homePage.jsx index 490b22596..65f7b9392 100644 --- a/client/homebrew/pages/homePage/homePage.jsx +++ b/client/homebrew/pages/homePage/homePage.jsx @@ -43,7 +43,9 @@ const HomePage = createClass({ editor : React.createRef(null), componentDidMount : function() { - fetchThemeBundle(this, this.props.brew.renderer, this.props.brew.theme); + if(this.props.brew.renderer || this.props.brew.theme){ + fetchThemeBundle(this, this.props.brew.renderer, this.props.brew.theme); + } }, handleSave : function(){ diff --git a/client/homebrew/pages/sharePage/sharePage.jsx b/client/homebrew/pages/sharePage/sharePage.jsx index 9b4f9b73d..2c7363f1c 100644 --- a/client/homebrew/pages/sharePage/sharePage.jsx +++ b/client/homebrew/pages/sharePage/sharePage.jsx @@ -32,7 +32,9 @@ const SharePage = createClass({ componentDidMount : function() { document.addEventListener('keydown', this.handleControlKeys); - fetchThemeBundle(this, this.props.brew.renderer, this.props.brew.theme); + if(this.props.brew.renderer || this.props.brew.theme){ + fetchThemeBundle(this, this.props.brew.renderer, this.props.brew.theme); + } }, componentWillUnmount : function() { diff --git a/server/app.js b/server/app.js index b419c5cea..a84ea568c 100644 --- a/server/app.js +++ b/server/app.js @@ -89,7 +89,6 @@ app.get('/', (req, res, next)=>{ title : 'Homepage', description : 'Homepage' }; - splitTextStyleAndMetadata(req.brew); return next(); }); @@ -500,7 +499,6 @@ app.use(async (err, req, res, next)=>{ pureError : getPureError(err) }; req.customUrl= '/error'; - const page = await renderPage(req, res); if(!page) return; res.send(page); From 6ec51bf7251f7137cbb7c83d704c3d6868a4bed3 Mon Sep 17 00:00:00 2001 From: David Bolack Date: Tue, 13 Aug 2024 12:09:26 -0500 Subject: [PATCH 06/11] Revert "Prevent loading of undefined renderer or theme themebundle." This reverts commit 136e877ee62c4be19f88bb02c6567e7e71aa5031. --- client/homebrew/pages/homePage/homePage.jsx | 4 +--- client/homebrew/pages/sharePage/sharePage.jsx | 4 +--- server/app.js | 2 ++ 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/client/homebrew/pages/homePage/homePage.jsx b/client/homebrew/pages/homePage/homePage.jsx index 65f7b9392..490b22596 100644 --- a/client/homebrew/pages/homePage/homePage.jsx +++ b/client/homebrew/pages/homePage/homePage.jsx @@ -43,9 +43,7 @@ const HomePage = createClass({ editor : React.createRef(null), componentDidMount : function() { - if(this.props.brew.renderer || this.props.brew.theme){ - fetchThemeBundle(this, this.props.brew.renderer, this.props.brew.theme); - } + fetchThemeBundle(this, this.props.brew.renderer, this.props.brew.theme); }, handleSave : function(){ diff --git a/client/homebrew/pages/sharePage/sharePage.jsx b/client/homebrew/pages/sharePage/sharePage.jsx index 2c7363f1c..9b4f9b73d 100644 --- a/client/homebrew/pages/sharePage/sharePage.jsx +++ b/client/homebrew/pages/sharePage/sharePage.jsx @@ -32,9 +32,7 @@ const SharePage = createClass({ componentDidMount : function() { document.addEventListener('keydown', this.handleControlKeys); - if(this.props.brew.renderer || this.props.brew.theme){ - fetchThemeBundle(this, this.props.brew.renderer, this.props.brew.theme); - } + fetchThemeBundle(this, this.props.brew.renderer, this.props.brew.theme); }, componentWillUnmount : function() { diff --git a/server/app.js b/server/app.js index a84ea568c..b419c5cea 100644 --- a/server/app.js +++ b/server/app.js @@ -89,6 +89,7 @@ app.get('/', (req, res, next)=>{ title : 'Homepage', description : 'Homepage' }; + splitTextStyleAndMetadata(req.brew); return next(); }); @@ -499,6 +500,7 @@ app.use(async (err, req, res, next)=>{ pureError : getPureError(err) }; req.customUrl= '/error'; + const page = await renderPage(req, res); if(!page) return; res.send(page); From 1ed7e43db1122711c0cdfb97a4945a12fd162577 Mon Sep 17 00:00:00 2001 From: David Bolack Date: Tue, 13 Aug 2024 12:09:45 -0500 Subject: [PATCH 07/11] Implement G-Ambette's cleaner fix. --- shared/helpers.js | 1 + 1 file changed, 1 insertion(+) diff --git a/shared/helpers.js b/shared/helpers.js index e5c1b7769..ac684b06f 100644 --- a/shared/helpers.js +++ b/shared/helpers.js @@ -35,6 +35,7 @@ const printCurrentBrew = ()=>{ }; const fetchThemeBundle = async (obj, renderer, theme)=>{ + if(!renderer || !theme) return; const res = await request .get(`/api/theme/${renderer}/${theme}`) .catch((err)=>{ From 4957a0d2ef97fe5411690c670dc5a9715ae01446 Mon Sep 17 00:00:00 2001 From: David Bolack Date: Tue, 20 Aug 2024 13:18:48 -0500 Subject: [PATCH 08/11] Flip which arror is which. --- client/homebrew/editor/editor.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index 6b75c765a..7581549a7 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -93,8 +93,8 @@ const Editor = createClass({ console.log(e); const LEFTARROW_KEY = 37; const RIGHTARROW_KEY = 39; - if (e.shiftKey && (e.keyCode == LEFTARROW_KEY)) this.brewJump(); - if (e.shiftKey && (e.keyCode == RIGHTARROW_KEY)) this.sourceJump(); + if (e.shiftKey && (e.keyCode == RIGHTARROW_KEY)) this.brewJump(); + if (e.shiftKey && (e.keyCode == LEFTARROW_KEY)) this.sourceJump(); if ((e.keyCode == LEFTARROW_KEY) || (e.keyCode == RIGHTARROW_KEY)) { e.stopPropagation(); e.preventDefault(); From f8895721fcc229cc7f0e5b6d6ee1cd886005fea4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 18:36:57 +0000 Subject: [PATCH 09/11] Bump mongoose from 8.5.2 to 8.5.3 Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.5.2 to 8.5.3. - [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/8.5.2...8.5.3) --- updated-dependencies: - dependency-name: mongoose dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 9 ++++----- package.json | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9e8b8fffd..ea6b08c96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "marked-smartypants-lite": "^1.0.2", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.30.1", - "mongoose": "^8.5.2", + "mongoose": "^8.5.3", "nanoid": "3.3.4", "nconf": "^0.12.1", "react": "^18.3.1", @@ -10831,10 +10831,9 @@ } }, "node_modules/mongoose": { - "version": "8.5.2", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.5.2.tgz", - "integrity": "sha512-GZB4rHMdYfGatV+23IpCrqFbyCOjCNOHXgWbirr92KRwTEncBrtW3kgU9vmpKjsGf7nMmnAy06SwWUv1vhDkSg==", - "license": "MIT", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.5.3.tgz", + "integrity": "sha512-OubSDbsAclDFGHjV82MsKyIGQWFc42Ot1l+0dhRS6U9xODM7rm/ES/WpOQd8Ds9j0Mx8QzxZtrSCnBh6o9wUqw==", "dependencies": { "bson": "^6.7.0", "kareem": "2.6.3", diff --git a/package.json b/package.json index a3d2c92b2..f6473aca0 100644 --- a/package.json +++ b/package.json @@ -111,7 +111,7 @@ "marked-smartypants-lite": "^1.0.2", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.30.1", - "mongoose": "^8.5.2", + "mongoose": "^8.5.3", "nanoid": "3.3.4", "nconf": "^0.12.1", "react": "^18.3.1", From 54d5dbf99223eb0cfb271d0ebc2109a966286668 Mon Sep 17 00:00:00 2001 From: David Bolack Date: Tue, 20 Aug 2024 13:47:32 -0500 Subject: [PATCH 10/11] Pruning --- client/homebrew/editor/editor.jsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index 7581549a7..41d3f91e4 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -76,10 +76,6 @@ const Editor = createClass({ componentDidUpdate : function(prevProps, prevState, snapshot) { this.highlightCustomMarkdown(); - if(this.props.jumpSource) { - this.sourceJump(); - this.setState({sourceJump: false}); - } if(prevProps.moveBrew !== this.props.moveBrew) { this.brewJump(); }; From 8ea7d3dc8f3b6b1c2cb63150daac5cdac3570450 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Aug 2024 03:14:46 +0000 Subject: [PATCH 11/11] Bump @googleapis/drive from 8.11.1 to 8.13.0 Bumps [@googleapis/drive](https://github.com/googleapis/google-api-nodejs-client) from 8.11.1 to 8.13.0. - [Release notes](https://github.com/googleapis/google-api-nodejs-client/releases) - [Changelog](https://github.com/googleapis/google-api-nodejs-client/blob/main/release-please-config.json) - [Commits](https://github.com/googleapis/google-api-nodejs-client/compare/drive-v8.11.1...drive-v8.13.0) --- updated-dependencies: - dependency-name: "@googleapis/drive" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea6b08c96..08b542f46 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@babel/plugin-transform-runtime": "^7.24.7", "@babel/preset-env": "^7.25.3", "@babel/preset-react": "^7.24.7", - "@googleapis/drive": "^8.11.1", + "@googleapis/drive": "^8.13.0", "body-parser": "^1.20.2", "classnames": "^2.5.1", "codemirror": "^5.65.6", @@ -2080,9 +2080,9 @@ } }, "node_modules/@googleapis/drive": { - "version": "8.11.1", - "resolved": "https://registry.npmjs.org/@googleapis/drive/-/drive-8.11.1.tgz", - "integrity": "sha512-tkkjD7/CjypS6esQ/YhP3kEh86F4pEKa3YgvNMCI4Jg/eZzhBTvLQw+TqEfT/C/BoCF6jw2sgBoJQ9h8Qm2oIg==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@googleapis/drive/-/drive-8.13.0.tgz", + "integrity": "sha512-xpXzZeYtNNFLy1m2D5A8/QR2bngpjLPEvO5KZUW4Dlwi/SBHYNTjVm37IQagtQg6QUJlFb4lVLewenUdZZB1rA==", "dependencies": { "googleapis-common": "^7.0.0" }, diff --git a/package.json b/package.json index f6473aca0..675d76f39 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "@babel/plugin-transform-runtime": "^7.24.7", "@babel/preset-env": "^7.25.3", "@babel/preset-react": "^7.24.7", - "@googleapis/drive": "^8.11.1", + "@googleapis/drive": "^8.13.0", "body-parser": "^1.20.2", "classnames": "^2.5.1", "codemirror": "^5.65.6",