Commit graph

114 commits

Author SHA1 Message Date
Michael Kirk
84e5606972 [SSK] Fix disappearing messages don't become consistent after reinstall
Fixes the bug wherein:

Given the sender had disappearing messages enabled
And the receiver thinks it's disabled (this can happen due to re-install)
When we receive a disappearing message
The message does start expiring timer and disappear
But you see a notice "<sender> disabled disappearing messages"
Rather than the expected "<Sender> set disappearing messages timer to X".

// FREEBIE
2016-10-26 15:22:35 -04:00
Michael Kirk
689df1be37 Handle key change in group send
// FREEBIE
2016-10-26 15:22:35 -04:00
Michael Kirk
0e345dbbad Update translations
// FREEBIE
2016-10-26 15:22:35 -04:00
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
2016-10-26 15:22:35 -04:00
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
2016-10-15 16:41:40 -04:00
Michael Kirk
50ce283582 Fix empty bubble when setting disappearing message timer in a thread to
yourself.

fixes #1393

// FREEBIE
2016-10-14 19:37:38 -04:00
Michael Kirk
5b01976466 Fix hidden incoming audio
Missed bottom constraint when customizing incoming message bubbles to
include timer icon in footer.

// FREEBIE
2016-10-14 19:10:37 -04:00
Michael Kirk
bc9154f18f Bump version / update translations
// FREEBIE
2016-10-14 13:20:10 -04:00
Michael Kirk
ddc8db6ac3 bump build
// FREEBIE
2016-10-12 14:54:41 -04:00
Michael Kirk
a04b351455 Fix set timer in group thread. (#1375)
// FREEBIE
2016-10-12 09:30:25 -04:00
Michael Kirk
7661b7f402 Consistent copy with other platforms
// FREEBIE
2016-10-12 09:30:25 -04:00
Michael Kirk
dc95d328cb Don't expire messages until they are sent.
// FREEBIE
2016-10-12 09:30:25 -04:00
Michael Kirk
b95112356c iOS 8 Fixups
* ContactsUI framework is not available on ios<9.
  And it never was, so this framework should not be "required".

* Fix conversation settings title font on ios8

* Fix fingerprint not displaying on ios8

* ios8 safety number indented on third line.

* Fix glitchy table cell animation (not ios8 specific)

  The defaut slide-under animation only looks good if you're using a
  standard table cell height, but our duration slider is taller than the
  rest of the table's cells.

  Plus add a little bottom padding to the slider cell

// FREEBIE
2016-10-12 09:30:25 -04:00
Michael Kirk
a28fea8384 Fix emoji message truncation on iOS10
fixes #1368

Apple switched emoji fonts from AppleColorEmoji to AppleColorEmojiUI.
The new font doesn't compute it's size correctly, causing containing
rectangles to be too small.

This commit scrubs strings of the new emoji font, and replaces it with
the old.

// FREEBIE
2016-10-12 09:30:25 -04:00
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
2016-10-12 09:30:25 -04:00
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
2016-10-12 09:30:25 -04:00
Michael Kirk
8d2b38f027 Fix device listing
broken while refactoring db to async

// FREEBIE
2016-09-30 10:22:12 -04:00
Michael Kirk
3e7e67e276 Async migrations framework
* nonblocking by default
* track success of each migration independently

// FREEBIE
2016-09-28 17:09:11 -04:00
Michael Kirk
3b687da0ec Upgrade SSK to setup db async where possible
fixes #1358

// FREEBIE
2016-09-28 17:09:11 -04:00
Michael Kirk
1433ee2655 Fix crash on boot =/ (#1349)
I botched a migration 6 months ago, which left some lingering TSRecipients serialized in our data store, laying in wait to explode the next time we enumerate every object in the database (e.g. when we add an index).

The bloom filter migration failed to remove TSRecipients in the somewhat rare event that the local user had no downloaded bloom filters. This could happen e.g. if they were low on disk space at the time of running the migration, I believe the app would remove the bloom filter cache.

// FREEBIE
2016-09-26 21:57:34 -04:00
Michael Kirk
14570cb6cf bumping minor version
since 2.5.0.19 was approved for release we have to bump the minor
version to upload the build.

// FREEBIE
2016-09-23 18:29:37 -04:00
Michael Kirk
0c4f1d41b6 Fix contact sync in SSK (#1345)
* bump version
* update translations

// FREEBIE
2016-09-23 17:32:03 -04:00
Michael Kirk
891acb163b Bump version
// FREEBIE
2016-09-21 13:23:44 -04:00
Michael Kirk
be0556f68a fix "last active" date
// FREEBIE
2016-09-21 12:53:17 -04:00
Michael Kirk
5372173c4a Fix groups breaking without avatar (#1336)
- Group updates were appearing as "unsupported attachment"
- Couldn't message in a new group unless it had attachment.

// FREEBIE
2016-09-20 19:16:05 -04:00
Michael Kirk
720b167b3b Fix multiple keychange errors (#1334)
* Don't attempt to send a message unless we've successfully built device-messages
* Only process message exception when we're done with retries.

// FREEBIE
2016-09-19 22:47:47 -04:00
Michael Kirk
ed06555567 Merge branch 'release/2.5.0' into release/2.5.0-with-master
// FREEBIE
2016-09-17 16:06:33 -04:00
Michael Kirk
197933817c Fix height of network status on iphone5.
Abandon dynamic type since other (standard) table cells don't use it.

// FREEBIE
2016-09-17 13:51:34 -04:00
Michael Kirk
63513bed12 Apple now requires camera permission explanation
Even though it's pretty obvious why we need your camera when you push a
"take photo" button...

Unfortunately this warning will be confusing if someone's first exposure
to it is to scan an identity code, but that seems like an edge case not
worth pegging an extra sentence of copy to an already unnecessary
warning.

Also, we're enabling push notifications for dev, per apple build
submission feedback.

// FREEBIE
2016-09-17 13:51:34 -04:00
Michael Kirk
f753cfeed4 Fix XCode8 code signing
// FREEBIE
2016-09-17 13:51:34 -04:00
Michael Kirk
7c6e9e07b8 Read receipts remove lockscreen notifications
No need to have a notification for a message you've already read on
desktop.

// FREEBIE
2016-09-17 13:51:33 -04:00
Michael Kirk
f7198d5eaa Don't crash when receiving read receipts after message
// FREEBIE
2016-09-14 13:26:55 -04:00
Michael Kirk
d8be0b5d22 New translations
// FREEBIE
2016-09-14 13:26:55 -04:00
Michael Kirk
0a64022748 Must specify team for XCode 8 build
// FREEBIE
2016-09-12 16:47:33 -04:00
Michael Kirk
90dab190f3 Update SSK to send useragent upon provisioning
We do this to coordinate a theme choice on the desktop

// FREEBIE
2016-09-12 14:44:27 -04:00
Michael Kirk
c7ee430790 Support for receiving voice messages from android (aac) (#1321)
We already support receiving them from Desktop (mp3)

Plus some Xcode 8 turds in the image assets.

// FREEBIE
2016-09-12 10:09:30 -04:00
Michael Kirk
5200cccbe3 Update translations
* New bg (Bulgarian) localization!
* New sq (Albanian) localization!
* replace unfinished bg_BG localization with complete bg localization
* caps keys to make it easier to see missing localizations
* pull with newly pushed source keys

// FREEBIE
2016-09-09 15:17:15 -04:00
Michael Kirk
33f63e76d1 Fix devices icon intermittently showing
Because it was not rendering correctly in all cases, we're foregoing the
templated image, and using a colored asset.

// FREEBIE
2016-09-09 11:40:32 -04:00
Michael Kirk
7e67fb1939 Some style for the QR code scanner.
Also made identity key scanner appear faster. Previously we were
waiting for camera to initialize. Now we do this after the view has
loaded - with a black background, the affect is preferable than
lagging on the transition.

// FREEBIE
2016-09-07 22:43:19 -04:00
Michael Kirk
f28400146f bump build
// FREEBIE
2016-09-07 17:51:54 -04:00
Michael Kirk
7c3a07960f Device manager fixes
* Avoid intermittent crash in device manager via YapDatabaseModified
* Properly align refresh text when expecting new device
* Avoid glitchy activityIndicator while polling
* Expose edit mode toggle

Much of the code changes here were in the corresponding SSK update.

// FREEBIE
2016-09-06 17:16:42 -04:00
Michael Kirk
e56d41edc7 Otherwise we'll never run future migrations. (#1314)
// FREEBIE
2016-08-21 14:15:50 -04:00
Michael Kirk
6120bd9e8e Orphan-data cleanup no longer causes timeout (#1303)
On older devices with lots of data, the orphan data cleaner can time
out. Here we're trading certainty that the migration completed for
confidence that the boot process doesn't time out.

// FREEBIE
2016-08-15 08:06:34 -04:00
Michael Kirk
9f2bb5d2cc Fixes lingering interactions after removing thread (#1297)
Most of the work was done in SignalServiceKit 0.0.7, this adapts to
those changes.

Migration to clean any orphaned interactions/attachments.

- don't set new migration version until migration was successful.
- remove dead code from migrations

- rename message.attachments->message.attachmentIds
- Remove unused parameter from GroupModel
- formatting touched method/'s signatures

//FREEBIE
2016-07-31 15:25:07 -07:00
Michael Kirk
73856c3e44 bump release target to 2.4.0.4
// FREEBIE
2016-07-22 00:11:21 -07:00
Michael Kirk
bb3bda2364 bump build 2.4.0.3
// FREEBIE
2016-07-21 17:16:33 -07:00
Michael Kirk
835021b0d3 Fix extra tall error messages by rendering timestamp (#1268)
We were ocassionally seeing extra tall error messages. This is because,
when appropriate, we were adding the space for a timestamp, but then
never actually rendering the time stamp.

So now:

- Error Messages aren't rendered too-tall
- Error Messages get a printed timestamp when appropriate

// FREEBIE
2016-07-20 11:59:18 -07:00
Michael Kirk
f205ff19fa new translations (#1265)
// FREEBIE
2016-07-19 11:26:07 -07:00
Michael Kirk
70197fb482 bump version to 2.4.0
// FREEBIE
2016-07-17 09:41:19 -07:00
Michael Kirk
987ce5f832 bump release target to 2.3.6.0 (#1256)
// FREEBIE
2016-07-13 16:59:20 -07:00