diff --git a/src/@types/global.d.ts b/src/@types/global.d.ts
new file mode 100644
index 000000000..ed8209ed5
--- /dev/null
+++ b/src/@types/global.d.ts
@@ -0,0 +1,2 @@
+// Defined by webpack on startup or compilation
+declare const __COMMIT_HASH__: string;
diff --git a/src/Sidebar/ui/SidebarRoot.tsx b/src/Sidebar/ui/SidebarRoot.tsx
index fe457bd47..6f87cee3c 100644
--- a/src/Sidebar/ui/SidebarRoot.tsx
+++ b/src/Sidebar/ui/SidebarRoot.tsx
@@ -6,6 +6,7 @@ import makeStyles from "@mui/styles/makeStyles";
import MuiDrawer from "@mui/material/Drawer";
import List from "@mui/material/List";
import Divider from "@mui/material/Divider";
+import Tooltip from "@mui/material/Tooltip";
import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
import ChevronRightIcon from "@mui/icons-material/ChevronRight";
import ListItem from "@mui/material/ListItem";
@@ -337,7 +338,11 @@ export function SidebarRoot(props: IProps): React.ReactElement {
{!open ? : }
- Bitburner v{CONSTANTS.VersionString}} />
+
+ Bitburner v{CONSTANTS.VersionString}
+
+ } />
diff --git a/src/Terminal/Terminal.ts b/src/Terminal/Terminal.ts
index f9b62c8ba..5eb44a32f 100644
--- a/src/Terminal/Terminal.ts
+++ b/src/Terminal/Terminal.ts
@@ -77,7 +77,7 @@ export class Terminal implements ITerminal {
commandHistory: string[] = [];
commandHistoryIndex = 0;
- outputHistory: (Output | Link | RawOutput)[] = [new Output(`Bitburner v${CONSTANTS.VersionString}`, "primary")];
+ outputHistory: (Output | Link | RawOutput)[] = [new Output(`Bitburner v${CONSTANTS.VersionString} (${__COMMIT_HASH__})`, "primary")];
// True if a Coding Contract prompt is opened
contractOpen = false;
@@ -555,7 +555,7 @@ export class Terminal implements ITerminal {
}
clear(): void {
- this.outputHistory = [new Output(`Bitburner v${CONSTANTS.VersionString}`, "primary")];
+ this.outputHistory = [new Output(`Bitburner v${CONSTANTS.VersionString} (${__COMMIT_HASH__})`, "primary")];
TerminalEvents.emit();
TerminalClearEvents.emit();
}
diff --git a/src/ui/LoadingScreen.tsx b/src/ui/LoadingScreen.tsx
index 56361f383..f1404fe6b 100644
--- a/src/ui/LoadingScreen.tsx
+++ b/src/ui/LoadingScreen.tsx
@@ -69,7 +69,7 @@ export function LoadingScreen(): React.ReactElement {
- Loading Bitburner v{CONSTANTS.VersionString}
+ Loading Bitburner v{CONSTANTS.VersionString} ({__COMMIT_HASH__})
{show && (
diff --git a/webpack.config.js b/webpack.config.js
index 25603b11e..06629b8ad 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -42,6 +42,13 @@ module.exports = (env, argv) => {
};
}
+ // Get the current commit hash to inject into the app
+ // https://stackoverflow.com/a/38401256
+ const commitHash = require('child_process')
+ .execSync('git rev-parse --short HEAD')
+ .toString()
+ .trim();
+
return {
plugins: [
new webpack.DefinePlugin({
@@ -105,6 +112,9 @@ module.exports = (env, argv) => {
},
},
}),
+ new webpack.DefinePlugin({
+ __COMMIT_HASH__: JSON.stringify(commitHash)
+ }),
// In dev mode, use a faster method of create sourcemaps
// while keeping lines/columns accurate
isDevServer &&