diff --git a/package-lock.json b/package-lock.json
index 57a6e2600..00c5c0ec8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -41,7 +41,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-frame-component": "^4.1.3",
- "react-router-dom": "6.21.2",
+ "react-router-dom": "6.21.3",
"sanitize-filename": "1.6.3",
"superagent": "^8.1.2",
"vitreum": "git+https://git@github.com/calculuschild/vitreum.git"
@@ -11873,9 +11873,9 @@
"dev": true
},
"node_modules/react-router": {
- "version": "6.21.2",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.2.tgz",
- "integrity": "sha512-jJcgiwDsnaHIeC+IN7atO0XiSRCrOsQAHHbChtJxmgqG2IaYQXSnhqGb5vk2CU/wBQA12Zt+TkbuJjIn65gzbA==",
+ "version": "6.21.3",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.3.tgz",
+ "integrity": "sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==",
"dependencies": {
"@remix-run/router": "1.14.2"
},
@@ -11887,12 +11887,12 @@
}
},
"node_modules/react-router-dom": {
- "version": "6.21.2",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.2.tgz",
- "integrity": "sha512-tE13UukgUOh2/sqYr6jPzZTzmzc70aGRP4pAjG2if0IP3aUT+sBtAKUJh0qMh0zylJHGLmzS+XWVaON4UklHeg==",
+ "version": "6.21.3",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.3.tgz",
+ "integrity": "sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==",
"dependencies": {
"@remix-run/router": "1.14.2",
- "react-router": "6.21.2"
+ "react-router": "6.21.3"
},
"engines": {
"node": ">=14.0.0"
diff --git a/package.json b/package.json
index cd5cbc546..50251c118 100644
--- a/package.json
+++ b/package.json
@@ -110,7 +110,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-frame-component": "^4.1.3",
- "react-router-dom": "6.21.2",
+ "react-router-dom": "6.21.3",
"sanitize-filename": "1.6.3",
"superagent": "^8.1.2",
"vitreum": "git+https://git@github.com/calculuschild/vitreum.git"
diff --git a/server/app.js b/server/app.js
index a19030b3a..970c2cd9c 100644
--- a/server/app.js
+++ b/server/app.js
@@ -472,9 +472,18 @@ const getPureError = (error)=>{
};
app.use(async (err, req, res, next)=>{
- const status = err.status || err.code || 500;
+ err.originalUrl = req.originalUrl;
console.error(err);
+ if(err.originalUrl?.startsWith('/api/')) {
+ // console.log('API error');
+ res.status(err.status || err.response?.status || 500).send(err);
+ return;
+ }
+
+ // console.log('non-API error');
+ const status = err.status || err.code || 500;
+
req.ogMeta = { ...defaultMetaTags,
title : 'Error Page',
description : 'Something went wrong!'
diff --git a/themes/V3/5ePHB/snippets/classfeature.gen.js b/themes/V3/5ePHB/snippets/classfeature.gen.js
index 2597c3ee8..e2e9148b5 100644
--- a/themes/V3/5ePHB/snippets/classfeature.gen.js
+++ b/themes/V3/5ePHB/snippets/classfeature.gen.js
@@ -42,8 +42,8 @@ module.exports = function(classname){
#### Equipment
You start with the following equipment, in addition to the equipment granted by your background:
- - *(a)* a martial weapon and a shield or *(b)* two martial weapons
- - *(a)* five javelins or *(b)* any simple melee weapon
+ - (*a*) a martial weapon and a shield or (*b*) two martial weapons
+ - (*a*) five javelins or (*b*) any simple melee weapon
- ${_.sample(['10 lint fluffs', '1 button', 'a cherished lost sock'])}
`;
};