Skip to content
Snippets Groups Projects
Unverified Commit 2ca07c7c authored by Jed Fox's avatar Jed Fox Committed by GitHub
Browse files

Block enabling e2e encryption when the crypto API is unavailable (#648)

parent 9094703c
No related branches found
No related tags found
No related merge requests found
......@@ -9,6 +9,9 @@ import { Setting } from './UI';
export default function EncryptionSettings({ prefs, pushModal }) {
const serverURL = useServerURL();
const missingCryptoAPI = !(
window.crypto && Object.hasOwnProperty.call(crypto, 'subtle')
);
function onChangeKey() {
pushModal('create-encryption-key', { recreate: true });
......@@ -34,6 +37,22 @@ export default function EncryptionSettings({ prefs, pushModal }) {
</a>
</Text>
</Setting>
) : missingCryptoAPI ? (
<Setting primaryAction={<Button disabled>Enable encryption</Button>}>
<Text>
<strong>End-to-end encryption</strong> is not available when making an
unencrypted connection to a remote server. Youll need to enable HTTPS
on your server to use end-to-end encryption. This problem may also occur
if your browser is too old to work with Actual.{' '}
<a
href="https://actualbudget.github.io/docs/Installing/HTTPS"
target="_blank"
rel="noopener noreferrer"
>
Learn more
</a>
</Text>
</Setting>
) : serverURL ? (
<Setting
primaryAction={
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment