Commit Graph

2233 Commits (5be2014ec72be0b1283c61cd4588c0f27d269fce)

Author SHA1 Message Date
Matthew Chen 50a8d0f165 Clear own avatar on service if necessary when updating local profile. Clear others' avatar when appropriate.
// FREEBIE
8 years ago
Matthew Chen 65eb5c725c Bump build from to 2.16.0.8.
// FREEBIE
8 years ago
Michael Kirk 1e51bf4899 extract event names
// FREEBIE
8 years ago
Michael Kirk 251e206b6d profiles vs. censorship circumvention
// FREEBIE
8 years ago
Matthew Chen f2ae73e156 Remove obsolete "scrollLaterTimer" hack in messages view.
// FREEBIE
8 years ago
Matthew Chen 8794880db8 Unbound message bubble cache size and DRY up cache logic.
// FREEBIE
8 years ago
Matthew Chen c90ca331e3 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2aaa9155de Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen 6b8e189f45 Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen 728028563c Add double-tap to zoom out.
// FREEBIE
8 years ago
Matthew Chen e7b32f9fd1 Add double-tap to zoom out.
// FREEBIE
8 years ago
Matthew Chen 2b50eb5acc Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen 2c301feeb7 Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen 374a59e937 Remove an old TODO.
// FREEBIE
8 years ago
Matthew Chen e8a6ca1c22 Show an error when profile name is too long.
// FREEBIE
8 years ago
Michael Kirk bde40a1f9c Ensure avatar upates right after profile change.
// FREEBIE
8 years ago
Michael Kirk f6720f9afa properly clear all cached avatar images
// FREEBIE
8 years ago
Michael Kirk b579ea5915 Use profile name when building avatar if contact name is unavailable
// FREEBIE
8 years ago
Matthew Chen 89bacf5cce Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 65db75a91d Fix group profile whitelist check.
// FREEBIE
8 years ago
Matthew Chen 9bf80a215f Don't add avatar to new contacts.
// FREEBIE
8 years ago
Michael Kirk 903d792af4 Debug action to clobber local profile and key
// FREEBIE
8 years ago
Michael Kirk 041c5a4a11 CR: setNeedsLayout
// FREEBIE
8 years ago
Michael Kirk f49e122567 listen for profile names change notifications
// FREEBIE
8 years ago
Michael Kirk 96f0ab215c wip 8 years ago
Michael Kirk fd99354673 profile name vs. verified in ContactTableViewCell
// FREEBIE
8 years ago
Michael Kirk e54e1d11c0 show profile name snippet in inbox and conversation settings
// FREEBIE
8 years ago
Matthew Chen b22a8f51b4 Bump build from to 2.16.0.7.
// FREEBIE
8 years ago
Michael Kirk 279eb89023 Fix whitelist
whitelist cache are a bunch of NSNumber's, we need to check their
boolValue

// FREEBIE
8 years ago
Matthew Chen 6d6ffd6d3a Bump build from to 2.16.0.6.
// FREEBIE
8 years ago
Matthew Chen b28a6bab26 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 57b76b3411 Ensure message view range is properly truncated with view is configured.
// FREEBIE
8 years ago
Matthew Chen 15d2fd23d7 Rework save/cancel buttons in profile view.
// FREEBIE
8 years ago
Matthew Chen 68309eb00f Rework save/cancel buttons in profile view.
// FREEBIE
8 years ago
Michael Kirk 0a57e7db09 Fix slow start crash after upgrade to 2.16
We were opening a write transaction before our sync extensions were
registered. This seems to have caused our views to rebuild themselves
once they did register, which in turn can cause device timeout.

Instead of opening transcations in `init`, we only build the
localProfile once it's needed.

A future PR will ensure transactions
aren't being created before syncViews are registered.

// FREEBIE
8 years ago
Matthew Chen 5e6f5804c1 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 584ddab0b9 Show "share profile with group" banner.
// FREEBIE
8 years ago
Matthew Chen ae1908c40c Show "share profile with group" banner.
// FREEBIE
8 years ago
Matthew Chen 68ee56174a Pad empty profile names instead of nil.
// FREEBIE
8 years ago
Matthew Chen 3d6bf273d5 Bump build from to 2.16.0.5.
// FREEBIE
8 years ago
Matthew Chen 7eeb326865 Fix minor build error.
// FREEBIE
8 years ago
Matthew Chen ec3f099af1 Bump build from to 2.16.0.4.
// FREEBIE
8 years ago
Matthew Chen 6dda535f24 Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 313d06b31d Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 020d2c567a Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 3181ee7882 Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 9dfeb132cb Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1e43e93371 Observe profile changes in conversation view.
// FREEBIE
8 years ago
Matthew Chen 9a70aef99f Bump build from to 2.16.0.3.
// FREEBIE
8 years ago
Matthew Chen 14d472781f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a340c9ebdc Clean up ahead of CR.
// FREEBIE
8 years ago
Matthew Chen 4578a72ab2 Reorder where contact offers appear.
// FREEBIE
8 years ago
Matthew Chen 02c96b7b0e Rework the contact offers.
// FREEBIE
8 years ago
Matthew Chen 9e02524b0b Rework the contact offers.
// FREEBIE
8 years ago
Matthew Chen c2f9d7dcb2 Rework the contact offers.
// FREEBIE
8 years ago
Matthew Chen 265bdce0ba Start reworking the contact offers.
// FREEBIE
8 years ago
Matthew Chen a825fad47b Start reworking the contact offers.
// FREEBIE
8 years ago
Matthew Chen 98eb4693c5 Rework the contact offers.
// FREEBIE
8 years ago
Matthew Chen 5f2f8ec6d8 Start reworking the contact offers.
// FREEBIE
8 years ago
Michael Kirk 72fbb02028 aes-gcm via openssl
// FREEBIE
8 years ago
Michael Kirk d6d403ce69 fix some tests
// FREEBIE
8 years ago
Matthew Chen 27e496ad06 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1b055c485d Rework "cancel navigate back" logic.
// FREEBIE
8 years ago
Matthew Chen 25b0f79615 Rework "cancel navigate back" logic.
// FREEBIE
8 years ago
Matthew Chen 08347478a2 Implement alternative approach to veto-able back buttons.
// FREEBIE
8 years ago
Matthew Chen 9d8c396848 Add profile view to upgrade/nag workflow.
// FREEBIE
8 years ago
Matthew Chen ffb4b3f9d2 Add profile view to registration workflow.
// FREEBIE
8 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
8 years ago
Michael Kirk 4511b4015f Clarify where we use the profile name
Add some hints to differentiate profile name usage from a name pulled
from the contacts.

// FREEBIE
8 years ago
Matthew Chen 164bf19b47 Respond to CR.
// FREEBIE
8 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
8 years ago
Matthew Chen 0b14f87575 Improve comments about mapping consistency in conversation view.
// FREEBIE
8 years ago
Michael Kirk e08fa4bcec Fix jolting animation after sending a message
When we send the nth message, we retain the footer for the n-1th message
until the nth message is successfully sent.

1. leave the footer on the n-1th message
2. draw the nth message with the "..." footer
3. update the nth message with the "sent" footer and hide the footer for
   the n-1th message

In the normal case this all happens very quickly, which results in some
unpleasant flicker every time you send a message.

The concession here is that we'll only print the n-1th footer if the
outgoing message *fails*. So until we implement a design more like
Android's double-check for sent/delivery, the user will not be able to
distinguish between a sent and delivered message *while* their message
is outgoing.

In my opinion the lack of jank in the normal case makes the app
supercedes this use case.

// FREEBIE
8 years ago
Michael Kirk 2e83643327 Don't consider registration complete until user registers their push
notification tokens.

// FREEBIE
8 years ago
Matthew Chen 6c3662b944 Increase max conversation range length.
// FREEBIE
8 years ago
Matthew Chen 2f2902a762 Bump build from to 2.16.0.2.
// FREEBIE
8 years ago
Matthew Chen ddd8c9ff5f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3ecd415b84 Show activity indicator during profile update; trim whitespace from profile names.
// FREEBIE
8 years ago
Matthew Chen 943945b4bd Fix “profiles not encoded” bug.
// FREEBIE
8 years ago
Matthew Chen 7a03ab4e7c Bump build from to 2.16.0.1.
// FREEBIE
8 years ago
Matthew Chen 46d27cef30 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1dd75a05ff Tweak concurrency in profile manager.
// FREEBIE
8 years ago
Matthew Chen 02f8b13f4f Rework concurrency in the profile manager.
// FREEBIE
8 years ago
Matthew Chen b2360ace6e Fix layout glitch in messages view.
// FREEBIE
8 years ago
Matthew Chen f618f87825 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 90f959d0ab Respond to CR.
// FREEBIE
8 years ago
Matthew Chen cdb181eadc Sketch out profile header in app settings view.
// FREEBIE
8 years ago
Matthew Chen 13aea66878 Sketch out profile header in app settings view.
// FREEBIE
8 years ago
Matthew Chen fde0ca6ed7 Update l10n strings.
// FREEBIE
8 years ago
Matthew Chen 80951349ea Bump version to 2.16.0.0.
// FREEBIE
8 years ago
Michael Kirk abec536729 simplify check for max file size per CR
// FREEBIE
8 years ago
Michael Kirk 2c3e99c372 better var name per code review
// FREEBIE
8 years ago
Michael Kirk fd02644ca7 resize profile avatar
// FREEBIE
8 years ago
Michael Kirk 9f72db44ac Avoid lossy re-encoding of profile image
// FREEBIE
8 years ago
Michael Kirk 0290f176c0 Use profile name/avatar when creating new contact
// FREEBIE
8 years ago
Michael Kirk 135243e383 CR: variable rename, better comments, fix up tests
// FREEBIE
8 years ago
Michael Kirk 7499b3aaf0 Avatar API integration / WIP crypto scheme
Crypto Scheme:

- Name (un)padding
- WIP AES-GCM (funtioning, but need to verify against android
  implementation, and tag functionality)

Changes to avatar API:

- hard code avatar domain (cdn.signal.org)
- avatar form hands out new avatar key, invalidating old avatar
- preliminary aes-gcm integration

Also:

- New type to represent AES128 keys, rather than passing around opaque
  data blobs everywhere, we can use the compiler to help us make sure
  we're passing compliant keying material.

- Started using factory pattern for API requests. This is intended to be
  a lighter weight way to implement new API requests, rather than the
  current 1-method class ceremony.

// FREEBIE
8 years ago
Michael Kirk 283d36c55b remove avatar digest.
For ease of CDN cache expiry, each new avatar will have a unique URL, so
no need for a separate digest. Contents of file at URL will be verified
by forthcoming crypto scheme.

// FREEBIE
8 years ago
Michael Kirk fc3f9ae396 Replace server sent avatar URL with hardcoded
// 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
Michael Kirk 69b75942fd Merge commit '2.15.3.2' 8 years ago
Michael Kirk d29dd5c2b3 Bumping build.
Failed to bump build before tagging 2.15.3.1, so the 2.15.3.1 tag will
not be submitted, and we'll skip right to 2.15.3.2.

// FREEBIE
8 years ago
Michael Kirk 1ee27996e4 Merge branch 'hotfix/2.15.3.1' 8 years ago
Michael Kirk 8da3108b53 Drop stale EndCall/BusyCall messages
// FREEBIE
8 years ago
Michael Kirk 370ce5ba01 Merge branch 'hotfix/2.15.3' 8 years ago
Michael Kirk 4cf860cfe9 pull latest translations
// FREEBIE
8 years ago
Michael Kirk 46e5240f81 bump version
// FREEBIE
8 years ago
Michael Kirk 0e241299d2 Discard GroupInfoRequest from unknown group
// FREEBIE
8 years ago
Michael Kirk a3ae22c84f Upload profile avatar to service
WIP, this currently lacks crypto pending further discussion.

// FREEBIE
8 years ago
Michael Kirk 72b3f3779b Discard GroupInfoRequest from unknown group
// FREEBIE
8 years ago
Michael Kirk 16c646a939 Use profile name/image when available.
Refactored the ContactAvatarBuilder to clarify intent of the two
methods. One is only used for non-signal contacts in the Invite flow.
The other should be used for any signal contacts so we have a single
consistent way of generating the avatar initials.

// FREEBIE
8 years ago
Matthew Chen e01fbc247e Refine profile logic.
// FREEBIE
8 years ago
Matthew Chen 09e65a674b Incomplete work to upload avatars.
// FREEBIE
8 years ago
Matthew Chen f6668d24c1 Download profile avatars.
// FREEBIE
8 years ago
Matthew Chen 9266c3a4f9 Clear profile state when a user’s profile key changes.
// FREEBIE
8 years ago
Matthew Chen 8b9749202d Load local user profile avatar if necessary.
// FREEBIE
8 years ago
Matthew Chen 823927685d Update profile on service.
// FREEBIE
8 years ago
Matthew Chen 83d01eed76 Don’t encrypt/decrypt avatar URL or digest.
// FREEBIE
8 years ago
Matthew Chen f6bcff5427 Fix rebase breakage.
// FREEBIE
8 years ago
Matthew Chen 37ce388eb6 Add “add to profile whitelist” offer.
// FREEBIE
8 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
8 years ago
Michael Kirk f99d4e9df9 Merge branch 'hotfix/2.15.2' 8 years ago
Michael Kirk 7836867780 pull latest translations
// FREEBIE
8 years ago
Michael Kirk b29d87cb3e bump build
// FREEBIE
8 years ago
Matthew Chen 03774216a0 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 6ac4d8e971 Delete profile avatars on disk when unregistering.
// FREEBIE
8 years ago
Matthew Chen ddf3929be1 Auto-add groups to profile whitelist groups when you make them.
// FREEBIE
8 years ago
Matthew Chen ba506bf092 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 49e65ba1b1 Update user profile update date on successful update.
// FREEBIE
8 years ago
Matthew Chen 9c0f94f1c0 Fetch profiles from profile manager. Update profile manager with profile fetch results.
// FREEBIE
8 years ago
Matthew Chen 6ec756de44 Move profile manager to Signal.
// FREEBIE
8 years ago
Matthew Chen 540a0a8e48 Refine UserProfile class. Move local user properties to UserProfile.
// FREEBIE
8 years ago
Matthew Chen a70bd3307d Show threads if possible.
// FREEBIE
8 years ago
Michael Kirk 8a4712bf4c Only access localNumber on AccountManager and cache it
// FREEBIE
8 years ago
Michael Kirk 357eb62502 [DEBUG-UI] Add avatar to (some) fake contacts
// FREEBIE
8 years ago
Matthew Chen 43b3abe321 Merge branch 'hotfix/2.15.2' 8 years ago
Matthew Chen 539490ee19 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d9bc3ac806 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9c5934359e Don’t dismiss call view controller to present other view.
// FREEBIE
8 years ago
Matthew Chen 138301975c Don’t dismiss call view controller to present other view.
// FREEBIE
8 years ago
Matthew Chen 791e270578 Terminate call if call view presentation is delayed.
// FREEBIE
8 years ago
Matthew Chen 634617b7d4 Terminate call if call view presentation is delayed.
// FREEBIE
8 years ago
Michael Kirk 81d7f28253 Timer to ensure call screen shown
// FREEBIE
8 years ago
Michael Kirk c6069376d8 more logging
// FREEBIE
8 years ago
Matthew Chen f8e153fb71 Bump build from to 2.15.2.1.
// FREEBIE
8 years ago
Matthew Chen 5c4019b9c5 Bump version to 2.15.2.0.
// FREEBIE
8 years ago
Matthew Chen 282ac4bb29 Add “share profile” row to conversation settings.
// FREEBIE
8 years ago
Matthew Chen 26b668cce7 Add profile key to proto schema. Send and receive profile keys. Cache profile manager state.
// FREEBIE
8 years ago
Matthew Chen a3b16812ec Add convenience category for YapDatabaseConnection.
// FREEBIE
8 years ago
Matthew Chen a748987d72 Add option to clear profile avatar.
// FREEBIE
8 years ago