Commit Graph

306 Commits (master)

Author SHA1 Message Date
nielsandriesse 056ec0349a Move ZXingObjC & SwiftCSV to CocoaPods 4 years ago
nielsandriesse 9b527424e6 Ditch pod in favor of own implementation 4 years ago
nielsandriesse cd761d2687 Make new private chat screen use a UITextView 4 years ago
nielsandriesse 6e6e9332bf Improve performance 4 years ago
nielsandriesse 93b3054c17 Update CryptoSwift 4 years ago
nielsandriesse eab26c504c Fix build 4 years ago
nielsandriesse 74bbe067d8 Update Pods 4 years ago
nielsandriesse b2072ebfec Update SessionServiceKit.podspec 4 years ago
nielsandriesse 6e37761d3f Update SignalServiceKit.podspec 4 years ago
nielsandriesse 204ab30dfe Update Podfile 4 years ago
nielsandriesse 728a061c33 Fix podspec issues 4 years ago
nielsandriesse 0979f12bf3 Fix dependency management 4 years ago
nielsandriesse 5a10a155d9 Remove internal testing analytics 4 years ago
nielsandriesse d3125c5039 Fix friend request bugs & improve documentation
We were attaching the user's profile picture URL to friend request messages, and there was a bug in multi device friend request acceptance
4 years ago
gmbnt c0e6da59fa Raise Podfile iOS version 4 years ago
gmbnt 48ef152c49 Glue things together again 4 years ago
ryanzhao ca20f3f979 add a Notification Service Extension for PN with preview 4 years ago
Niels Andriesse a551f7c0ef Use Crashlytics for internal testing 4 years ago
Niels Andriesse 9fd556ca3a Remove Crashlytics 4 years ago
Niels Andriesse 5afba61916 Update Podfile 4 years ago
Niels Andriesse 40bb4ba1a4 Set device link message TTL, clean & add more analytics 5 years ago
Niels Andriesse a604ba5646 Start implementing device linking UI 5 years ago
Niels Andriesse 1e4b88d616 Set up Crashlytics 5 years ago
Niels Andriesse b367ea7ab8 Set up Mixpanel 5 years ago
Niels Andriesse a943be6c97 WIP 5 years ago
Niels Andriesse a234019cb9 Fix conversion to JSON, use ISO8601DateFormatter & clean 5 years ago
Niels Andriesse 52f479a0b1 Implement fancy avatars 5 years ago
Mikunj ab13940252 Added GCDWebServer. 5 years ago
Mikunj de01731316 Removed LokiKit.
Moved all files back into SignalServiceKit.
5 years ago
Mikunj e45afca912 Merge branch 'mikunj/loki-kit' 5 years ago
Mikunj c02ae62a8d Added lokikit 5 years ago
Niels Andriesse 8a605858fd Clean & suppress warnings for dependencies 5 years ago
Mikunj 71cc25fbd6 Updated pod submodules. 5 years ago
Michael Kirk 62023659a1 Revert PromiseKit update for now 5 years ago
Michael Kirk 16c8a1a76e replace SocketRocket with Starscream 5 years ago
Michael Kirk cd70f9d0c3 move to yapdb@signal-release 5 years ago
Michael Kirk 5708754d30 update to sqlcipher4 5 years ago
Michael Kirk d8fda8a7aa Update pods with perf improvements 6 years ago
Michael Kirk 46ebe52a27 update pods 6 years ago
Matthew Chen 5da4f7bb57 Update podfile. 6 years ago
Matthew Chen a224401879 Respond to CR. 6 years ago
Matthew Chen f4c2b5e478 Update cocoapods. 6 years ago
Matthew Chen 0da5a73957 Clean up ahead of PR. 6 years ago
Matthew Chen 04db4ca950 Get SMK tests building and passing. 6 years ago
Matthew Chen 8ae200ac21 Fix build breakage around SignalCoreKit. 6 years ago
Matthew Chen b77528ca0a Fix asserts & logging. 6 years ago
Matthew Chen 0125535d4d Pull out SignalCoreKit. 6 years ago
Michael Kirk 39a73abcee update pods 6 years ago
Matthew Chen 66fc389fba Get SSK tests building and running. 6 years ago
Michael Kirk 60a6128afd Remove SSK tests from Signal-iOS xcode test run
Firstly, they aren't compiling (and haven't been for a while), and thus prevent
iOS tests from running and being written. This can and should be fixed.

Secondly, they don't respect the ubsan.supp file. I'm not sure how to fix this.
We may just not be able to run the SSK tests as part of the Signal-iOS test
runner, and instead have to revert to running them from within a separate test
app.
6 years ago
Michael Kirk 6d92413931 WIP: Run SSK tests
This just configures them to run. They're very broken at the moment.
6 years ago
Michael Kirk 9662b3cb1e Wait a week before nagging when a new release comes out 6 years ago
Matthew Chen a5ffbdebb3 Remove Obj-c proto parser. 6 years ago
Matthew Chen d709a02493 Clean up formatting. 6 years ago
Michael Kirk f633ebe2d9 update socketrocket 6 years ago
Michael Kirk df01c7e63e Update to latest YapDB (with Signal patches applied)
Applied branches:

- mkirk/invalidFinalIndices
- mkirk/upstream-unencrypted-headers

Also fixed up test suite.
6 years ago
Matthew Chen 25a98554b7 Intern JSQMessagesViewController. 6 years ago
Michael Kirk 77997639f5 Use CurrentAppContext instead of compiler flag to affect test behavior 6 years ago
Michael Kirk d423d3487f Disable swift optimizations for tests
Otherwise step-through debugging is untenable

// FREEBIE
6 years ago
Michael Kirk eae2fa27b3 Update pods
// FREEBIE
6 years ago
Michael Kirk 00e5e1b0d6 Fixup some tests
// FREEBIE
6 years ago
Matthew Chen 710d164186 Update minimum iOS version to 9.0. 6 years ago
Joshua Lund 2c18a75d12 Update to the new GitHub organization name 6 years ago
Matthew Chen b64528e817 Respond to CR. 6 years ago
Matthew Chen 122ef91e57 Add protocol context to protocol kit. 6 years ago
Matthew Chen 21a0106722 Update reference to YapDatabase. 6 years ago
Matthew Chen d8f72dbec5 Clean up ahead of PR. 6 years ago
Matthew Chen c5079ed3d7 Add support for key specs. 6 years ago
Matthew Chen dc73342573 Convert databases if necessary. 6 years ago
Matthew Chen 8769fb07cf Write backup to encrypted zip. 6 years ago
Matthew Chen c8351cef57 Update YapDatabase. 7 years ago
Michael Kirk a58f1f385c Share a photo from photos app
Shows the conversation picker, and sends the attachment to that
conversation.

There's still a lot TODO

-[ ] resolve JSQ dependency
-[ ] properly wait for app to load
-[ ] dismiss share extension after send is complete
-[ ] support non jpeg file types
-[ ] Fix device sleep manager

// FREEBIE
7 years ago
Michael Kirk f781199e27 ignore warnings in AFNetworking
// FREEBIE
7 years ago
Matthew Chen e7b32899cb Sketch out SAE load screen; make a number of infrastructure changes. 7 years ago
Michael Kirk 7ca314aa28 Use up-to-date framework friendly OpenSSL
// FREEBIE
7 years ago
Michael Kirk 2c4cf96515 Some proof of framework integration in the sample share extension
// FREEBIE
7 years ago
Michael Kirk a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
7 years ago
Michael Kirk b56f0e0d25 Pod setup for SignalMessaging framework
// FREEBIE
7 years ago
Michael Kirk e38535cbe1 update OpenSSL pod
// FREEBIE
7 years ago
Matthew Chen bb4d94fd1f Respond to CR.
// FREEBIE
7 years ago
Matthew Chen aec6d67df3 Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 73ae5b298c Suppress build warnings for Cocoapods dependencies.
// FREEBIE
7 years ago
Michael Kirk 2e196e21c6 update third party dependencies
// FREEBIE
7 years ago
Matthew Chen 3b9726a4fa Sketch out the GIF picker.
// FREEBIE
7 years ago
Michael Kirk 0ab958f03a cleanup per codereview
- reference OWS OpenSSL
- clarify comments
- fix typo

// FREEBIE
7 years ago
Michael Kirk 72fbb02028 aes-gcm via openssl
// FREEBIE
7 years ago
Michael Kirk 1b8efb5255 CI runs SSK tests
Clean up Makefile cruft

// FREEBIE
7 years ago
Michael Kirk 4b69126d1a Use interned SSK
// FREEBIE
7 years ago
Michael Kirk 878806aa52 [JSQMVC] Add Croatian translations
// FREEBIE
7 years ago
Michael Kirk 3eb90ba383 Disable singleton assert for tests
introduce a new build configuration, used by tests, which disables
singleton asserts

// FREEBIE
7 years ago
Matthew Chen 9e5447f1d4 Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 944cd7beef Show app update nag on launch if necessary.
// FREEBIE
7 years ago
Michael Kirk 11fa08470d [JSQ] Fix: can't dismiss keyboard after sending
// FREEBIE
7 years ago
Matthew Chen 35879046c3 Remove OpenSSL pod.
// FREEBIE
7 years ago
Matthew Chen 1057e40008 Fix OpenSSL cocoapod.
// FREEBIE
7 years ago
Matthew Chen b0005ea932 Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 2e36f41838 Add support for manually activating censorship circumvention.
// FREEBIE
7 years ago
Michael Kirk 557488bc7d return iOS8 support in project files
// FREEBIE
7 years ago
Michael Kirk da58eb18ad partial revert of previous pod update
// FREEBIE
7 years ago
Matthew Chen 67c3bca913 [SSK] Move filename property to TSAttachment.
// FREEBIE
7 years ago
Matthew Chen 96e155c75e Rework appearance of voice messages and audio attachments.
// FREEBIE
7 years ago
Matthew Chen c2cdeb3bcd Remove SCWaveformView.
// FREEBIE
7 years ago
Matthew Chen cb293f286a [SSK] Add SignalAccount class, Extract labels for phone numbers.
// FREEBIE
7 years ago
Matthew Chen 42768294ee Extract labels for phone numbers.
// FREEBIE
7 years ago
Michael Kirk 5d604a796c [JSQMVC] Fixes "floating" edit menu for narrow media items
previously, edit menu was only positioned correctly for text bubbles,
and centered for media bubbles.

It wasn't that noticable for images/videos since those usually extended
to the middle of the conversation view, but with narrower media bubbles
(like arbitrary attachments) this became a bigger problem.

// FREEBIE
7 years ago
Matthew Chen 5250d327e4 [SSK] Remove RedPhone code.
// FREEBIE
7 years ago
Matthew Chen faf75e25c2 [SSK] Remove RedPhone code.
// FREEBIE
7 years ago
Matthew Chen 74f939b520 Remove RedPhone code.
// FREEBIE
7 years ago
Matthew Chen 9db33a9651 Remove RedPhone code.
// FREEBIE
7 years ago
Michael Kirk f29ca7851f Move PureLayout back to cocoapods for now
This introduced some unexpected crashes related to frameworks in Swift.

// FREEBIE
7 years ago
Michael Kirk 0d52a18458 Update dependencies
Also moved PureLayout to Carthage for faster incremental builds

// FREEBIE
7 years ago
Michael Kirk 8adba61b37 intern Pastelog back into Signal.
Not worth the cocaopods/framework/project mgmt machinery for making
changes to 1 class.

// FREEBIE
7 years ago
Michael Kirk 99c982fbb2 change ZXing to framework for faster incremental compiles in xcode
// FREEBIE
7 years ago
Michael Kirk 8f7e0a8a5b [SSK] Fix crash-on-launch for older installs
populating the de-duping index assumes authorId is always set for
incoming messages, but this was not always the case.

// FREEBIE
7 years ago
Matthew Chen c35c118dcd Respond to CR.
// FREEBIE
7 years ago
Michael Kirk be9725c7ce [SSK] lost changes needed to fixup 'charlesmchen/webrtcByDefault'
Previous commit referenced no-longer existent SHA

// FREEBIE
7 years ago
Matthew Chen f4453eb995 Enable WebRTC-based audio and video calls by default.
// FREEBIE
7 years ago
Matthew Chen 3c3f782e7d Clean up prekey usage.
// FREEBIE
7 years ago
Matthew Chen c0f52d1de9 [SSK] Mark "attempting out" messages as "unsent" on app launch
// FREEBIE
7 years ago
Matthew Chen 21e55d3be5 Mark "attempting out" messages as "unsent" on app launch.
// FREEBIE
7 years ago
Matthew Chen fcf1d7af97 Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 2b64d94bad Update SignalServiceKit pod.
// FREEBIE
7 years ago
Matthew Chen e798964308 Update SignalServiceKit pod.
// FREEBIE
7 years ago
Matthew Chen 06a775b41a Improve the call status messages in conversation view.
// FREEBIE
7 years ago
Michael Kirk 947d345837 SSK update to include latest master (which now includes CallKit)
// FREEBIE
7 years ago
Michael Kirk d3e6747499 Merge remote-tracking branch 'origin/master' into feature/webrtc 7 years ago
Michael Kirk 4e72ab92c8 Prevent session corruption by using a single serial queue for encrypt and decrypt
coordinate SignalProtocol encryption/decryption on a single serial
queue. Previously message sending encrypted on the sending thread, while
message receiving decrypted on the main thread.

// FREEBIE
7 years ago
Matthew Chen 4a65a88512 Rework new call view.
// FREEBIE
7 years ago
Matthew Chen 26a6e391b3 Fix pod.
// FREEBIE
7 years ago
Michael Kirk a17873291b Fix up tests
// FREEBIE
7 years ago
Michael Kirk 647b2b37e9 WIP: WebRTC calling
* Ensure NotificationsManager has dependencies
    Otherwise it's easy to mess up the order of the required dependencies.
* move AccountManager into Environment, it's heavy to construct

// FREEBIE
7 years ago
Matthew Chen 2dac6c888a Update SignalServiceKit pod.
* Fetch messages when app becomes active.
8 years ago
Michael Kirk ddba843d44 Censorship circumvention in Egypt and UAE
* domain fronting
* non-websocket message fetching

// FREEBIE
8 years ago
Michael Kirk c4baf5a625 [SSK] Avoid bricking signal if a key is temporarily unreadable
// FREEBIE
8 years ago
Michael Kirk 32a05dabce [SPK] Update SignalProtocolKit (AxolotlKit) (#1549)
// FREEBIE
8 years ago
Josh Schneier 896dd026d2 Remove DJWActionSheet 8 years ago
Michael Kirk 7120ca1192 Make sure we're laying out contact cell after assigning avatar
// FREEBIE
8 years ago
Michael Kirk 0aa226f3d1 [SSK] If a new message type is introduced, ignore it
rather than printing an empty bubble.

// FREEBIE
8 years ago
Michael Kirk de7752ab20 Revert 50abf4d02d
The real problem was addressed (or, worked around) here:
1eb234e8ba

// FREEBIE
8 years ago
Michael Kirk ee29fff0da [SSK] Default to blocking changed Safety Numbers
// FREEBIE
8 years ago
Michael Kirk 50abf4d02d [JSQMVC] Fix crash on delete when under load.
Hack to fix https://github.com/jessesquires/JSQMessagesViewController/issues/1885

This doesn't happen often, but is reproducible under simulated message
churn (~50 insert/update/deletes randomly spaced over 10 seconds).

During performBatchUpdates, the collectionViewLayout can call
layoutAttributesForElementsInRect which can reference the just-deleted
item's
view. (The view presumably hasn't been deleted yet, but will be by the
time
performBatchUpdates is complete).

It's opaque how layoutAttributesForElementsInRect get's it's list of
views. I
can only speculate how this works based on debugging, but it seems that
the
CollectionFlowLayout keeps an internal list of item frames, which when
crashing
still contain items corresponding to the to-be-deleted items.

In any case, it seems like a bug that JSQMVC would ever attempt to get
layoutAttributes for an item which doesn't exist in the datasource.
8 years ago
Michael Kirk 689df1be37 Handle key change in group send
// FREEBIE
8 years ago
Michael Kirk 33f6a95520 Explain send failures for text and media messages
fixes #1231

Motivation
----------
Previously when messages failed to send, there was no reason given.
Furthermore, when media messages failed to send there was no indication
that any attempt to send the message even occurred, nor a retry
dialog.

UX Changes
----------
- Show "uploading" status for media
- Show specific error message in retry-send dialog
- Only scroll to bottom when new message is inserted
- Show specific errors when group creation fails

Code Changes
-----------
- Updated incorrect references to TSMessageAdapters which were actually
  references to OWSMessageData
- MessageSender was extracted from SSK MessagesManager
- access MessagesManager as property
- idiomatic init/properties for Env
- log contact intersections
- Move scroll-to-bottom animation to main thread.

// FREEBIE
8 years ago
Michael Kirk 89ee74f134 Update SSL to 1.0.2j (#1409)
// FREEBIE
8 years ago
Michael Kirk 49de772997 Fix slow reloading conversation view. (#1397)
Fix animation memory leak exacerbated every time you reload a
conversation with expiration timers.

Stop animation on cells that aren't currently being displayed. This is
relatively minor compared to the above, but still, no reason to waste
cycles.

// FREEBIE
8 years ago
Michael Kirk 50ce283582 Fix empty bubble when setting disappearing message timer in a thread to
yourself.

fixes #1393

// FREEBIE
8 years ago
Michael Kirk ee0cce75e8 Disappearing Messages
* Per thread settings menu accessed by tapping on thread title

  This removed the toggle-phone behavior. You'll be able to see the phone
  number in the settings table view.

  This removed the "add contact" functionality, although it was already
  broken for ios>=9 (which is basically everybody).

  The group actions menu was absorbed into this screen

* Added a confirm alert to leave group (fixes #938)

* New Translation Strings
* Extend "Add People" label to fit translations.
* resolved issues with translations not fitting in group menu

* Fix the long standing type warning where TSCalls were assigned to a TSMessageAdapter.

* Can delete info messages

  Follow the JSQMVC pattern and put UIResponder-able content in the
  messageBubbleContainer. This gives us more functionality *and* allows us
  to delete some code. yay!

  It's still not yet possible to delete phone messages. =(

* Fixed some compiler warnings.

* xcode8 touching storyboard. So long xcode7!

* Fixup multiline info messages.

  We were seeing info messages like "You set disappearing message timer to
  10" instead of "You set disappearing message timer to 10 seconds."

  Admittedly this isn't a very good fix, as now one liners feel like they
  have too much padding.

   If the message is well over one line, we were wrapping properly, but
  there's a problem when the message is *just barely* two lines, the cell
  height grows, but the label still thinks it's just one line (as evinced
  by the one line appearing in the center of the label frame. The result
  being that the last word of the label is cropped.

* Disable group actions after leaving group.

// FREEBIE
8 years ago
Michael Kirk 11a586a835 New Fingerprint Format
Rather than verifying eachothers keys separately, you now verify the
privacy with your recipient by sharing a single composite number or
QRCode.

This is a breaking change, in coordination with Desktop and Android.

UX
--

Fingeprint is no longer in line with identity key error. Instead you
have the option of going to the full-screen safety number verification
experience.

Overhauled fingerprint design
-----------------------------

* use same modal dismiss button as elsewhere
* remove fingerprint from settings.
* quick slide in animation vs slow fade
  * existing was painfully slow
  * blur effect is better metaphor for something slide over top
  * anyway there was a rendering glitch in the end of fade where
    underlying navbar would "snap" out

Also Fixed
----------
Always provide a name string for contact

* Centralize all the nil-checking
* Fall back to "unknown contact"

allow multi-line error messages

// FREEBIE
8 years ago
Michael Kirk 3e7e67e276 Async migrations framework
* nonblocking by default
* track success of each migration independently

// FREEBIE
8 years ago
Michael Kirk 3b687da0ec Upgrade SSK to setup db async where possible
fixes #1358

// FREEBIE
8 years ago