diff --git a/.github/secrets/Certificates.p12.gpg b/.github/secrets/Certificates.p12.gpg
index bd1a14ef78..717f69172f 100644
Binary files a/.github/secrets/Certificates.p12.gpg and b/.github/secrets/Certificates.p12.gpg differ
diff --git a/.github/secrets/decrypt_secrets.sh b/.github/secrets/decrypt_secrets.sh
index 19dfa83dc7..e493c9591d 100755
--- a/.github/secrets/decrypt_secrets.sh
+++ b/.github/secrets/decrypt_secrets.sh
@@ -7,8 +7,7 @@ gpg --quiet --batch --yes --decrypt --passphrase="$IOS_CERTIFICATE_KEY" --output
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
-cp ./.github/secrets/match_AppStore_comquietmobile.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/718ac015-309f-49b6-9653-f6cf84a6377c.mobileprovision
-
+cp ./.github/secrets/match_AppStore_comquietmobile.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/762df280-302c-4336-a56d-c74914169337.mobileprovision
security create-keychain -p "" build.keychain
security import ./.github/secrets/Certificates.p12 -t agg -k ~/Library/Keychains/build.keychain -P "$IOS_CERTIFICATE_KEY" -A
diff --git a/.github/secrets/match_AppStore_comquietmobile.mobileprovision.gpg b/.github/secrets/match_AppStore_comquietmobile.mobileprovision.gpg
index 4f35bf8199..8740531928 100644
Binary files a/.github/secrets/match_AppStore_comquietmobile.mobileprovision.gpg and b/.github/secrets/match_AppStore_comquietmobile.mobileprovision.gpg differ
diff --git a/.github/workflows/backend-tests.yml b/.github/workflows/backend-tests.yml
index 6e6078aab6..e5361a5501 100644
--- a/.github/workflows/backend-tests.yml
+++ b/.github/workflows/backend-tests.yml
@@ -9,7 +9,7 @@ jobs:
strategy:
matrix:
- os: [ubuntu-20.04, macos-12, windows-2019]
+ os: [ubuntu-20.04, macos-13, windows-2019]
steps:
- uses: dorny/paths-filter@v3
diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml
index 963222aa26..a0e36167b3 100644
--- a/.github/workflows/desktop-build.yml
+++ b/.github/workflows/desktop-build.yml
@@ -98,7 +98,7 @@ jobs:
build-macos:
# needs: run-e2e-tests-mac
- runs-on: macos-12
+ runs-on: macos-13
if: |
startsWith(github.ref, 'refs/tags/@quiet/desktop')
diff --git a/.github/workflows/desktop-rtl-tests.yml b/.github/workflows/desktop-rtl-tests.yml
index 758763308f..9de7b68012 100644
--- a/.github/workflows/desktop-rtl-tests.yml
+++ b/.github/workflows/desktop-rtl-tests.yml
@@ -10,7 +10,7 @@ jobs:
strategy:
matrix:
- os: [ubuntu-20.04, macos-12]
+ os: [ubuntu-20.04, macos-13]
steps:
- uses: dorny/paths-filter@v3
diff --git a/.github/workflows/desktop-tests.yml b/.github/workflows/desktop-tests.yml
index 4c59e29392..1eb6c2fdd8 100644
--- a/.github/workflows/desktop-tests.yml
+++ b/.github/workflows/desktop-tests.yml
@@ -10,7 +10,7 @@ jobs:
strategy:
matrix:
- os: [ubuntu-20.04, macos-12]
+ os: [ubuntu-20.04, macos-13]
steps:
- uses: dorny/paths-filter@v3
diff --git a/.github/workflows/e2e-ios.yml b/.github/workflows/e2e-ios.yml
index 01544c3e4f..33180207ef 100644
--- a/.github/workflows/e2e-ios.yml
+++ b/.github/workflows/e2e-ios.yml
@@ -5,7 +5,7 @@ on: workflow_dispatch
jobs:
detox-ios:
timeout-minutes: 25
- runs-on: [macos-latest-xlarge]
+ runs-on: [macos-13-xlarge]
steps:
- uses: actions/checkout@v4
diff --git a/.github/workflows/e2e-mac.yml b/.github/workflows/e2e-mac.yml
index b2911937c8..e3e02989c7 100644
--- a/.github/workflows/e2e-mac.yml
+++ b/.github/workflows/e2e-mac.yml
@@ -3,7 +3,7 @@ name: E2E Mac
on: [workflow_call]
jobs:
mac:
- runs-on: macos-12
+ runs-on: macos-13
timeout-minutes: 180
env:
TEST_MODE: true
diff --git a/.github/workflows/identity-tests.yml b/.github/workflows/identity-tests.yml
index 44ba12e33f..d719709b55 100644
--- a/.github/workflows/identity-tests.yml
+++ b/.github/workflows/identity-tests.yml
@@ -10,7 +10,7 @@ jobs:
strategy:
matrix:
- os: [ubuntu-20.04, macos-12, windows-2019]
+ os: [ubuntu-20.04, macos-13, windows-2019]
steps:
- uses: dorny/paths-filter@v3
diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml
index 9bcd21f2f6..a4e7d6c248 100644
--- a/.github/workflows/integration-tests.yml
+++ b/.github/workflows/integration-tests.yml
@@ -14,7 +14,7 @@ jobs:
strategy:
matrix:
- os: [ubuntu-20.04] #, macos-latest, windows-2019]
+ os: [ubuntu-20.04] #, macos-13, windows-2019]
steps:
- name: 'Print OS'
diff --git a/.github/workflows/mobile-deploy-ios-test.yml b/.github/workflows/mobile-deploy-ios-test.yml
new file mode 100644
index 0000000000..c6d1f1499d
--- /dev/null
+++ b/.github/workflows/mobile-deploy-ios-test.yml
@@ -0,0 +1,72 @@
+name: Test IOS build
+
+on:
+ pull_request:
+
+jobs:
+ test-build-ios:
+ # needs: detox-ios
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ matrix:
+ os: [macos-13]
+
+ steps:
+ - name: "Print OS"
+ run: echo ${{ matrix.os }}
+
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ with:
+ submodules: 'recursive'
+ lfs: true
+
+ - name: Install gpg
+ run: brew install gnupg
+
+ - name: Setup XCode
+ uses: maxim-lobanov/setup-xcode@9a697e2b393340c3cacd97468baa318e4c883d98 # v1.5.1
+ with:
+ xcode-version: '15.2'
+
+ - name: Setup environment
+ uses: ./.github/actions/setup-env
+ with:
+ cachePrefix: "deploy-ios"
+ bootstrap-packages: "@quiet/eslint-config,@quiet/logger,@quiet/common,@quiet/types,@quiet/state-manager,@quiet/backend,@quiet/identity,@quiet/mobile,backend-bundle"
+
+ - name: Install pod dependencies
+ run: |
+ cd ./packages/mobile/ios
+ pod install
+ shell: bash
+
+ - name: Setup provisioning profile
+ run: ./.github/secrets/decrypt_secrets.sh
+ env:
+ IOS_PROFILE_KEY: ${{ secrets.IOS_PROFILE_KEY }}
+ IOS_CERTIFICATE_KEY: ${{ secrets.IOS_CERTIFICATE_KEY }}
+
+ - name: Build
+ run: |
+ cd ./packages/mobile/ios
+ xcodebuild archive \
+ -workspace Quiet.xcworkspace \
+ -scheme Quiet \
+ -configuration Release \
+ -archivePath build/Quiet.xcarchive \
+ PROVISIONING_PROFILE="762df280-302c-4336-a56d-c74914169337" \
+ CODE_SIGN_IDENTITY="Apple Distribution: A Quiet LLC (CTYKSWN9T4)"
+
+ - name: Export .ipa
+ run: |
+ cd ./packages/mobile/ios
+ xcodebuild \
+ -exportArchive \
+ -archivePath build/Quiet.xcarchive \
+ -exportOptionsPlist ci.plist \
+ -exportPath build/
+
+ - name: Cleanup environment
+ if: always()
+ run: security delete-keychain build.keychain && rm -f ~/Library/MobileDevice/Provisioning\ Profiles/*.mobileprovision
diff --git a/.github/workflows/mobile-deploy-ios.yml b/.github/workflows/mobile-deploy-ios.yml
index 4eb1213c98..0d9ee37148 100644
--- a/.github/workflows/mobile-deploy-ios.yml
+++ b/.github/workflows/mobile-deploy-ios.yml
@@ -14,7 +14,7 @@ jobs:
strategy:
matrix:
- os: [macos-latest]
+ os: [macos-13]
steps:
- name: "Print OS"
@@ -59,8 +59,8 @@ jobs:
-scheme Quiet \
-configuration Release \
-archivePath build/Quiet.xcarchive \
- PROVISIONING_PROFILE="718ac015-309f-49b6-9653-f6cf84a6377c" \
- CODE_SIGN_IDENTITY="Apple Distribution: Zbay LLC (CTYKSWN9T4)"
+ PROVISIONING_PROFILE="762df280-302c-4336-a56d-c74914169337" \
+ CODE_SIGN_IDENTITY="Apple Distribution: A Quiet LLC (CTYKSWN9T4)"
- name: Export .ipa
run: |
diff --git a/.github/workflows/state-manager-tests.yml b/.github/workflows/state-manager-tests.yml
index eb3c6beca6..65773a39d9 100644
--- a/.github/workflows/state-manager-tests.yml
+++ b/.github/workflows/state-manager-tests.yml
@@ -10,7 +10,7 @@ jobs:
strategy:
matrix:
- os: [ubuntu-20.04, macos-12]
+ os: [ubuntu-20.04, macos-13]
steps:
- uses: dorny/paths-filter@v3
diff --git a/.github/workflows/utils-tests.yml b/.github/workflows/utils-tests.yml
index 7fe2ad6073..5fe99c39e3 100644
--- a/.github/workflows/utils-tests.yml
+++ b/.github/workflows/utils-tests.yml
@@ -12,7 +12,7 @@ jobs:
strategy:
matrix:
- os: [ubuntu-20.04, macos-12, windows-2019]
+ os: [ubuntu-20.04, macos-13, windows-2019]
steps:
- name: "Print OS"
diff --git a/3rd-party/auth b/3rd-party/auth
index 4a78dca870..fd7101145f 160000
--- a/3rd-party/auth
+++ b/3rd-party/auth
@@ -1 +1 @@
-Subproject commit 4a78dca870be429c1a43107ad254bd89214c040d
+Subproject commit fd7101145fc15aeb14bda46578b7a4d6d84e4e5b
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eb09e98277..eac559ccc7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,10 +1,11 @@
# Changelog
-## [unreleased]
+## [2.3.2]
- ### Chores
+### Chores
-* Moved some responsibilities of identity management to the backend ([#2617](https://github.com/TryQuiet/quiet/pull/2617))
+* Moved some responsibilities of identity management to the backend ([#2602](https://github.com/TryQuiet/quiet/issues/2602))
+* Added auth submodule in preparation for future encyrption work ([#2623](https://github.com/TryQuiet/quiet/issues/2623))
### Fixes
diff --git a/packages/backend/src/nest/common/utils.ts b/packages/backend/src/nest/common/utils.ts
index 1277203caa..344141893b 100644
--- a/packages/backend/src/nest/common/utils.ts
+++ b/packages/backend/src/nest/common/utils.ts
@@ -123,7 +123,7 @@ export function generateRandomOnionAddress(length: number = 56): string {
let randomString = ''
const randomValues = new Uint32Array(length)
- crypto.getRandomValues(randomValues)
+ crypto.webcrypto.getRandomValues(randomValues)
for (let i = 0; i < length; i++) {
randomString += charset[randomValues[i] % charsetLength]
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 7882767cae..b053980726 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
@@ -226,10 +226,11 @@ describe('Connections manager', () => {
localDbService.setIdentity(userIdentity)
expect(connectionsManagerService.communityState).toBe(undefined)
- // community will fail to launch from storage on init because factory community id
- // will not match the one in the storage set in beforeEach
+
+ localDbService.setCommunity({ ...community, peerList: peerList })
+ localDbService.setCurrentCommunityId(community.id)
+ logger.info('Launching community', community.id, 'with peer list', peerList)
await connectionsManagerService.init()
- await connectionsManagerService.launchCommunity({ ...community, peerList: peerList })
await sleep(5000)
expect(connectionsManagerService.communityState).toBe(ServiceState.LAUNCHED)
@@ -332,10 +333,9 @@ describe('Connections manager', () => {
localDbService.setIdentity(userIdentity)
expect(connectionsManagerService.communityState).toBe(undefined)
- // community will fail to launch from storage on init because factory community id
- // will not match the one in the storage set in beforeEach
+ localDbService.setCommunity({ ...community, peerList: peerList })
+ localDbService.setCurrentCommunityId(community.id)
await connectionsManagerService.init()
- await connectionsManagerService.launchCommunity({ ...community, peerList: peerList })
await sleep(5000)
expect(connectionsManagerService.communityState).toBe(ServiceState.LAUNCHED)
diff --git a/packages/backend/src/nest/local-db/local-db.service.ts b/packages/backend/src/nest/local-db/local-db.service.ts
index f288cbba9d..0e02dea22c 100644
--- a/packages/backend/src/nest/local-db/local-db.service.ts
+++ b/packages/backend/src/nest/local-db/local-db.service.ts
@@ -143,7 +143,6 @@ export class LocalDbService {
// temporarily shoving identity creation here
public async setIdentity(identity: Identity) {
- await this.put(LocalDBKeys.IDENTITIES, identity)
let identities = await this.get(LocalDBKeys.IDENTITIES)
if (!identities) {
identities = {}
diff --git a/packages/desktop/CHANGELOG.md b/packages/desktop/CHANGELOG.md
index 02777cda37..eac559ccc7 100644
--- a/packages/desktop/CHANGELOG.md
+++ b/packages/desktop/CHANGELOG.md
@@ -1,5 +1,17 @@
# Changelog
+## [2.3.2]
+
+### Chores
+
+* Moved some responsibilities of identity management to the backend ([#2602](https://github.com/TryQuiet/quiet/issues/2602))
+* Added auth submodule in preparation for future encyrption work ([#2623](https://github.com/TryQuiet/quiet/issues/2623))
+
+### Fixes
+
+* Fixed memory leak associated with autoUpdater ([#2606](https://github.com/TryQuiet/quiet/issues/2606))
+* Fixed visual regression tests ([#2644](https://github.com/TryQuiet/quiet/issues/2645))
+
## [2.3.1]
### Fixes
diff --git a/packages/desktop/package-lock.json b/packages/desktop/package-lock.json
index 8563773e72..a9cfc126cb 100644
--- a/packages/desktop/package-lock.json
+++ b/packages/desktop/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@quiet/desktop",
- "version": "2.3.1",
+ "version": "2.3.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@quiet/desktop",
- "version": "2.3.1",
+ "version": "2.3.2",
"license": "GPL-3.0-or-later",
"dependencies": {
"@electron/remote": "^2.0.8",
diff --git a/packages/desktop/package.json b/packages/desktop/package.json
index dad433fd5b..df08c26f80 100644
--- a/packages/desktop/package.json
+++ b/packages/desktop/package.json
@@ -80,7 +80,7 @@
},
"homepage": "https://github.com/TryQuiet",
"@comment version": "To build new version for specific platform, just replace platform in version tag to one of following linux, mac, windows",
- "version": "2.3.1",
+ "version": "2.3.2",
"description": "Decentralized team chat",
"main": "dist/main/main.js",
"scripts": {
diff --git a/packages/mobile/CHANGELOG.md b/packages/mobile/CHANGELOG.md
index 02777cda37..eac559ccc7 100644
--- a/packages/mobile/CHANGELOG.md
+++ b/packages/mobile/CHANGELOG.md
@@ -1,5 +1,17 @@
# Changelog
+## [2.3.2]
+
+### Chores
+
+* Moved some responsibilities of identity management to the backend ([#2602](https://github.com/TryQuiet/quiet/issues/2602))
+* Added auth submodule in preparation for future encyrption work ([#2623](https://github.com/TryQuiet/quiet/issues/2623))
+
+### Fixes
+
+* Fixed memory leak associated with autoUpdater ([#2606](https://github.com/TryQuiet/quiet/issues/2606))
+* Fixed visual regression tests ([#2644](https://github.com/TryQuiet/quiet/issues/2645))
+
## [2.3.1]
### Fixes
diff --git a/packages/mobile/android/app/build.gradle b/packages/mobile/android/app/build.gradle
index 1fe8959b1e..a8c976ed98 100644
--- a/packages/mobile/android/app/build.gradle
+++ b/packages/mobile/android/app/build.gradle
@@ -192,8 +192,8 @@ android {
applicationId "com.quietmobile"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
- versionCode 425
- versionName "2.3.1"
+ versionCode 433
+ versionName "2.3.2"
resValue "string", "build_config_package", "com.quietmobile"
testBuildType System.getProperty('testBuildType', 'debug')
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
diff --git a/packages/mobile/ios/Quiet/Info.plist b/packages/mobile/ios/Quiet/Info.plist
index c40fe1c554..9b745c2737 100644
--- a/packages/mobile/ios/Quiet/Info.plist
+++ b/packages/mobile/ios/Quiet/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2.3.1
+ 2.3.2
CFBundleSignature
????
CFBundleURLTypes
@@ -34,7 +34,7 @@
CFBundleVersion
- 382
+ 390
ITSAppUsesNonExemptEncryption
LSRequiresIPhoneOS
diff --git a/packages/mobile/ios/QuietTests/Info.plist b/packages/mobile/ios/QuietTests/Info.plist
index 9cc36172d4..f08665efec 100644
--- a/packages/mobile/ios/QuietTests/Info.plist
+++ b/packages/mobile/ios/QuietTests/Info.plist
@@ -15,10 +15,10 @@
CFBundlePackageType
BNDL
CFBundleShortVersionString
- 2.3.1
+ 2.3.2
CFBundleSignature
????
CFBundleVersion
- 382
+ 390
diff --git a/packages/mobile/package-lock.json b/packages/mobile/package-lock.json
index ec80569221..110e85522e 100644
--- a/packages/mobile/package-lock.json
+++ b/packages/mobile/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@quiet/mobile",
- "version": "2.3.1",
+ "version": "2.3.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@quiet/mobile",
- "version": "2.3.1",
+ "version": "2.3.2",
"dependencies": {
"@peculiar/webcrypto": "^1.4.3",
"@react-native-clipboard/clipboard": "^1.13.2",
diff --git a/packages/mobile/package.json b/packages/mobile/package.json
index 0885347996..c260e079c0 100644
--- a/packages/mobile/package.json
+++ b/packages/mobile/package.json
@@ -1,6 +1,6 @@
{
"name": "@quiet/mobile",
- "version": "2.3.1",
+ "version": "2.3.2",
"scripts": {
"build": "tsc -p tsconfig.build.json --noEmit",
"storybook-android": "ENVFILE=.env.storybook react-native run-android --mode=storybookDebug --appIdSuffix=storybook.debug",