fix: resolve cyclic imports in avatarplaceholder

bt moving types from data module identitykey, guardnode, snode, swarmnode to a separate file
pull/3083/head
William Grant 11 months ago
parent 55efa4a718
commit b13e907753

@ -8,7 +8,6 @@ import styled from 'styled-components';
import { isEmpty, isTypedArray } from 'lodash';
import { CityResponse, Reader } from 'maxmind';
import useMount from 'react-use/lib/useMount';
import { Snode } from '../../data/data';
import { onionPathModal } from '../../state/ducks/modalDialog';
import {
useFirstOnionPath,
@ -18,6 +17,7 @@ import {
} from '../../state/selectors/onions';
import { Flex } from '../basic/Flex';
import { Snode } from '../../data/types';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { SessionIcon, SessionIconButton } from '../icon';
import { SessionSpinner } from '../loading';

@ -25,34 +25,12 @@ import { channels } from './channels';
import * as dataInit from './dataInit';
import { cleanData } from './dataUtils';
import { SNODE_POOL_ITEM_ID } from './settings-key';
import { GuardNode, Snode } from './types';
const ERASE_SQL_KEY = 'erase-sql-key';
const ERASE_ATTACHMENTS_KEY = 'erase-attachments';
const CLEANUP_ORPHANED_ATTACHMENTS_KEY = 'cleanup-orphaned-attachments';
export type IdentityKey = {
id: string;
publicKey: ArrayBuffer;
firstUse: boolean;
nonblockingApproval: boolean;
secretKey?: string; // found in medium groups
};
export type GuardNode = {
ed25519PubKey: string;
};
export interface Snode {
ip: string;
port: number;
pubkey_x25519: string;
pubkey_ed25519: string;
}
export type SwarmNode = Snode & {
address: string;
};
// Basic
async function shutdown(): Promise<void> {
// Stop accepting new SQL jobs, flush outstanding queue

@ -0,0 +1,22 @@
export type IdentityKey = {
id: string;
publicKey: ArrayBuffer;
firstUse: boolean;
nonblockingApproval: boolean;
secretKey?: string; // found in medium groups
};
export type GuardNode = {
ed25519PubKey: string;
};
export interface Snode {
ip: string;
port: number;
pubkey_x25519: string;
pubkey_ed25519: string;
}
export type SwarmNode = Snode & {
address: string;
};

@ -1,17 +1,17 @@
import tls from 'tls';
import https from 'https';
import _ from 'lodash';
import tls from 'tls';
// eslint-disable-next-line import/no-named-default
import { default as insecureNodeFetch } from 'node-fetch';
import _ from 'lodash';
import pRetry from 'p-retry';
import { sha256 } from '../../crypto';
import { Constants } from '../..';
import { SeedNodeAPI } from '.';
import { allowOnlyOneAtATime } from '../../utils/Promise';
import { APPLICATION_JSON } from '../../../types/MIME';
import { Constants } from '../..';
import { isLinux } from '../../../OS';
import { Snode } from '../../../data/data';
import { Snode } from '../../../data/types';
import { APPLICATION_JSON } from '../../../types/MIME';
import { sha256 } from '../../crypto';
import { allowOnlyOneAtATime } from '../../utils/Promise';
import { GetServicesNodesFromSeedRequest } from '../snode_api/SnodeRequestTypes';
/**

@ -2,7 +2,7 @@
/* eslint-disable no-restricted-syntax */
import { compact, sample } from 'lodash';
import pRetry from 'p-retry';
import { Snode } from '../../../data/data';
import { Snode } from '../../../data/types';
import { getSodiumRenderer } from '../../crypto';
import { StringUtils, UserUtils } from '../../utils';
import { ed25519Str, fromBase64ToArray, fromHexToArray } from '../../utils/String';

@ -1,5 +1,5 @@
import { isArray } from 'lodash';
import { Snode } from '../../../data/data';
import { Snode } from '../../../data/types';
import { SnodeResponseError } from '../../utils/errors';
import { processOnionRequestErrorAtDestination, SnodeResponse } from './onions';
import { snodeRpc } from './sessionRpc';

@ -11,7 +11,7 @@ import {
uniqBy,
} from 'lodash';
import pRetry from 'p-retry';
import { Snode } from '../../../data/data';
import { Snode } from '../../../data/types';
import { getSodiumRenderer } from '../../crypto';
import { StringUtils, UserUtils } from '../../utils';
import { fromBase64ToArray, fromHexToArray } from '../../utils/String';

@ -1,7 +1,7 @@
/* eslint-disable no-restricted-syntax */
import { isFinite, isNil, isNumber, sample } from 'lodash';
import pRetry from 'p-retry';
import { Snode } from '../../../data/data';
import { Snode } from '../../../data/types';
import { UserUtils } from '../../utils';
import { EmptySwarmError } from '../../utils/errors';
import { SeedNodeAPI } from '../seed_node_api';

@ -5,9 +5,9 @@
*/
import { isNumber } from 'lodash';
import { Snode } from '../../../data/data';
import { doSnodeBatchRequest } from './batchRequest';
import { Snode } from '../../../data/types';
import { NetworkTimeSubRequest } from './SnodeRequestTypes';
import { doSnodeBatchRequest } from './batchRequest';
function getNetworkTimeSubRequests(): Array<NetworkTimeSubRequest> {
const request: NetworkTimeSubRequest = { method: 'info', params: {} };

@ -1,10 +1,10 @@
import _, { intersectionWith, sampleSize } from 'lodash';
import { SnodePool } from '.';
import { Snode } from '../../../data/data';
import { Snode } from '../../../data/types';
import { GetServiceNodesSubRequest } from './SnodeRequestTypes';
import { doSnodeBatchRequest } from './batchRequest';
import { GetNetworkTime } from './getNetworkTime';
import { minSnodePoolCount, requiredSnodesForAgreement } from './snodePool';
import { GetServiceNodesSubRequest } from './SnodeRequestTypes';
function buildSnodeListRequests(): Array<GetServiceNodesSubRequest> {
const request: GetServiceNodesSubRequest = {

@ -1,10 +1,10 @@
import { isArray } from 'lodash';
import pRetry from 'p-retry';
import { Snode } from '../../../data/data';
import { Snode } from '../../../data/types';
import { SwarmForSubRequest } from './SnodeRequestTypes';
import { doSnodeBatchRequest } from './batchRequest';
import { GetNetworkTime } from './getNetworkTime';
import { getRandomSnode } from './snodePool';
import { SwarmForSubRequest } from './SnodeRequestTypes';
function buildSwarmForSubRequests(pubkey: string): Array<SwarmForSubRequest> {
return [{ method: 'get_swarm', params: { pubkey } }];

@ -14,7 +14,7 @@ import { OnionPaths } from '../../onions';
import { incrementBadPathCountOrDrop } from '../../onions/onionPath';
import { ed25519Str, toHex } from '../../utils/String';
import { Snode } from '../../../data/data';
import { Snode } from '../../../data/types';
import { callUtilsWorker } from '../../../webworker/workers/browser/util_worker_interface';
import { encodeV4Request } from '../../onions/onionv4';
import { SnodeResponseError } from '../../utils/errors';

@ -1,5 +1,5 @@
import { isArray, omit } from 'lodash';
import { Snode } from '../../../data/data';
import { Snode } from '../../../data/types';
import { updateIsOnline } from '../../../state/ducks/onion';
import { doSnodeBatchRequest } from './batchRequest';
import { GetNetworkTime } from './getNetworkTime';

@ -1,14 +1,14 @@
import https from 'https';
import { clone } from 'lodash';
// eslint-disable-next-line import/no-named-default
import { default as insecureNodeFetch } from 'node-fetch';
import { clone } from 'lodash';
import pRetry from 'p-retry';
import { Snode } from '../../../data/types';
import { HTTPError, NotFoundError } from '../../utils/errors';
import { Snode } from '../../../data/data';
import { ERROR_421_HANDLED_RETRY_REQUEST, Onions, snodeHttpsAgent, SnodeResponse } from './onions';
import { APPLICATION_JSON } from '../../../types/MIME';
import { ERROR_421_HANDLED_RETRY_REQUEST, Onions, snodeHttpsAgent, SnodeResponse } from './onions';
export interface LokiFetchOptions {
method: 'GET' | 'POST';

@ -1,14 +1,15 @@
import _, { shuffle } from 'lodash';
import pRetry from 'p-retry';
import { Data, Snode } from '../../../data/data';
import { Data } from '../../../data/data';
import { Snode } from '../../../data/types';
import { OnionPaths } from '../../onions';
import { Onions, SnodePool } from '.';
import { OnionPaths } from '../../onions';
import { ed25519Str } from '../../utils/String';
import { SeedNodeAPI } from '../seed_node_api';
import { requestSnodesForPubkeyFromNetwork } from './getSwarmFor';
import { ServiceNodesList } from './getServiceNodesList';
import { ed25519Str } from '../../utils/String';
import { requestSnodesForPubkeyFromNetwork } from './getSwarmFor';
/**
* If we get less than this snode in a swarm, we fetch new snodes for this pubkey

@ -1,7 +1,5 @@
import { isEmpty } from 'lodash';
import { Snode } from '../../../data/data';
import { doSnodeBatchRequest } from './batchRequest';
import { GetNetworkTime } from './getNetworkTime';
import { Snode } from '../../../data/types';
import {
DeleteByHashesFromNodeParams,
DeleteFromNodeSubRequest,
@ -9,6 +7,8 @@ import {
StoreOnNodeParams,
StoreOnNodeSubRequest,
} from './SnodeRequestTypes';
import { doSnodeBatchRequest } from './batchRequest';
import { GetNetworkTime } from './getNetworkTime';
function justStores(params: Array<StoreOnNodeParams>) {
return params.map(p => {

@ -2,7 +2,8 @@
/* eslint-disable more/no-then */
/* eslint-disable @typescript-eslint/no-misused-promises */
import { compact, concat, flatten, isEmpty, last, sample, toNumber, uniqBy } from 'lodash';
import { Data, Snode } from '../../../data/data';
import { Data } from '../../../data/data';
import { Snode } from '../../../data/types';
import { SignalService } from '../../../protobuf';
import * as Receiver from '../../../receiver/receiver';
import { PubKey } from '../../types';

@ -5,15 +5,16 @@ import pRetry from 'p-retry';
// eslint-disable-next-line import/no-named-default
import { default as insecureNodeFetch } from 'node-fetch';
import { Data, Snode } from '../../data/data';
import { OnionPaths } from '.';
import { Data } from '../../data/data';
import { Snode } from '../../data/types';
import { updateOnionPaths } from '../../state/ducks/onion';
import { APPLICATION_JSON } from '../../types/MIME';
import { ERROR_CODE_NO_CONNECT } from '../apis/snode_api/SNodeAPI';
import { Onions, snodeHttpsAgent } from '../apis/snode_api/onions';
import * as SnodePool from '../apis/snode_api/snodePool';
import { UserUtils } from '../utils';
import { Onions, snodeHttpsAgent } from '../apis/snode_api/onions';
import { allowOnlyOneAtATime } from '../utils/Promise';
import { updateOnionPaths } from '../../state/ducks/onion';
import { ERROR_CODE_NO_CONNECT } from '../apis/snode_api/SNodeAPI';
import { OnionPaths } from '.';
import { APPLICATION_JSON } from '../../types/MIME';
import { ed25519Str } from '../utils/String';
const desiredGuardCount = 3;

@ -3,7 +3,7 @@ import { toNumber } from 'lodash';
import pRetry from 'p-retry';
import { OnionPaths } from '.';
import { Snode } from '../../data/data';
import { Snode } from '../../data/types';
import { fileServerPubKey, fileServerURL } from '../apis/file_server_api/FileServerApi';
import { OpenGroupPollingUtils } from '../apis/open_group_api/opengroupV2/OpenGroupPollingUtils';
import { invalidAuthRequiresBlinding } from '../apis/open_group_api/opengroupV2/OpenGroupServerPoller';

@ -1,7 +1,8 @@
/* eslint-disable no-promise-executor-return */
/* eslint-disable no-async-promise-executor */
/* eslint-disable @typescript-eslint/no-misused-promises */
import { Snode } from '../../data/data';
import { Snode } from '../../data/types';
type SimpleFunction<T> = (arg: T) => void;
type Return<T> = Promise<T> | T;

@ -1,19 +1,19 @@
import chai from 'chai';
import Sinon, * as sinon from 'sinon';
import { describe } from 'mocha';
import chaiAsPromised from 'chai-as-promised';
import { describe } from 'mocha';
import Sinon, * as sinon from 'sinon';
import { TestUtils } from '../../../test-utils';
import { Snode } from '../../../../data/types';
import { Onions, SnodePool } from '../../../../session/apis/snode_api';
import { Snode } from '../../../../data/data';
import { TestUtils } from '../../../test-utils';
import { SeedNodeAPI } from '../../../../session/apis/seed_node_api';
import * as OnionPaths from '../../../../session/onions/onionPath';
import {
generateFakeSnodes,
generateFakeSnodeWithEdKey,
stubData,
} from '../../../test-utils/utils';
import { SeedNodeAPI } from '../../../../session/apis/seed_node_api';
chai.use(chaiAsPromised as any);
chai.should();

@ -1,24 +1,24 @@
import AbortController from 'abort-controller';
import chai from 'chai';
import Sinon, * as sinon from 'sinon';
import { describe } from 'mocha';
import chaiAsPromised from 'chai-as-promised';
import AbortController from 'abort-controller';
import { describe } from 'mocha';
import Sinon, * as sinon from 'sinon';
import { TestUtils } from '../../../test-utils';
import * as SnodeAPI from '../../../../session/apis/snode_api';
import { TestUtils } from '../../../test-utils';
import { OnionPaths } from '../../../../session/onions';
import { SNODE_POOL_ITEM_ID } from '../../../../data/settings-key';
import { Snode } from '../../../../data/types';
import { SeedNodeAPI } from '../../../../session/apis/seed_node_api';
import { ServiceNodesList } from '../../../../session/apis/snode_api/getServiceNodesList';
import {
NEXT_NODE_NOT_FOUND_PREFIX,
Onions,
OXEN_SERVER_ERROR,
} from '../../../../session/apis/snode_api/onions';
import { Snode } from '../../../../data/data';
import { OnionPaths } from '../../../../session/onions';
import { pathFailureCount } from '../../../../session/onions/onionPath';
import { SeedNodeAPI } from '../../../../session/apis/seed_node_api';
import { generateFakeSnodeWithEdKey, stubData } from '../../../test-utils/utils';
import { ServiceNodesList } from '../../../../session/apis/snode_api/getServiceNodesList';
import { SNODE_POOL_ITEM_ID } from '../../../../data/settings-key';
chai.use(chaiAsPromised as any);
chai.should();

@ -1,21 +1,21 @@
import chai from 'chai';
import Sinon from 'sinon';
import chaiAsPromised from 'chai-as-promised';
import _ from 'lodash';
import { describe } from 'mocha';
import chaiAsPromised from 'chai-as-promised';
import Sinon from 'sinon';
import { TestUtils } from '../../../test-utils';
import * as SNodeAPI from '../../../../session/apis/snode_api';
import { TestUtils } from '../../../test-utils';
import { GuardNode, Snode } from '../../../../data/types';
import { SeedNodeAPI } from '../../../../session/apis/seed_node_api';
import { ServiceNodesList } from '../../../../session/apis/snode_api/getServiceNodesList';
import * as OnionPaths from '../../../../session/onions/onionPath';
import { GuardNode, Snode } from '../../../../data/data';
import {
generateFakeSnodes,
generateFakeSnodeWithEdKey,
generateFakeSnodes,
stubData,
} from '../../../test-utils/utils';
import { SeedNodeAPI } from '../../../../session/apis/seed_node_api';
import { ServiceNodesList } from '../../../../session/apis/snode_api/getServiceNodesList';
chai.use(chaiAsPromised as any);
chai.should();

@ -1,16 +1,16 @@
import chai from 'chai';
import Sinon from 'sinon';
import chaiAsPromised from 'chai-as-promised';
import { describe } from 'mocha';
import Sinon from 'sinon';
import { TestUtils } from '../../../test-utils';
import { Onions, SnodePool } from '../../../../session/apis/snode_api';
import { TestUtils } from '../../../test-utils';
import * as OnionPaths from '../../../../session/onions/onionPath';
import { generateFakeSnodes, generateFakeSnodeWithEdKey } from '../../../test-utils/utils';
import { Snode } from '../../../../data/types';
import { SeedNodeAPI } from '../../../../session/apis/seed_node_api';
import { SnodeFromSeed } from '../../../../session/apis/seed_node_api/SeedNodeAPI';
import { Snode } from '../../../../data/data';
import * as OnionPaths from '../../../../session/onions/onionPath';
import { generateFakeSnodes, generateFakeSnodeWithEdKey } from '../../../test-utils/utils';
chai.use(chaiAsPromised as any);
chai.should();

@ -1,19 +1,19 @@
import chai from 'chai';
import Sinon, * as sinon from 'sinon';
import { describe } from 'mocha';
import chaiAsPromised from 'chai-as-promised';
import { describe } from 'mocha';
import Sinon, * as sinon from 'sinon';
import { TestUtils } from '../../../test-utils';
import { Snode } from '../../../../data/types';
import { Onions, SnodePool } from '../../../../session/apis/snode_api';
import { Snode } from '../../../../data/data';
import { TestUtils } from '../../../test-utils';
import { SeedNodeAPI } from '../../../../session/apis/seed_node_api';
import * as OnionPaths from '../../../../session/onions/onionPath';
import {
generateFakeSnodes,
generateFakeSnodeWithEdKey,
stubData,
} from '../../../test-utils/utils';
import { SeedNodeAPI } from '../../../../session/apis/seed_node_api';
chai.use(chaiAsPromised as any);
chai.should();

@ -1,6 +1,6 @@
import * as crypto from 'crypto';
import _ from 'lodash';
import { Snode } from '../../../data/data';
import { Snode } from '../../../data/types';
import { ECKeyPair } from '../../../receiver/keypairs';
import { PubKey } from '../../../session/types';

Loading…
Cancel
Save