Commit Graph

946 Commits (6aa6f4895b911ca6ec057bd918fe6e61fc797138)

Author SHA1 Message Date
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 bd370f1de4 Fix cropped Chinese/Japanese messages
The earlier fix for the broken ios10 emoji font ended up breaking
messages for some users with a tall font.

Here we have a lighter touch - ensuring we don't touch messages that
don't use emoji.

Also, introduce a different approach to the fix, rather than trying to
compute the bounding rect of an appropriately attributed string, just
add an extra bit of height per line.

This approach isn't ideal for long messages with only one emoji line in
them, but the previous approach was incompatible with Chinese messages
that also contain emoji. See the new
`MesssagesBubblesSizeCalculatorTest.swift` for test cases considered.

// FREEBIE
9 years ago
Michael Kirk 62f9606bf5 Merge branch 'mkirk/fix-registration-without-background-modes#1329'
// FREEBIE
9 years ago
Michael Kirk 78d9c97d70 Bump build and properly set version.
// 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 f98e57e164 WIP: Fix hanging registration when background modes disabled
fixes #1329

We must register notification settings earlier to be sure we'll be able
to get the users push tokens.

We were previously relying on a quirk of background fetch, a feature
which we don't *actually* use, wherein it's possible to get push tokens
for a user without first prompting them for their notification
settings. More on this from UIApplication.h:

    // Calling this will result in either application:didRegisterForRemoteNotificationsWithDeviceToken: or application:didFailToRegisterForRemoteNotificationsWithError: to be called on the application delegate.
    // ---> Note: these callbacks will be made only if the application has successfully registered for user notifications with registerUserNotificationSettings:, or if it is enabled for Background App Refresh.
    - (void)registerForRemoteNotifications NS_AVAILABLE_IOS(8_0);

In the previous implementation, if a user had disabled background
notifications (e.g.  in order to save battery), we were waiting for push
tokens that would never come.

However, this simple "fix" introduces a UX problem - now we prompt for
an alert in the middle of our registration flow.

// FREEBIE
9 years ago
Michael Kirk bae050480a Debug logging around call init crash.
// FREEBIE
9 years ago
Michael Kirk ac996db258 Merge pull request #1407 from mdouglass/fix-issue-1270
Unifies bubble sizes for media bubbles

// FREEBIE
9 years ago
Mike 7c6b84c46b Outgoing message sound respects Settings toggle (#1373) 9 years ago
Michael Kirk 431a91a485 Convert to non-decimal build numbers.
first three digits were redundant anyway. Now it's less likely to mess
up the build version, and yet easier to recover if you do.

// FREEBIE
9 years ago
Michael Kirk 61fa5756ab bump build.
oof: I previously pushed a build number 2.6.4.x to the 2.6.3.x release, so
now we have to stick with 2.6.4 in order to upload it. =/

// FREEBIE
9 years ago
Michael Kirk 21ebe0db98 bump build
// FREEBIE
9 years ago
Michael Kirk 1eb234e8ba Attempt to fix intermittent crash in messages view controller
HACK to work around radar #28167779

  "UICollectionView performBatchUpdates can trigger a crash if the collection view is flagged for layout"
  more: https://github.com/PSPDFKit-labs/radar.apple.com/tree/master/28167779%20-%20CollectionViewBatchingIssue

I have never reproduced the crash, but it's appearing in about 0.05% of
<=2.6.2 sessions and an alarming ~5.0% of beta sessions >=2.6.3.8.

// FREEBIE
9 years ago
Michael Kirk e206afdc5e Bump build
// FREEBIE
9 years ago
Michael Kirk eded20f1f5 [SSK] Don't send empty message to self after changing disappearing timer
previously fixed in: SSK:91fcd01632a81f2aa67d2d94b97c68d519e6881a

But got lost in a rebase after moving TSMessagesManager+sendMessage to
OWSMessageSender.

// FREEBIE
9 years ago
Michael Kirk f2ee006d5f Update translations
Bump version.

// FREEBIE
9 years ago
Michael Kirk 541ca39155 Partial revert of 33f6a95520 (#1421)
An existing related crash is much more common after 33f6a95520.

This is the only change proximate to the crash.

Crash looks like this:

    Last Exception Backtrace:
    0   CoreFoundation                  0x189c601c0 __exceptionPreprocess + 124 (NSException.m:165)
    1   libobjc.A.dylib                 0x18869855c objc_exception_throw + 56 (objc-exception.mm:521)
    2   CoreFoundation                  0x189c60094 +[NSException raise:format:arguments:] + 104 (NSException.m:131)
    3   Foundation                      0x18a6ea82c -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 112 (NSException.m:157)
    4   UIKit                           0x1903a534c -[UICollectionView _endItemAnimationsWithInvalidationContext:tentativelyForReordering:animator:] + 13428 (UICollectionView.m:5585)
    5   UIKit                           0x1903a8e98 -[UICollectionView _endUpdatesWithInvalidationContext:tentativelyForReordering:animator:] + 92 (UICollectionView.m:6401)
    6   UIKit                           0x1903a9178 -[UICollectionView _performBatchUpdates:completion:invalidationContext:tentativelyForReordering:animator:] + 384 (UICollectionView.m:6459)
    7   UIKit                           0x1903a8fd8 -[UICollectionView _performBatchUpdates:completion:invalidationContext:tentativelyForReordering:] + 96 (UICollectionView.m:6423)
    8   UIKit                           0x1903a8f5c -[UICollectionView _performBatchUpdates:completion:invalidationContext:] + 84 (UICollectionView.m:6418)
    9   UIKit                           0x18fc834ec -[UICollectionView performBatchUpdates:completion:] + 64 (UICollectionView.m:6407)
    10  Signal                          0x1000d7e90 -[MessagesViewController yapDatabaseModified:] + 756 (MessagesViewController.m:1863)

// FREEBIE
9 years ago
Matthew Douglass baf0ea96d6 Fixes [UIDevice isiPhoneVersionSixOrMore]
Improves the detection logic for iPhone 6 and above (uses interface idiom and the pixel width of the screen). This fixes detection on the iPhone 7 which was previously broken because it’s model number wasn’t include.

Also removes a number of category methods that weren’t being used in the codebase and were equally incomplete.

// FREEBIE
9 years ago
Matthew Douglass 09d377f7e2 Unifies bubble sizes for media bubbles
On iPhone 6 and above, media bubble sizes are 10% wider
On iPhone 5s and below, media bubbles are fixed in their larger dimension and the other dimension is calculated based on the aspect ratio of the underlying image (clamped to a reasonable min/max height).

// FREEBIE
9 years ago
Matthew Douglass c958c7909c Unifies bubble sizes for media bubbles
Media bubbles (for photo, video and animated) sizes are calculated using shared logic. The bubbles are fixed width and their height is calculated based on the aspect ratio of the underlying image (clamped to a reasonable min/max height).

Fixes #1270

// FREEBIE
9 years ago
Matthew Douglass bbfffdf79f Scanning an invalid QR code shows an error dialog
* From the error dialog you are able to back out of scanning or try again. Adds English localization for this message.

  Adds an extra flag in OWSQRCodeScanningViewController to make sure that we don’t handle captureResults when capture is disabled (this was racing before because the call to [capture stop] is async and that was causing the cancel case to present the error dialog multiple times.

  Fixes Signal-iOS#1347

* Fixes appearance of race with starting capture
  Also marks the capture variable as atomic since it is accessed on
  multiple threads.

// FREEBIE
9 years ago
Michael Kirk 40d6550fca Update translations
// FREEBIE
9 years ago
Michael Kirk 560b377512 Fix intermittent crash on network status change
These notifications are posted off the main thread, so let's make sure
we're only touching the view hierarchy on the main thread.

// FREEBIE
9 years ago
Michael Kirk 66f0f8cc95 [SSK] Better error messages when failing to send
// FREEBIE
9 years ago
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
9 years ago
Michael Kirk 689df1be37 Handle key change in group send
// FREEBIE
9 years ago
Michael Kirk 0e345dbbad Update translations
// FREEBIE
9 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
9 years ago
Michael Kirk 7c32259a92 We aren't using ErrorMessage/InfoMessage. (#1412)
We incorrectly assumed some parameters were these types, but actually
they were TSMessageAdapters.

// FREEBIE
9 years ago
Matthew Douglass 722c3a5e78 Create TSOutgoingMessage with info on group change
TSOutgoingMessage is created with details about the group changes so that we see more than just “Group Updated.”

* Customizes message for new group creation

  Replaces GROUP_UPDATED with GROUP_CREATED for a brand new group. Localized for English only.

* Updates to use fixed SignalServiceKit branch

// FREEBIE
9 years ago
Michael Kirk 802d2bfdff Revert "Create TSOutgoingMessage with info on group change"
Inadvertently stole credit for work done when squashing the commits.
Reverting and re-merging giving appropriate credit.

This reverts commit 8242c9e381.
9 years ago
Michael Kirk 8242c9e381 Create TSOutgoingMessage with info on group change
TSOutgoingMessage is created with details about the group changes so that we see more than just “Group Updated.”

* Customizes message for new group creation
  Replaces GROUP_UPDATED with GROUP_CREATED for a brand new group. Localized for English only.

* Updates to use fixed SignalServiceKit branch

// FREEBIE
9 years ago
Michael Kirk 15dcbbb06c re-pull translations after updating source
// FREEBIE
9 years ago
Michael Kirk b9945b7e32 pull latest translations before updating source
// FREEBIE
9 years ago
Michael Kirk 16a30f2892 translate untranslated strings
// FREEBIE
9 years ago
Michael Kirk 8c062f93aa Refresh Localizable.strings with auto-genstrings
This shouldn't have any affect on behavior, we're just removing unused
strings, extracting comments, and re ordering.

Going forward we can use auto-genstrings to get a sensible diff without
having to manually add/remove/update strings and comments.

Thanks @nixnuex!

// FREEBIE
9 years ago
Michael Kirk 64f4eb73c5 Allow autogenstrings to find all strings
* Inline #define strings, so genstrings can find them
* Make all strings single line so they don't get truncated by auto-genstrings
* Properly quote LHS in strings file

// FREEBIE
9 years ago
nixnuex 722356db58 script to generate and merge global .strings file
* make auto-genstrings executable
9 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
9 years ago
Michael Kirk 50ce283582 Fix empty bubble when setting disappearing message timer in a thread to
yourself.

fixes #1393

// FREEBIE
9 years ago
Michael Kirk 5b01976466 Fix hidden incoming audio
Missed bottom constraint when customizing incoming message bubbles to
include timer icon in footer.

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

 ༼ つ ◕◡◕ ༽つ [swift]

// FREEBIE
9 years ago
Michael Kirk da82c01f6e Restart timer animation when returning from background
// FREEBIE
9 years ago
Michael Kirk 04f5c3ce22 Slow the timer animation down a bit.
fixes #1384

// FREEBIE
9 years ago
Michael Kirk 6a4fc3168d Fix delivery shown for undelieverd disappearing messages.
fixes  #1380

// FREEBIE
9 years ago
Michael Kirk ddc8db6ac3 bump build
// FREEBIE
9 years ago
Michael Kirk 607262df6a Remove observers on dealloc (#1379)
// FREEBIE
9 years ago
nixnuex ca5ca9d0cc code verification: show complete phone number 9 years ago
Michael Kirk a04b351455 Fix set timer in group thread. (#1375)
// FREEBIE
9 years ago
Michael Kirk 7661b7f402 Consistent copy with other platforms
// FREEBIE
9 years ago
Michael Kirk 185cb24938 Update translations
// FREEBIE
9 years ago
Michael Kirk 85beb93e86 Style timer changes less alarmingly.
// FREEBIE
9 years ago
Michael Kirk 89df8ddb31 Group updates can be deleted
Removed some dead code re: NSCopy/Coding, since it seems unused.

// FREEBIE
9 years ago
Michael Kirk 07ab1bd931 Call notifications appear immediately after call
previously you had to leave/return. This happens because we unregister
observers while our view is not visible.

// FREEBIE
9 years ago
Michael Kirk 7106eee4a3 Call notifications are deletable
// FREEBIE
9 years ago
Michael Kirk 405990a7d5 Don't select or copy info message text.
// FREEBIE
9 years ago
Michael Kirk dc95d328cb Don't expire messages until they are sent.
// FREEBIE
9 years ago
Michael Kirk 2b2ebbe099 Tweak settings design
* lighter tint for icons, their bold stroke width makes them darker than
  the text
* Replace double hourglass icons with a single one. It aligns better,
  and the "small time" vs "big time" is confusing
* Add description of what disappearing messages do

// FREEBIE
9 years ago
Michael Kirk dc0807297b Update translations
// FREEBIE
9 years ago
Michael Kirk 023e62e6a6 fix reused cell starts blinking too early
There are dispatch_async's waiting to be fired on some re-used cells.

// FREEBIE
9 years ago
Michael Kirk 94a23021f8 Size error messages correctly.
* calculate size of info message using the info message font.
* offset by the info message header

There were instances of lines getting cropped, or an extra line being
added. The previous, more conservative, solution was to just make every
bubble too big, but it looked terrible.

// FREEBIE
9 years ago
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
9 years ago
Michael Kirk 2edd2b8f81 set launch state correctly
// FREEBIE
9 years ago
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
9 years ago
Michael Kirk 43a2eb9da1 Fix occasional crash when sending after deleting messages
// FREEBIE
9 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
9 years ago
Michael Kirk 48336b6c53 Resetting session returns you to messages view with an indicator that
your session was reset.

// FREEBIE
9 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
9 years ago
Michael Kirk cc2a25b184 update translations
// FREEBIE
9 years ago
Michael Kirk 8d2b38f027 Fix device listing
broken while refactoring db to async

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

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

// FREEBIE
9 years ago
Michael Kirk 2ab6955967 More logging, scrub phone numbers from file logs (#1357)
Phone number are still logged in TTY for development.

// FREEBIE
9 years ago
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
9 years ago
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
9 years ago
Michael Kirk 0c4f1d41b6 Fix contact sync in SSK (#1345)
* bump version
* update translations

// FREEBIE
9 years ago
Michael Kirk 891acb163b Bump version
// FREEBIE
9 years ago
Michael Kirk be0556f68a fix "last active" date
// FREEBIE
9 years ago
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
9 years ago
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
9 years ago
Michael Kirk ed06555567 Merge branch 'release/2.5.0' into release/2.5.0-with-master
// FREEBIE
9 years ago
Michael Kirk 197933817c Fix height of network status on iphone5.
Abandon dynamic type since other (standard) table cells don't use it.

// FREEBIE
9 years ago
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
9 years ago
Michael Kirk f753cfeed4 Fix XCode8 code signing
// FREEBIE
9 years ago
Michael Kirk 7c6e9e07b8 Read receipts remove lockscreen notifications
No need to have a notification for a message you've already read on
desktop.

// FREEBIE
9 years ago
Ronny b59a0e47d7 Disable group header interaction (#1328)
prevent clickability of the group header cell in the group members view
9 years ago
nixnuex 50cd4f54fc verification code field: improved user experience (#1325) 9 years ago
Michael Kirk f7198d5eaa Don't crash when receiving read receipts after message
// FREEBIE
9 years ago
Michael Kirk d8be0b5d22 New translations
// FREEBIE
9 years ago
Michael Kirk 0a64022748 Must specify team for XCode 8 build
// FREEBIE
9 years ago
Michael Kirk 90dab190f3 Update SSK to send useragent upon provisioning
We do this to coordinate a theme choice on the desktop

// FREEBIE
9 years ago
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
9 years ago
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
9 years ago
Michael Kirk 6bd2453d7d Fix choppy paperclip icon on iphone6
Previously ios was generating the asset for us from our vector (pdf),
but apparently it does a crappy job. Most notably on small thin lines
like our paperclip.

// FREEBIE
9 years ago
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
9 years ago
Michael Kirk 019310f284 Deselect table rows when swiping back in table views
// FREEBIE
9 years ago
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
9 years ago
Michael Kirk f28400146f bump build
// FREEBIE
9 years ago
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
9 years ago
Michael Kirk dee26e6e0a Use PNG constant
// FREEBIE
9 years ago
Michael Kirk 9006ff604f Multi device read receipts.
All the heavy lifting is in SignalServiceKit.

// FREEBIE
9 years ago
Michael Kirk 428f7fca19 Adapt to nullability annotations in SignalServiceKit
// FREEBIE
9 years ago
Michael Kirk 92290a5d4d Fix: Inbox count not updating while viewing archive
e.g. If I'm viewing the archive when a new message comes in

// FREEBIE
9 years ago
Michael Kirk ef6784ed95 Device Manager
* List linked devices
* Adding a new device
* Removing a device

TODO: design on the QRScanner

// FREEBIE
9 years ago
Michael Kirk 84156698c4 Provision device from QRCode.
NEEDS DESIGN - will likely have an intermediate "device manager" screen.

* extracted QRCode Scanner into re-usable ViewController

// FREEBIE
9 years ago
Michael Kirk 6545161192 thread is set during notification callback.
It should *not* be non-atomic

// FREEBIE
9 years ago
Michael Kirk eef2002224 Clean up settings (#1316)
* Remove unused (hidden) button from settings
* dynamic type for settings cells
* prefer property vs ivar access
* property attributes

// FREEBIE
9 years ago
Michael Kirk cc2d47fbd3 Update protocol (#1315)
* Update to latest SignalServiceProtocol
* Show SignalServiceKit compiler warnings

// FREEBIE

* Update to latest signal protocol

// FREEBIE
9 years ago
Michael Kirk e56d41edc7 Otherwise we'll never run future migrations. (#1314)
// FREEBIE
9 years ago
James Barclay f8a0be4c70 Return immutable data from generateSecureRandomData:length and use OSStatus to check the status of SecRandomCopyBytes. (#1306) 9 years ago
Michael Kirk 9a86ca76ce screen security is enabled by default
// FREEBIE
9 years ago
Michael Kirk 58548c68cc code cleanup
- refactor screen protection code for clarity
- remove unused settings cell class
- remove unused preferences

// FREEBIE
9 years ago
Adam Stiles 52861a6ef5 Fix incorrect GIF message bubble sizing (#1300)
TSAnimatedAdapter is used when rendering GIFs. TSAnimatedAdapter
inherits from JSQMediaItem but does not provide a custom implementation
of the hash method. The default implementation of hash in JSQMediaItem
results in all messages of a given interaction type (incoming,
outgoing) sharing a cached bubble size. For this reason, JSQMediaItem
subclasses are required to implement hash (see
https://github.com/jessesquires/JSQMessagesViewController/issues/631).

This commit fixes issue #1275 by implementing hash in TSAnimatedAdapter
the same way TSPhotoAdapter does.
9 years ago
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
9 years ago
Vitali Lovich 547cd9797a Improve audio waveform scrolling performance (#1292)
The object is already cached & the waveform view constructed when scrolling,
so there's no need to re-create the view.

This doesn't fix the problem with the wave-form generation on the first
view of the message.  That is a more critical problem in the underlying
SCWaveformView class which renders on the main thread instead of doing
it asynchronously.

FIXES #1258
9 years ago
Michael Kirk 92b3ea5d25 Re-enable attachment cleanup migration after fixing it in SSK (#1298)
// FREEBIE
9 years ago
Michael Kirk 000a5941f4 Delete attachment cleanup migration.
After running locally, I noticed many old threads missing old
attachments. I'll do some further investigation.

// FREEBIE
9 years ago
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
9 years ago
Michael Kirk f09af989b7 2.4 update translations (#1291)
// FREEBIE
9 years ago
Michael Kirk 73856c3e44 bump release target to 2.4.0.4
// FREEBIE
9 years ago
Michael Kirk 147cc15105 Input toolbar fits text size (#1290)
* Set height of toolbar based on actual font height. FIXES #1282
* max height for compose field FIXES #1186

Still absent is resizing to fit draft.

// FREEBIE
9 years ago
Michael Kirk bb3bda2364 bump build 2.4.0.3
// FREEBIE
9 years ago
Michael Kirk 86f06593d8 Fix "can't reattach saved GIF" (and others) (#1288)
The root of the problem is we were using the deprecated ALAssetsLibrary
framework, which couldn't find certain assets.

By using the photos framework not only are we able to find these
assets, but it also cleans up our code:
* no more copying byte buffers
* no more detecting file type

// FREEBIE
9 years ago
Michael Kirk 3c2846274c Prevent crash when copying corrupted image attachment. (#1287)
// FREEBIE
9 years ago
Michael Kirk c4209e793a Don't use "we" in error message copy.
per @RiseT on transifex

// FREEBIE
9 years ago
Panos Sakkos c5f6b7b7bd Improved error message when network doesn’t allow to access Signal port.
Fixes #130

FREEBIE
9 years ago
Brandon Cheng 583d3e82ad Alternative solution for requiring direct taps for launching media view (#1235) (#1261)
// FREEBIE
9 years ago
Ronny e7affecc17 FIX: Leaving group should dismiss keyboard #1274 (#1278)
If we hide the input toolbar, we should hide the keyboard too

//FREEBIE
9 years ago
Ronny 0455f03615 Fixes Call Error message text should adapt size to fit localized texts (#1164) (#1178)
- adding constraints and changing properties for _callStatusLabel to
fit 3 lines of text

//FREEBIE
9 years ago
Michael Kirk 97fdabf9a2 Narrow the bubbles a bit. (#1269)
This is closer to the 2.3 version.

Seems like upstream sizing has changed since our JSQMVC upgrade. This wider size calculation makes sense if you're losing space to the avatar, but since we're not using avatars the full width bubbles can make the whole view seem a bit crowded when you have large blobs of text.

// FREEBIE
9 years ago
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
9 years ago
Michael Kirk f205ff19fa new translations (#1265)
// FREEBIE
9 years ago
Michael Kirk f899cff128 Fix in-app audio
- sound is set by passing in reference
- don't access properties in constructor
- distinguish multiple variables with same name

// FREEBIE
9 years ago
Michael Kirk df63c8624d fix compiler warnings
// FREEBIE
9 years ago
Michael Kirk e7d4763715 Must tap directly on bubble to launch fullscreen media view (#1260)
// FREEBIE
9 years ago
Michael Kirk 9db3b0db27 Consistent and efficient media Delete/Copy/Save UX
copy/save/delete is accessed via longpress for all media messages, just
like for simple text messages.

Notes
-----
We don't support saving audio attachments as it's not clear where they should go.
(I don't think users expect them to end up in their iTunes library.)

There is still no UX for "pasting" media into Signal.

Removed the now redundant (and confusing) "share" button interface.

//FREEBIE
9 years ago
Michael Kirk 70197fb482 bump version to 2.4.0
// FREEBIE
9 years ago
Michael Kirk db3b2d443c Use upstream corner radius
The history here is that the radius I'm removing was added in #884 after
having straight edges added in our custom fork for a while.

So, rather than override our override, I'm just reverting to the
upstream value, which is close in proximity, and closer to iMessages
radius.

// FREEBIE
9 years ago
Michael Kirk 4ccb295dbb Send button disabled color and dynamically sized
Using upstream button and change notification allows us to delete some
code.

// FREEBIE
9 years ago
Michael Kirk f8d65ab0f5 Post JSQMVC code cleanup
* formatting
* referencing TODOS
* remove unnecessary logging

// FREEBIE
9 years ago
Michael Kirk b7dd51438e Move colors into style class
// FREEBIE
9 years ago
Michael Kirk 1a4b38e34b Modernize init, dealloc, dicts
* Use NS_DESIGNATE_INTIALIZER to ensure we're setting all the variables we need to be in OWSCall
* no need to nil properties in dealloc on ARC
* use declarative dictionaries for legability

// FREEBIE

use declarative dictionaries for clarity
9 years ago
Michael Kirk f7f1b6877b Remove unused call thumbnail code
// FREEBIE
9 years ago
Michael Kirk e930574b1b rename our custom JSQ classes to OWS so it's clear what is/not our code.
This was done as part of unforking JSQMessagesViewController, but is
intentionally a separate commit so we can separate formatting changes
from code changes in git history.

* Import frameworks like:
    #import <FrameworkName/HeaderName.h>
* instead of:
    #import "HeaderName.h"

// FREEBIE
9 years ago
Michael Kirk 933281f234 format objc.
This is part of unforking JSQMVC, but I'm only reformatting files
otherwise changed rather than reformatting the entire project for git
sanity.

This is intentionally a second commit so we can separate formatting
changes from code changes

* brace should drop after method definition (this is common across
  almost all objc projects, and allows you to quickly differentiate
  multi-line method signatures from their implementation.
* aligning consecutive assignments ongoingly muddies git history

// FREEBIE
9 years ago
Michael Kirk 4d320d6015 Unfork JSQMessagesViewController
Geting back on upstream fixes a couple bugs (see ##Bugfixes), and also
will make future updates easier.

The unforking process was basically this:

* move custom message types (Calls and DisplayedMessages) classes from our
  custom JSQMVC fork into Signal-iOS.
* Move any method customization into our subclass. Including
  ColletionView stuff, bubble sizing, and gesture behavior

Bug Fixes
---------
* Fix mis-sized incoming media bubbles.

Bubble size was being cached by interaction id. Which broke when
receiving an attachment. The problem is that incoming media messages
were initially the height of a "Downloading Attachment" info message.
Instead we use the mediaHash for media messages to expire the bubble
size when the media changes.

* fix missized bubble when MVC did appear

The MessagesViewController isn't sized correctly until ViewWillAppear.
This caused the first round of bubbles to be rendered incorrectly (they
assumed a larger container than they had).  I think is reflected in the
current version of the app by a reflow occurring shortly after the view
appears.

Chores
------
* bump travis to build with xcode8
* specify RQV development team for device build. required by xcode 8 beta

Cleanup
------
* Refactor messageing XIB so that elements are hangning outside of
  the views frame
* Fix compiler warning with explicit cast
* delete deprecated lineBreakmode, it's the default value anyway.

// FREEBIE
9 years ago
Michael Kirk 987ce5f832 bump release target to 2.3.6.0 (#1256)
// FREEBIE
9 years ago
Michael Kirk d24d54d4f2 small IOS9 Fixes (#1253)
* Fix compiler warnings by explicitly casting to int.
* Show a better permissions message when viewing attachments.
* Fix comment.

// FREEBIE
9 years ago
Michael Kirk 992dbe586a Fix crash on unknown attachment (#1249)
// FREEBIE
9 years ago
Michael Kirk 01b00e3814 bump release target to 2.3.5.0
// FREEBIE
9 years ago
Michael Kirk 1f1920b648 Fix crash on iOS10 when attaching media
New permissions strings are required.

// FREEBIE
9 years ago
Michael Kirk d4f2c0f249 ensure picker source available to prevent crash
This is crashing on simulator, but presumable if it weren't available
for other reasons (permissions?) it would also crash.

// FREEBIE
9 years ago
Michael Kirk 1e43e139fd Get back on upstream SocketRocket (#1241)
* Latest SocketRocket includes
  * crash fixes.
  * our new security policy management, so we don't have to
    keep rebasing to incorporate updates.

* Adapt to policy renaming in SignalServiceKit
* bump XCode version to play nice with SWIFT_NAME

// FREEBIE
9 years ago
Michael Kirk b83bcdab8a updated french and japanese translations 9 years ago
Michael Kirk a181d218cf extract and test contact searcher
// FREEBIE
9 years ago
Michael Kirk 8c6bf3cba6 prefer properties per style
// FREEBIE
9 years ago
Michael Kirk 1f31015d54 find phone number regardless of punctuation used in search.
e.g. 3235551234, 323-555-1234, 1-323-555-1234, etc. are all the same as +13235551234.

// FREEBIE
9 years ago
Michael Kirk 26f5418500 Remove distinction between TS and RP users
* Ensure we're always showing call button for non-group threads.
* search phone strings directly rather than precomputing field

// FREEBIE
9 years ago
Michael Kirk 62633ff7f4 remove unused code
// FREEBIE

dot notation is only for property access

// FREEBIE

remove unused code
9 years ago
Michael Kirk 1e0f0157c1 namespace ContactsManager -> OWSContactsManager
rename test class ContactManager->OWSContact_s_Manager
update docs

// FREEBIE
9 years ago
Michael Kirk b3bb4c745e Set explicit height for all media types. Audio is the only special case. (#1237)
This might FIX #1111, but I think there are actually a handful of things
breaking our layout.

// FREEBIE
9 years ago
Michael Kirk 87d2fe1131 bump release target to 2.3.4
// FREEBIE
9 years ago
Michael Kirk aa9908d439 Large media attachments should be compressed (#1232)
* compress non-GIF media as JPEG

There are some problems with this approach
- Potentially re-encoding files
- Lots of code in the controller

* Compress GIF > 5MB into static JPEG.

This isn't ideal, but a stopgap to prevent people from sending huge
GIFs, while also giving them *some* kind of feedback (e.g. a static jpeg
is sent rather than their being no indication to sender+recipient that
anything was attempted.)

* spell bmp correctly

// FREEBIE
9 years ago
Michael Kirk 76352bf471 Code Cleanup (#1229)
* remove unused Signal-Bridging-Header
* move Adapters out of ViewControllers directory
* remove unimplemented method from header
* Fix unused variable warning.
* Move SignalsViewControllers out of UITests directory.
* remove executable bit from source files

// FREEBIE
9 years ago
Michael Kirk 7c84c4569a Only call UI modifying observers when UI is present (#1226)
* centralize observers relevant to a "visible UI"
* collocate init/teardown of observers

// FREEBIE
9 years ago
Michael Kirk bee7c71dff Prevent freeze when swiping back twice. (#1224)
FIXES #1222

Maybe this code was a vestige of a former way we were customizing the
back button. In any case, it's no longer required for swipe-to-pop
functionality.

// FREEBIE
9 years ago
Michael Kirk 4a1c53f624 Access contacts atomically to avoid corruption (PR #1223)
4% of our crashes are from accessing latestContactsById with an invalid
address. This was partially addressed by assigning a value on init, but
it's still happening.

By converting the ivar to an atomic property we can avoid any funny
business that would happen when accessing this var while it's being
updated in a different thread.

Also, make sure we're copying to defensively strip mutability.

Also:
* bumped release target
* removed unused code
* dealloc at the top per style.
9 years ago
Michael Kirk 8f04f863b7 hide UI element must happen on main thread (#1220)
// FREEBIE
9 years ago
Michael Kirk 7fef6aeab2 Fix crash after deleting message (#1219)
* update to JSQMessageViewController fixes #1218
* no need for SVC to retain membership of MVC

// FREEBIE
9 years ago
Michael Kirk 965261f465 attempt to fix intermittent SEGFAULT in SocketRocket (Maybe Fixes #1196) (#1217)
* Rebased OWS fork of SocketRocket against upstream
* Pulling in SocketRocket directly from OWS Github rather than going
  through the motions of publishing a pod that only we use.
* Bump version

// FREEBIE
9 years ago
Michael Kirk 78a5355b04 Initialize latestContacts to empty dict (#1207)
Seeing intermittent segfaults on [latestContacts allKeys].
This could be because latestContacts is initialized async.

//FREEBIE
9 years ago
Michael Kirk 2565801c39 Fix new localizations (#1206)
* bump version
* pulled latest translations
* Register localizations with app.

- Persian (fa)
- Indonesian (id)
- Macedonian (Macedonia) (mk)
- Shona (sn)
- Galacian (gl)

(Project > Signal > Localizations > Add Localizations)

Generalized Macedonian locale since it seems like iOS doesn't support
the "Macedonia(Macedonia)" sub-locale

* disable farsi until proper RTL interface work is done

// FREEBIE
9 years ago
Michael Kirk a736e8de66 Fixes avatar not showing for single contact thread (#1202)
* requires update to SignalServiceKit
* updated Pod Dependencies
* bumped version

Fixes #1201

// FREEBIE
9 years ago
Michael Kirk 83de0d75b8 New translations (#1193)
* modify script to fetch all uploaded translations.

Otherwise we don't always get the latest translations.
This might be because we're only fetching "reviewed" translations, but
so-far-so-good with unreviewed translations, and we don't have a real
"reviewing" hierachy in place anyway. This policy might change in the
future, but at least now it's not ambiguous.

// FREEBIE

* latest translations
9 years ago
Michael Kirk d7c48578a9 Fix invite crashing without sms (#1192)
* Fixes "New Message" --> "Invite contact" exception for iPhone devices that do not support SMS messaging

* fix SMS invite on empty inbox

This code appears in two contexts - (1) in an empty inbox , where no other view
controller is presented, and (2) in compose interface where a
search controller is presented, and must first be dismissed.

* only check SMS sending ability directly, (not device model)

This is better because:
1. sometimes iPhones can't send SMS
2. Sometimes iPads/iPods can send SMS

* correct localization key

* bump build

// FREEBIE
9 years ago
Michael Kirk 9bacc3de78 Reset compose view on thread switch (#1187)
* all Signal users can send text messages, never hide texting toolbar.

//FREEBIE

* Fix composition box size when switching threads.

Partial revert of 2c83046ff6 which
introduced a shared reusable message view controller across threads.

2c83046ff6 resulted in several discovered
bugs so far (#1179, #1150, #1152, and maybe: #1146). It's pretty clear
at this point we're going against the grain of how
JSQMesageViewController is intended to be used, and since the nominal
purpose of this feature (iPad Layout) doesn't exist, we should revert to
the known good way of interacting with the MessageViewController,
creating a fresh instance per thread.

// FREEBIE
9 years ago
Michael Kirk da6597118a Fix unable to send invite via sms (#1188)
* bump release

//FREEBIE

* fix invite over sms alert

Could not present the sms invite alert controller because we were
already presenting the UISearchController

FIXES: #1182

// FREEBIE
9 years ago
Michael Kirk 4537324fe5 Mark encryption as exempt, per Moxie's instruction. (#1173)
Bump release number

// FREEBIE
9 years ago
Michael Kirk 496f8117f9 Update translations (#1172)
* Update translations (4 new translations!)

*New Translations*

- Persian (fa) (100%)
- Indonesian (id) (82%)
- Macedonian (Macedonia) (mk_MK) 100%
- Shona (sn) 98%

Inluded a script to pull translations that are >=80% complete

80% is completely arbitrary, but nicely bisects the current translation
efforts which fall into buckets of "over 80%" and "under 50%."

// FREEBIE

* final tx pull before push source

//FREEBIE

* tx pull, after updating source (plus some eager beavers already pushed new translations)

iStringVerify passes

* Make "add person" label more i18n flexible

This accommodates (e.g.) Italian, which was being truncated.

// FREEBIE

* Galician localization

Moitas grazas xesusmosquera!

// FREEBIE

* i18n for Unarchive action

started leaving hints for our translators. These are currently manually
redundantly duplicated in the source/strings file, in hopes of a more
automated future with genstrings.

// FREEBIE

* include iStringsVerify check in update-translations script

and pull latest translations after including UNARCHIVE action
// FREEBIE

* i18n GROUP_MEMBERS_HEADER

//FREEBIE

* pull translations
9 years ago
Michael Kirk 7f022404d1 [UI] smaller group action menu icon, revert edit divider to neutral color (#1169)
* Group actions bar button image was too big

Added image inset to resize.

// FREEBIE

* return blue line to neutral gray. (partial revert of 0c1a97a743)

// FREEBIE

* Podfile.lock corollary to updating SSL in b7813bdc9a

// FREEBIE
9 years ago
Michael Kirk 5286c032ce reset "Load Earlier Messages" when switching threads (#1163)
Since we're now re-using the message controller across threads, we have
to reset some elements to their initial state when switching threads.
Missed this one.

Fixes: #1150

// FREEBIE
9 years ago
Ronny f05429b594 Prevent skewed group image (fixes #756) (#1159)
* Prevent skewed group image (#756)

- fixes #756

//FREEBIE

* Prevent skewed group image in inbox view (#756)

- fix skewed inbox view image
- fixes #756

//FREEBIE
9 years ago
Michael Kirk 752b0fecab Bloom filter migration: check for file before deleting (#1147)
- Extracted migration method
- added some logging

// FREEBIE
9 years ago
Michael Kirk 9f572881f8 * Cache cleaning uses YAP notificationsThis way we don't have to worry about cleaning the cache explicitlywhen we do destructive actions.// FREEBIE
* Cache cleaning uses YAP notifications

This way we don't have to worry about cleaning the cache explicitly
when we do destructive actions.

// FREEBIE
9 years ago
Michael Kirk 95ab3d677c must *always* be in main thread when dismissing view controller. (#1114)
Fixes intermittent crash when uploading new group photos.

// FREEBIE
9 years ago
Michael Kirk 5869fb8e06 Fix ability to attach photos from camera (#1112)
* Fix ability to attach photos from camera

Looks like this came about with the animated GIF handling. We'll only
go down the byte-comparison-mime-type-detecting code path for attaching
existing photos, since it only exists for animated GIFs.

This will also revert to properly compressing our image attachments, so
long as they are taken from the camera.

* Prevent crash when tapping broken image

It never makes sense to present a "full screen" nil image. Previously
this happened when camera-capture was broken, but could conceivably
happen for other as-of-yet unknown reasons.

// FREEBIE
9 years ago
Michael Kirk c0bb704d2d Cache instantiated interactions (#1152)
*most* of our time when scrolling around a message view is in this
method. Doubly so when these are media items.

remove interaction from cache when it is deleted/updated

// FREEBIE
9 years ago
Michael Kirk 7d8292fd53 show alert must happen in main thread (#1119)
//freebie
9 years ago
Michael Kirk fc494d735f Merge pull request #1140 from michaelkirk/fix-screen-protection-image
After removing launch image, we need to update screen security
9 years ago
Michael Kirk 199ce49265 Fix smooshed launch image on iphone 6 by using storyboard instead of static launch image
This is recommended practice for iphone6/+ for iOS>=8

> Although it’s best to use a launch file for iPhone 6 and iPhone 6
> Plus, you can instead supply static launch images if necessary. If you
> need to create static launch images for these devices, use the
> following sizes:

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

Fixes #1136
Closes #1137
9 years ago
Michael Kirk 721ed066f2 Fixes This class is not key value coding-compliant for the key "keyPath"
Since "Key Path" is the header for run time attributes, my guess is that
this was a click misfire so long ago. I'm not clear if this was ever
causing a crash or just a warning, but we don't want the noise.

Fix "Unbalanced calls to begin/end appearance transitions"

You should not segue while animations are in progress. I'm not sure if
this was causing intermittent crashes or just the warning.

//FREEBIE

Closes #1130
9 years ago
Arek Banas 72e1180e16 Removing unused didReceiveMemoryWarning methods from view controllers.
Closes #1078
9 years ago
Frederic Jacobs 4034baedb9 Adapting to renaming. 9 years ago
Michael Kirk f44393bb74 Re-introduces the delete action.
The delete action became opt-in in JSQMessagesViewController.
Fixes #913
Closes #1104

//FREEBIE
9 years ago
Michael Kirk 91d7ca2f53 Remove reference to + button, which was removed in #950.
Fixes #1080
Closes #1092
//FREEBIE
9 years ago
Aayush Ranaut bd377e65af Network Signal and deactivate account row don't highlight.
Related #1026
9 years ago
Frederic Jacobs 2c83046ff6 Closes #990.
- Use single MessagesViewController. Goal: Being able to reuse that UI
for SplitViewController on iPad. Prevents unnecessary deallocations and
re-allocations.
- Remove custom archiving UI for default swipe right to left archive
action, like in iOS Mail.app.
- DynamicType for main view.
- Simplify API of MessagesViewController to prevent undefined behavior.
//FREEBIE
10 years ago
Frederic Jacobs 1b02e186f8 Fixes #146 #147. 10 years ago
Frederic Jacobs 975cda312c Adding missing queue test.
The test wasn’t running because wasn’t prefixed with `test`.

//FREEBIE
10 years ago
Frederic Jacobs a7ec383a7b Fixes #984 Fixes #948.
A future improvement could be to store the usage data in the encrypted
database than in the NSUserDefaults that are more vulnerable to
forensics.
10 years ago
Mahyar McDonald 0c1a97a743 Some nits & add corner rounding to the message text box.
Closes #884
10 years ago
Adam Kunicki da97349d41 Add subtitle to Screen Security setting to explain its function.
Closes #1014
Fixes  #993
10 years ago
Frederic Jacobs 3acc47d6ad Fixes #832 10 years ago
Frederic Jacobs c6d44e59e2 TextSecureKit Refactoring
- Using same clang format file for old and new files.
- Moving out all TextSecure code to allow other clients (OS X, iOS) to
  integrate easily TextSecure functionality.
- Use TextSecure API to signup.
10 years ago
Michael Okner 37b582beda Adding support for animated gifs
Implemented using corbett's suggestion in issue #525. Uses
Flipboard/FLAnimatedImage in an AttachmentAdapter. Detects gifs using
new Animated category in MIMETypeUtil.

Backwards compatible with previous versions of Signal on iOS for both
sending and receiving Gifs, though they are sent/received in older
versions as UIImage and won't animate. Gifs also animate on both ends of
conversations with TextSecure users on Android.

//FREEBIE
10 years ago
Rui 25293fd40b Fixes #957.
Exit button not displaying when scanning fingerprint.
10 years ago
Frederic Jacobs 53793e3c0f Fixes #950 10 years ago
Frederic Jacobs 26f9207cab Bye Bye Bloomfilters
For reasons outlined in
https://whispersystems.org/blog/contact-discovery/ , Signal will no
more use bloom filters for RedPhone contact intersection.
10 years ago
Frederic Jacobs 861e3d6266 Fixes #930 10 years ago
Frederic Jacobs b70be4d559 Fixing bug with reused label appearing bold. 10 years ago
Frederic Jacobs d33c80ddd9 Pulling in latest translations. 10 years ago
Frederic Jacobs 777e7e16f0 3D Touch: Quick Compose 10 years ago
Frederic Jacobs 0fd9acfb2c Phone emoji 10 years ago
Lilia c4dcb5f807 Fixes #907
Upon receiving a 404 to a prekey request for a particular device D, the client handles that error by removing device D from the recipient's device list, and proceeds to encrypt and send to the remaining known devices.

Reviewed & Patched by @FredericJacobs
10 years ago
Frederic Jacobs 087b7c38dc S3 ATS Policy
This partly reverts commit 1affdbb325.
10 years ago
Frederic Jacobs a29eb5470f Attachment type in notification and description. 10 years ago
Frederic Jacobs ef6e658c38 Performance updates & smarter layout (2 lines)
- Adding support for ContactsUI when adding contacts on iOS 9.
- Multiple performance updates by liberating the main thread and
reusing tableview cells.
10 years ago
Frederic Jacobs 047262b95a Fixing typo in restrictions string. 10 years ago
Frederic Jacobs 3d4d4123f7 Removing APNavigation as a dependency. 10 years ago
Frederic Jacobs 8189e593ef Fixes glitching of inbox label when coming back from background.
The method was not called on the main thread, resulting in rendering
issues.
10 years ago
Frederic Jacobs 1affdbb325 Closes #891 10 years ago
Frederic Jacobs e98a6217fe TLS 1.2 on signaling tcp. 10 years ago
Frederic Jacobs 0ad55853f2 Adding staging environment. 10 years ago
Frederic Jacobs bbde7cd2a8 iOS 9 Support
- Fixing size classes rendering bugs.
- Supporting native iOS San Francisco font.
- Quick Reply
- Settings now slide to the left as suggested in original designed
  opposed to modal.
- Simplification of restraints on many screens.
- Full-API compatiblity with iOS 9 and iOS 8 legacy support.
- Customized AddressBook Permission prompt when restrictions are
  enabled. If user installed Signal previously and already approved
  access to Contacts, don't bugg him again.
- Fixes crash in migration for users who installed Signal <2.1.3 but hadn't signed up
  yet.

- Xcode 7 / iOS 9 Travis Support
- Bitcode Support is disabled until it is better understood how exactly
  optimizations are performed. In a first time, we will split out the
  crypto code into a separate binary to make it easier to optimize the
  non-sensitive code. Blog post with more details coming.
- Partial ATS support. We are running our own Certificate Authority at
  Open Whisper Systems. Signal is doing certificate pinning to verify
  that certificates were signed by our own CA. Unfortunately Apple's App
  Transport Security requires to hand over chain verification to their
  framework with no control over the trust store. We have filed a radar
  to get ATS features with pinned certificates. In the meanwhile, ATS is
  disabled on our domain. We also followed Amazon's recommendations for
  our S3 domain we use to upload/download attachments. (#891)
- Implement a unified `AFSecurityOWSPolicy` pinning strategy accross
  libraries (AFNetworking RedPhone/TextSecure & SocketRocket).
10 years ago
Frederic Jacobs eb94a1114a Fixing issue with message ordering. 10 years ago
Frederic Jacobs f2e58de164 Bump up version number & fetch latest translations.
//FREEBIE
10 years ago
Frederic Jacobs c95f190140 Require AddressBook permission.
Signal requires the AddressBook permission to use the app at the
moment. This avoids the edgecases where a user doesn’t allow access to
his address book and then tries to use the app. We’re also doing a
significantly better job at explaining why we need this permission to
the user.
10 years ago
Frederic Jacobs 0090030f3d Adding rating code
We’ve noticed that most people went to the App Store to leave really
bad reviews of the app and it is severely affecting our discoverability.
We will ask for a rating if we see you’ve been using the app for some
time. If you rate the app or decline to rate, that’s fine. We will
never bug you again!
10 years ago
Frederic Jacobs 2d5d8db721 Fixes #871
//FREEBIE
10 years ago
Frederic Jacobs ada07351e1 Support for `supportsVOIP` attribute.
- Deprecates RedPhone upgrade flow.
- Adds a generic upgrade dialog.
- Upgrades dependencies.
- Reorganizes `TSStorageManager` & TSNetworkManager imports.
10 years ago
Orta Therox 0ab32b80d1 Stop the spinner when registration fails on a RegistrationVC 10 years ago
Frederic Jacobs c4bf4a8f50 Preliminary iOS9 support and upgrading to CocoaLumberjack 2.0 10 years ago
Frederic Jacobs f6c0625c2c Removing unused imported classes.
//FREEBIE
10 years ago
Frederic Jacobs e7328bd673 Upgrading cert pinning & flagging release. 10 years ago
Frederic Jacobs 07abcaf7da Register extra keying material at registration. 10 years ago
Mert Buran 040e4c750b Removing literals and self within block.
declaring constants instead of string literals
avoiding using self within block
removed unused method decleration from header file

Reviewed-by: @FredericJacobs
10 years ago
Craig Gidney 485748068f Checking the result of SecRandomCopyBytes
Built and verified by @FredericJacobs
10 years ago
Frederic Jacobs 02560f8b2f Flagging release.
- Bump up version number.
- Fetching latest localizations.
- Upgrading libPhoneNumber and Mantle dependencies.
//FREEBIE
10 years ago
Frederic Jacobs 2fc20702d9 Fixing crash on responding to phone call. 10 years ago
Frederic Jacobs 7acd8fff26 Fixing memory issue with allocation of the socket status view. 10 years ago
Frederic Jacobs 4c96ea1c91 Fixes crash on launch for unregistered users who updated. 10 years ago
Frederic Jacobs fd3e75b51d Bumping up version number & pulling localizations
//FREEBIE
10 years ago
Frederic Jacobs 08e3b31eec Recipient's name in group key conflict on send. 10 years ago
Frederic Jacobs 912b617a11 Support for Mismatched Devices. 10 years ago
Frederic Jacobs cd0fb8bc51 Fixing graphical glitch in tread with images. 10 years ago
Frederic Jacobs 57f86008d1 UX and Notifications fixes
- Removes large confusing UX bar and related assets. Replaced with UISwitch.
- Enhanced user experience for missed calls.
- Fixes issue where missed call would appear as incoming call in call log.
- Fixing issues where PushKit handler not called on launch.
10 years ago
Frederic Jacobs 93de0a4326 UX improvements in how failed messages can be resent. 10 years ago
Alex Dunn d347df9a46 App Icon: shift speech bubble up to improve visual alignment
The oval part of the speech bubble was vertically centered, but the hanging triangle made it appear to be lower-than-center.  This pushes the entire bubble up to correct for that.
10 years ago
Frederic Jacobs b1b936e436 Bumping up version number
- Upgrading dependencies.
- Fetching latest localizations.
10 years ago
Frederic Jacobs bb1a4c1800 Addressing issues with managing socket connections in background. 10 years ago
Frederic Jacobs 0f04132b81 Bumping up version number
- Upgraded dependencies.
- Fetching latest localizations.
10 years ago
Frederic Jacobs 0f45294221 Reliability enhancements for notifications. 10 years ago
Brendan Ragan 0f57804eef Enable data selectors. 10 years ago
Frederic Jacobs 61ab11d45c Fixes #775. 10 years ago
Frederic Jacobs 1550c61216 Addressing issues with background decryption.
- Simplifying background timeout strategy for reliabilty.
- Adding Notifications settings.
- Dropping support for VOIP Push < 8.2 because buggy.
10 years ago
Frederic Jacobs 2d41a3e25e Permissions dialog description. 10 years ago
Frederic Jacobs 9652584ada Upgrading dependencies. 10 years ago
Frederic Jacobs e47e9759e9 Fixing leaky caches. 10 years ago
Frederic Jacobs 89dd9efe05 Fixing call message errors. 10 years ago
Frederic Jacobs 13448bdb2d Notifications enhancements.
- Tap to reply to a message.
- Badges application with the number of unread messages.
- Pick up a phone call from lock screen, or decline it.
- Settings for notification sounds while app in foreground and text displayed on local notifications.
10 years ago
Frederic Jacobs abc63eca27 Fixes issues with registration in iOS simulator. 10 years ago
Frederic Jacobs dceb1c9976 Bump up version number, pull localizations and dependencies 10 years ago
Frederic Jacobs c6cdbea89a Fixes #761 10 years ago
Rainer Killinger d12c5b308e Fixes #680
Hour format was set to static “h:mm a” leading to localization issues.
Current locale will now be respected in every formatting.
Adjusted the decision when to label the message with a date from
“more then 24 hours ago” to “not today”.
10 years ago
Frederic Jacobs 8e8ad7668c Bump up version number and new localizations
Note: Removing left to right languages until they are properly supported.
10 years ago
Frederic Jacobs 788aa8cb4f Dropping some required permissions. Smarter microphone permission. 10 years ago
Frederic Jacobs 7a5f9f1413 Remove initialization on MIMETypeUtil 10 years ago
Frederic Jacobs 1f61291e0c Addresses some performance issues on loading from database. 10 years ago
Frederic Jacobs 82a9029c37 Fixes #713 10 years ago
Frederic Jacobs fa1791a4d7 Show phone number instead of "Unknown Caller" in call view. 10 years ago
Frederic Jacobs 0c93679a3d Fixes #709 10 years ago
Frederic Jacobs 5dd8c47474 Fixes #578 10 years ago
Frederic Jacobs 9bf5518f6f Fixes #724 10 years ago
Frederic Jacobs 099bea05ba OpenSSL 1.0.2a 10 years ago
Frederic Jacobs 8e48c596ba Fixes #244 10 years ago
Frederic Jacobs e8ea00d71a Perform contact intersection on AddressBook change. 10 years ago
Aaron Raimist 0d97edf7af Fixes #673 10 years ago
Frederic Jacobs 9c611fad79 Fixes #725 10 years ago
Frederic Jacobs ea37894846 Fixes #708 10 years ago
Dirk-Willem van Gulik a1d0b6b1ad Lets user select country by country code.
Allow the entry of the country dial code to also pre-select/filter
the list of options. Useful for countries way down the list, or
countries that tend to be spelled in widely different ways.

Closes #662
10 years ago
Frederic Jacobs ff82f60e05 Fixes #674 10 years ago
Frederic Jacobs b3a4a20216 Tuning WebSocket heart beat to 30s. 10 years ago
Frederic Jacobs 5aa560c0e3 Updating translations for 2.0.1-2 release. 10 years ago
Frederic Jacobs b6ef5f0b7f Bloomfilter moves to Cache folder
The bloom filter is not user generated content so Apple is not going to
let us store it into the Documents folder. Moving it to the Cache
folder.
10 years ago
Frederic Jacobs 50fa491c7b Fixes #620 10 years ago
Frederic Jacobs 4873b9538b Bumping up release number to 2.0.1
(also fetches latest translations)
10 years ago
Frederic Jacobs a2f20de411 Code cleanup.
- Clarification about pinning strategy.
- Removing unused code in TSRecipient.
10 years ago
Frederic Jacobs ee62cbdf23 Fixes #404
Support for drafts. Unsent messages are saved in case you want to send them later on and were interrupted while redacting them.
10 years ago
Frederic Jacobs daac2c0db3 Fixes #566
This fixes the issue with duplicate numbers in group chats. This is just a "fix" for 2.0.1 but the group code is still pretty messy and should be refactored for 2.1
10 years ago
Frederic Jacobs 7aad5c5971 Fixing UX issue with unsynchronized clocks.
TextSecure messages don’t get assigned a timestamp by the server. All
of it is done end-to-end between both clients. A client could have a
misconfigured clock or might want to forge a timestamp. Therefore, we
address this issue by introducing a new receivedAt timestamp for
incoming messages that will be used to sort the messages.
10 years ago
Frederic Jacobs 456d1c479a Fixes #530 10 years ago
Frederic Jacobs 212f0d4350 Fixes #611 10 years ago
Frederic Jacobs 763d56c5d5 Fixes #613 10 years ago
Frederic Jacobs d4e7096e83 Fixes #609
- Also addresses a typo where the cipher key was checked to exist twice.
10 years ago
Frederic Jacobs c1a2f006be Fixes bug spotted by @jlund with the unread count. 10 years ago
Frederic Jacobs 24616735e5 Fixing issue when migration closed and re-opened. 10 years ago
Frederic Jacobs 311a758d27 Preparing release
- Incrementing build number
- Fetching latest translations
- Pod lock
10 years ago
Frederic Jacobs 3ade708040 Fixes based on corbett and abolishme's feedback 10 years ago
Frederic Jacobs 7968821055 Fixing Storyboard warnings. 10 years ago
Frederic Jacobs 9872bed428 Addressing some storage related fixes.
- Tested on jailbroken phone that correct files are getting encrypted
- Fixes #557
- Stores image file extension
- Addresses issue with deletion of debug logs
- Preventing user to browse in app if not registered with TS server
10 years ago
Christine Corbett 1ede61f272 Localizing the TextSecure component of Signal. 10 years ago
Frederic Jacobs ae5410fa69 Making sure that registrationID > 0. 10 years ago
Christine Corbett b37683c0ed Fixed positioning of "+" on group create screen. 10 years ago
Christine Corbett c5970bfa3e Updating licenses of dependencies. 10 years ago
Frederic Jacobs 19ca10d431 Allows retry of failed downloads. 10 years ago
Frederic Jacobs 9569a9b9c6 Multiple visual enhancements and repo cleanup.
- Revising iconography to stick to v2.0 design.
- Multiple bug fixes based on testers feedback
- Integration with system addressbook
- Removing unused assets.
10 years ago
Christine Corbett 23187ec736 New Conversation icon should be a plus (see new_conversation_icon). 10 years ago
Christine Corbett 1befa98617 Should use new Inbox and Archive icons 10 years ago
Christine Corbett be6c412cd2 Navigation bar hidden upon connection completed. 10 years ago
Frederic Jacobs d912471a94 Settings and Empty States of the 98 issues list.
- Fixes some thread ordering issues.
- Green color for settings.
- New archive placeholder.
- Warning before unregistering.
10 years ago
Frederic Jacobs 720177f921 New ringtone. 10 years ago
Christine Corbett 414c44df80 Closes #590 - New Conversation Iconography.
- Use new Cancel button icon
- Use new Add Group button icon
- Use new Call Contact (d/w) button icon
10 years ago
Christine Corbett 667cc983e9 Closes #589 - Enhancements conversation view.
- Call button should be removed from compose bar (when no text is in the input, or ever).
- Attachment options should be Choose from Library..., or Take Photo or Video
- Call button should move to right side of nav bar, and be solid white.
- Send button in compose bar should be the word Send.
- Attachment icon should be paperclip
10 years ago
Frederic Jacobs 3112bd9a15 Design enhancements, part of #577
- Settings iconography.
- Close buttons.
- Add gesture recognizers on navigation bar label, not the entire bar.
- Group view and conversation view back buttons.
10 years ago
Christine Corbett d70a9403b6 Empty states.
- With the exception of the first launch states, none of the empty states should include any artwork
- First Launch Inbox State should read: Start your first Signal conversation! Tap on the + button.
- Empty Inbox State should read Done. Done. Done. Tip: add a conversation as a reminder!
- First Launch Archive State [should read][first-launch-archive] Save conversations for reference. You can swipe conversations into your Archive from the Inbox
- Empty Archive State should read Squeaky Freaking Clean. None. Zero. Zilch. Nada.
10 years ago
Christine Corbett 70248837e7 New avatar placeholders.
- avatar colors implemented
- removed grey border on default group avatars and avatars with images
10 years ago
Frederic Jacobs dfdd0a1974 Support for `remoteRegistrationId`.
1) Supporting `remoteRegistrationId` on sending messages. Now showing
warning before sending the message if key conflict exists. Fixes #574
2) Upgrading dependencies: adapting to new libPhoneNumber API.
3) Fixes race condition in database code.
4) Fixing ordering bug. Hopefully once and for good.
10 years ago
Christine Corbett cbc7a59a5c Tapping signal icon should return user to last conversations mode. Closes #580. 10 years ago
Frederic Jacobs b80f99b8ac Cleanup iconography & fixes #582 10 years ago
Frederic Jacobs d6fd2ff610 Fixes #584 #585 #586 10 years ago
Frederic Jacobs bbc4e3648e Closes #575 10 years ago
Frederic Jacobs 7242680464 Contact ordering and graying out RedPhone-only users. 10 years ago
Christine Corbett 8a5c5efd73 Group avatar relationship for deletion. 10 years ago
Frederic Jacobs 585079de21 Fixes #553 10 years ago
Frederic Jacobs 4833487e94 Removing call recorder + contacts refresh 10 years ago
Christine Corbett 3f81385c21 Resetting status bar to white. 10 years ago
Christine Corbett a6976bac18 Migrations from 1.0.x and 2.0 beta. 10 years ago
Christine Corbett b7d65ce921 Designing the empty state during contact refresh. 10 years ago
Frederic Jacobs af3cf25207 Support for various screen sizes. 10 years ago
abolishme 0e201939b7 Updated iTunes artwork 10 years ago
abolishme 6a1a785701 Fixed spacing on inbox number in icon 10 years ago
Frederic Jacobs 1d1a140d6b Addressing UI issues.
- Makes sure that status bar is white on launch.
- Dismisses keyboard before playing video.
10 years ago
abolishme 1bbfbd4281 Replacing Twitter icon with brand guidelines one. 10 years ago
Christine Corbett cf4a126188 Better phone number parsing for SMS. 10 years ago
Frederic Jacobs 5e92fdbbbe Pinning upstream cert. 10 years ago
Christine Corbett 797492fc13 Various enhancements to the groups.
- new avatar and updated avatar functional
- rounded corners in place, both in new/update group view and in inbox
- removed the appearance of the ability to delete members from a group.
- centering group menu in UIToolbar
10 years ago
Christine Corbett f0ac231b7f Setting status bars to white as completion of all modal presentations. 10 years ago
Christine Corbett f5848365f7 Deliberate handling of MIME types for video, audio, and images.
• rejects unhandled media with unsupported attachment message
• for supported media, handling of MIME type/file extension conversion in a single place
• groundwork for future handling of additional types via e.g. conversion
10 years ago
Frederic Jacobs 994c9d1c50 Attachment with caption fixes.
- Caption is displayed under the message
- Empty messages are not creating message bubble.
10 years ago
Frederic Jacobs 0195507017 Removing unused ContactsTableViewController. 10 years ago
Frederic Jacobs a389344e0a Fixing issue with identity key change messages deletion.
When a key change is accepted, we iterate over the list of messages
that are waiting for decryption. This commit fixes an issue with error
messages not being deleted after message is processed for decryption.
10 years ago
Christine Corbett 499cdfa56f Re-enables user interaction with navbar when view appears. 10 years ago
Frederic Jacobs 826b73051d Multiple constraints updates & addressing warnings.
- Icon bundles upgraded to match required sizes.
- Moving to NSAttributes instead of deprecated UIAttributes.
- Casting serialized attachmentID to NSNumber.
- Removing unused archival view from InboxTableViewCell.
- Upgrading contraints on SignalsVC for 6+ "TabBar".
- Removing deprecated "plain" properties
- Removing redundant button in FingerprintViewController.
- Addresses issues with placement of change number in signup flow
- Fixes placement bug in new group view
- Exclude unused reference.
10 years ago
Christine Corbett 553a38288e Archiving and correctly sorting empty threads. 10 years ago
Christine Corbett aca02221be Various design and UI consistency improvements.
• updated iconography
• lines and sizing
• empty inbox and archive screen with wording
• bug fix on calling to self being enabled sometimes (doesn't crash either way, but makes little sense)
• call icons and group update icons incorporated (PR to JSQ must be merged to test; this will be two lines on the Signal-iOS side to remove if we decide not to go with icons)
• fingerprint screen working: accessible by long press from contact screen on contact title. long press on lower half of screen shreds key material after confirmation. new icons for scan and show.
• short press on contact title will show their phone number
• color updates to new palette for green, yellow and light blue
10 years ago
Cade 6278152ad2 New round of iconography. 10 years ago
Frederic Jacobs 884c960798 Closes #319 10 years ago
Frederic Jacobs fb0281fd61 Exclude Signal files from backup & encrypt when possible. 10 years ago
Frederic Jacobs bcd98f90ee Closes #263 10 years ago
Frederic Jacobs 529c1346fa Closes #303 10 years ago
Christine Corbett 638dfae668 messaging view and group creation fixes:
• Create button should be btnCompose--white
• Add people to be a tableview header (ask @helveticade for creatives)
• Send button = btnSend--blue
• Attachments button = btnAttachments--blue
• message footer changes from call to message as input
• Remove more button
• Empty State update with asset and new copy
• Default group name should be 'New Group' (UI only)
• loading view
• Update tab bar items with revised PDFs
• Blue outline around avatar-less contacts
• Replace swipe left actions with btnDelete--white asset
• Replace swipe right buttons with cellBtnMoveToArchive--blue and cellBtnMoveToInbox--blue respectively
• Done icon replaced with btnSignal in settings
• Settings: Swap blue and grey for Registered Number and Change (change doesn't look like a button)
• Settings: UI Switch on should be Signal Blue.
• Disable search ui + group button while downloading contacts
• new group: Create button should be btnCompose--white
• new group: Add people to be a tableview header
10 years ago
Cade d84ac5a493 New iconography 10 years ago
Frederic Jacobs 8fa1be362f Contacts table view reloading on contact refresh complete. 10 years ago
Frederic Jacobs 7f97d84ebe Delivery receipts working 10 years ago
Christine Corbett 6d2acb70fc in message view compose, ability to call
• RedPhone contacts which aren't TextSecure contacts are disabled from starting conversation via compose.
10 years ago
Cade 2d6b15333a Replaced all iconography and added new icons
Fix #503
10 years ago
Christine Corbett 91591545a2 Support for calls & groups in new blue styled format. 10 years ago
Frederic Jacobs a9ad6643a0 Close #509 10 years ago
Frederic Jacobs 5ccbc4131b Closes #315 10 years ago
Christine Corbett 478110dc86 Allows unregistering of RedPhone. 10 years ago
Christine Corbett 349d84c875 Vectorial Signal header icon. 10 years ago
Christine Corbett 7d5154b10b Dismiss search bar when new group is created. 10 years ago
Christine Corbett bfe0e44cd5 Audio attachments: Prevent progress to be set to NaN. 10 years ago
Christine Corbett 0e1a51e889 Fixed empty group avatar issue. 10 years ago
Christine Corbett bf11775e10 Fullscreen image attachment menu. 10 years ago
jackflips 86c524ddbc Fixing crashes when deleting single messages. 10 years ago
Jack Rogers 1eef08628a Audio attachments UI 10 years ago
Joyce Yan d740f801c6 Swipe to delete implemented 10 years ago
Joyce Yan b494b71dbc Audio farts.
slight change

modified pbxproj to clean up resources

reset developmentteam in pbxproj back to what it was before

deleted one line
10 years ago
Christine Corbett ccdc4b5d17 Redesign implementation.
Result of stashed commits by @corbett and @abolishme
10 years ago
Jack Rogers 84dbc6a45b Closes issue #277 - Fixed speakerphone bug.
//FREEBIE
Reviewed-by: @corbett & @FredericJacobs
10 years ago
Frederic Jacobs 7c658b2879 Enhancements in build configuration.
- Helps onboarding of new contributors because signup generates a fake
push token to register devices.
- Deleted Ad-Hoc configuration since no more HockeyApp distribution.
TestFlight uses default `AppStore release` build configuration.
10 years ago
Frederic Jacobs 60fbfd129a Fixes crashes & edge cases for initials string. 10 years ago
Frederic Jacobs 14164d9855 Closes #359
//FREEBIE
10 years ago
Frederic Jacobs 9e8ba91304 Settings refactoring.
- Renames GroupModel to TSGroupModel for TextSecureKit consistency.
- Refactors the settings into categories (joint work with @dtsbourg)
- Removes settings and logic for background push.
10 years ago
dtsbourg 96dc676bf9 Addresses multiples UI issues.
Closes ##275, #283, #278, #288

Reviewed-by: @FredericJacobs
10 years ago
Christine Corbett 3a43145c23 Closes #282 - Avatar initials placeholder.
Reviewed-by: @FredericJacobs
10 years ago
Christine Corbett b954ff2445 Closes #261 - Signal 1.0 to 2.0 utility.
Reviewed-by: @FredericJacobs
10 years ago
Christine Corbett 71320a690c Bypass ratchet and network to discuss with self.
Closes #314 #305 #274

Reviewed-by: @FredericJacobs
10 years ago
Christine Corbett 07c539c844 Groups: Showing members joining/leaving.
As discussed in #233, but UI is not adapted for longer string.

Reviewed-by: @FredericJacobs
10 years ago
Christine Corbett 5d6ac1f8bd Session Warning Label: Renaming the Secure session ended.
As discussed in #287, wording is adapted to reflet consequences for user.

Reviewed-by: @FredericJacobs
10 years ago
Christine Corbett 34ba5efe11 Closes #291
Reviewed-by: @FredericJacobs
//FREEBIE
10 years ago
Maximilian Merz b9a71445dd End error message sentences with a dot.
Reviewed-by: @FredericJacobs
//FREEBIE
10 years ago
Frederic Jacobs bf8f2bb263 Closes #270 #271 #273 10 years ago
Frederic Jacobs f3f3eb55cc Fixes crash (since ee07490) on loading empty MessagesVC
//FREEBIE
10 years ago
Christine Corbett 1784fcf900 Group avatar: Set default one locally if not selected.
Reviewed-by: @FredericJacobs
10 years ago
Christine Corbett c9c4a93715 Members of groups selection
Reviewed-by: @FredericJacobs
10 years ago
dtsbourg ee07490d3e MessagesVC: Paging and fix scrolling bug.
Reviewed-by: @FredericJacobs
10 years ago
Frederic Jacobs 9ae4a435a1 Show name for unregistered contact in threads.
//FREEBIE
10 years ago
Frederic Jacobs 2d850021a0 Fixing bug causing outgoing calls to be cancelled. Closes #264 10 years ago
Frederic Jacobs fc6b4b5549 New wire format
Unnecessary base64 encoding has now been removed.
10 years ago
Christine Corbett 86aea62b86 Groups: Fixes issue discussed in #248
Link: https://github.com/WhisperSystems/Signal-iOS/pull/248#discussion-diff-22403332
Fixes issue with android not being able to create a group due to update group messages being interpreted as unknown group
10 years ago
Frederic Jacobs ffd68d30c5 Adding support for iPad icons. Closes #255 10 years ago
Christine Corbett 4c0dbeb981 Group avatar fixes
- Resizes group avatars
- Fixing bug causing group avatar to be sent as attachment

Reviewed-by: @FredericJacobs
10 years ago
Frederic Jacobs 7a1a2c2050 Closes #234 10 years ago
Frederic Jacobs eff589af93 Closes #236
- Sublassing errors in case of expected behaviour
- When receiving a new message that was using a previously unknown
identity key, we search for any other messages that are encrypted with
the new accepted key and decrypt those too.
- Addressing some of the warnings we had before.
10 years ago
dtsbourg 4cb3231bb1 Settings: Share fingerprint in tweet (close #210) 10 years ago
Frederic Jacobs 5cf96b2b05 Incoming call when app closed: updates contact label when available. 10 years ago
Frederic Jacobs 0266621ceb Phone calls in MessageView. 10 years ago