From d5fecbde9a0149f31d734f84163b430cb02728ef Mon Sep 17 00:00:00 2001 From: Isla Koenigsknecht Date: Wed, 15 May 2024 15:52:12 -0400 Subject: [PATCH] Replace all usages of console and the old logger, make mobile work well with luxon --- packages/backend/package-lock.json | 26 +- packages/backend/package.json | 4 +- .../connections-manager.service.tor.spec.ts | 2 +- .../ipfs-file-manager/big-files.long.spec.ts | 2 +- .../src/nest/libp2p/process-in-chunks.spec.ts | 2 +- .../src/nest/storage/storage.service.spec.ts | 2 +- .../websocketOverTor.tor.spec.ts | 2 +- packages/desktop/package-lock.json | 32 +- packages/desktop/package.json | 6 +- .../ChangeUsername.component.tsx | 6 +- .../CreateChannel/CreateChannel.stories.tsx | 5 +- .../CreateChannel/CreateChannel.test.tsx | 6 +- .../Channel/CreateChannel/CreateChannel.tsx | 5 +- .../DeleteChannel/DeleteChannel.stories.tsx | 6 +- .../Channel/DropZone/DropZoneComponent.tsx | 7 +- .../FileComponent/FileComponent.stories.tsx | 11 +- .../ContextMenu/ContextMenu.stories.tsx | 7 +- .../UserProfileContextMenu.container.tsx | 11 +- .../CreateCommunity.stories.tsx | 8 +- .../JoinCommunity/JoinCommunity.stories.tsx | 8 +- .../PerformCommunityActionComponent.tsx | 5 +- .../CreateUsername/CreateUsername.stories.tsx | 6 +- .../CreateUsernameComponent.tsx | 6 +- .../LoadingPanel/LoadingPanel.stories.tsx | 5 +- .../MathMessage/MathMessageComponent.tsx | 7 +- .../components/MathMessage/customMathJax.ts | 5 +- .../ui/TextWithLink/TextWithLink.stories.tsx | 6 +- .../ui/TextWithLink/TextWithLink.test.tsx | 6 +- .../WarningModal/WarningModal.stories.tsx | 6 +- .../widgets/channels/BasicMessage.test.tsx | 8 +- .../ChannelInput/ChannelInput.stories.tsx | 10 +- .../widgets/channels/ChannelMessages.test.tsx | 8 +- .../sentryWarning/SentryWarning.stories.tsx | 6 +- .../update/UpdateModalComponent.stories.tsx | 8 +- .../sagas/invitation/customProtocol.saga.ts | 2 +- packages/desktop/src/renderer/store/create.ts | 6 +- .../src/rtl-tests/channel.add.test.tsx | 10 +- packages/desktop/src/rtl-tests/logger.ts | 3 + .../src/utils/functions/exportMessages.ts | 6 +- packages/integration-tests/package-lock.json | 27 +- packages/integration-tests/package.json | 3 +- packages/mobile/codegen/request.ts | 6 +- .../ios/Quiet.xcodeproj/project.pbxproj | 17 + packages/mobile/ios/Quiet/Info.plist | 16 +- .../mobile/ios/Quiet/PrivacyInfo.xcprivacy | 37 + packages/mobile/metro.config.js | 2 +- packages/mobile/package-lock.json | 4908 ++++++++++------- packages/mobile/package.json | 15 +- packages/mobile/src/App.tsx | 6 +- .../src/components/Appbar/Appbar.stories.tsx | 6 +- .../ChannelList/ChannelList.stories.tsx | 12 +- .../ChannelTile/ChannelTile.stories.tsx | 8 +- .../src/components/Chat/Chat.component.tsx | 5 +- .../src/components/Chat/Chat.stories.tsx | 11 +- .../ConnectionProcess.stories.tsx | 5 +- .../ContextMenu/ContextMenu.component.tsx | 5 +- .../ContextMenu/ContextMenu.stories.tsx | 18 +- .../ContextMenu/ContextMenu.types.ts | 1 + .../menus/InvitationContextMenu.container.tsx | 6 +- .../DeleteChannel/DeleteChannel.stories.tsx | 8 +- .../UploadingPreview.stories.tsx | 6 +- .../UploadingPreview.test.tsx | 5 +- .../ImagePreview/ImagePreview.component.tsx | 6 +- .../JoinCommunity/JoinCommunity.component.tsx | 6 +- .../LeaveCommunity/LeaveCommunity.stories.tsx | 8 +- .../components/Message/Message.stories.tsx | 6 +- .../TextWithLink/TextWithLink.stories.tsx | 6 +- .../TextWithLink/TextWithLink.test.tsx | 5 +- .../UploadedFile/UploadedFile.component.tsx | 9 +- .../src/screens/QRCode/QRCode.screen.tsx | 6 +- .../src/screens/Splash/Splash.screen.tsx | 7 +- .../src/store/init/deepLink/deepLink.saga.ts | 13 +- .../startConnection/startConnection.saga.ts | 17 +- .../events/nativeServicesCallbacks.ts | 9 +- .../flushPersistor/flushPersistor.saga.ts | 5 +- .../leaveCommunity/leaveCommunity.saga.ts | 21 +- .../nativeServices.master.saga.ts | 9 +- .../showNotification/showNotification.saga.ts | 7 +- .../redirection/redirection.saga.ts | 13 +- packages/mobile/src/store/root.saga.ts | 17 +- packages/mobile/src/store/store.ts | 6 +- .../mobile/src/tests/joining.process.test.tsx | 5 +- .../renderComponent/renderComponent.tsx | 5 +- .../renderComponent/renderComponent.types.ts | 3 + .../storybookLog/storybookLog.function.ts | 8 +- .../storybookLog/storybookLog.test.ts | 17 +- packages/mobile/src/utils/logger.ts | 3 + .../state-manager/src/utils/tests/helpers.ts | 2 +- 88 files changed, 3371 insertions(+), 2258 deletions(-) create mode 100644 packages/desktop/src/rtl-tests/logger.ts create mode 100644 packages/mobile/ios/Quiet/PrivacyInfo.xcprivacy create mode 100644 packages/mobile/src/utils/functions/renderComponent/renderComponent.types.ts create mode 100644 packages/mobile/src/utils/logger.ts diff --git a/packages/backend/package-lock.json b/packages/backend/package-lock.json index 094013c7c4..d9c6a3709e 100644 --- a/packages/backend/package-lock.json +++ b/packages/backend/package-lock.json @@ -39,7 +39,7 @@ "joi": "^17.8.1", "level": "8.0.0", "libp2p": "0.42.2", - "luxon": "^1.11.4", + "luxon": "^3.4.4", "multiaddr": "^10.0.1", "node-fetch": "^3.3.0", "orbit-db": "0.29.0", @@ -68,7 +68,7 @@ "@types/crypto-js": "^4.0.2", "@types/express": "^4.17.9", "@types/jest": "28.1.8", - "@types/luxon": "^3.3.0", + "@types/luxon": "^3.4.2", "@types/mock-fs": "^4.13.1", "@types/node": "18.11.9", "@types/node-fetch": "^2.5.11", @@ -7368,9 +7368,10 @@ "license": "MIT" }, "node_modules/@types/luxon": { - "version": "3.3.0", - "dev": true, - "license": "MIT" + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz", + "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==", + "dev": true }, "node_modules/@types/mime": { "version": "2.0.3", @@ -18382,10 +18383,11 @@ } }, "node_modules/luxon": { - "version": "1.28.0", - "license": "MIT", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==", "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/macos-release": { @@ -28689,7 +28691,9 @@ "version": "4.0.1" }, "@types/luxon": { - "version": "3.3.0", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz", + "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==", "dev": true }, "@types/mime": { @@ -35776,7 +35780,9 @@ } }, "luxon": { - "version": "1.28.0" + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==" }, "macos-release": { "version": "2.5.1", diff --git a/packages/backend/package.json b/packages/backend/package.json index 531ec3d3c3..9ebd8b037e 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -61,7 +61,7 @@ "@types/crypto-js": "^4.0.2", "@types/express": "^4.17.9", "@types/jest": "28.1.8", - "@types/luxon": "^3.3.0", + "@types/luxon": "^3.4.2", "@types/mock-fs": "^4.13.1", "@types/node": "18.11.9", "@types/node-fetch": "^2.5.11", @@ -122,7 +122,7 @@ "joi": "^17.8.1", "level": "8.0.0", "libp2p": "0.42.2", - "luxon": "^1.11.4", + "luxon": "^3.4.4", "multiaddr": "^10.0.1", "orbit-db": "0.29.0", "orbit-db-access-controllers": "^0.4.0", diff --git a/packages/backend/src/nest/connections-manager/connections-manager.service.tor.spec.ts b/packages/backend/src/nest/connections-manager/connections-manager.service.tor.spec.ts index 1ff47d2186..0dcc50a440 100644 --- a/packages/backend/src/nest/connections-manager/connections-manager.service.tor.spec.ts +++ b/packages/backend/src/nest/connections-manager/connections-manager.service.tor.spec.ts @@ -33,7 +33,7 @@ import { createLibp2pAddress } from '@quiet/common' import { lib } from 'crypto-js' import { createLogger } from '../common/logger' -const logger = createLogger('test:connectionsManager') +const logger = createLogger('connectionsManager:test') jest.setTimeout(100_000) diff --git a/packages/backend/src/nest/ipfs-file-manager/big-files.long.spec.ts b/packages/backend/src/nest/ipfs-file-manager/big-files.long.spec.ts index f2114fbed8..1e6da795af 100644 --- a/packages/backend/src/nest/ipfs-file-manager/big-files.long.spec.ts +++ b/packages/backend/src/nest/ipfs-file-manager/big-files.long.spec.ts @@ -21,7 +21,7 @@ import { sleep } from '../common/sleep' import fs from 'fs' import { createLogger } from '../common/logger' -const logger = createLogger('test:bigFiles') +const logger = createLogger('bigFiles:test') jest.setTimeout(200_000) describe('IpfsFileManagerService', () => { diff --git a/packages/backend/src/nest/libp2p/process-in-chunks.spec.ts b/packages/backend/src/nest/libp2p/process-in-chunks.spec.ts index 724541340b..db8059530d 100644 --- a/packages/backend/src/nest/libp2p/process-in-chunks.spec.ts +++ b/packages/backend/src/nest/libp2p/process-in-chunks.spec.ts @@ -5,7 +5,7 @@ import { TestModule } from '../common/test.module' import { Test, TestingModule } from '@nestjs/testing' import { createLogger } from '../common/logger' -const logger = createLogger('test:processInChunksService') +const logger = createLogger('processInChunksService:test') describe('ProcessInChunks', () => { let module: TestingModule diff --git a/packages/backend/src/nest/storage/storage.service.spec.ts b/packages/backend/src/nest/storage/storage.service.spec.ts index 9a57a462ab..9324a7390d 100644 --- a/packages/backend/src/nest/storage/storage.service.spec.ts +++ b/packages/backend/src/nest/storage/storage.service.spec.ts @@ -46,7 +46,7 @@ import { OrbitDb } from './orbitDb/orbitDb.service' import { UserProfileStore } from './userProfile/userProfile.store' import { createLogger } from '../common/logger' -const logger = createLogger('test:storageService') +const logger = createLogger('storageService:test') const filename = fileURLToPath(import.meta.url) const dirname = path.dirname(filename) diff --git a/packages/backend/src/nest/websocketOverTor/websocketOverTor.tor.spec.ts b/packages/backend/src/nest/websocketOverTor/websocketOverTor.tor.spec.ts index 1d1b6f626d..ba11474081 100644 --- a/packages/backend/src/nest/websocketOverTor/websocketOverTor.tor.spec.ts +++ b/packages/backend/src/nest/websocketOverTor/websocketOverTor.tor.spec.ts @@ -19,7 +19,7 @@ import { TorControlAuthType } from '../tor/tor.types' import { createLibp2pAddress } from '@quiet/common' import { createLogger } from '../common/logger' -const logger = createLogger('test:websocketOverTor') +const logger = createLogger('websocketOverTor:test') jest.setTimeout(120000) diff --git a/packages/desktop/package-lock.json b/packages/desktop/package-lock.json index c7404ce111..e2de8b796d 100644 --- a/packages/desktop/package-lock.json +++ b/packages/desktop/package-lock.json @@ -18,6 +18,7 @@ "electron-updater": "^5.0.1", "get-port": "^5.1.1", "keymirror": "0.1.1", + "luxon": "^3.4.4", "pkijs": "^3.0.8", "react-markdown": "^6.0.3", "react-qr-code": "^2.0.11", @@ -58,7 +59,7 @@ "@types/jest": "^26.0.23", "@types/keymirror": "^0.1.1", "@types/lodash": "^4.14.169", - "@types/luxon": "^1.25.0", + "@types/luxon": "^3.4.2", "@types/node": "16.11.7", "@types/ps-node": "^0.1.0", "@types/ramda": "^0.27.31", @@ -103,7 +104,6 @@ "js-yaml": "4.1.0", "lint-staged": "^15.2.2", "local-cypress": "1.2.6", - "luxon": "^1.11.4", "mathjax-full": "^3.2.2", "node-polyfill-webpack-plugin": "^2.0.1", "ramda": "^0.26.1", @@ -17131,9 +17131,9 @@ "dev": true }, "node_modules/@types/luxon": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-1.25.0.tgz", - "integrity": "sha512-iIJp2CP6C32gVqI08HIYnzqj55tlLnodIBMCcMf28q9ckqMfMzocCmIzd9JWI/ALLPMUiTkCu1JGv3FFtu6t3g==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz", + "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==", "dev": true }, "node_modules/@types/mdast": { @@ -35911,12 +35911,11 @@ } }, "node_modules/luxon": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.11.4.tgz", - "integrity": "sha512-zTQ1DCShOGHIdNpa56yjDpUCowKDsBqeFVuEG2XBcrAM2udxN0g3N5RTZzbw94OkDiBgECsuDgLNnQTo73yghw==", - "dev": true, + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==", "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/lz-string": { @@ -59477,9 +59476,9 @@ "dev": true }, "@types/luxon": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-1.25.0.tgz", - "integrity": "sha512-iIJp2CP6C32gVqI08HIYnzqj55tlLnodIBMCcMf28q9ckqMfMzocCmIzd9JWI/ALLPMUiTkCu1JGv3FFtu6t3g==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz", + "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==", "dev": true }, "@types/mdast": { @@ -74062,10 +74061,9 @@ } }, "luxon": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.11.4.tgz", - "integrity": "sha512-zTQ1DCShOGHIdNpa56yjDpUCowKDsBqeFVuEG2XBcrAM2udxN0g3N5RTZzbw94OkDiBgECsuDgLNnQTo73yghw==", - "dev": true + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==" }, "lz-string": { "version": "1.4.4", diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 7b648586a6..7289ae0dfd 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -116,7 +116,7 @@ "build:renderer:prod": "webpack --config webpack/webpack.config.renderer.prod.js", "postBuild": "node scripts/postBuild.js", "prestart": "npm run build:main", - "start": "cross-env DEBUG='backend*,quiet*,state-manager*,desktop*,utils*,libp2p:websockets:listener:backend,libp2p:connection-manager:auto-dialler' npm run start:renderer", + "start": "cross-env DEBUG='backend*,quiet*,state-manager*,desktop*,utils*,identity*,common*,libp2p:websockets:listener:backend,libp2p:connection-manager:auto-dialler' npm run start:renderer", "start:main": "cross-env NODE_ENV=development electron .", "start:renderer": "cross-env NODE_ENV=development webpack-dev-server --config webpack/webpack.config.renderer.dev.js", "storybook": "export NODE_OPTIONS=--openssl-legacy-provider && start-storybook -p 6006", @@ -141,6 +141,7 @@ "electron-updater": "^5.0.1", "get-port": "^5.1.1", "keymirror": "0.1.1", + "luxon": "^3.4.4", "pkijs": "^3.0.8", "react-markdown": "^6.0.3", "react-qr-code": "^2.0.11", @@ -184,7 +185,7 @@ "@types/jest": "^26.0.23", "@types/keymirror": "^0.1.1", "@types/lodash": "^4.14.169", - "@types/luxon": "^1.25.0", + "@types/luxon": "^3.4.2", "@types/node": "16.11.7", "@types/ps-node": "^0.1.0", "@types/ramda": "^0.27.31", @@ -230,7 +231,6 @@ "js-yaml": "4.1.0", "lint-staged": "^15.2.2", "local-cypress": "1.2.6", - "luxon": "^1.11.4", "mathjax-full": "^3.2.2", "node-polyfill-webpack-plugin": "^2.0.1", "ramda": "^0.26.1", diff --git a/packages/desktop/src/renderer/components/ChangeUsername/ChangeUsername.component.tsx b/packages/desktop/src/renderer/components/ChangeUsername/ChangeUsername.component.tsx index ff8cd8a01d..bf4e998f04 100644 --- a/packages/desktop/src/renderer/components/ChangeUsername/ChangeUsername.component.tsx +++ b/packages/desktop/src/renderer/components/ChangeUsername/ChangeUsername.component.tsx @@ -17,6 +17,10 @@ import { userNameField } from '../../forms/fields/createUserFields' import { parseName } from '@quiet/common' +import { createLogger } from '../../logger' + +const logger = createLogger('changeUsername:component') + const PREFIX = 'ChangeUsername-' const classes = { @@ -174,7 +178,7 @@ export const ChangeUsername: React.FC = ({ const onSubmit = useCallback( (values: ChangeUserNameValues) => { if (errors.userName) { - console.error('Cannot submit form with errors') + logger.error('Cannot submit form with errors') return } diff --git a/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.stories.tsx b/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.stories.tsx index 622150610e..d186cd69c3 100644 --- a/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.stories.tsx +++ b/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.stories.tsx @@ -3,6 +3,9 @@ import { ComponentStory, ComponentMeta } from '@storybook/react' import { withTheme } from '../../../storybook/decorators' import CreateChannelComponent, { CreateChannelProps } from './CreateChannelComponent' +import { createLogger } from '../../../logger' + +const logger = createLogger('createChannel:stories') const Template: ComponentStory = args => { return @@ -13,7 +16,7 @@ export const Component = Template.bind({}) const args: CreateChannelProps = { open: true, createChannel: function (name: string): void { - console.log('creating channel: ', name) + logger.info('creating channel: ', name) }, handleClose: function (): void {}, clearErrorsDispatch: function (): void {}, diff --git a/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.test.tsx b/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.test.tsx index 59a36aa431..02f457fb6d 100644 --- a/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.test.tsx +++ b/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.test.tsx @@ -17,6 +17,10 @@ import { modalsActions } from '../../../sagas/modals/modals.slice' import { getFactory, identity, publicChannels } from '@quiet/state-manager' +import { createLogger } from '../../../logger' + +const logger = createLogger('createChannel:test') + describe('Add new channel', () => { let socket: MockedSocket @@ -50,7 +54,7 @@ describe('Add new channel', () => { async () => await waitFor(() => { user.click(screen.getByText('Create Channel')).catch(e => { - console.error(e) + logger.error(e) }) }) ) diff --git a/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.tsx b/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.tsx index 3d72eb91d1..0df900ff9f 100644 --- a/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.tsx +++ b/packages/desktop/src/renderer/components/Channel/CreateChannel/CreateChannel.tsx @@ -8,6 +8,9 @@ import { useModal } from '../../../containers/hooks' import { ModalName } from '../../../sagas/modals/modals.types' import { flushSync } from 'react-dom' import { generateChannelId } from '@quiet/common' +import { createLogger } from '../../../logger' + +const logger = createLogger('createChannel') export const CreateChannel = () => { const dispatch = useDispatch() @@ -46,7 +49,7 @@ export const CreateChannel = () => { // Clear errors clearErrors() if (!user) { - console.error('No identity found') + logger.error('No identity found') dispatch( errors.actions.addError({ type: SocketActionTypes.CREATE_CHANNEL, diff --git a/packages/desktop/src/renderer/components/Channel/DeleteChannel/DeleteChannel.stories.tsx b/packages/desktop/src/renderer/components/Channel/DeleteChannel/DeleteChannel.stories.tsx index bd498ae0d9..ad7c7f7421 100644 --- a/packages/desktop/src/renderer/components/Channel/DeleteChannel/DeleteChannel.stories.tsx +++ b/packages/desktop/src/renderer/components/Channel/DeleteChannel/DeleteChannel.stories.tsx @@ -6,6 +6,10 @@ import { useModal } from '../../../containers/hooks' import DeleteChannelComponent, { DeleteChannelProps } from './DeleteChannelComponent' +import { createLogger } from '../../../logger' + +const logger = createLogger('deleteChannel:stories') + const Template: ComponentStory = args => { return } @@ -15,7 +19,7 @@ export const Component = Template.bind({}) const args: ReturnType & DeleteChannelProps = { channelName: 'general', deleteChannel: () => { - console.log('deleting channel') + logger.info('deleting channel') }, open: true, // @ts-expect-error diff --git a/packages/desktop/src/renderer/components/Channel/DropZone/DropZoneComponent.tsx b/packages/desktop/src/renderer/components/Channel/DropZone/DropZoneComponent.tsx index 0773af35d9..e906bf3563 100644 --- a/packages/desktop/src/renderer/components/Channel/DropZone/DropZoneComponent.tsx +++ b/packages/desktop/src/renderer/components/Channel/DropZone/DropZoneComponent.tsx @@ -7,6 +7,9 @@ import Icon from '../../ui/Icon/Icon' import dropFiles from '../../../static/images/dropFiles.svg' import { DropTargetMonitor, useDrop } from 'react-dnd' import { NativeTypes } from 'react-dnd-html5-backend' +import { createLogger } from '../../../logger' + +const logger = createLogger('dropZone:component') const StyledDropZoneComponent = styled(Grid)(() => ({ position: 'relative', @@ -55,7 +58,7 @@ export const DropZoneComponent: React.FC = ({ children, if (fs.statSync(item.files[0].path).isDirectory()) return } catch (e) { // See: https://github.com/react-dnd/react-dnd/issues/3458 - console.error('drop error: ', e.message) + logger.error('drop error: ', e) return } handleFileDrop(item) @@ -67,7 +70,7 @@ export const DropZoneComponent: React.FC = ({ children, collect: (monitor: DropTargetMonitor) => { const item: any = monitor.getItem() if (item) { - console.log('collect', item.files, item.items) + logger.info('collect', item.files, item.items) } return { diff --git a/packages/desktop/src/renderer/components/Channel/File/FileComponent/FileComponent.stories.tsx b/packages/desktop/src/renderer/components/Channel/File/FileComponent/FileComponent.stories.tsx index 0c33e712ab..b33d50a2a6 100644 --- a/packages/desktop/src/renderer/components/Channel/File/FileComponent/FileComponent.stories.tsx +++ b/packages/desktop/src/renderer/components/Channel/File/FileComponent/FileComponent.stories.tsx @@ -3,6 +3,9 @@ import { ComponentStory, ComponentMeta } from '@storybook/react' import FileComponent, { FileComponentProps } from './FileComponent' import { withTheme } from '../../../../storybook/decorators' import { DownloadState } from '@quiet/types' +import { createLogger } from '../../../../logger' + +const logger = createLogger('fileComponent:stories') const Template: ComponentStory = args => { return ( @@ -97,13 +100,13 @@ Queued.args = { }, }, cancelDownload: () => { - console.log('cancel download') + logger.info('cancel download') }, } Ready.args = { ...args, downloadFile: () => { - console.log('download file') + logger.info('download file') }, } Downloading.args = { @@ -119,7 +122,7 @@ Downloading.args = { }, }, cancelDownload: () => { - console.log('cancel download') + logger.info('cancel download') }, } Canceling.args = { @@ -151,7 +154,7 @@ Completed.args = { }, }, openContainingFolder: () => { - console.log('show in folder') + logger.info('show in folder') }, } Malicious.args = { diff --git a/packages/desktop/src/renderer/components/ContextMenu/ContextMenu.stories.tsx b/packages/desktop/src/renderer/components/ContextMenu/ContextMenu.stories.tsx index cb75dfd915..eb9c00278d 100644 --- a/packages/desktop/src/renderer/components/ContextMenu/ContextMenu.stories.tsx +++ b/packages/desktop/src/renderer/components/ContextMenu/ContextMenu.stories.tsx @@ -3,6 +3,9 @@ import { ComponentStory, ComponentMeta } from '@storybook/react' import { withTheme } from '../../storybook/decorators' import { ContextMenu, ContextMenuItemList } from './ContextMenu.component' import { ContextMenuItemProps, ContextMenuProps } from './ContextMenu.types' +import { createLogger } from '../../logger' + +const logger = createLogger('contextMenu:stories') const Template: ComponentStory = args => { return @@ -14,7 +17,7 @@ const channel_items: ContextMenuItemProps[] = [ { title: 'Delete', action: () => { - console.log('clicked on delete channel') + logger.info('clicked on delete channel') }, }, ] @@ -24,7 +27,7 @@ const args: ContextMenuProps = { children: , visible: true, handleClose: () => { - console.log('closing menu') + logger.info('closing menu') }, } diff --git a/packages/desktop/src/renderer/components/ContextMenu/menus/UserProfileContextMenu.container.tsx b/packages/desktop/src/renderer/components/ContextMenu/menus/UserProfileContextMenu.container.tsx index 31ab730701..2c4d3626e4 100644 --- a/packages/desktop/src/renderer/components/ContextMenu/menus/UserProfileContextMenu.container.tsx +++ b/packages/desktop/src/renderer/components/ContextMenu/menus/UserProfileContextMenu.container.tsx @@ -13,6 +13,9 @@ import { ContextMenuItemProps, ContextMenuProps } from '../ContextMenu.types' import { MenuName } from '../../../../const/MenuNames.enum' import { ModalName } from '../../../sagas/modals/modals.types' import Jdenticon from '../../Jdenticon/Jdenticon' +import { createLogger } from '../../../logger' + +const logger = createLogger('userProfileContextMenu:container') const PREFIX = 'UserProfileContextMenu' @@ -345,21 +348,21 @@ export const UserProfileMenuEditView: FC = ({ ;({ width, height } = await getImageSize(photo)) } catch (err) { const msg = 'Failed to get image size' - console.error(msg) + logger.error(msg) setError(msg) return } if (width === 0 || height === 0) { const msg = `Image has invalid dimensions: width: ${width}, height: ${height}` - console.error(msg) + logger.error(msg) setError(msg) return } if (width > 200 || height > 200) { const msg = 'Image dimensions must be less than or equal to 200px by 200px' - console.error(msg) + logger.error(msg) setError(msg) return } @@ -367,7 +370,7 @@ export const UserProfileMenuEditView: FC = ({ // 200 KB = 204800 B limit if (photo.size > 204800) { const msg = 'Image size must be less than or equal to 200KB' - console.error(msg) + logger.error(msg) setError(msg) return } diff --git a/packages/desktop/src/renderer/components/CreateJoinCommunity/CreateCommunity/CreateCommunity.stories.tsx b/packages/desktop/src/renderer/components/CreateJoinCommunity/CreateCommunity/CreateCommunity.stories.tsx index 01188395c6..b91a8fb877 100644 --- a/packages/desktop/src/renderer/components/CreateJoinCommunity/CreateCommunity/CreateCommunity.stories.tsx +++ b/packages/desktop/src/renderer/components/CreateJoinCommunity/CreateCommunity/CreateCommunity.stories.tsx @@ -6,6 +6,10 @@ import { withTheme } from '../../../storybook/decorators' import PerformCommunityActionComponent, { PerformCommunityActionProps } from '../PerformCommunityActionComponent' import { CommunityOwnership } from '@quiet/types' +import { createLogger } from '../../../logger' + +const logger = createLogger('createCommunity:stories') + const Template: ComponentStory = args => { return } @@ -16,10 +20,10 @@ const args: PerformCommunityActionProps = { open: true, communityOwnership: CommunityOwnership.Owner, handleCommunityAction: function (value: string): void { - console.log('Creating community: ', value) + logger.info('Creating community: ', value) }, handleRedirection: function (): void { - console.log('Redirected to join community') + logger.info('Redirected to join community') }, handleClose: function (): void {}, isCloseDisabled: false, diff --git a/packages/desktop/src/renderer/components/CreateJoinCommunity/JoinCommunity/JoinCommunity.stories.tsx b/packages/desktop/src/renderer/components/CreateJoinCommunity/JoinCommunity/JoinCommunity.stories.tsx index 070d6e674f..8e291e3ebe 100644 --- a/packages/desktop/src/renderer/components/CreateJoinCommunity/JoinCommunity/JoinCommunity.stories.tsx +++ b/packages/desktop/src/renderer/components/CreateJoinCommunity/JoinCommunity/JoinCommunity.stories.tsx @@ -6,6 +6,10 @@ import { withTheme } from '../../../storybook/decorators' import PerformCommunityActionComponent, { PerformCommunityActionProps } from '../PerformCommunityActionComponent' import { CommunityOwnership } from '@quiet/types' +import { createLogger } from '../../../logger' + +const logger = createLogger('joinCommunity:stories') + const Template: ComponentStory = args => { return } @@ -17,10 +21,10 @@ const args: PerformCommunityActionProps = { open: true, communityOwnership: CommunityOwnership.User, handleCommunityAction: function (value: string): void { - console.log('Joining community: ', value) + logger.info('Joining community: ', value) }, handleRedirection: function (): void { - console.log('Redirected to create community') + logger.info('Redirected to create community') }, handleClose: function (): void {}, isCloseDisabled: false, diff --git a/packages/desktop/src/renderer/components/CreateJoinCommunity/PerformCommunityActionComponent.tsx b/packages/desktop/src/renderer/components/CreateJoinCommunity/PerformCommunityActionComponent.tsx index 116fc32c10..7f81b0e651 100644 --- a/packages/desktop/src/renderer/components/CreateJoinCommunity/PerformCommunityActionComponent.tsx +++ b/packages/desktop/src/renderer/components/CreateJoinCommunity/PerformCommunityActionComponent.tsx @@ -22,6 +22,9 @@ import VisibilityOff from '@mui/icons-material/VisibilityOff' import Visibility from '@mui/icons-material/Visibility' import { parseName } from '@quiet/common' import { getInvitationCodes } from '@quiet/state-manager' +import { createLogger } from '../../logger' + +const logger = createLogger('performCommunityAction:component') const PREFIX = 'PerformCommunityActionComponent' @@ -192,7 +195,7 @@ export const PerformCommunityActionComponent: React.FC = args => { return } @@ -15,7 +19,7 @@ const args: CreateUsernameComponentProps = { open: true, handleClose: function (): void {}, registerUsername: function (nickname: string): void { - console.log('Registering username: ', nickname) + logger.info('Registering username: ', nickname) }, } diff --git a/packages/desktop/src/renderer/components/CreateUsername/CreateUsernameComponent.tsx b/packages/desktop/src/renderer/components/CreateUsername/CreateUsernameComponent.tsx index 9f20950ac7..32382e6377 100644 --- a/packages/desktop/src/renderer/components/CreateUsername/CreateUsernameComponent.tsx +++ b/packages/desktop/src/renderer/components/CreateUsername/CreateUsernameComponent.tsx @@ -19,6 +19,10 @@ import { userNameField } from '../../forms/fields/createUserFields' import { parseName } from '@quiet/common' +import { createLogger } from '../../logger' + +const logger = createLogger('createUsername:component') + const PREFIX = 'CreateUsernameComponent-' const classes = { @@ -174,7 +178,7 @@ export const CreateUsernameComponent: React.FC = ( const onSubmit = useCallback( (values: CreateUserValues) => { if (errors.userName) { - console.error('Cannot submit form with errors') + logger.error('Cannot submit form with errors') return } diff --git a/packages/desktop/src/renderer/components/LoadingPanel/LoadingPanel.stories.tsx b/packages/desktop/src/renderer/components/LoadingPanel/LoadingPanel.stories.tsx index 1107935fab..94e8186cab 100644 --- a/packages/desktop/src/renderer/components/LoadingPanel/LoadingPanel.stories.tsx +++ b/packages/desktop/src/renderer/components/LoadingPanel/LoadingPanel.stories.tsx @@ -4,6 +4,9 @@ import { withTheme } from '../../storybook/decorators' import JoiningPanelComponent, { JoiningPanelComponentProps } from './JoiningPanelComponent' import StartingPanelComponent, { StartingPanelComponentProps } from './StartingPanelComponent' import { ConnectionProcessInfo } from '@quiet/types' +import { createLogger } from '../../logger' + +const logger = createLogger('loadingPanel:stories') const JoiningPanelTemplate: ComponentStory = args => { return @@ -18,7 +21,7 @@ export const StartingPanel = StartingPanelTemplate.bind({}) const JoiningPanelArgs: JoiningPanelComponentProps = { open: true, handleClose: function (): void {}, - openUrl: () => console.log('OpenURL'), + openUrl: () => logger.info('OpenURL'), connectionInfo: { number: 10, text: ConnectionProcessInfo.BACKEND_MODULES }, isOwner: false, } diff --git a/packages/desktop/src/renderer/components/MathMessage/MathMessageComponent.tsx b/packages/desktop/src/renderer/components/MathMessage/MathMessageComponent.tsx index 6e9fc3f3dc..d8142472ea 100644 --- a/packages/desktop/src/renderer/components/MathMessage/MathMessageComponent.tsx +++ b/packages/desktop/src/renderer/components/MathMessage/MathMessageComponent.tsx @@ -5,6 +5,9 @@ import { convertPromise, SourceLang } from './customMathJax' import { styled } from '@mui/material/styles' import theme from '../../theme' import classNames from 'classnames' +import { createLogger } from '../../logger' + +const logger = createLogger('mathMessage:component') const PREFIX = 'MathMessage' @@ -71,7 +74,7 @@ const MathComponent: React.FC = ({ } }, [node, message, display]) - if (error) console.error(`Error converting tex '${message}'`, error) + if (error) logger.error(`Error converting tex '${message}'`, error) if (isMath && !error) { const props = { @@ -116,7 +119,7 @@ export const MathMessageComponent: React.FC } diff --git a/packages/desktop/src/renderer/components/MathMessage/customMathJax.ts b/packages/desktop/src/renderer/components/MathMessage/customMathJax.ts index 165e901796..7ad2651381 100644 --- a/packages/desktop/src/renderer/components/MathMessage/customMathJax.ts +++ b/packages/desktop/src/renderer/components/MathMessage/customMathJax.ts @@ -6,6 +6,9 @@ import { SVG } from 'mathjax-full/js/output/svg' import { browserAdaptor } from 'mathjax-full/js/adaptors/browserAdaptor' import { RegisterHTMLHandler } from 'mathjax-full/js/handlers/html' import { STATE } from 'mathjax-full/js/core/MathItem' +import { createLogger } from '../../logger' + +const logger = createLogger('customMathJax') export const enum SourceLang { MathML = 'MathML', @@ -125,7 +128,7 @@ export function convertPromise( if (!(err instanceof CancelationException)) { throw err } else { - console.log('cancelled render!') + logger.info('cancelled render!') return null } }) diff --git a/packages/desktop/src/renderer/components/ui/TextWithLink/TextWithLink.stories.tsx b/packages/desktop/src/renderer/components/ui/TextWithLink/TextWithLink.stories.tsx index 1654d78466..b2cebb3891 100644 --- a/packages/desktop/src/renderer/components/ui/TextWithLink/TextWithLink.stories.tsx +++ b/packages/desktop/src/renderer/components/ui/TextWithLink/TextWithLink.stories.tsx @@ -5,6 +5,10 @@ import { withTheme } from '../../../storybook/decorators' import TextWithLink, { TextWithLinkProps } from './TextWithLink' +import { createLogger } from '../../../logger' + +const logger = createLogger('textWithLink:stories') + const Template: ComponentStory = args => { return } @@ -18,7 +22,7 @@ const args: TextWithLinkProps = { tag: 'a', label: 'linked', action: () => { - console.log('link clicked') + logger.info('link clicked') }, }, ], diff --git a/packages/desktop/src/renderer/components/ui/TextWithLink/TextWithLink.test.tsx b/packages/desktop/src/renderer/components/ui/TextWithLink/TextWithLink.test.tsx index 6ac48c706c..6a5fbabcbf 100644 --- a/packages/desktop/src/renderer/components/ui/TextWithLink/TextWithLink.test.tsx +++ b/packages/desktop/src/renderer/components/ui/TextWithLink/TextWithLink.test.tsx @@ -3,6 +3,10 @@ import React from 'react' import { renderComponent } from '../../../testUtils/renderComponent' import { TextWithLink } from './TextWithLink' +import { createLogger } from '../../../logger' + +const logger = createLogger('textWithLink:test') + describe('TextWithLink', () => { it('renders component', () => { const result = renderComponent( @@ -13,7 +17,7 @@ describe('TextWithLink', () => { tag: 'simple', label: 'simple', action: () => { - console.log('linked clicked') + logger.info('linked clicked') }, }, ]} diff --git a/packages/desktop/src/renderer/components/widgets/WarningModal/WarningModal.stories.tsx b/packages/desktop/src/renderer/components/widgets/WarningModal/WarningModal.stories.tsx index ec618f4f40..da8d22f265 100644 --- a/packages/desktop/src/renderer/components/widgets/WarningModal/WarningModal.stories.tsx +++ b/packages/desktop/src/renderer/components/widgets/WarningModal/WarningModal.stories.tsx @@ -4,6 +4,10 @@ import { ComponentMeta, ComponentStory } from '@storybook/react' import { withTheme } from '../../../storybook/decorators' import WarningModalComponent, { WarningModalComponentProps } from './WarningModal' +import { createLogger } from '../../../logger' + +const logger = createLogger('warningModal:stories') + const Template: ComponentStory = args => { return } @@ -13,7 +17,7 @@ export const Component = Template.bind({}) const args: WarningModalComponentProps = { open: true, handleClose: function (): void { - console.log('Closed modal') + logger.info('Closed modal') }, title: 'Warning title', subtitle: 'Warning description', diff --git a/packages/desktop/src/renderer/components/widgets/channels/BasicMessage.test.tsx b/packages/desktop/src/renderer/components/widgets/channels/BasicMessage.test.tsx index 2b9beeff3d..6f7e49aa9d 100644 --- a/packages/desktop/src/renderer/components/widgets/channels/BasicMessage.test.tsx +++ b/packages/desktop/src/renderer/components/widgets/channels/BasicMessage.test.tsx @@ -11,7 +11,13 @@ import store from '../../../store' describe('BasicMessage', () => { beforeEach(() => { jest.clearAllMocks() - jest.spyOn(DateTime, 'utc').mockImplementationOnce(() => DateTime.utc(2019, 3, 7, 13, 3, 48)) + jest.spyOn(DateTime, 'utc').mockImplementationOnce(() => { + const dt = DateTime.utc(2019, 3, 7, 13, 3, 48) + if (!dt.isValid) { + throw new Error('This is just here to satisfy the DateTime requirement') + } + return dt + }) }) it('renders component', async () => { diff --git a/packages/desktop/src/renderer/components/widgets/channels/ChannelInput/ChannelInput.stories.tsx b/packages/desktop/src/renderer/components/widgets/channels/ChannelInput/ChannelInput.stories.tsx index 041dec94fb..f82285e6d7 100644 --- a/packages/desktop/src/renderer/components/widgets/channels/ChannelInput/ChannelInput.stories.tsx +++ b/packages/desktop/src/renderer/components/widgets/channels/ChannelInput/ChannelInput.stories.tsx @@ -6,6 +6,10 @@ import { INPUT_STATE } from './InputState.enum' import { ChannelInputComponent, ChannelInputProps } from './ChannelInput' import { withTheme } from '../../../../storybook/decorators' +import { createLogger } from '../../../../logger' + +const logger = createLogger('channelInput:stories') + const Template: ComponentStory = args => { return (
@@ -23,7 +27,7 @@ const args: ChannelInputProps = { inputPlaceholder: '#general as @alice', onChange: function (_arg: string): void {}, onKeyPress: function (input: string): void { - console.log('send message', input) + logger.info('send message', input) }, infoClass: '', setInfoClass: function (_arg: string): void {}, @@ -37,7 +41,7 @@ const argsDisabledInput: ChannelInputProps = { inputPlaceholder: '#general as @alice', onChange: function (_arg: string): void {}, onKeyPress: function (input: string): void { - console.log('send message', input) + logger.info('send message', input) }, infoClass: '', setInfoClass: function (_arg: string): void {}, @@ -248,7 +252,7 @@ const argsLongMessage: ChannelInputProps = { initialMessage: initialMessage, onChange: function (_arg: string): void {}, onKeyPress: function (input: string): void { - console.log('send message', input) + logger.info('send message', input) }, infoClass: '', setInfoClass: function (_arg: string): void {}, diff --git a/packages/desktop/src/renderer/components/widgets/channels/ChannelMessages.test.tsx b/packages/desktop/src/renderer/components/widgets/channels/ChannelMessages.test.tsx index 24b937b94d..16ba5158f9 100644 --- a/packages/desktop/src/renderer/components/widgets/channels/ChannelMessages.test.tsx +++ b/packages/desktop/src/renderer/components/widgets/channels/ChannelMessages.test.tsx @@ -25,7 +25,13 @@ describe('ChannelMessages', () => { pubKey: 'string', } - jest.spyOn(DateTime, 'utc').mockImplementationOnce(() => DateTime.utc(2019, 3, 7, 13, 3, 48)) + jest.spyOn(DateTime, 'utc').mockImplementationOnce(() => { + const dt = DateTime.utc(2019, 3, 7, 13, 3, 48) + if (!dt.isValid) { + throw new Error('This is just here to satisfy the DateTime requirement') + } + return dt + }) const messages = { Today: [[message]], diff --git a/packages/desktop/src/renderer/components/widgets/sentryWarning/SentryWarning.stories.tsx b/packages/desktop/src/renderer/components/widgets/sentryWarning/SentryWarning.stories.tsx index 06a9c55027..ce6a0a805b 100644 --- a/packages/desktop/src/renderer/components/widgets/sentryWarning/SentryWarning.stories.tsx +++ b/packages/desktop/src/renderer/components/widgets/sentryWarning/SentryWarning.stories.tsx @@ -5,6 +5,10 @@ import { withTheme } from '../../../storybook/decorators' import { SentryWarningComponent, SentryWarningProps } from './SentryWarningComponent' +import { createLogger } from '../../../logger' + +const logger = createLogger('sentryWarning:stories') + const Template: ComponentStory = args => { return } @@ -14,7 +18,7 @@ export const Component = Template.bind({}) const args: SentryWarningProps = { open: true, handleClose: function (): void { - console.log('Closed modal') + logger.info('Closed modal') }, } diff --git a/packages/desktop/src/renderer/components/widgets/update/UpdateModalComponent.stories.tsx b/packages/desktop/src/renderer/components/widgets/update/UpdateModalComponent.stories.tsx index d8c17ce5b9..89123538ee 100644 --- a/packages/desktop/src/renderer/components/widgets/update/UpdateModalComponent.stories.tsx +++ b/packages/desktop/src/renderer/components/widgets/update/UpdateModalComponent.stories.tsx @@ -8,6 +8,10 @@ import theme from '../../../theme' import Button from '@mui/material/Button' +import { createLogger } from '../../../logger' + +const logger = createLogger('updateModal:component:stories') + const Template: ComponentStory = args => { return } @@ -15,7 +19,7 @@ const Template: ComponentStory = args => { const args: UpdateModalProps = { open: true, handleClose: function (): void { - console.log('modal closed') + logger.info('modal closed') }, buttons: [