[BREAKGLASS] A private messenger for iOS. https://signal.org
Go to file
Max Radermacher 39d85c255a
Persist updates as part of fetch profile promise
As far back as 823927685d, the profile
updates were asynchronous. At that point it time, it didn’t matter
because there wasn’t a completion block; callers couldn’t know when the
updates *should* be complete, so it didn’t matter when they finished.

However, in 856fef7664 a Promise result
was added, presumably to allow callers to know when it was safe to check
GV2 capabilities. Now, a cursory reading of the API would suggest that
all changes were persisted once the Promise was resolved.

This can result in bugs, such as [this example][0], where we fetch the
profile and then check a capability in the database. Even though it’ll
*probably* be the case, there’s no guarantee that the updated profile
will be persisted when we try to fetch the latest capability.

[0]: 465d00664b/Signal/src/ViewControllers/AppSettings/Donations/BadgeGiftingConfirmationViewController.swift (L69-L88)
2022-10-27 19:54:24 -07:00
.github Cancel old GitHub Actions when updating a PR 2022-10-21 10:39:08 -07:00
fastlane Update release notes 2022-10-26 14:19:36 -07:00
Instruments added missing Signalyzer file (#4017) 2022-02-21 08:07:21 +01:00
Pods@f9bb3f19df Update SignalCoreKit 2022-10-24 23:28:33 -07:00
Scripts Properly handle unregistered recipients during sender key sends 2022-10-20 15:39:05 -07:00
Signal "Bump build to 6.1.0.1." (nightly-10-27-2022) 2022-10-27 04:00:12 -07:00
Signal.xcodeproj Wire up the remote megaphone model to a view 2022-10-26 17:56:14 -07:00
Signal.xcworkspace Fix file header template (and a violation) 2022-10-13 15:28:18 -07:00
SignalMessaging Remove unused string/data comparison methods 2022-10-27 18:46:22 -05:00
SignalNSE "Bump build to 6.1.0.1." (nightly-10-27-2022) 2022-10-27 04:00:12 -07:00
SignalServiceKit Persist updates as part of fetch profile promise 2022-10-27 19:54:24 -07:00
SignalShareExtension "Bump build to 6.1.0.1." (nightly-10-27-2022) 2022-10-27 04:00:12 -07:00
SignalUI [Payments] Show alert if client is outdated 2022-10-25 15:43:43 -07:00
SignalUITests Import SignalMessaging where it’s needed 2022-10-24 10:19:06 -07:00
ThirdParty Update to RingRTC v2.21.2 2022-10-06 15:34:21 -07:00
.clang-format Prefer clang-format for sorting #import/#include 2022-08-05 08:01:03 -05:00
.gitattributes Supporting diffing of localizablestrings. 2015-09-14 12:26:47 +02:00
.gitignore Remove "intermediates" flag from SDS codegen scripts 2022-07-05 11:52:00 -05:00
.gitmodules Convert to just using CocoaPods for dependencies 2020-01-02 12:03:57 -08:00
.ruby-version Update to ruby 2.6.9 2022-01-10 10:50:09 -06:00
.swiftlint.yml Disable SwiftLint on third-party files 2022-10-06 15:16:11 -07:00
.xcode-version Use Xcode 13 for nightly builds 2021-08-20 15:36:46 -07:00
BUILDING.md Update community forum link in build instructions 2022-09-15 15:58:15 +00:00
CONTRIBUTING.md Mention beta feedback forum in bug report info 2022-10-12 09:02:23 -05:00
Gemfile Remove cocoapods-binary 2022-04-26 09:20:14 -07:00
Gemfile.lock Update Fastlane from 2.210.0 to 2.210.1 2022-09-23 09:23:59 -07:00
LICENSE Update license. 2017-04-11 18:09:16 -04:00
MAINTAINING.md PR Feedback 2020-01-02 12:06:44 -08:00
Makefile Show progress during make dependencies 2022-01-27 09:39:48 -08:00
Podfile [Payments] Update the MobileCoin dependency to the latest 1.2.2 release 2022-08-22 13:08:40 -07:00
Podfile.lock Update SignalCoreKit 2022-10-24 23:28:33 -07:00
README.md Remove call for public translations 2022-07-20 10:54:32 -05:00

Signal iOS

Signal is a free, open source, messaging app for simple private communication with friends.

Available on the App Store

Also available on Android and Desktop.

Questions?

For troubleshooting and questions, please visit our support center or unofficial community forum.

Contributing Bug Reports

We use GitHub for bug tracking. Please search existing issues and create a new one if the issue is not yet tracked. For Android users, please use the Signal for Android issue tracker.

Contributing Code

Instructions on how to setup your development environment and build Signal-iOS can be found in BUILDING.md. Other useful instructions for development can be found in the Development Guide wiki page. We also recommend reading the contribution guidelines.

Contributing Ideas

Have something you want to say about Signal Foundation projects or want to be part of the conversation? Get involved in the community forum.

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

License

Licensed under GPLv3

Copyright 2014-2022 Open Whisper Systems

Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc., registered in the U.S. and other countries.