add some try...catches to settings actions, just in case

pull/95/head
dperolio 2 years ago
parent 3f9912eb73
commit 901185c4ba
No known key found for this signature in database
GPG Key ID: 4191689562D51409

@ -14,7 +14,13 @@ export default memo(({ builtin, search = '' }) => {
<SwitchItem
description={Messages.VIZALITY_SETTINGS_TRANSPARENT_WINDOW_DESC}
value={true}
onChange={() => void 0}
onChange={() => {
try {
void 0;
} catch (err) {
builtin.error(err);
}
}}
info={Messages.VIZALITY_SETTINGS_TRANSPARENT_WINDOW_INFO.format()}
requiresRestart
>

@ -22,7 +22,13 @@ export default memo(({ builtin, search = '' }) => {
<SwitchItem
description={Messages.VIZALITY_SETTINGS_SMOOTH_SCROLLING_DESC}
value={smoothScrolling}
onChange={() => setSmoothScrolling(!smoothScrolling)}
onChange={() => {
try {
setSmoothScrolling(!smoothScrolling);
} catch (err) {
builtin.error(err);
}
}}
help={Messages.VIZALITY_SETTINGS_SMOOTH_SCROLLING_HELP}
requiresRestart
>
@ -39,7 +45,13 @@ export default memo(({ builtin, search = '' }) => {
<SwitchItem
description={Messages.VIZALITY_SETTINGS_DEBUG_LOGS_DESC}
value={debugLogs}
onChange={() => setDebugLogs(!debugLogs)}
onChange={() => {
try {
setDebugLogs(!debugLogs);
} catch (err) {
builtin.error(err);
}
}}
requiresRestart
>
{Messages.VIZALITY_SETTINGS_DEBUG_LOGS}
@ -55,7 +67,13 @@ export default memo(({ builtin, search = '' }) => {
<SwitchItem
description={Messages.VIZALITY_SETTINGS_KEEP_TOKEN_DESC}
value={hideToken}
onChange={() => setHideToken(!hideToken)}
onChange={() => {
try {
setHideToken(!hideToken);
} catch (err) {
builtin.error(err);
}
}}
>
{Messages.VIZALITY_SETTINGS_KEEP_TOKEN}
</SwitchItem>
@ -70,7 +88,13 @@ export default memo(({ builtin, search = '' }) => {
<SwitchItem
description={Messages.VIZALITY_SETTINGS_EXP_WEB_PLATFORM_DESC}
value={experimentalWebPlatform}
onChange={() => setExperimentalWebPlatform(!experimentalWebPlatform)}
onChange={() => {
try {
setExperimentalWebPlatform(!experimentalWebPlatform);
} catch (err) {
builtin.error(err);
}
}}
requiresRestart
>
{Messages.VIZALITY_SETTINGS_EXP_WEB_PLATFORM}
@ -94,7 +118,7 @@ export default memo(({ builtin, search = '' }) => {
configurable: true
});
} catch (err) {
console.warn(err);
builtin.error(err);
}
}}
>

@ -14,7 +14,13 @@ export default memo(({ builtin, search = '' }) => {
<SwitchItem
description={Messages.VIZALITY_SETTINGS_TRANSPARENT_WINDOW_DESC}
value={true}
onChange={() => void 0}
onChange={() => {
try {
void 0;
} catch (err) {
builtin.error(err);
}
}}
info={Messages.VIZALITY_SETTINGS_TRANSPARENT_WINDOW_INFO.format()}
requiresRestart
>

@ -20,7 +20,13 @@ export default memo(({ builtin, search = '' }) => {
render: query =>
<TextInput
defaultValue={commandPrefix}
onChange={p => setCommandPrefix(!p ? '.' : p.replace(/\s+(?=\S)|(?<=\s)\s+/g, '').toLowerCase())}
onChange={p => {
try {
setCommandPrefix(!p ? '.' : p.replace(/\s+(?=\S)|(?<=\s)\s+/g, '').toLowerCase());
} catch (err) {
builtin.error(err);
}
}}
onBlur={({ target }) => target.value = commandPrefix}
error={commandPrefix === '/' ? 'Prefix should not be set to `/` as it is already in use by Discord and may disable Vizality autocompletions.' : ''}
>
@ -42,7 +48,13 @@ export default memo(({ builtin, search = '' }) => {
apiUrl: `${window.location.origin}/vizality/docs`
})}
value={replaceClyde}
onChange={() => setReplaceClyde(!replaceClyde)}
onChange={() => {
try {
setReplaceClyde(!replaceClyde);
} catch (err) {
builtin.error(err);
}
}}
>
{Messages.VIZALITY_SETTINGS_NO_CLYDE}
</SwitchItem>

@ -18,7 +18,13 @@ export default memo(({ builtin, search = '' }) => {
<SwitchItem
description={Messages.VIZALITY_SETTINGS_REACT_DEVELOPER_TOOLS_DESC}
value={reactDeveloperTools}
onChange={() => setReactDeveloperTools(!reactDeveloperTools)}
onChange={() => {
try {
setReactDeveloperTools(!reactDeveloperTools);
} catch (err) {
builtin.error(err);
}
}}
info={Messages.VIZALITY_SETTINGS_REACT_DEVELOPER_TOOLS_WARNING}
requiresRestart
>
@ -56,8 +62,12 @@ export default memo(({ builtin, search = '' }) => {
description={Messages.VIZALITY_SETTINGS_PLUGIN_HOT_RELOAD_DESC}
value={hotReload}
onChange={async () => {
setHotReload(!hotReload);
await vizality.manager.plugins.remountAll();
try {
setHotReload(!hotReload);
await vizality.manager.plugins.remountAll();
} catch (err) {
builtin.error(err);
}
}}
>
{Messages.VIZALITY_SETTINGS_PLUGIN_HOT_RELOAD}

@ -109,84 +109,98 @@ export default memo(({ builtin, search = '' }) => {
>{pathsRevealed ? path : maskPath(path)}</a>
</div>;
return <FormNotice
type={FormNotice.Types.PRIMARY}
body={<div className={ joinClassNames('vz-updater-debug-info', { copied: copyText === Messages.COPIED })}>
<code>
<b>System / Discord</b>
<div className='row'>
<div className='column'>Locale:&#10;{chosenLocale}</div>
<div className='column'>OS:&#10;{(window.platform.os).toString()}</div>
<div className='column'>Architecture:&#10;{superProperties.os_arch}</div>
{process.platform === 'linux' && (
<div className='column'>Distro:&#10;{superProperties.distro || 'n/a'}</div>
)}
<div className='column'>Release Channel:&#10;{superProperties.release_channel}</div>
<div className='column'>App Version:&#10;{superProperties.client_version}</div>
<div className='column'>Build Number:&#10;{superProperties.client_build_number}</div>
<div className='column'>Build ID:&#10;{window.GLOBAL_ENV.SENTRY_TAGS.buildId}</div>
<div className='column'>Experiments:&#10;{experimentOverrides} / {availableExperiments}</div>
</div>
<b>Process Versions</b>
<div className='row'>
<div className='column'>React:&#10;{React.version}</div>
{[ 'electron', 'chrome', 'node' ].map(proc =>
<div className='column'>{proc.charAt(0).toUpperCase() + proc.slice(1)}:&#10;{process.versions[proc]}</div>
)}
</div>
return (
<FormNotice
type={FormNotice.Types.PRIMARY}
body={<div className={ joinClassNames('vz-updater-debug-info', { copied: copyText === Messages.COPIED })}>
<code>
<b>System / Discord</b>
<div className='row'>
<div className='column'>Locale:&#10;{chosenLocale}</div>
<div className='column'>OS:&#10;{(window.platform.os).toString()}</div>
<div className='column'>Architecture:&#10;{superProperties.os_arch}</div>
{process.platform === 'linux' && (
<div className='column'>Distro:&#10;{superProperties.distro || 'n/a'}</div>
)}
<div className='column'>Release Channel:&#10;{superProperties.release_channel}</div>
<div className='column'>App Version:&#10;{superProperties.client_version}</div>
<div className='column'>Build Number:&#10;{superProperties.client_build_number}</div>
<div className='column'>Build ID:&#10;{window.GLOBAL_ENV.SENTRY_TAGS.buildId}</div>
<div className='column'>Experiments:&#10;{experimentOverrides} / {availableExperiments}</div>
</div>
<b>Vizality</b>
<div className='row'>
<div className='column'>Commands:&#10;{vizality.api.commands.getAllCommands().length}</div>
<div className='column'>Settings:&#10;{Object.keys(vizality.api.settings?.store?.getAllSettings()).length}</div>
<div className='column'>Plugins:&#10;{vizality.manager.plugins.getEnabledKeys().length} / {vizality.manager.plugins.count}
<b>Process Versions</b>
<div className='row'>
<div className='column'>React:&#10;{React.version}</div>
{[ 'electron', 'chrome', 'node' ].map(proc =>
<div className='column'>{proc.charAt(0).toUpperCase() + proc.slice(1)}:&#10;{process.versions[proc]}</div>
)}
</div>
<div className='column'>Themes:&#10;{vizality.manager.themes.getEnabledKeys().length} / {vizality.manager.themes.count}
<b>Vizality</b>
<div className='row'>
<div className='column'>Commands:&#10;{vizality.api.commands.getAllCommands().length}</div>
<div className='column'>Settings:&#10;{Object.keys(vizality.api.settings?.store?.getAllSettings()).length}</div>
<div className='column'>Plugins:&#10;{vizality.manager.plugins.getEnabledKeys().length} / {vizality.manager.plugins.count}
</div>
<div className='column'>Themes:&#10;{vizality.manager.themes.getEnabledKeys().length} / {vizality.manager.themes.count}
</div>
<div className='column'>Cached Files:&#10;{cachedFiles}</div>
<div className='column'>APIs:&#10;{vizality.manager.apis._apis.length}</div>
</div>
<div className='column'>Cached Files:&#10;{cachedFiles}</div>
<div className='column'>APIs:&#10;{vizality.manager.apis._apis.length}</div>
</div>
<b>Git</b>
<div className='row'>
<div className='column'>Upstream:&#10;{vizality.git.upstream.replace(Repositories.VIZALITY, 'Official')}</div>
<div className='column'>Revision:&#10;
<a
href={`https://github.com/${vizality.git.upstream}/commit/${vizality.git.revision}`}
target='_blank'
>
[{vizality.git.revision.substring(0, 7)}]
</a>
<b>Git</b>
<div className='row'>
<div className='column'>Upstream:&#10;{vizality.git.upstream.replace(Repositories.VIZALITY, 'Official')}</div>
<div className='column'>Revision:&#10;
<a
href={`https://github.com/${vizality.git.upstream}/commit/${vizality.git.revision}`}
target='_blank'
>
[{vizality.git.revision.substring(0, 7)}]
</a>
</div>
<div className='column'>Branch:&#10;{vizality.git.branch}</div>
<div className='column'>{`Latest:\n${!vizality.manager.builtins.get('updater').settings.get('updates', []).find(update => update.updateId === 'vizality')}`}</div>
</div>
<div className='column'>Branch:&#10;{vizality.git.branch}</div>
<div className='column'>{`Latest:\n${!vizality.manager.builtins.get('updater').settings.get('updates', []).find(update => update.updateId === 'vizality')}`}</div>
</div>
<b>Listings</b>
<div className='row'>
{createPathReveal('Vizality Path', vizality.dir)}
{createPathReveal('Discord Path', discordPath)}
<div className='full-column'>Experiments:&#10;{experimentOverrides ? Object.keys(getExperimentOverrides()).join(', ') : 'n/a'}</div>
<div className='full-column'>
Plugins:&#10;
{(plugins.length > 6 ? `${(pluginsRevealed ? plugins : plugins.slice(0, 6)).join(', ')}` : plugins.join(', ')) || 'n/a'}&nbsp;
{plugins.length > 6 &&
<Clickable tag='a' onClick={() => setPluginsRevealed(!pluginsRevealed)}>
{pluginsRevealed ? 'Show less' : 'Show more'}
</Clickable>}
<b>Listings</b>
<div className='row'>
{createPathReveal('Vizality Path', vizality.dir)}
{createPathReveal('Discord Path', discordPath)}
<div className='full-column'>Experiments:&#10;{experimentOverrides ? Object.keys(getExperimentOverrides()).join(', ') : 'n/a'}</div>
<div className='full-column'>
Plugins:&#10;
{(plugins.length > 6 ? `${(pluginsRevealed ? plugins : plugins.slice(0, 6)).join(', ')}` : plugins.join(', ')) || 'n/a'}&nbsp;
{plugins.length > 6 &&
<Clickable tag='a' onClick={() => {
try {
setPluginsRevealed(!pluginsRevealed);
} catch (err) {
builtin.error(err);
}
}}>
{pluginsRevealed ? 'Show less' : 'Show more'}
</Clickable>}
</div>
</div>
</div>
</code>
<Button
size={Button.Sizes.SMALL}
color={copyText === Messages.COPIED ? Button.Colors.GREEN : Button.Colors.BRAND}
onClick={() => handleDebugInfoCopy()}
>
{copyText}
</Button>
</div>}
/>;
</code>
<Button
size={Button.Sizes.SMALL}
color={copyText === Messages.COPIED ? Button.Colors.GREEN : Button.Colors.BRAND}
onClick={() => {
try {
handleDebugInfoCopy();
} catch (err) {
builtin.error(err);
}
}}
>
{copyText}
</Button>
</div>}
/>
);
};
const items = [
@ -200,7 +214,13 @@ export default memo(({ builtin, search = '' }) => {
<SwitchItem
description={Messages.VIZALITY_SETTINGS_TRANSPARENT_WINDOW_DESC}
value={transparentWindow}
onChange={() => setTransparentWindow(!transparentWindow)}
onChange={() => {
try {
setTransparentWindow(!transparentWindow);
} catch (err) {
builtin.error(err);
}
}}
info={Messages.VIZALITY_SETTINGS_TRANSPARENT_WINDOW_INFO.format()}
requiresRestart
>
@ -218,7 +238,13 @@ export default memo(({ builtin, search = '' }) => {
note={Messages.VIZALITY_SETTINGS_CACHE_VIZALITY_DESC}
button={isVizalityCacheCleared ? Messages.VIZALITY_SETTINGS_CACHE_CLEARED : Messages.VIZALITY_SETTINGS_CACHE_VIZALITY}
success={isVizalityCacheCleared}
onClick={() => clearVizalityCache()}
onClick={() => {
try {
clearVizalityCache();
} catch (err) {
builtin.error(err);
}
}}
>
{Messages.VIZALITY_SETTINGS_CACHE_VIZALITY}
</ButtonItem>
@ -234,7 +260,13 @@ export default memo(({ builtin, search = '' }) => {
note={Messages.VIZALITY_SETTINGS_CACHE_DISCORD_DESC}
button={isDiscordCacheCleared ? Messages.VIZALITY_SETTINGS_CACHE_CLEARED : Messages.VIZALITY_SETTINGS_CACHE_DISCORD}
success={isDiscordCacheCleared}
onClick={() => clearDiscordCache()}
onClick={() => {
try {
clearDiscordCache();
} catch (err) {
builtin.error(err);
}
}}
>
{Messages.VIZALITY_SETTINGS_CACHE_DISCORD}
</ButtonItem>

Loading…
Cancel
Save