merge: make trustedDomains persist across reloads (!1174)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1174 Approved-by: Marie <github@yuugi.dev> Approved-by: Hazelnoot <acomputerdog@gmail.com>
This commit is contained in:
commit
7d005876fb
5 changed files with 36 additions and 3 deletions
|
|
@ -64,7 +64,7 @@ function done(canceled: boolean, result?: Result): void { // eslint-disable-line
|
|||
async function ok() {
|
||||
const result = true;
|
||||
if (!prefer.s.trustedDomains.includes(domain.value) && trustThisDomain.value) {
|
||||
prefer.r.trustedDomains.value = prefer.s.trustedDomains.concat(domain.value);
|
||||
prefer.commit('trustedDomains', prefer.s.trustedDomains.concat(domain.value));
|
||||
}
|
||||
done(false, result);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -829,6 +829,15 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
</MkPreferenceContainer>
|
||||
</SearchMarker>
|
||||
|
||||
<SearchMarker :keywords="['warn', 'external', 'url']">
|
||||
<MkPreferenceContainer k="trustedDomains">
|
||||
<MkTextarea v-model="trustedDomains" :debounce="true">
|
||||
<template #label><SearchLabel>{{ i18n.ts.trustedDomainsList }}</SearchLabel></template>
|
||||
<template #caption>{{ i18n.ts.trustedDomainsListDescription }}</template>
|
||||
</MkTextarea>
|
||||
</MkPreferenceContainer>
|
||||
</SearchMarker>
|
||||
|
||||
<SearchMarker :keywords="['image', 'photo', 'picture', 'media', 'thumbnail', 'new', 'tab']">
|
||||
<MkPreferenceContainer k="imageNewTab">
|
||||
<MkSwitch v-model="imageNewTab">
|
||||
|
|
@ -967,6 +976,7 @@ import FormLink from '@/components/form/link.vue';
|
|||
import MkLink from '@/components/MkLink.vue';
|
||||
import MkInfo from '@/components/MkInfo.vue';
|
||||
import MkInput from '@/components/MkInput.vue';
|
||||
import MkTextarea from '@/components/MkTextarea.vue';
|
||||
import { store } from '@/store.js';
|
||||
import * as os from '@/os.js';
|
||||
import { misskeyApi } from '@/utility/misskey-api.js';
|
||||
|
|
@ -1073,6 +1083,11 @@ const lang = prefer.model('lang');
|
|||
const fontSize = prefer.model('fontSize');
|
||||
const useSystemFont = prefer.model('useSystemFont');
|
||||
const cornerRadius = prefer.model('cornerRadius');
|
||||
const trustedDomains = prefer.model(
|
||||
'trustedDomains',
|
||||
(domainsList) => domainsList.join('\n'),
|
||||
(domainsString) => domainsString.split('\n').map( d => d.trim() ).filter( x => x.length > 0),
|
||||
);
|
||||
|
||||
watch([
|
||||
hemisphere,
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@ export async function warningExternalWebsite(url: string) {
|
|||
}
|
||||
});
|
||||
|
||||
const isTrustedByUser = prefer.r.trustedDomains.value.includes(hostname);
|
||||
const isDisabledByUser = !prefer.r.warnExternalUrl.value;
|
||||
const isTrustedByUser = prefer.s.trustedDomains.includes(hostname);
|
||||
const isDisabledByUser = !prefer.s.warnExternalUrl;
|
||||
|
||||
if (!isTrustedByInstance && !isTrustedByUser && !isDisabledByUser) {
|
||||
const confirm = await new Promise<{ canceled: boolean }>(resolve => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue