Commit Graph

102 Commits (0ca497846bdcf255e89ef46b2d18fa2bc97bea42)

Author SHA1 Message Date
Matthew Chen 6b8e189f45 Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Michael Kirk 72fbb02028 aes-gcm via openssl
// FREEBIE
8 years ago
Michael Kirk 3d9796db77 Debug actions for calling
For testing stale hangup/busy messages

Extracted MessageSender promise API
Moved call debug actions to their own page

// FREEBIE
8 years ago
Matthew Chen 9c0f94f1c0 Fetch profiles from profile manager. Update profile manager with profile fetch results.
// FREEBIE
8 years ago
Michael Kirk 8a4712bf4c Only access localNumber on AccountManager and cache it
// FREEBIE
8 years ago
Matthew Chen 72ea096970 Sketch out the profile view.
// FREEBIE
8 years ago
Matthew Chen b4f348ad14 Add script to extract and gather analytics event names.
// FREEBIE
8 years ago
Michael Kirk 4d8429186d Store undecrypted envelopes before doing any processing.
This lets us clear the server side queue immediately, and paves the way
for retry, give up logic.

// FREEBIE
8 years ago
Matthew Chen f0cecfad11 Surface memory leaks by logging the deallocation of view controllers.
// FREEBIE
8 years ago
Matthew Chen 958a8b4c80 Instrument CallService.
// FREEBIE
8 years ago
Michael Kirk a5f067936c migration to fix any half-registered users
// FREEBIE
8 years ago
Michael Kirk d15da6e6d4 fix bubble calculator tests
// FREEBIE
8 years ago
Matthew Chen c817346ee3 Fix “timer circular reference” leaks.
// FREEBIE
8 years ago
Michael Kirk 39563ab8c2 present from signalsViewController so users don't get confused by being
dropped into a different thread when the call is over.

e.g. chatting with Alice, but Bob calls. When I end the call with Bob It
would be too easy to fire off a message assuming it's going to Bob.

// FREEBIE
8 years ago
Michael Kirk 36c09aeb84 cleanup ahead of PR
// FREEBIE
8 years ago
Michael Kirk ff93732ed7 WIP: fix call from contacts when signal hasn't been launched yet 8 years ago
Matthew Chen bc63a72c25 Add verification state change messages.
// FREEBIE
8 years ago
Matthew Chen ceb210748e Sketch out OWSIdentityManager.
// FREEBIE
8 years ago
Michael Kirk 9a2f218bf3 show SN confirmation before adding to group
* Extract SN confirmation dialog

// FREEBIE
8 years ago
Matthew Chen d065c95270 Hide the socket status view when censorship circumvention is active.
// FREEBIE
8 years ago
Michael Kirk 1a03be8ae7 Fetch safety number upon entering thread
* uniform method to get recipients in group/contact thread
  * use it to clean up markAsSeenJob

// FREEBIE
8 years ago
Michael Kirk bb25d2beb6 IdentityKeyStore changes
1) Always accept keys from incoming messages

2) Block sending only if it's a recent change, or if always
   block is enabled

// FREEBIE

// FREEBIE
8 years ago
Matthew Chen eeb510b903 Respond to CR.
// FREEBIE
8 years ago
Michael Kirk 929ba06263 Merge branch 'hotfix/2.11.4' into mkirk/fix-push-sync-job 8 years ago
Matthew Chen 2cffe78c22 Sync push tokens to service after every app upgrade.
// FREEBIE
8 years ago
Matthew Chen 0c4351a908 Use SignalAccount class to sync contacts.
// FREEBIE
8 years ago
Matthew Chen 6801963a1b Add SignalAccount class.
// FREEBIE
8 years ago
Matthew Chen 4b2bdd9b52 Use audio attachment player in attachment preview dialog.
// FREEBIE
8 years ago
Michael Kirk d9e3e87735 New downloading progress view (#2006)
Replace previous "scary" warning-style attachment notifications with
something less alarming.

Includes file name and file type emoji when discernable.

// FREEBIE
8 years ago
Matthew Chen bf9ae552a3 Ignore hardware mute switch during video playback in attachment approval view.
// FREEBIE
8 years ago
Matthew Chen fc33b00830 Add animated image preview to attachment approval dialog.
// FREEBIE
8 years ago
Matthew Chen 4649fcfd20 Add "oversize test message" view.
// FREEBIE
8 years ago
Matthew Chen 9db33a9651 Remove RedPhone code.
// FREEBIE
8 years ago
Matthew Chen bdc729ad29 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 012dd3d192 Add “nag” to call settings view that prods the user to change their privacy settings after calls.
// FREEBIE
8 years ago
Matthew Chen 01d2582074 Add and honor the “CallKit Privacy” setting.
// FREEBIE
8 years ago
Matthew Chen a52771e286 Respond to CR.
// FREEBIE
8 years ago
Michael Kirk bbfd9ba74d Place Signal/Redphone calls from system contacts
// FREEBIE
8 years ago
Matthew Chen d294557bdd Rework concurrency in the signaling logic.
// FREEBIE
8 years ago
Matthew Chen 699b364ec7 Show/hide call view controls in remote video mode if user taps screen.
// FREEBIE
8 years ago
Matthew Chen a65d3b7c4e Add video-related views.
// FREEBIE
8 years ago
Michael Kirk a89bde933d Respect silent-switch pre-CallKit
8 Cases considered:

(Silent Switch toggled vs. Silent Switch not-toggled)
x (App in Foreground vs. App in Background)
x (CallKit vs. NonCallKit)

CallKit already does the "right thing"

// FREEBIE
8 years ago
Michael Kirk dbb29d7d7e Don't require recording permissions until call is ringing.
We do this by manually managing the RTCAudioSession.
Unfortunately to do this we have to include a couple of RTC headers not
exported by the default build of WebRTC.framework (see: Libraries/WebRTC)

// FREEBIE
8 years ago
Matthew Chen 4a65a88512 Rework new call view.
// FREEBIE
8 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
8 years ago
Michael Kirk 90daf60c56 Fix travis build
* Add generated Signal-Swift.h to test search header path. You must do
  this when testing an ObjC clas with swift dependencies (PushManager. in this case)
* Word on the street is that XCode8.2 is less flaky for running simulator tests

// FREEBIE
8 years ago
Michael Kirk ddba843d44 Censorship circumvention in Egypt and UAE
* domain fronting
* non-websocket message fetching

// FREEBIE
8 years ago
Michael Kirk f30c733ef3 Custom contact picker for invite flow
Preferred to the system contact picker because:
1. removes "group" clutter from header, unlikely to be used much.
2. can select while searching
3. fixes unified contact problem where e.g.
   If only one of your contact has a phone number, they appear disabled
   when choosing to invite via messaging, even though the other linked
   contact *does* have a phone number.
4. label users w/o email so it's clearer why they can't be selected

Also:

* Twitter share-image was too tall

// FREEBIE
9 years ago
Michael Kirk 06ca3c9290 Mail and Message invite flow
* Spruce up compose contact-picker
- Fix random sorting for contacts missing first or last name
- Add Avatar to contact picker
- de-dupe contacts

Better copy for INVALID_MESSAGE error.

// FREEBIE
9 years ago
Michael Kirk c6a2fbff23 Tapping corrupted message opens "session reset" activity
This action was previously hidden under a secret longpress gesture in
the fingerprint view controller.

Ideally we'd never receive corrupted messages, but at the point we do,
our sessions are out of whack, and the only recovery option is to reset.
Let's help our users do that.

* Resetting session sends END_SESSION message

  Otherwise the remote side wouldn't know we reset the session and will
  send us a message on the old ratchet.

* Don't reset their identity key when resetting sender ratchet.

* Updated translations

// FREEBIE
9 years ago
Michael Kirk 1dd06a5e6c Fix registration flow / Keep push tokens in sync
* Separate registering an account from registering for push notifications
  * Allows us to complete registration without prompting user for
    notification settings.

UX Changes
----------
* Automatically keep push tokens in sync on startup.
  Push tokens *can* change, though they rarely do. It happens more often
  for people switching between appstore/beta builds.

  fixes #1174

* Show alert with registration failure
  * add secret 8-tap debug log gesture to registration flow

* Move registration to separate flow
  * don't see flash of inbox when first launching

* show useful error messages when given wrong code / no code

* remove background fetch
  We werent using it, but only relying on a side effect of it which is
  no longer necessary.

Code Changes
------------

* More registration logging.

* Install PromiseKit with carthage

  Our dependencies are not yet framework compatible, so we can't use
  cocoapods.

* Merge preferences util "category" into superclass.

  The immediate reason for this is Swift interop was assuming optional
  types were not optional, and exploding when a value was nil.

  This is clearer anyway, since we were treating it like a subclass, and
  it was the only thing using the class anyway.

* auto-genstrings now searches *.swift (and *.h, which was previously
  broken) for translateable strings.

// FREEBIE
9 years ago
Michael Kirk 1e417ea93f Longpress to copy safety numbers
Nothing else to see here. =)

 ༼ つ ◕◡◕ ༽つ [swift]

// FREEBIE
9 years ago