Skip to content

7.3.1#3309

Open
adrastaea wants to merge 46 commits into
developfrom
7.3.1
Open

7.3.1#3309
adrastaea wants to merge 46 commits into
developfrom
7.3.1

Conversation

@adrastaea

Copy link
Copy Markdown
Collaborator

Pull Request Checklist

  • I have linked this PR to a related GitHub issue.
  • I have added a description of the change (and Github issue number, if any) to the root CHANGELOG.md.

(Optional) Mobile checklist

Please ensure you completed the following checks if you did any changes to the mobile package:

  • I have run e2e tests for mobile
  • I have updated base screenshots for visual regression tests

holmesworcester and others added 30 commits May 20, 2026 03:12
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
 - @quiet/desktop@7.2.0-alpha.0
 - @quiet/mobile@7.2.0-alpha.0
7.2.0 upgraded the native iOS Tor.framework from 405.9.1 (Tor 0.4.5.9)
to 409.5.1 (Tor 0.4.9.5) via the ios-tor branch (PR #3131). This is the
only iOS-specific change in 7.2.0 and is the prime suspect for the
join->leave->join hang reported in #3237, where the post-foreground Tor
control port becomes unresponsive.

This restores the iOS Tor setup to its 7.1.0 state so a 7.2.0 release
can be cut to test whether the regression is caused by the framework
upgrade. The upgrade remains on develop; this revert is 7.2.0-only.

Restored verbatim from @quiet/mobile@7.1.0:
- Podfile         - pin Tor to v405.9.1 podspec; static (not dynamic)
                    framework linkage + original pre_install hook
- Podfile.lock    - Tor 409.5.1 -> 405.9.1 (no other pod changed)
- AppDelegate.h   - <Tor/Tor.h> umbrella import (409 split headers
                    do not resolve against 405)
- TorHandler.swift - restore @objc(TorHandler) annotation

project.pbxproj and xcscheme changes are left as-is: they are
build-env/toolchain tweaks, not functionally part of the Tor swap.

Requires `pod install` + a native iOS rebuild on macOS to verify.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
 - @quiet/desktop@7.2.0-alpha.1
 - @quiet/mobile@7.2.0-alpha.1
…#3236) (#3238)

Leaving a community on Android crashed the whole app with an uncaught
java.lang.IllegalStateException "Default FirebaseApp is not initialized"
at FirebaseMessagingModule.deleteToken. Confirmed via on-device logcat:
the exception kills the process, which is the reported "app turns itself
off" / freeze / GrapheneOS error.

Root cause: google-services.json is gitignored and stored encrypted, but
the decrypt step (.github/secrets/decrypt_secrets.sh) was only wired into
the iOS workflow. Both Android workflows build with no google-services.json,
so the com.google.gms.google-services plugin is skipped, FirebaseApp never
auto-initializes, and FirebaseMessaging.getInstance() throws synchronously
on leave. Introduced by a10e467 (Android Push Notifications, #3188).

Changes:
- FirebaseMessagingModule.kt: wrap getToken/deleteToken so a synchronous
  getInstance() failure rejects the promise instead of crashing. The JS
  leaveCommunity saga already catches the rejection.
- decrypt_android_secrets.sh: new Linux-safe script that decrypts
  google-services.json (no macOS/iOS tooling). Skips cleanly when
  ANDROID_FIREBASE_KEY is absent (e.g. fork PRs).
- decrypt_secrets.sh: delegate the Android config to the new script so
  the iOS and Android paths share one source of truth.
- mobile-build-apk.yml / mobile-deploy-android.yml: run the decrypt step
  before the gradle build in every Android job.
- build.gradle: fail the build loudly when google-services.json is missing
  for a release build, instead of silently shipping a crashing APK.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
 - @quiet/desktop@7.2.0-alpha.2
 - @quiet/mobile@7.2.0-alpha.2
…ing backend screen (#3241)

The backend can stall during startup before any other screen is
reachable — the "Starting backend" splash is the only thing the user
sees. Alpha/dev testers hitting that stall currently have no way to
capture diagnostics. Surface the same dev/alpha-only "Share logs" and
"Share all data" helpers already on the joining screen (PR #3213) here
too.

- Add two TouchableWithoutFeedback links below the version string in the
  Splash component, gated by Config.NODE_ENV !== NodeEnv.Production
  exactly like the ConnectionProcess (joining) screen.
- Tap handlers reuse sendLogs() and shareAllData() as-is.
- Add Splash.test.tsx with dev/alpha gating tests (production hides,
  development and staging show), modeled on ConnectionProcess.test.tsx.
- Extend the Splash Storybook story with a documented dev/alpha entry.
- Note the extension in the mobile 7.2.0 CHANGELOG.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
)

Add entries that landed on 7.2.0 between 7.1.0 and the alpha.2 publish
but were missing from the per-package and root CHANGELOGs:

- feat(mobile): Splash-screen "Share logs" / "Share all data" (#3241)
- fix(android): leave-community Firebase crash (#3238)
- fix: privacy policy link on join-server acceptance screen (#3186)
- fix(android): product-flavor .env loading (#3197)
- chore(desktop): Electron 32 upgrade (#3119)

The iOS Tor.framework revert is deliberately omitted: 7.2.0 reverts to
the same 405.9.1 framework 7.1.0 shipped, so net change vs 7.1.0 is zero.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ash share-logs links (#3250)

#3241 added dev/alpha-only "Share logs" / "Share all data" links to the
Splash component but didn't refresh the snapshots in JoinCommunity and
CreateCommunity, which both render <Splash /> when not ready. The same
stale snapshots are on the 7.2.0 branch; refreshing them here unblocks
this PR and the next merge of develop back to 7.2.0 will pick them up.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
 - @quiet/desktop@7.2.0
 - @quiet/mobile@7.2.0
 - @quiet/desktop@7.1.1-alpha.0
 - @quiet/mobile@7.1.1-alpha.0
This reverts commit 8031bb5.
 - @quiet/desktop@7.3.0-alpha.0
 - @quiet/mobile@7.3.0-alpha.0
…#3257)

* Hide private channel toggle when non-admin

* Hide add member from context menu when not owner and handle errors on create channel, update auth to block create role to admin and block role modifications outside of member

* Update CHANGELOG.md

* Update qss

* Update multipleClients.test.ts

* Upate modules to main
 - @quiet/desktop@7.3.0-alpha.1
 - @quiet/mobile@7.3.0-alpha.1
* skip sync seq update from backend when app is backgrounded to avoid skipping fetches

* update changelog
 - @quiet/desktop@7.3.0-alpha.2
 - @quiet/mobile@7.3.0-alpha.2
* allow android to still request notification permission even with qps disabled

* update changelog

* fix dispatched action type handling in saga tests
…st problems on IOS 26 (#3267)

* Mark the UI as needing compatibility updates

* Update CHANGELOG.md

* Remove unintended plist key
islathehut and others added 16 commits June 4, 2026 11:42
 - @quiet/desktop@7.3.0-alpha.3
 - @quiet/mobile@7.3.0-alpha.3
 - @quiet/desktop@7.3.0
 - @quiet/mobile@7.3.0
 - @quiet/desktop@7.3.1
 - @quiet/mobile@7.3.1
noise submodule has no lockfile and installs via npm i; a newer
@libp2p/crypto pulls @libp2p/interface@3 + uint8arraylist@3 alongside
the v2 the submodule targets, leaving two incompatible copies that fail
its tsc build. Inject npm overrides at build time to pin both to v2.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The "hide private channel ui" changes hide private channels and the
create-channel privacy toggle, breaking RTL and e2e tests that assert
that behavior. Skip them (with TODOs) and default the e2e addNewChannel
helper to not expect the toggle so public-channel flows still pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
 - @quiet/desktop@7.3.2
 - @quiet/mobile@7.3.2
 - @quiet/desktop@7.3.3
 - @quiet/mobile@7.3.3
 - @quiet/desktop@7.3.4
 - @quiet/mobile@7.3.4
@islathehut islathehut changed the base branch from 7.3.0 to develop June 26, 2026 07:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants