chore: lint
This commit is contained in:
parent
9749529e25
commit
65df3157bd
|
@ -10,3 +10,4 @@ indent_style = space
|
|||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
indent_size = 2
|
||||
quote_type = double
|
16
package.json
16
package.json
|
@ -46,25 +46,20 @@
|
|||
},
|
||||
"scripts": {
|
||||
"start-prod": "cross-env NODE_ENV=production NODE_APP_INSTANCE=devprod$MULTI electron .",
|
||||
|
||||
"build-everything": "yarn clean && yarn protobuf && grunt && yarn sass && tsc && yarn parcel-util-worker",
|
||||
"build-everything:watch": "yarn clean && yarn protobuf && grunt && yarn sass && yarn parcel-util-worker && tsc -w",
|
||||
"watch": "yarn clean && yarn protobuf && grunt && concurrently 'yarn build-everything:watch' 'yarn sass:watch'",
|
||||
|
||||
"protobuf": "pbjs --target static-module --wrap commonjs --out ts/protobuf/compiled.js protos/*.proto && pbts --out ts/protobuf/compiled.d.ts ts/protobuf/compiled.js --force-long",
|
||||
"sass": "rimraf 'stylesheets/dist/' && parcel build --target sass --no-autoinstall --no-cache",
|
||||
"sass:watch": "rimraf 'stylesheets/dist/' && parcel watch --target sass --no-autoinstall --no-cache",
|
||||
"parcel-util-worker": "rimraf ts/webworker/workers/util.worker.js && parcel build --target util-worker --no-autoinstall --no-cache",
|
||||
"clean": "rimraf 'ts/**/*.js' 'ts/*.js' 'ts/*.js.map' 'ts/**/*.js.map' && rimraf tsconfig.tsbuildinfo;",
|
||||
|
||||
"lint-full": "yarn format-full && eslint . && tslint --format stylish --project .",
|
||||
"format-full": "prettier --list-different --write \"*.{css,js,json,scss,ts,tsx}\" \"./**/*.{css,js,json,scss,ts,tsx}\"",
|
||||
|
||||
"integration-test": "npx playwright test",
|
||||
"integration-test-snapshots": "npx playwright test -g 'profile picture' --update-snapshots",
|
||||
"test": "mocha -r jsdom-global/register --recursive --exit --timeout 10000 \"./ts/test/**/*_test.js\"",
|
||||
"coverage": "nyc --reporter=html mocha -r jsdom-global/register --recursive --exit --timeout 10000 \"./ts/test/**/*_test.js\"",
|
||||
|
||||
"build-release": "run-script-os",
|
||||
"build-release-non-linux": "yarn build-everything && cross-env SIGNAL_ENV=production electron-builder --config.extraMetadata.environment=production --publish=never --config.directories.output=release",
|
||||
"build-release:win32": "yarn build-release-non-linux",
|
||||
|
@ -259,7 +254,10 @@
|
|||
"mac": {
|
||||
"category": "public.app-category.social-networking",
|
||||
"icon": "build/icon-mac.icns",
|
||||
"target": ["dmg", "zip"],
|
||||
"target": [
|
||||
"dmg",
|
||||
"zip"
|
||||
],
|
||||
"bundleVersion": "1",
|
||||
"hardenedRuntime": true,
|
||||
"gatekeeperAssess": false,
|
||||
|
@ -293,7 +291,11 @@
|
|||
"StartupWMClass": "Session"
|
||||
},
|
||||
"asarUnpack": "node_modules/spellchecker/vendor/hunspell_dictionaries",
|
||||
"target": ["deb", "rpm", "freebsd"],
|
||||
"target": [
|
||||
"deb",
|
||||
"rpm",
|
||||
"freebsd"
|
||||
],
|
||||
"icon": "build/icon-linux.icns"
|
||||
},
|
||||
"asarUnpack": [
|
||||
|
|
|
@ -78,8 +78,7 @@ const allowedKeysFormatRowOfConversation = [
|
|||
'conversationIdOrigin',
|
||||
'identityPrivateKey',
|
||||
];
|
||||
|
||||
//tslint-disable cyclomatic-complexity
|
||||
// tslint:disable: cyclomatic-complexity
|
||||
export function formatRowOfConversation(row?: Record<string, any>): ConversationAttributes | null {
|
||||
if (!row) {
|
||||
return null;
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
export type SwarmForSubRequest = { method: 'get_swarm'; params: { pubkey: string } };
|
||||
|
||||
type RetrieveMaxCountSize = { max_count?: number; max_size?: number };
|
||||
|
@ -124,11 +123,10 @@ export type SnodeApiSubRequests =
|
|||
| StoreOnNodeSubRequest
|
||||
| NetworkTimeSubRequest;
|
||||
|
||||
//tslint-disable: array-type
|
||||
// tslint:disable: array-type
|
||||
export type NonEmptyArray<T> = [T, ...T[]];
|
||||
|
||||
export type NotEmptyArrayOfBatchResults = NonEmptyArray<{
|
||||
code: number;
|
||||
body: Record<string, any>;
|
||||
}>;
|
||||
|
||||
|
|
|
@ -12,7 +12,6 @@ import { NotEmptyArrayOfBatchResults, SnodeApiSubRequests } from './SnodeRequest
|
|||
* @param targetNode the node to do the request to, once all the onion routing is done
|
||||
* @param timeout the timeout at which we should cancel this request.
|
||||
* @param associatedWith used mostly for handling 421 errors, we need the pubkey the change is associated to
|
||||
* @returns
|
||||
*/
|
||||
export async function doSnodeBatchRequest(
|
||||
subRequests: Array<SnodeApiSubRequests>,
|
||||
|
|
|
@ -244,7 +244,6 @@ export class SwarmPolling {
|
|||
return group;
|
||||
});
|
||||
} else if (isGroup) {
|
||||
debugger;
|
||||
window?.log?.info(
|
||||
`Polled for group(${ed25519Str(
|
||||
pubkey.key
|
||||
|
@ -291,7 +290,6 @@ export class SwarmPolling {
|
|||
namespaces,
|
||||
UserUtils.getOurPubKeyStrFromCache()
|
||||
);
|
||||
debugger;
|
||||
if (!results.length) {
|
||||
return [];
|
||||
}
|
||||
|
|
|
@ -79,10 +79,10 @@ export async function initiateClosedGroupUpdate(
|
|||
groupName: string,
|
||||
members: Array<string>
|
||||
) {
|
||||
const isV3 = PubKey.isClosedGroupV3(groupId);
|
||||
const isGroupV3 = PubKey.isClosedGroupV3(groupId);
|
||||
const convo = await getConversationController().getOrCreateAndWait(
|
||||
groupId,
|
||||
isV3 ? ConversationTypeEnum.GROUPV3 : ConversationTypeEnum.GROUP
|
||||
isGroupV3 ? ConversationTypeEnum.GROUPV3 : ConversationTypeEnum.GROUP
|
||||
);
|
||||
|
||||
if (!convo.isMediumGroup()) {
|
||||
|
|
|
@ -214,7 +214,6 @@ export class BEncode {
|
|||
|
||||
if (isArray(item)) {
|
||||
let content = new Uint8Array();
|
||||
//tslint disable prefer-for-of
|
||||
for (let index = 0; index < item.length; index++) {
|
||||
const encodedItem = this.encodeItem(item[index]);
|
||||
const encodedItemLength = encodedItem.length;
|
||||
|
|
|
@ -1,15 +1,20 @@
|
|||
import { expect } from 'chai';
|
||||
|
||||
import * as SessionUtilWrapper from 'session_util_wrapper';
|
||||
import { stringToUint8Array } from '../../../../session/utils/String';
|
||||
import { from_hex, to_hex } from 'libsodium-wrappers-sumo';
|
||||
import { concatUInt8Array } from '../../../../session/crypto';
|
||||
import * as SessionUtilWrapper from 'session_util_wrapper';
|
||||
|
||||
// tslint:disable: chai-vague-errors no-unused-expression no-http-string no-octal-literal whitespace
|
||||
|
||||
describe('libsession_wrapper', () => {
|
||||
it.skip('[config][user_profile][c]', () => {
|
||||
it('[config][user_profile][c]', () => {
|
||||
// Note: To run this test, you need to compile the libsession wrapper for node (and not for electron).
|
||||
// To do this, you can cd to the node_module/libsession_wrapper folder and do
|
||||
// yarn configure && yarn build
|
||||
// once that is done, you can rename this file and remove the _skip suffix so that test is run.
|
||||
|
||||
// We have to disable it by filename as nodejs tries to load the module during the import step above, and fails as it is not compiled for nodejs but for electron.
|
||||
|
||||
const edSecretKey = from_hex(
|
||||
'0123456789abcdef0123456789abcdef000000000000000000000000000000004cb76fdc6d32278e3f83dbf608360ecc6b65727934b85d2fb86862ff98c46ab7'
|
||||
|
@ -67,54 +72,39 @@ describe('libsession_wrapper', () => {
|
|||
pushResult = conf.push();
|
||||
expect(pushResult.seqno).to.be.eq(1);
|
||||
|
||||
const exp_hash0 = from_hex('ea173b57beca8af18c3519a7bbf69c3e7a05d1c049fa9558341d8ebb48b0c965');
|
||||
const expHash0 = from_hex('ea173b57beca8af18c3519a7bbf69c3e7a05d1c049fa9558341d8ebb48b0c965');
|
||||
|
||||
// prettier-ignore
|
||||
const exp_push1_start = "d" +
|
||||
"1:#" +"i1e"+
|
||||
"1:&" +"d"+
|
||||
"1:n" +"6:Kallie"+
|
||||
"1:p" +"34:http://example.org/omg-pic-123.bmp"+
|
||||
"1:q" +"6:secret"+
|
||||
"e"+
|
||||
"1:<"+ "l"+
|
||||
"l" +"i0e" +"32:" ;
|
||||
// prettier-ignore
|
||||
const exp_push1_end = "de"+ "e"+
|
||||
"e"+
|
||||
"1:="+ "d"+
|
||||
"1:n" +"0:"+
|
||||
"1:p" +"0:"+
|
||||
"1:q" +"0:"+
|
||||
"e"+
|
||||
"e";
|
||||
const expPush1Start =
|
||||
'd1:#i1e1:&d1:n6:Kallie1:p34:http://example.org/omg-pic-123.bmp1:q6:secrete1:<lli0e32:';
|
||||
const expPush1End = 'deee1:=d1:n0:1:p0:1:q0:ee';
|
||||
|
||||
// The data to be actually pushed, expanded like this to make it somewhat human-readable:
|
||||
const exp_push1_decrypted = concatUInt8Array(
|
||||
stringToUint8Array(exp_push1_start),
|
||||
exp_hash0,
|
||||
stringToUint8Array(exp_push1_end)
|
||||
const expPush1Decrypted = concatUInt8Array(
|
||||
stringToUint8Array(expPush1Start),
|
||||
expHash0,
|
||||
stringToUint8Array(expPush1End)
|
||||
);
|
||||
const exp_push1_encrypted = from_hex(
|
||||
const expPush1Encrypted = from_hex(
|
||||
'a2952190dcb9797bc48e48f6dc7b3254d004bde9091cfc9ec3433cbc5939a3726deb04f58a546d7d79e6f80ea185d43bf93278398556304998ae882304075c77f15c67f9914c4d10005a661f29ff7a79e0a9de7f21725ba3b5a6c19eaa3797671b8fa4008d62e9af2744629cbb46664c4d8048e2867f66ed9254120371bdb24e95b2d92341fa3b1f695046113a768ceb7522269f937ead5591bfa8a5eeee3010474002f2db9de043f0f0d1cfb1066a03e7b5d6cfb70a8f84a20cd2df5a510cd3d175708015a52dd4a105886d916db0005dbea5706e5a5dc37ffd0a0ca2824b524da2e2ad181a48bb38e21ed9abe136014a4ee1e472cb2f53102db2a46afa9d68'
|
||||
);
|
||||
|
||||
expect(to_hex(pushResult.data)).to.be.deep.eq(to_hex(exp_push1_encrypted));
|
||||
expect(to_hex(pushResult.data)).to.be.deep.eq(to_hex(expPush1Encrypted));
|
||||
|
||||
// We haven't dumped, so still need to dump:
|
||||
expect(conf.needsDump()).to.be.true;
|
||||
// We did call push, but we haven't confirmed it as stored yet, so this will still return true:
|
||||
expect(conf.needsPush()).to.be.true;
|
||||
|
||||
let dumped = conf.dump();
|
||||
const dumped = conf.dump();
|
||||
// (in a real client we'd now store this to disk)
|
||||
expect(conf.needsDump()).to.be.false;
|
||||
|
||||
// prettier-ignore
|
||||
const expected_dump = concatUInt8Array(stringToUint8Array("d" +
|
||||
"1:!" +"i2e"+
|
||||
"1:$" + `${exp_push1_decrypted.length}` + ':'), exp_push1_decrypted, stringToUint8Array("e"));
|
||||
expect(to_hex(dumped)).to.be.deep.eq(to_hex(expected_dump));
|
||||
const expectedDump = concatUInt8Array(
|
||||
stringToUint8Array('d' + '1:!' + 'i2e' + '1:$' + `${expPush1Decrypted.length}` + ':'),
|
||||
expPush1Decrypted,
|
||||
stringToUint8Array('e')
|
||||
);
|
||||
expect(to_hex(dumped)).to.be.deep.eq(to_hex(expectedDump));
|
||||
|
||||
// So now imagine we got back confirmation from the swarm that the push has been stored:
|
||||
conf.confirmPushed(pushResult.seqno);
|
||||
|
@ -134,7 +124,7 @@ describe('libsession_wrapper', () => {
|
|||
expect(conf2.needsDump()).to.be.false;
|
||||
|
||||
// Now imagine we just pulled down the encrypted string from the swarm; we merge it into conf2:
|
||||
const accepted = conf2.merge([exp_push1_encrypted]);
|
||||
const accepted = conf2.merge([expPush1Encrypted]);
|
||||
expect(accepted).to.be.eq(1);
|
||||
|
||||
// Our state has changed, so we need to dump:
|
|
@ -580,7 +580,7 @@ describe('knownBlindedKeys', () => {
|
|||
|
||||
expect(real).to.eq(undefined);
|
||||
});
|
||||
it('does iterate over all the conversations but is not private so must fail: groupv3', async () => {
|
||||
it('does iterate over all the conversations but is not private so must fail: groupv3', () => {
|
||||
// we actually cannot test this one as we would need to create a conversation with groupv3 as type but 05 as prefix, and the conversation controller denies it, as expected
|
||||
});
|
||||
});
|
||||
|
|
|
@ -26,6 +26,9 @@
|
|||
"object-literal-sort-keys": false,
|
||||
"no-async-without-await": true,
|
||||
"no-empty-interface": false,
|
||||
"prefer-for-of": false,
|
||||
"chai-vague-errors": false,
|
||||
"no-useless-files": false,
|
||||
"ordered-imports": [
|
||||
true,
|
||||
{
|
||||
|
|
|
@ -8205,7 +8205,7 @@ serialize-javascript@6.0.0:
|
|||
|
||||
"session_util_wrapper@https://github.com/oxen-io/libsession-util-nodejs":
|
||||
version "0.1.0"
|
||||
resolved "https://github.com/oxen-io/libsession-util-nodejs#08bebd19042dee4d53f617bf93d51ab8fe9d8282"
|
||||
resolved "https://github.com/oxen-io/libsession-util-nodejs#d1519f038c738cb446b23714913db5fd33ef1d9c"
|
||||
dependencies:
|
||||
bindings "^1.5.0"
|
||||
nan "^2.17.0"
|
||||
|
|
Loading…
Reference in New Issue