As of 86b8eb08b8, the database initialization no longer has
asychronous components. The current code returns an already-resolved
promise in all situations, so remove the asynchronous infra entirely.
I added these tests in da322d3bf9, but we
decided that they're not worth it.
Also, it seems I forgot to add them to the project! So they were never
run anyway, outside of the times I ran them while developing.
_I recommend reviewing this with whitespace changes disabled._
This hides the "Approve New Members" section if the group link is
disabled, as it doesn't really make sense to include it.
See [#5319][0].
[0]: https://github.com/signalapp/Signal-iOS/pull/5319
* Split OWSSignalService into a swift protocol and implementation, migrated from objc
* Put OWSSignalService under SSKEnvironment and use mock in mock environment
* Rename from basename + impl to protocol + basename
* extend mock functionality a bit
* pr feedback
This view controller expects to be passed an instance that already
exists. The instanced created on this line is therefore created but
never read. Avoid creating it to save some CPU cycles.
...so it can be constrained to not overlap the call header or call
controls when in larger font sizes. Additionally, the new view uses a
smaller font, and a horizontal layout for the icon + label when on
small screens.
With more information on the group call lobby screen, it doesn't make
sense to have the entire camera feed replaced with a "Call is Full"
message. Instead, disable the Join button as before, and show a toast
if the user taps on it anyway.
Title: name of the group, unless someone is presenting
Status, when in a call:
- "Reconnecting",
- "Ringing Ahmed, Bianca, and N others",
- "No one else is here", or
- (call timer)
Status, before joining the call:
- "Akiko, Bharat, and N others are in the call",
- "Signal will ring Alex, Blue, and N others", or
- "Amy, Brian, and N others will be notified"
This allows hiding the members button when there is no one in the
call. It will also be useful for the redesigned lobby screen where the
info is in the middle of the screen instead of at the top.
While this text should still be kept terse, larger font sizes or other
languages can still end up wanting more horizontal space. The vertical
size is fixed so it doesn't mess up the layout, though.
This fixes a bug that was [reported on the forums][0]. If you:
1. Open a chat.
2. Quote a message.
3. Go back to the chat list.
4. Open that chat again.
Previously, the sticker button would be shown. This is because the
`quotedReply` member wouldn't be set yet. This fixes that by
initializing `quotedReply` with the `ConversationInputToolbar`.
[0]: https://community.signalusers.org/t/beta-feedback-for-the-upcoming-ios-5-50-release/46594/4
• rename VAlignTextView to MediaTextView.
• rename ImageEditorPaletteView to ColorPickerBarView.
• move text style declarations from ImageEditorTextItem to MediaTextView because
those would no longer be specific to image editor.
• extract TextToolbar from ImageEditorViewController to a standalone public class
that is supposed to work in conjunction with MediaTextView.
Until the main app actually handles these (they are
group-call-ring-related), iOS will think we're trying to abuse the
handoff mechanism to perform non-calling work, and start throttling
relayed messages. Just disable that for now, to be re-enabled soon.
* Improve phone number parsing.
Previously, if you entered a phone number
including a country code during registration you'd
have a duplicate country code. Signal on Android
did not have this bug because it uses a different
API inlibphonenumber. This diff changes iPhone to
use the same API, which is smart enough to remove
the country code from the phone number the user
entered if needed.
Co-authored-by: Evan Hahn <evanhahn@signal.org>
Speculative fix for a hard-to-reproduce issue where the call view ends
up laid out in landscape and then clipped to portrait, rather than
being forced to portrait in the first place.
Possibly fallout from 856ced4062, which replaced an explicit call to
our UIDevice.ows_setOrientation(). We don't want to revert to that
because it messes up legitimate orientation detection.
The non-lazy map and filter always make a new array or dictionary,
which is often consumed immediately into a Set. Using `lazy` avoids
that intermediate allocation, as well as the need to loop over the
array or dictionary a second time.
This is a micro-optimization, but several of these accessors are
accessed fairly frequently, so we might as well make them faster.
* update MobileCoin to release v1.2.x, add new 1.2.x testNet enclave
values, migrate deprecated function calls to new alternatives.
* Add new top-level error to convertMCError
use staging for now
* Add mainnet enclave values, revert production/staging environment change from testing. Add comment about libmobilecoin static libraries needing to be built on signal build machine.
* add 2.x series enclave measurements
* Add intel hardening advisory for the new 2.x series of enclaves. This hardening advisory being added has no effect on the 1.2.x enclaves, but is required for the 2.x enclaves.
* Remove commented enclave measurements, change Logger.error to Logger.warn (some failed requests is expected for long-living connections), Add in new testNet enclave measurements
* Update to LibMobileCoin v1.2.2
Co-authored-by: Nora Trapp <nora@signal.org>
Before this change:
- SignalTests -> project deployment target
- SignalPerformanceTests -> project deployment target
- SignalUITests -> overridden to iOS 15.0
- SignalServiceKitTests -> overridden to iOS 15.5
After this change, all four use the project’s deployment target.
Make `encodeE164s` a static method since it doesn’t need to access any
details from the operation instance.
Also move the test to SignalServiceKitTests.
This change should have no obvious user impact.
When the application's state changes, we fire off a notification. But
we don't actually listen to that notification, as far as I can tell—it
looks like the last listener was removed in 2019 (in
680b844f3c).
This removes that notification.
`git grep -i ReportedApplicationStateDidChange` yields no results after
this change.