Disable debug logs in production
console.debug logs cause some performance issues because the browser is forced to save the logged objects just in case the user opens the debugging tools. They can be force-enabled back by adding ?debug=1 to the URL. Only console.debug is disabled, console.log and other levels are a lot less verbose and still enabled by default.
This commit is contained in:
@@ -48,6 +48,15 @@ const configPromise = fetch("./config.json")
|
||||
|
||||
const CHATHISTORY_MAX_SIZE = 4000;
|
||||
|
||||
function isProduction() {
|
||||
// NODE_ENV is set by the Parcel build system
|
||||
try {
|
||||
return process.env.NODE_ENV === "production";
|
||||
} catch (err) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function parseQueryString() {
|
||||
let query = window.location.search.substring(1);
|
||||
let params = {};
|
||||
@@ -162,6 +171,7 @@ export default class App extends Component {
|
||||
memberList: false,
|
||||
},
|
||||
};
|
||||
debug = !isProduction();
|
||||
config = { ...baseConfig };
|
||||
clients = new Map();
|
||||
endOfHistory = new Map();
|
||||
@@ -279,6 +289,9 @@ export default class App extends Component {
|
||||
if (typeof queryParams.open === "string") {
|
||||
this.autoOpenURL = irc.parseURL(queryParams.open);
|
||||
}
|
||||
if (queryParams.debug === "1") {
|
||||
this.debug = true;
|
||||
}
|
||||
|
||||
if (window.location.hash) {
|
||||
autojoin = window.location.hash.split(",");
|
||||
@@ -579,6 +592,8 @@ export default class App extends Component {
|
||||
this.setState({ connectParams: params });
|
||||
|
||||
let client = new Client(fillConnectParams(params));
|
||||
client.debug = this.debug;
|
||||
|
||||
this.clients.set(serverID, client);
|
||||
this.setServerState(serverID, { status: client.status });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user