diff --git a/client/js/autocompletion.js b/client/js/autocompletion.js index 8fa83e29..6a468eb7 100644 --- a/client/js/autocompletion.js +++ b/client/js/autocompletion.js @@ -6,7 +6,6 @@ import Mousetrap from "mousetrap"; import {Textcomplete, Textarea} from "textcomplete"; import fuzzy from "fuzzy"; -import commands from "./commands/index"; import emojiMap from "./helpers/simplemap.json"; import store from "./store"; @@ -313,14 +312,17 @@ function completeNicks(word, isFuzzy) { } function getCommands() { - const clientCommands = Object.keys(commands).map((cmd) => `/${cmd}`); - const cmds = [...new Set(Array.from(constants.commands).concat(clientCommands))]; + const cmds = constants.commands; - if (!store.state.settings.searchEnabled) { - cmds.pop("/search"); + if (store.state.settings.searchEnabled === false) { + const search = cmds.indexOf("/search"); + + if (search !== -1) { + cmds.splice(search, 1); + } } - return cmds.sort(); + return cmds; } function completeCommands(word) { diff --git a/client/js/socket-events/commands.js b/client/js/socket-events/commands.js index b060fa1c..0e3e4930 100644 --- a/client/js/socket-events/commands.js +++ b/client/js/socket-events/commands.js @@ -1,8 +1,12 @@ const constants = require("../constants"); +import localCommands from "../commands/index"; import socket from "../socket"; +const clientCommands = Object.keys(localCommands).map((cmd) => `/${cmd}`); + socket.on("commands", function (commands) { if (commands) { - constants.commands = commands; + const cmds = [...new Set(commands.concat(clientCommands))]; + constants.commands = cmds.sort(); } });