chore: offline hosts
This commit is contained in:
@@ -7,6 +7,7 @@ export const TRUSTED_FEATURE_HOSTS = [
|
||||
'extensions.standardnotes.com',
|
||||
'extensions.standardnotes.org',
|
||||
'features.standardnotes.com',
|
||||
'localhost',
|
||||
]
|
||||
|
||||
export enum ExtensionsServerURL {
|
||||
|
||||
@@ -648,10 +648,10 @@ export class SNApiService
|
||||
throw Error('Cannot download offline repo without url and offlineKEy')
|
||||
}
|
||||
|
||||
const { host } = new URL(featuresUrl)
|
||||
const { hostname } = new URL(featuresUrl)
|
||||
|
||||
if (!TRUSTED_FEATURE_HOSTS.includes(host)) {
|
||||
return new ClientDisplayableError('This offline features host is not in the trusted allowlist.')
|
||||
if (!TRUSTED_FEATURE_HOSTS.includes(hostname)) {
|
||||
return new ClientDisplayableError(`The offline features host ${hostname} is not in the trusted allowlist.`)
|
||||
}
|
||||
|
||||
const response = await this.request<GetOfflineFeaturesResponse>({
|
||||
|
||||
@@ -282,7 +282,7 @@ export class SNFeaturesService
|
||||
void this.syncService.sync()
|
||||
return this.downloadOfflineFeatures(offlineRepo)
|
||||
} catch (err) {
|
||||
return new ClientDisplayableError(API_MESSAGE_FAILED_OFFLINE_ACTIVATION)
|
||||
return new ClientDisplayableError(`${API_MESSAGE_FAILED_OFFLINE_ACTIVATION}, ${err}`)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -392,12 +392,12 @@ export class SNFeaturesService
|
||||
}
|
||||
|
||||
const offlineRepo = this.getOfflineRepo()
|
||||
if (!offlineRepo) {
|
||||
if (!offlineRepo || !offlineRepo.content.offlineFeaturesUrl) {
|
||||
return false
|
||||
}
|
||||
|
||||
const hasFirstPartyOfflineSubscription = offlineRepo.content.offlineFeaturesUrl === PROD_OFFLINE_FEATURES_URL
|
||||
return hasFirstPartyOfflineSubscription
|
||||
return hasFirstPartyOfflineSubscription || new URL(offlineRepo.content.offlineFeaturesUrl).hostname === 'localhost'
|
||||
}
|
||||
|
||||
async updateOnlineRolesAndFetchFeatures(userUuid: UuidString, roles: string[]): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user