From 003cfa1ff1a5c2a496b3346c3f283fadc5fceec6 Mon Sep 17 00:00:00 2001 From: Lucas Leblow Date: Fri, 8 Mar 2024 14:54:06 -0800 Subject: [PATCH] Remove SET_COMMUNITY_CA_DATA --- .../connections-manager.service.ts | 18 +++++------ .../backend/src/nest/socket/socket.service.ts | 4 --- .../src/rtl-tests/community.create.test.tsx | 1 - .../src/rtl-tests/community.join.test.tsx | 1 - .../communities/communities.master.saga.ts | 2 -- .../sagas/communities/communities.slice.ts | 1 - .../sendCommunityCaData.saga.ts | 30 ------------------- .../src/sagas/identity/identity.types.ts | 5 ---- .../src/sagas/network/network.slice.ts | 1 - .../startConnection/startConnection.saga.ts | 5 ---- packages/state-manager/src/types.ts | 1 - packages/types/src/socket.ts | 1 - 12 files changed, 9 insertions(+), 61 deletions(-) delete mode 100644 packages/state-manager/src/sagas/communities/sendCommunityCaData/sendCommunityCaData.saga.ts diff --git a/packages/backend/src/nest/connections-manager/connections-manager.service.ts b/packages/backend/src/nest/connections-manager/connections-manager.service.ts index d3d37954da..0bd44c4d43 100644 --- a/packages/backend/src/nest/connections-manager/connections-manager.service.ts +++ b/packages/backend/src/nest/connections-manager/connections-manager.service.ts @@ -546,7 +546,15 @@ export class ConnectionsManagerService extends EventEmitter implements OnModuleI // service for now. Both object construction and object // initialization need to happen in order based on dependencies. await this.registrationService.init(this.storageService) - this.logger('storage initialized') + + if (community.CA) { + this.registrationService.setPermsData({ + certificate: community.CA.rootCertString, + privKey: community.CA.rootKeyString, + }) + } + + this.logger('Storage initialized') this.serverIoProvider.io.emit( SocketActionTypes.CONNECTION_PROCESS_INFO, @@ -570,7 +578,6 @@ export class ConnectionsManagerService extends EventEmitter implements OnModuleI this.socketService.on(SocketActionTypes.CONNECTION, async () => { // Update Frontend with Initialized Communities if (this.communityId) { - console.log('Hunting for heisenbug: Backend initialized community and sent event to state manager') this.serverIoProvider.io.emit(SocketActionTypes.COMMUNITY_LAUNCHED, { id: this.communityId }) console.log('this.libp2pService.connectedPeers', this.libp2pService.connectedPeers) console.log('this.libp2pservice', this.libp2pService) @@ -615,13 +622,6 @@ export class ConnectionsManagerService extends EventEmitter implements OnModuleI this.logger(`socketService - ${SocketActionTypes.ADD_CSR}`) await this.storageService?.saveCSR(payload) }) - // TODO: With the Community model on the backend, there is no need to call - // SET_COMMUNITY_CA_DATA anymore. We can call setPermsData when - // creating the community. - this.socketService.on(SocketActionTypes.SET_COMMUNITY_CA_DATA, async (payload: PermsData) => { - this.logger(`socketService - ${SocketActionTypes.SET_COMMUNITY_CA_DATA}`) - this.registrationService.setPermsData(payload) - }) // Public Channels this.socketService.on( diff --git a/packages/backend/src/nest/socket/socket.service.ts b/packages/backend/src/nest/socket/socket.service.ts index a6ade59ae6..d126eb3be1 100644 --- a/packages/backend/src/nest/socket/socket.service.ts +++ b/packages/backend/src/nest/socket/socket.service.ts @@ -179,10 +179,6 @@ export class SocketService extends EventEmitter implements OnModuleInit { this.emit(SocketActionTypes.LIBP2P_PSK_STORED, payload) }) - socket.on(SocketActionTypes.SET_COMMUNITY_CA_DATA, (payload: PermsData) => { - this.emit(SocketActionTypes.SET_COMMUNITY_CA_DATA, payload) - }) - // ====== Users ====== socket.on(SocketActionTypes.SET_USER_PROFILE, (profile: UserProfile) => { diff --git a/packages/desktop/src/rtl-tests/community.create.test.tsx b/packages/desktop/src/rtl-tests/community.create.test.tsx index 7acf257b2d..7ed41f6259 100644 --- a/packages/desktop/src/rtl-tests/community.create.test.tsx +++ b/packages/desktop/src/rtl-tests/community.create.test.tsx @@ -167,7 +167,6 @@ describe('User', () => { "Modals/openModal", "Identity/registerCertificate", "Communities/createCommunity", - "Communities/sendCommunityCaData", "Files/checkForMissingFiles", "Network/addInitializedCommunity", "Communities/clearInvitationCodes", diff --git a/packages/desktop/src/rtl-tests/community.join.test.tsx b/packages/desktop/src/rtl-tests/community.join.test.tsx index 26a5c6ea57..0d6f4c1af9 100644 --- a/packages/desktop/src/rtl-tests/community.join.test.tsx +++ b/packages/desktop/src/rtl-tests/community.join.test.tsx @@ -181,7 +181,6 @@ describe('User', () => { "Modals/openModal", "Identity/registerCertificate", "Communities/launchCommunity", - "Communities/sendCommunityCaData", "Files/checkForMissingFiles", "Network/addInitializedCommunity", "Communities/clearInvitationCodes", diff --git a/packages/state-manager/src/sagas/communities/communities.master.saga.ts b/packages/state-manager/src/sagas/communities/communities.master.saga.ts index 0d57f77ffa..c5e1e1a275 100644 --- a/packages/state-manager/src/sagas/communities/communities.master.saga.ts +++ b/packages/state-manager/src/sagas/communities/communities.master.saga.ts @@ -5,7 +5,6 @@ import { connectionActions } from '../appConnection/connection.slice' import { createCommunitySaga } from './createCommunity/createCommunity.saga' import { initCommunities, launchCommunitySaga } from './launchCommunity/launchCommunity.saga' import { createNetworkSaga } from './createNetwork/createNetwork.saga' -import { sendCommunityCaDataSaga } from './sendCommunityCaData/sendCommunityCaData.saga' export function* communitiesMasterSaga(socket: Socket): Generator { yield all([ @@ -13,6 +12,5 @@ export function* communitiesMasterSaga(socket: Socket): Generator { takeEvery(connectionActions.torBootstrapped.type, initCommunities), takeEvery(communitiesActions.createCommunity.type, createCommunitySaga, socket), takeEvery(communitiesActions.launchCommunity.type, launchCommunitySaga, socket), - takeEvery(communitiesActions.sendCommunityCaData.type, sendCommunityCaDataSaga, socket), ]) } diff --git a/packages/state-manager/src/sagas/communities/communities.slice.ts b/packages/state-manager/src/sagas/communities/communities.slice.ts index 77fefa7baa..dae53ca209 100644 --- a/packages/state-manager/src/sagas/communities/communities.slice.ts +++ b/packages/state-manager/src/sagas/communities/communities.slice.ts @@ -35,7 +35,6 @@ export const communitiesSlice = createSlice({ }, }) }, - sendCommunityCaData: state => state, createNetwork: (state, _action: PayloadAction) => state, resetApp: (state, _action) => state, createCommunity: (state, _action: PayloadAction) => state, diff --git a/packages/state-manager/src/sagas/communities/sendCommunityCaData/sendCommunityCaData.saga.ts b/packages/state-manager/src/sagas/communities/sendCommunityCaData/sendCommunityCaData.saga.ts deleted file mode 100644 index c0810903f3..0000000000 --- a/packages/state-manager/src/sagas/communities/sendCommunityCaData/sendCommunityCaData.saga.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { apply, select } from 'typed-redux-saga' -import { type PayloadAction } from '@reduxjs/toolkit' - -import { applyEmitParams, type Socket } from '../../../types' -import { communitiesSelectors } from '../communities.selectors' -import { type communitiesActions } from '../communities.slice' -import { type PermsData, SocketActionTypes } from '@quiet/types' - -export function* sendCommunityCaDataSaga( - socket: Socket, - _action: PayloadAction['payload']> -): Generator { - const community = yield* select(communitiesSelectors.currentCommunity) - - if (!community) { - console.error('Cannot send community metadata, no community') - return - } - - if (!community.CA) { - console.log('Cannot send community metadata, no CA in community') - return - } - - const payload: PermsData = { - certificate: community.CA.rootCertString, - privKey: community.CA.rootKeyString, - } - yield* apply(socket, socket.emit, applyEmitParams(SocketActionTypes.SET_COMMUNITY_CA_DATA, payload)) -} diff --git a/packages/state-manager/src/sagas/identity/identity.types.ts b/packages/state-manager/src/sagas/identity/identity.types.ts index 31bd088788..9b85fd70cf 100644 --- a/packages/state-manager/src/sagas/identity/identity.types.ts +++ b/packages/state-manager/src/sagas/identity/identity.types.ts @@ -63,11 +63,6 @@ export interface RegisterUserCertificatePayload { serviceAddress: string } -export interface PermsData { - certificate: string - privKey: string -} - export interface RegisterOwnerCertificatePayload { communityId: string userCsr: UserCsr diff --git a/packages/state-manager/src/sagas/network/network.slice.ts b/packages/state-manager/src/sagas/network/network.slice.ts index 7a491e4037..ace82febd3 100644 --- a/packages/state-manager/src/sagas/network/network.slice.ts +++ b/packages/state-manager/src/sagas/network/network.slice.ts @@ -14,7 +14,6 @@ export const networkSlice = createSlice({ name: StoreKeys.Network, reducers: { addInitializedCommunity: (state, action: PayloadAction) => { - console.log('Hunting for heisenbug: adding initialized community ', action.payload) state.initializedCommunities = { ...state.initializedCommunities, [action.payload]: true, diff --git a/packages/state-manager/src/sagas/socket/startConnection/startConnection.saga.ts b/packages/state-manager/src/sagas/socket/startConnection/startConnection.saga.ts index 8695cc9aa4..9c908f13ee 100644 --- a/packages/state-manager/src/sagas/socket/startConnection/startConnection.saga.ts +++ b/packages/state-manager/src/sagas/socket/startConnection/startConnection.saga.ts @@ -84,7 +84,6 @@ export function subscribe(socket: Socket) { | ReturnType | ReturnType | ReturnType - | ReturnType | ReturnType | ReturnType >(emit => { @@ -139,10 +138,6 @@ export function subscribe(socket: Socket) { // Community socket.on(SocketActionTypes.COMMUNITY_LAUNCHED, (payload: ResponseLaunchCommunityPayload) => { - console.log('Hunting for heisenbug: Community event received in state-manager') - // TODO: We can send this once when creating the community and - // store it in the backend. - emit(communitiesActions.sendCommunityCaData()) emit(filesActions.checkForMissingFiles(payload.id)) emit(networkActions.addInitializedCommunity(payload.id)) emit(communitiesActions.clearInvitationCodes()) diff --git a/packages/state-manager/src/types.ts b/packages/state-manager/src/types.ts index e0989863ae..44260530d5 100644 --- a/packages/state-manager/src/types.ts +++ b/packages/state-manager/src/types.ts @@ -50,7 +50,6 @@ export interface EmitEvents { [SocketActionTypes.LEAVE_COMMUNITY]: () => void [SocketActionTypes.CREATE_NETWORK]: EmitEvent void> [SocketActionTypes.ADD_CSR]: EmitEvent - [SocketActionTypes.SET_COMMUNITY_CA_DATA]: EmitEvent [SocketActionTypes.SET_USER_PROFILE]: EmitEvent [SocketActionTypes.LOAD_MIGRATION_DATA]: EmitEvent> } diff --git a/packages/types/src/socket.ts b/packages/types/src/socket.ts index 00db728781..573fb1a313 100644 --- a/packages/types/src/socket.ts +++ b/packages/types/src/socket.ts @@ -21,7 +21,6 @@ export enum SocketActionTypes { CREATE_COMMUNITY = 'createCommunity', LAUNCH_COMMUNITY = 'launchCommunity', LEAVE_COMMUNITY = 'leaveCommunity', - SET_COMMUNITY_CA_DATA = 'setCommunityCaData', // ====== Channels ======