diff --git a/changelog.md b/changelog.md index 136f6346a..d783130f0 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 - +### Monday 9/07/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 }} +### Wednesday 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) @@ -2396,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 diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index dc8c27d3a..36df0f1bb 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -69,7 +69,8 @@ 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); const [warnUnsavedChanges, setWarnUnsavedChanges] = useState(true); @@ -105,7 +106,7 @@ const EditPage = (props)=>{ }; return ()=>{ document.removeEventListener('keydown', handleControlKeys); - window.onBeforeUnload = null; + window.onbeforeunload = null; }; }, []); @@ -162,8 +163,12 @@ const EditPage = (props)=>{ }; const handleGoogleClick = ()=>{ + if(global.account !== currentBrew.authors[0]) { + setalertOwnershipToTransfer(true); + return; + } if(!global.account?.googleId) { - setAlertLoginToTransfer(true); + setAlertNoGoogleToTransfer(true); return; } @@ -174,11 +179,13 @@ 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); }; - const toggleGoogleStorage = ()=>{ + const toggleGoogleStorage = (e)=>{ + closeAlerts(e); const newSaveGoogle = !saveGoogle; setSaveGoogle((prev)=>!prev); setError(null); @@ -260,32 +267,42 @@ 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
+
+ )} + + {alertNoGoogleToTransfer && ( +
+ You must be signed in to a Google account to transfer between the Homebrewery and Google Drive! + +
Sign In
+
+
Not Now
+
+ )} + + {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
+
+ )} + {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
-
- )} - - {alertLoginToTransfer && ( -
- You must be signed in to a Google account to transfer between the homebrewery and Google Drive! - -
Sign In
-
-
Not Now
-
- )} - - {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!
-
OK
+
No
)} 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",