Commit Graph

275 Commits (e45d63e862276e2ae72ade77ea6c9e63c05b1034)

Author SHA1 Message Date
Matthew Chen 8cb3e5d35d Fix edge cases around oversize test messages.
// FREEBIE
8 years ago
Matthew Chen 9cc4521d07 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 227fd5280d Resize conversation view cells as necessary.
// FREEBIE
8 years ago
Matthew Chen f7bd813c9f Restore the date headers to the conversation view cells.
// FREEBIE
8 years ago
Michael Kirk 3080cb512b Compose View: collation index and group search
- Include table index for contacts
- Fix extra spacing in OWS table view
- Separate search results into contact/invite sections
- Include groups in search results when composing new message
- Compose Screen search matches on group member names

// FREEBIE
8 years ago
Michael Kirk df15c904bc Rework push registration
== Account Registration ==

Not complete until push tokens are uploaded

== Remote Notifications Registration ==

Extracted from PushManager

- wait for notification-settings registration to complete before
  requesting push tokens, otherwise it's possible token requests will
  be ignored.

- Less state required for push notification callbacks, specifically, we
  no longer need to ensure we've created a promise before the
  registration delegate methods get called.

- no more TOCFuture in Signal-iOS (still in SSK for now). It's not in
  cases of inexplicable behavior - one a recently, push notification
  premature free, in redphone, and more popular use, and I've seen two
  futures inexplicably being nil.  Instead, let's consolidate around
  PromiseKit for popularly used, maintained, strongly-typed futures.

- separate logic for registering for vanilla push/voip notifications
  (few dependencies) from responding to UILocalNotifications (lots of
  dependencies). Ultimately I'd like to consolidate the remaining
  UILocalNotifications logic with the existing NotificationsManager

== Misc ==

more debug logging
more uniform logging
remove stale logic around newly registered user

// FREEBIE
8 years ago
Matthew Chen 10c00501fd Fix the "is contact" test.
// FREEBIE
8 years ago
Matthew Chen 50ec55c313 Fix the "is contact" test.
// FREEBIE
8 years ago
Matthew Chen 29c4059049 Rework message metadata view.
// FREEBIE
8 years ago
Matthew Chen b3ab6d0602 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3a39a1ba51 Format message statuses with date if possible.
// FREEBIE
8 years ago
Matthew Chen d557817bb4 Format message statuses with date if possible.
// FREEBIE
8 years ago
Matthew Chen 16d4256e99 Address deadlocks in profile manager.
// FREEBIE
8 years ago
Matthew Chen 11cadf4200 Send, receive & show read receipts to senders/from receivers.
* Send read receipts to senders.
* Honor "send read receipts" preference.
* Process read receipts from recipients.
* Refactor "mark as read" logic.
* Serialize and apply recipient read receipts received before sync transcript.
* Show recipient read receipts in conversation view.

// FREEBIE
8 years ago
Matthew Chen 7268bde506 Add stress group to debug UI.
// FREEBIE
8 years ago
Matthew Chen b28c4b74b2 Pull out TSMessageDecrypter class.
// FREEBIE
8 years ago
Matthew Chen 183f0f1ccd Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2affcd934f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 400f536e37 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5be2014ec7 Create Flat UI rounded button class.
// FREEBIE
8 years ago
Matthew Chen 9dfebb2d4b Apply OWSFail() in more places.
// FREEBIE
8 years ago
Matthew Chen b95b5f69de Apply DataSource to message sender.
// FREEBIE
8 years ago
Matthew Chen df2bf63384 Fix back button width on iOS 11.
// FREEBIE
8 years ago
Matthew Chen 928525c31e Rename home view.
// FREEBIE
8 years ago
Michael Kirk 4e93bec230 black masking style for avatar cropper
- cancel/done buttons
- no navbar for modal edit
- vertically center image

// FREEBIE
8 years ago
Michael Kirk ae174d4a87 proper handling for multibyte characters
// FREEBIE
8 years ago
Matthew Chen cc048b3971 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen ef21c6d50c Ignore "GIF of death."
// FREEBIE
8 years ago
Matthew Chen 5fcf89dff1 Ignore "GIF of death."
// FREEBIE
8 years ago
Michael Kirk 526d5e33b9 Sync profile key to sibling devices when updating contact
// FREEBIE
8 years ago
Michael Kirk 1f3d2d1ed6 Send any profile key in contact sync
// FREEBIE
8 years ago
Michael Kirk f6720f9afa properly clear all cached avatar images
// FREEBIE
9 years ago
Matthew Chen ae1908c40c Show "share profile with group" banner.
// FREEBIE
9 years ago
Matthew Chen 14d472781f Respond to CR.
// FREEBIE
9 years ago
Matthew Chen a340c9ebdc Clean up ahead of CR.
// FREEBIE
9 years ago
Matthew Chen 4578a72ab2 Reorder where contact offers appear.
// FREEBIE
9 years ago
Matthew Chen a825fad47b Start reworking the contact offers.
// FREEBIE
9 years ago
Matthew Chen 98eb4693c5 Rework the contact offers.
// FREEBIE
9 years ago
Matthew Chen 5f2f8ec6d8 Start reworking the contact offers.
// FREEBIE
9 years ago
Matthew Chen 08347478a2 Implement alternative approach to veto-able back buttons.
// FREEBIE
9 years ago
Michael Kirk 7c386b1d1e CR: RTL, trim profile names, ensure not empty
- RTL support with localizable format strings
- Trim decrypted profile names
- more rigorous empty check

// FREEBIE
9 years ago
Matthew Chen 164bf19b47 Respond to CR.
// FREEBIE
9 years ago
Matthew Chen d476bc286d * Add debug UI tools for clearing and logging the profile whitelist.
* Auto-add new contact threads to profile whitelist when local user sends first message to that thread.
* Ensure dynamic interactions have a non-negative timestamp even if the conversation was empty.
* Only call updateMessageMappingRangeOptions _after_ beginLongLivedReadTransaction and updating messageMappings.
* Improve documentation around how to avoid corrupt mappings in conversation view.
* Fix edge cases around large initial range sizes.
* Always treat dynamic interactions as read.
* Rebuild the “unseen” database views to remove dynamic interactions (see above).

// FREEBIE
9 years ago
Matthew Chen 90f959d0ab Respond to CR.
// FREEBIE
9 years ago
Matthew Chen cdb181eadc Sketch out profile header in app settings view.
// FREEBIE
9 years ago
Matthew Chen e01fbc247e Refine profile logic.
// FREEBIE
9 years ago
Matthew Chen 37ce388eb6 Add “add to profile whitelist” offer.
// FREEBIE
9 years ago
Michael Kirk ed4de7e8af Simplify code / pre-cache localNumber
Now that localNumber is read from a dedicated dbConnection we don't have
to worry about it blocking.

// FREEBIE
9 years ago
Matthew Chen a3b16812ec Add convenience category for YapDatabaseConnection.
// FREEBIE
9 years ago
Matthew Chen 904515994f Add more instrumentation to CallService.
// FREEBIE
9 years ago
Matthew Chen 31ab9a00da Add script to extract and gather analytics event names.
// FREEBIE
9 years ago
Michael Kirk 3f4dcecf15 ensure blocking keychange message has identityKey before proceeding
This is increasingly irrelevant due to recent safety number changes, but
legacy clients with old messages can still run into this.

FIXES: https://github.com/WhisperSystems/Signal-iOS/issues/2346

// FREEBIE
9 years ago
Matthew Chen 863fd27abe Respond to CR.
// FREEBIE
9 years ago
Michael Kirk a5f067936c migration to fix any half-registered users
// FREEBIE
9 years ago
Matthew Chen fdac0305cb Update analytics macros.
// FREEBIE
9 years ago
Matthew Chen 693e74e868 Adapt conversation settings view to RTL.
// FREEBIE
9 years ago
Michael Kirk fa42b4a45b Respect disappearing message timer from lockscreen
// FREEBIE
9 years ago
Michael Kirk a59eb25aef extract dismiss string -> CommonStrings.dismissButton
// FREEBIE
9 years ago
Michael Kirk 2067697ed4 Add comment and clearer tests per CR
// FREEBIE
9 years ago
Michael Kirk 4f1ee98489 scrub any data that slips through to logs
Similar to phone number scrubbing, we leave a short prefix of the data
to help with debugging without leaking much data.

// FREEBIE
9 years ago
Matthew Chen c9355630c7 Respond to CR.
// FREEBIE
9 years ago
Matthew Chen d639d6557e Add owsFail free function for swift.
// FREEBIE
9 years ago
Michael Kirk f681712ea0 Code Cleanup
- make some logging clearer
- remove noisy unhelpful logging
- clearer method names

// FREEBIE
9 years ago
Matthew Chen e3f2583b4a Respond to CR.
// FREEBIE
9 years ago
Matthew Chen 0244e134f5 Block device from sleeping during certain activities.
// FREEBIE
9 years ago
Matthew Chen 9e5447f1d4 Respond to CR.
// FREEBIE
9 years ago
Matthew Chen b400c0a327 Don’t show app upgrade nag unless we are at rest in home view or registration view.
// FREEBIE
9 years ago
Matthew Chen 944cd7beef Show app update nag on launch if necessary.
// FREEBIE
9 years ago
Michael Kirk a933fbf215 sync verifications with contact syncing
// FREEBIE
9 years ago
Matthew Chen d01a52758b Respond to CR.
// FREEBIE
9 years ago
Matthew Chen d4a6a35ee3 Avoid stale mapping in conversation view.
// FREEBIE
9 years ago
Matthew Chen e14b9b511d Respond to CR.
// FREEBIE
9 years ago
Matthew Chen 8649b26033 Don’t auto-scroll after “loading more messages” unless we have “more unseen messages”.
// FREEBIE
9 years ago
Matthew Chen 3c28f15dbd Respond to CR.
// FREEBIE
9 years ago
Matthew Chen 75ccff0e4f Improve debug tools for creating “fake” and “tiny attachment” messages.
// FREEBIE
9 years ago
Matthew Chen f71f33c2a6 Respond to CR.
// FREEBIE
9 years ago
Matthew Chen c7426f9343 Avoid crashing on startup due to database view creation.
* Substitute unread view for unseen view until unseen view is ready.
* Register as many views as possible async.
* Perform blocking, safe migrations before async registration of views.
* Add debug settings view for internal app stats.
* Show blocking overlay until async registration of database views is complete.
* Convert version migrations to use AppVersions.

// FREEBIE
9 years ago
Matthew Chen b18e7cde34 Don’t show offers in conversation with self.
// FREEBIE
9 years ago
Matthew Chen 575d631123 Reduce number of database views.
// FREEBIE.
9 years ago
Matthew Chen 11ca51c95f Show verification state banner. Show verification state in conversation settings view.
// FREEBIE
9 years ago
Matthew Chen 5264602106 Move QR code scanning to a separate view.
// FREEBIE
9 years ago
Matthew Chen 58ebebc97f Move QR code scanning to a separate view.
// FREEBIE
9 years ago
Matthew Chen 1ef9ba0659 Clea up usage of fail macro.
// FREEBIE
9 years ago
Matthew Chen 90cdb6fcc6 Only show unread indicator if there is more than one message in the thread.
// FREEBIE
9 years ago
Matthew Chen b5f5599774 Fix edge cases in the unseen indicator.
// FREEBIE
9 years ago
Matthew Chen 22fc69bbb4 Decompose MessagesViewController, add “scroll to bottom button”, improve scrolling behavior.
// FREEBIE
9 years ago
Matthew Chen f49309bf66 Add incoming and outgoing message database views.
// FREEBIE
9 years ago
Matthew Chen 76df8431a8 Reset the unread indicator state if possible while app is in the background.
* Clean up timer usage.

// FREEBIE
9 years ago
Michael Kirk c55f7044a6 Use avatar view in group views
// FREEBIE
9 years ago
Matthew Chen 746d131a89 Respond to CR.
// FREEBIE
9 years ago
Matthew Chen 02df277d19 Respond to CR.
* Add [TSInteraction compareForSorting].
* Add a separate database view for safety number changes.

// FREEBIE
9 years ago
Matthew Chen 19390abc41 Refine the unseen indicators.
* Fix sizing of the unread indicator cells.
* Fix conflicts between paging and “load window” of conversation view and unseen indicator.
* Modify unseen indicator to indicate whether there are more unseen messages and safety number changes.
* Fix conflicts between modifying the “load window” size and updating the dynamic interactions.
* Clear the “bubble size calculator” cache whenever the view changes size.
* Improve the scrolling behavior around “load more messages”.
* Improve management of “load window” size.
* Fix issues around caching of bubble sizes.

// FREEBIE
9 years ago
Matthew Chen ada4880dc3 Add a database view for dynamic interactions.
// FREEBIE
9 years ago
Matthew Chen d28467aac6 Respond to CR.
// FREEBIE
9 years ago
Matthew Chen df2ee6ba55 “Add to contacts” offer.
// FREEBIE
9 years ago
Matthew Chen bc63389d23 “Add to contacts” offer.
// FREEBIE
9 years ago
Matthew Chen 7b70fe674a “Add to contacts” offer.
// FREEBIE
9 years ago
Matthew Chen 14ebc58d52 Revise scrolling behavior of messages view.
// FREEBIE
9 years ago
Matthew Chen db07ea8a8e Persist attachment file paths.
// FREEBIE
9 years ago
Matthew Chen 16549bee1f Clean up ahead of PR.
// FREEBIE
9 years ago