From a237bac9dcb4da8cc8126338ee15763abd292d17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Sun, 26 Jul 2026 19:51:26 +0200 Subject: [PATCH 1/7] fix the issue --- client/homebrew/pages/editPage/editPage.jsx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index bc18bc5e5..4cb3ba522 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -71,6 +71,7 @@ const EditPage = (props)=>{ const [alertTrashedGoogleBrew, setAlertTrashedGoogleBrew] = useState(props.brew.trashed); const [alertLoginToTransfer, setAlertLoginToTransfer] = useState(false); const [confirmGoogleTransfer, setConfirmGoogleTransfer] = useState(false); + const [notOwnerToTransfer, setNotOwnerToTransfer] = useState(false); const [autoSaveEnabled, setAutoSaveEnabled] = useState(true); const [warnUnsavedChanges, setWarnUnsavedChanges] = useState(true); @@ -162,6 +163,9 @@ const EditPage = (props)=>{ }; const handleGoogleClick = ()=>{ + if(global.account !== brew.authors[0]) { + setNotOwnerToTransfer(true); + } if(!global.account?.googleId) { setAlertLoginToTransfer(true); return; @@ -176,6 +180,7 @@ const EditPage = (props)=>{ setAlertTrashedGoogleBrew(false); setAlertLoginToTransfer(false); setConfirmGoogleTransfer(false); + setNotOwnerToTransfer(false); }; const toggleGoogleStorage = ()=>{ @@ -271,9 +276,19 @@ const EditPage = (props)=>{ )} + {notOwnerToTransfer && ( +
+ You must be the Owner to transfer between the Homebrewery and Google Drive! + +
Sign In
+
+
Not Now
+
+ )} + {alertLoginToTransfer && (
- You must be signed in to a Google account to transfer between the homebrewery and Google Drive! + You must be signed in to a Google account to transfer between the Homebrewery and Google Drive!
Sign In
From 089e880b88ba87e5d0aea2f459ae4131d0725107 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Tue, 28 Jul 2026 23:46:31 +0200 Subject: [PATCH 2/7] suggested changes --- client/homebrew/pages/editPage/editPage.jsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index 4cb3ba522..ebed5fa72 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -70,8 +70,8 @@ const EditPage = (props)=>{ const [unsavedChanges, setUnsavedChanges] = useState(false); const [alertTrashedGoogleBrew, setAlertTrashedGoogleBrew] = useState(props.brew.trashed); const [alertLoginToTransfer, setAlertLoginToTransfer] = useState(false); + const [alertOwnershipToTransfer, setalertOwnershipToTransfer] = useState(false); const [confirmGoogleTransfer, setConfirmGoogleTransfer] = useState(false); - const [notOwnerToTransfer, setNotOwnerToTransfer] = useState(false); const [autoSaveEnabled, setAutoSaveEnabled] = useState(true); const [warnUnsavedChanges, setWarnUnsavedChanges] = useState(true); @@ -164,7 +164,7 @@ const EditPage = (props)=>{ const handleGoogleClick = ()=>{ if(global.account !== brew.authors[0]) { - setNotOwnerToTransfer(true); + setalertOwnershipToTransfer(true); } if(!global.account?.googleId) { setAlertLoginToTransfer(true); @@ -180,7 +180,7 @@ const EditPage = (props)=>{ setAlertTrashedGoogleBrew(false); setAlertLoginToTransfer(false); setConfirmGoogleTransfer(false); - setNotOwnerToTransfer(false); + setalertOwnershipToTransfer(false); }; const toggleGoogleStorage = ()=>{ @@ -276,13 +276,13 @@ const EditPage = (props)=>{
)} - {notOwnerToTransfer && ( + {alertOwnershipToTransfer && (
You must be the Owner to transfer between the Homebrewery and Google Drive! + The owner of this file is ${brew.authors[0]} -
Sign In
+
Okay
-
Not Now
)} From 3367530733b7a622fbff48e05b4cc26f2c74ce51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Sat, 5 Sep 2026 21:30:46 +0200 Subject: [PATCH 3/7] corrections --- client/homebrew/pages/editPage/editPage.jsx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index 98653a1f4..f6e50603a 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -69,7 +69,7 @@ const EditPage = (props)=>{ const [themeBundle, setThemeBundle] = useState({}); const [unsavedChanges, setUnsavedChanges] = useState(false); const [alertTrashedGoogleBrew, setAlertTrashedGoogleBrew] = useState(props.brew.trashed); - const [alertLoginToTransfer, setAlertLoginToTransfer] = useState(false); + const [alertNoGoogleToTransfer, setAlertNoGoogleToTransfer] = useState(false); const [alertOwnershipToTransfer, setalertOwnershipToTransfer] = useState(false); const [confirmGoogleTransfer, setConfirmGoogleTransfer] = useState(false); const [autoSaveEnabled, setAutoSaveEnabled] = useState(true); @@ -163,11 +163,12 @@ const EditPage = (props)=>{ }; const handleGoogleClick = ()=>{ - if(global.account !== brew.authors[0]) { + if(global.account !== currentBrew.authors[0]) { setalertOwnershipToTransfer(true); + return; } if(!global.account?.googleId) { - setAlertLoginToTransfer(true); + setAlertNoGoogleToTransfer(true); return; } @@ -178,7 +179,7 @@ const EditPage = (props)=>{ const closeAlerts = (e)=>{ e.stopPropagation(); //Only handle click once so alert doesn't reopen setAlertTrashedGoogleBrew(false); - setAlertLoginToTransfer(false); + setAlertNoGoogleToTransfer(false); setConfirmGoogleTransfer(false); setalertOwnershipToTransfer(false); }; @@ -279,14 +280,12 @@ const EditPage = (props)=>{ {alertOwnershipToTransfer && (
You must be the Owner to transfer between the Homebrewery and Google Drive! - The owner of this file is ${brew.authors[0]} - + The owner of this file is ${currentBrew.authors[0]}
Okay
-
)} - {alertLoginToTransfer && ( + {alertNoGoogleToTransfer && (
You must be signed in to a Google account to transfer between the Homebrewery and Google Drive! From 556569d1106c86609bbe32fb50bc58588d4457f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Sat, 5 Sep 2026 21:40:54 +0200 Subject: [PATCH 4/7] move priorities --- client/homebrew/pages/editPage/editPage.jsx | 24 +++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index f6e50603a..20c05a797 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -266,16 +266,7 @@ const EditPage = (props)=>{ Google Drive icon - {confirmGoogleTransfer && ( -
- {saveGoogle - ? 'Would you like to transfer this brew from your Google Drive storage back to the Homebrewery?' - : 'Would you like to transfer this brew from the Homebrewery to your personal Google Drive storage?'} -
-
Yes
-
No
-
- )} + {alertOwnershipToTransfer && (
@@ -299,7 +290,18 @@ const EditPage = (props)=>{
This brew is currently in your Trash folder on Google Drive!
If you want to keep it, make sure to move it before it is deleted permanently!
-
OK
+
Save my brew
+
+ )} + + {confirmGoogleTransfer && ( +
+ {saveGoogle + ? 'Would you like to transfer this brew from your Google Drive storage back to the Homebrewery?' + : 'Would you like to transfer this brew from the Homebrewery to your personal Google Drive storage?'} +
+
Yes
+
No
)} From 9dccd1ef98f143bd622278c4f1468c60a457ffc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Sat, 5 Sep 2026 21:53:52 +0200 Subject: [PATCH 5/7] small inconsistencies --- client/homebrew/pages/editPage/editPage.jsx | 27 +++++++++++---------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index 20c05a797..36df0f1bb 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -70,7 +70,7 @@ const EditPage = (props)=>{ const [unsavedChanges, setUnsavedChanges] = useState(false); const [alertTrashedGoogleBrew, setAlertTrashedGoogleBrew] = useState(props.brew.trashed); const [alertNoGoogleToTransfer, setAlertNoGoogleToTransfer] = useState(false); - const [alertOwnershipToTransfer, setalertOwnershipToTransfer] = useState(false); + const [alertOwnershipToTransfer, setAlertOwnershipToTransfer] = useState(false); const [confirmGoogleTransfer, setConfirmGoogleTransfer] = useState(false); const [autoSaveEnabled, setAutoSaveEnabled] = useState(true); const [warnUnsavedChanges, setWarnUnsavedChanges] = useState(true); @@ -106,7 +106,7 @@ const EditPage = (props)=>{ }; return ()=>{ document.removeEventListener('keydown', handleControlKeys); - window.onBeforeUnload = null; + window.onbeforeunload = null; }; }, []); @@ -184,7 +184,8 @@ const EditPage = (props)=>{ setalertOwnershipToTransfer(false); }; - const toggleGoogleStorage = ()=>{ + const toggleGoogleStorage = (e)=>{ + closeAlerts(e); const newSaveGoogle = !saveGoogle; setSaveGoogle((prev)=>!prev); setError(null); @@ -266,28 +267,28 @@ const EditPage = (props)=>{ Google Drive icon - + {alertOwnershipToTransfer && ( -
+
You must be the Owner to transfer between the Homebrewery and Google Drive! - The owner of this file is ${currentBrew.authors[0]} -
Okay
+ The owner of this file is {currentBrew.authors[0]} +
Okay
)} {alertNoGoogleToTransfer && ( -
+ )} {alertTrashedGoogleBrew && ( -
+
This brew is currently in your Trash folder on Google Drive!
If you want to keep it, make sure to move it before it is deleted permanently!
Save my brew
@@ -295,13 +296,13 @@ const EditPage = (props)=>{ )} {confirmGoogleTransfer && ( -
+
{saveGoogle ? 'Would you like to transfer this brew from your Google Drive storage back to the Homebrewery?' : 'Would you like to transfer this brew from the Homebrewery to your personal Google Drive storage?'}
Yes
-
No
+
No
)} From 1d42c5c9eb2494acbe29721486a3dedeb1a03e5c Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Mon, 7 Sep 2026 18:42:37 -0400 Subject: [PATCH 6/7] Up version to v3.23.0 --- changelog.md | 71 +++++++++++++++++++++++++++++++++++++++++------ package-lock.json | 4 +-- package.json | 2 +- 3 files changed, 66 insertions(+), 11 deletions(-) diff --git a/changelog.md b/changelog.md index 136f6346a..643233800 100644 --- a/changelog.md +++ b/changelog.md @@ -93,23 +93,77 @@ pre { ## changelog For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery). -### Saturday 4/20/2026 - v3.22.0 - +### Saturday 9/27/2026 - v3.23.0 {{taskList +##### firstmatekidd (new contributor!) +* [x] Add nav buttons to tab order for accesibility +* [x] Add title to brewRenderer iframe for accessibility +* [x] Add aria labels to toolbars + +Partially fixes issue [#3032](https://github.com/naturalcrit/homebrewery/issues/3032) + +##### ReinaSweet (new contributor!) +* [x] Added security to prevent scripts running in brews + +##### Gazook89 +* [x] Lazy load brew images for faster first load +* [x] Fix snippet menus getting cut off behind divider bar + +Fixes issue [#3840](https://github.com/naturalcrit/homebrewery/issues/3840) + +##### Abquintic +* [x] Fix variables not hoisting in later pages + ##### 5e-Cleric -* [x] Major update to editor framework (Codemirror 6) -Fixes issues [#3511](https://github.com/naturalcrit/homebrewery/issues/3511), [#4590](https://github.com/naturalcrit/homebrewery/issues/4590), [#4563](https://github.com/naturalcrit/homebrewery/issues/4653), [#4655](https://github.com/naturalcrit/homebrewery/issues/4655) -* [x] Fix to Admin page tab names +* [x] Add image preview when hovering over image syntax + +Fixes issue [#2037](https://github.com/naturalcrit/homebrewery/issues/2037) + +* [x] Remember editor theme across tabs + +Fixes issue [#4858](https://github.com/naturalcrit/homebrewery/issues/4858) + +* [x] Add ability to remove co-authors if you are the owner + +Fixes part of issue [#4101](https://github.com/naturalcrit/homebrewery/issues/4101) ##### G-Ambatte -* [x] Fix white page crash on certain browsers +* [x] Fix editor panel shrinking when openingdev tools + +Fixes issue [#4866](https://github.com/naturalcrit/homebrewery/issues/4866) + +* [x] Added security to prevent scripts running in brews + +Fixes issue [#4904](https://github.com/naturalcrit/homebrewery/issues/4904) + +##### Abquintic, G-Ambatte, Gazook89, 5e-Cleric +* [x] Multiple background fixes and code cleanups }} +### Saturday 5/13/2026 - v3.22.1 +{{taskList +##### Frederlk (new Contributor!) +* [x] Add "share current page" to {{openSans **SHARE :fas_share_nodes:**}} menu + +##### Calculuschild, 5e-Cleric +* [x] Fix brews triggering unneeded save when loaded + +##### G-Ambatte +* [x] Fix brews with `$` in text getting out of sync on save + +##### 5e-Cleric, Gazook89 +* [x] Fix various issues with Codemirror 6 + +Fixes issues [#4771](https://github.com/naturalcrit/homebrewery/issues/4771), [#4583](https://github.com/naturalcrit/homebrewery/issues/4783) +}} + +\page + ### Saturday 4/04/2026 - v3.21.0 {{taskList ##### Gazook89 -* [x] Allow custom {{openSans **:fas_table_list: SNIPPETS**}} to be inserted mid-line +* [x] Allow custom {{openSans **:fas_table_list: SNIPPETS**}} dropdown to be inserted mid-line ##### abquintic * [x] Move example snippet images out of imgur (for folks without imgur access) @@ -131,6 +185,7 @@ Fixes issues [#543](https://github.com/naturalcrit/homebrewery/issues/543), [#24 * [x] Multiple other backend fixes and refactors }} + ### Friday 1/11/2026 - v3.20.1 {{taskList @@ -326,7 +381,7 @@ Fixes issue [#1729](https://github.com/naturalcrit/homebrewery/issues/1729) Fixes issue [#4079](https://github.com/naturalcrit/homebrewery/issues/4079) ##### Calculuschild -* [x] `꞉꞉꞉꞉` now produces `
` instead of a `
` +* [x] `꞉꞉꞉꞉` now produces `
` instead of a `<div>` * [x] Fix typos in tables freezing the editor Fixes issue [#4059](https://github.com/naturalcrit/homebrewery/issues/4059) diff --git a/package-lock.json b/package-lock.json index 242d9e608..8309fba77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "homebrewery", - "version": "3.22.0", + "version": "3.23.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "homebrewery", - "version": "3.22.0", + "version": "3.23.0", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index daabc12d0..bc413ed00 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "homebrewery", "description": "Create authentic looking D&D homebrews using only markdown", - "version": "3.22.0", + "version": "3.23.0", "type": "module", "engines": { "npm": ">=10.8 <12", From cefdb0760e138b8c301a125b3b07d05ecb508564 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Tue, 8 Sep 2026 12:13:14 -0400 Subject: [PATCH 7/7] Fix dates and days of week in changelog --- changelog.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/changelog.md b/changelog.md index 643233800..d783130f0 100644 --- a/changelog.md +++ b/changelog.md @@ -93,7 +93,7 @@ pre { ## changelog For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery). -### Saturday 9/27/2026 - v3.23.0 +### Monday 9/07/2026 - v3.23.0 {{taskList ##### firstmatekidd (new contributor!) * [x] Add nav buttons to tab order for accesibility @@ -140,7 +140,7 @@ Fixes issue [#4904](https://github.com/naturalcrit/homebrewery/issues/4904) * [x] Multiple background fixes and code cleanups }} -### Saturday 5/13/2026 - v3.22.1 +### Wednesday 5/13/2026 - v3.22.1 {{taskList ##### Frederlk (new Contributor!) * [x] Add "share current page" to {{openSans **SHARE :fas_share_nodes:**}} menu @@ -2451,4 +2451,4 @@ Massive changelog incoming: * Added `phb.standalone.css` plus a build system for creating it * Added page numbers and footer text -* Page accent now flips each page \ No newline at end of file +* Page accent now flips each page