Skip to content

Commit a2ae220

Browse files
committed
Merge branch 'develop' into ios-tor
2 parents 32f2253 + accc53f commit a2ae220

41 files changed

Lines changed: 299 additions & 140 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/mobile-deploy-ios.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ name: Deploy iOS to App Store
22

33
on:
44
release:
5-
types:
6-
[prereleased, released]
5+
types: [prereleased, released]
76

87
jobs:
98
build-ios:
@@ -14,10 +13,10 @@ jobs:
1413
1514
strategy:
1615
matrix:
17-
os: [macos-14]
16+
os: [macos-26]
1817

1918
steps:
20-
- name: "Print OS"
19+
- name: 'Print OS'
2120
run: echo ${{ matrix.os }}
2221

2322
- uses: actions/checkout@v5
@@ -35,15 +34,15 @@ jobs:
3534
run: brew install gnupg
3635

3736
- name: Setup XCode
38-
uses: maxim-lobanov/setup-xcode@9a697e2b393340c3cacd97468baa318e4c883d98 # v1.5.1
37+
uses: maxim-lobanov/setup-xcode@v1
3938
with:
40-
xcode-version: '16.2.0'
39+
xcode-version: '26.3'
4140

4241
- name: Setup environment
4342
uses: ./.github/actions/setup-env
4443
with:
45-
cachePrefix: "deploy-ios"
46-
bootstrap-packages: "@quiet/eslint-config,@quiet/logger,@quiet/common,@quiet/types,@quiet/state-manager,@quiet/backend,@quiet/identity,@quiet/mobile,backend-bundle,helia,@quiet/node-common"
44+
cachePrefix: 'deploy-ios'
45+
bootstrap-packages: '@quiet/eslint-config,@quiet/logger,@quiet/common,@quiet/types,@quiet/state-manager,@quiet/backend,@quiet/identity,@quiet/mobile,backend-bundle,helia,@quiet/node-common'
4746

4847
- name: Install pod dependencies
4948
run: |
0 Bytes
Binary file not shown.

3rd-party/tor/darwin/tor

3.29 MB
Binary file not shown.

3rd-party/tor/linux/libcrypto.so.3

901 KB
Binary file not shown.

3rd-party/tor/linux/libssl.so.3

364 KB
Binary file not shown.

3rd-party/tor/linux/tor

36.4 KB
Binary file not shown.

3rd-party/tor/win32/tor.exe

1.17 MB
Binary file not shown.

CHANGELOG.md

Lines changed: 60 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,88 @@
11
# Changelog
22

3-
[unreleased]
3+
## [unreleased]
4+
5+
### Features
6+
7+
### Fixes
8+
9+
* The user profile tab at the bottom of the sidebar now has the correct opacity and layout, and the faint horizontal stripe that appeared on some platforms and window sizes is gone now. [#3184](https://github.com/TryQuiet/quiet/pull/3184)
10+
11+
### Chores
12+
13+
## [7.0.1]
414

515
### Features
616

7-
* Adds hcaptcha verification for protected QSS actions [#2908](https://github.com/TryQuiet/quiet/issues/2908)
8-
* Add ability to adjust image/file auto-download size threshold [#3019](https://github.com/TryQuiet/quiet/pull/3019)
9-
* Messages can now be relayed using QSS [#2805](https://github.com/TryQuiet/quiet/issues/2805)
10-
* Messages can be retrieved from QSS stores [#2806](https://github.com/TryQuiet/quiet/issues/2806)
11-
* Profile photos are now uploaded via IPFS [#3048](https://github.com/TryQuiet/quiet/issues/3048)
1217
* Registers APNS token with push notifications service [#3080](https://github.com/TryQuiet/quiet/issues/3080)
18+
* Adds push notification service [#3086](https://github.com/TryQuiet/quiet/issues/3086)
19+
20+
### Fixes
21+
22+
* Fixed bug around killing old tor process that results in an unhandled exception [#3135](https://github.com/TryQuiet/quiet/issues/3135)
23+
* Adds new mac entitlement to fix arm64 crashes on arm64 binaries [#3180](https://github.com/TryQuiet/quiet/issues/3180)
24+
* Fixed bug that caused a registration loop when QSS_ALLOWED is true but the endpoint is unset [#3140](https://github.com/TryQuiet/quiet/issues/3140)
25+
* Fix delay between sign-in and historical log entry pull from QSS [#3127](https://github.com/TryQuiet/quiet/issues/3127)
26+
27+
### Chores
28+
29+
* Upgrades NodeJS to 20.20.1
30+
31+
## [7.0.0]
32+
33+
### Features
34+
1335
* Create an invite lockbox when using QSS [#3057](https://github.com/TryQuiet/quiet/issues/3057)
1436
* Self-assign the member role when joining with QSS [#3058](https://github.com/TryQuiet/quiet/issues/3058)
1537
* Use LFA-based identity in OrbitDB
1638
* Requests iOS notification permissions when app launches [#3079](https://github.com/TryQuiet/quiet/issues/3079)
1739
* Adds push notification service [#3086](https://github.com/TryQuiet/quiet/issues/3086)
1840

41+
## [6.6.2]
42+
43+
### Fixes
44+
45+
* Fixed crashes on GrapheneOS devices
46+
47+
## [6.6.0]
48+
49+
### Features
50+
51+
* Adds hcaptcha verification for protected QSS actions [#2908](https://github.com/TryQuiet/quiet/issues/2908)
52+
* Messages can now be relayed using QSS [#2805](https://github.com/TryQuiet/quiet/issues/2805)
53+
* Messages can be retrieved from QSS stores [#2806](https://github.com/TryQuiet/quiet/issues/2806)
54+
* Profile photos are now uploaded via IPFS [#3048](https://github.com/TryQuiet/quiet/issues/3048)
55+
1956
### Fixes
2057

21-
* DisableWebDrag added to links listed in an issue [#481] (https://github.com/TryQuiet/quiet/issues/481)
2258
* Fixed being unable to quit application during initial load [#3046](https://github.com/TryQuiet/quiet/issues/3046)
2359
* Fixed trace logger toggles [#3045](https://github.com/TryQuiet/quiet/issues/3045)
24-
* Fixed auth issues when using QSS in AWS [#3128](https://github.com/TryQuiet/quiet/issues/3128)
25-
* Fixed bug around killing old tor process that results in an unhandled exception [#3135](https://github.com/TryQuiet/quiet/issues/3135)
60+
* Handle AWS QSS endpoints in invite links [#3024](https://github.com/TryQuiet/quiet/issues/3024)
2661

62+
## [6.5.1]
2763

2864
### Chores
2965

30-
* Change autoupdater text [#2971](https://github.com/TryQuiet/quiet/issues/2971)
31-
* Fixed issues with testing workflows [#3030](https://github.com/TryQuiet/quiet/issues/3030)
32-
* Add MacOS arm64-specific build jobs to resolve slow UI startup on Apple Silicon [#3146](https://github.com/TryQuiet/quiet/issues/3146)
66+
* Updgrade NodeJS on mobile to 18.20.4
67+
* 16kb compliance changes on android
68+
69+
## [6.4.0]
70+
71+
### Features
72+
73+
* Add ability to adjust image/file auto-download size threshold [#3019](https://github.com/TryQuiet/quiet/pull/3019)
3374

3475
### Fixes
3576

36-
* Handle AWS QSS endpoints in invite links [#3024](https://github.com/TryQuiet/quiet/issues/3024)
77+
* DisableWebDrag added to links listed in an issue [#481] (https://github.com/TryQuiet/quiet/issues/481)
3778
* Fixes dialing on join when using AWS QSS [#3025](https://github.com/TryQuiet/quiet/issues/3025)
3879

80+
### Chores
81+
82+
* Change autoupdater text [#2971](https://github.com/TryQuiet/quiet/issues/2971)
83+
* Fixed issues with testing workflows [#3030](https://github.com/TryQuiet/quiet/issues/3030)
84+
* Add MacOS arm64-specific build jobs to resolve slow UI startup on Apple Silicon [#3146](https://github.com/TryQuiet/quiet/issues/3146)
85+
3986
## [6.3.0]
4087

4188
### Features

packages/backend/src/nest/qss/qss-auth-conn.ts

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { RoleName } from '../auth/services/roles/roles'
2121
import { Injectable } from '@nestjs/common'
2222
import { randomUUID } from 'crypto'
2323
import { SigChain } from '../auth/sigchain'
24+
import { QSSAuthConnStatus } from './qss.const'
2425

2526
@Injectable()
2627
export class QSSAuthConnection extends EventEmitter {
@@ -37,9 +38,14 @@ export class QSSAuthConnection extends EventEmitter {
3738
*/
3839
private _teamId: string | undefined = undefined
3940
/**
40-
* True when connected and operational
41+
* Status of LFA connection
42+
*
43+
* NOT_STARTED = Connection has been created but hasn't been started
44+
* STARTING = Connection is in use but hasn't finished identity handshake
45+
* ACTIVE = Connection is in use and the identity handshake was successful
46+
* INACTIVE = Connection was stopped/disconnected
4147
*/
42-
private _active: boolean = false
48+
private _connStatus: QSSAuthConnStatus = QSSAuthConnStatus.NOT_STARTED
4349
/**
4450
* Random ID for this connection
4551
*/
@@ -89,8 +95,16 @@ export class QSSAuthConnection extends EventEmitter {
8995
return this._joinStatus
9096
}
9197

98+
public get connStatus(): QSSAuthConnStatus {
99+
return this._connStatus
100+
}
101+
102+
/**
103+
* This is true when the connection is starting up or has successfully completed the identity handshake
104+
* and is actively syncing sigchain updates with QSS
105+
*/
92106
public get active(): boolean {
93-
return this._active
107+
return [QSSAuthConnStatus.STARTING, QSSAuthConnStatus.CONNECTED].includes(this.connStatus)
94108
}
95109

96110
public get id(): string {
@@ -127,7 +141,7 @@ export class QSSAuthConnection extends EventEmitter {
127141
if (this._authConnection != null) {
128142
// if we have an existing auth connection for this team check if it has been started and is active, if so
129143
// do nothing
130-
if (this._authConnection._started && this._active) {
144+
if (this._authConnection._started && this.active) {
131145
this.logger.error(`Auth connection already started with QSS for this team`, this.teamId)
132146
return
133147
}
@@ -139,8 +153,8 @@ export class QSSAuthConnection extends EventEmitter {
139153
await this._initNewConn(sigChain)
140154

141155
this.logger.info(`Auth connection established with QSS`)
156+
this._connStatus = QSSAuthConnStatus.STARTING
142157
this._authConnection!.start()
143-
this._active = true
144158
}
145159

146160
/**
@@ -183,9 +197,9 @@ export class QSSAuthConnection extends EventEmitter {
183197
this._joinStatus = JoinStatus.JOINED
184198
}
185199

186-
// handle connected events and update the sigchain/join status
200+
// Handle connected events and update the sigchain/join status
187201
authConnection.on('connected', () => {
188-
this._active = true
202+
this._connStatus = QSSAuthConnStatus.CONNECTED
189203
if (this.sigChainService.activeChainTeamName != null && this._joinStatus !== JoinStatus.JOINED) {
190204
this.logger.debug(`Sending sync message because our chain is initialized`)
191205
const sigChain = this.sigChainService.getActiveChain()
@@ -202,7 +216,7 @@ export class QSSAuthConnection extends EventEmitter {
202216
// set the connection to inactive when disconnecting
203217
authConnection.on('disconnected', event => {
204218
this.logger.info(`LFA Disconnected!`, event)
205-
this._active = false
219+
this._connStatus = QSSAuthConnStatus.INACTIVE
206220
this.emit(QSSEvents.QSS_DISCONNECTED, this.teamId)
207221
})
208222

@@ -285,7 +299,7 @@ export class QSSAuthConnection extends EventEmitter {
285299
} catch (e) {
286300
this.logger.error(`Error while stopping auth connection with QSS for team ID ${this.teamId}`, e)
287301
} finally {
288-
this._active = false
302+
this._connStatus = QSSAuthConnStatus.INACTIVE
289303
}
290304
}
291305
}

0 commit comments

Comments
 (0)