summaryrefslogtreecommitdiffhomepage
path: root/app/lib
diff options
context:
space:
mode:
Diffstat (limited to 'app/lib')
-rw-r--r--app/lib/backend.js26
-rw-r--r--app/lib/ipc-facade.js32
2 files changed, 18 insertions, 40 deletions
diff --git a/app/lib/backend.js b/app/lib/backend.js
index cd14adb045..9439e09256 100644
--- a/app/lib/backend.js
+++ b/app/lib/backend.js
@@ -128,12 +128,6 @@ export class Backend {
}
try {
- await this._fetchPublicIP();
- } catch(e) {
- log.error('Failed to fetch the public IP: ', e.message);
- }
-
- try {
await this._fetchLocation();
} catch(e) {
log.error('Failed to fetch the location: ', e.message);
@@ -359,7 +353,8 @@ export class Backend {
cities: country.cities.map((city) => ({
name: city.name,
code: city.code,
- position: city.position,
+ latitude: city.latitude,
+ longitude: city.longitude,
hasActiveRelays: city.has_active_relays,
}))
}));
@@ -369,18 +364,6 @@ export class Backend {
);
}
- async _fetchPublicIP() {
- await this._ensureAuthenticated();
-
- const publicIp = await this._ipc.getPublicIp();
-
- log.info('Got public IP: ', publicIp);
-
- this._store.dispatch(
- connectionActions.newPublicIp(publicIp)
- );
- }
-
async _fetchLocation() {
await this._ensureAuthenticated();
@@ -389,9 +372,12 @@ export class Backend {
log.info('Got location: ', location);
const locationUpdate = {
+ ip: location.ip,
country: location.country,
city: location.city,
- location: location.position
+ latitude: location.latitude,
+ longitude: location.longitude,
+ mullvadExitIp: location.mullvad_exit_ip,
};
this._store.dispatch(
diff --git a/app/lib/ipc-facade.js b/app/lib/ipc-facade.js
index b2676193ee..b54cbe5177 100644
--- a/app/lib/ipc-facade.js
+++ b/app/lib/ipc-facade.js
@@ -4,22 +4,24 @@ import JsonRpcWs, { InvalidReply } from './jsonrpc-ws-ipc';
import { object, string, number, boolean, enumeration, arrayOf, oneOf } from 'validated/schema';
import { validate } from 'validated/object';
-import type { Coordinate2d } from '../types';
-
export type AccountData = { expiry: string };
export type AccountToken = string;
export type Ip = string;
export type Location = {
+ ip: Ip,
country: string,
city: string,
- position: Coordinate2d,
+ latitude: number,
+ longitude: number,
+ mullvad_exit_ip: boolean,
};
const LocationSchema = object({
+ ip: string,
country: string,
- country_code: string,
city: string,
- city_code: string,
- position: arrayOf(number),
+ latitude: number,
+ longitude: number,
+ mullvad_exit_ip: boolean,
});
export type SecurityState = 'secured' | 'unsecured';
@@ -121,7 +123,8 @@ export type RelayListCountry = {
export type RelayListCity = {
name: string,
code: string,
- position: [number, number],
+ latitude: number,
+ longitude: number,
has_active_relays: boolean,
};
@@ -132,7 +135,8 @@ const RelayListSchema = object({
cities: arrayOf(object({
name: string,
code: string,
- position: arrayOf(number),
+ latitude: number,
+ longitude: number,
has_active_relays: boolean,
})),
})),
@@ -152,7 +156,6 @@ export interface IpcFacade {
connect(): Promise<void>,
disconnect(): Promise<void>,
shutdown(): Promise<void>,
- getPublicIp(): Promise<Ip>,
getLocation(): Promise<Location>,
getState(): Promise<BackendState>,
registerStateListener((BackendState) => void): void,
@@ -264,17 +267,6 @@ export class RealIpc implements IpcFacade {
.then(this._ignoreResponse);
}
- getPublicIp(): Promise<Ip> {
- return this._ipc.send('get_public_ip')
- .then(raw => {
- if (typeof raw === 'string' && raw) {
- return raw;
- } else {
- throw new InvalidReply(raw, 'Expected a string');
- }
- });
- }
-
getLocation(): Promise<Location> {
return this._ipc.send('get_current_location')
.then(raw => {