Commit Graph

607 Commits (68b36f70747d0c3ec40ae336c55f90ef40f3d5fc)
 

Author SHA1 Message Date
Michael Kirk 68b36f7074 Fix double sends in group thread when accepting keychange (#1263)
FIXES #951

// FREEBIE
8 years ago
Michael Kirk e7d4763715 Must tap directly on bubble to launch fullscreen media view (#1260)
// FREEBIE
8 years ago
Michael Kirk bd1e99026f Merge pull request #1105 from michaelkirk/fix-cannot-delete-media-messages#704
consistent Delete/Copy/Save UX across media types
8 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
8 years ago
Michael Kirk 70197fb482 bump version to 2.4.0
// FREEBIE
8 years ago
Michael Kirk cca4bc451c Merge pull request #1255 from WhisperSystems/update-jsqmvc
Unfork/Update JSQMessagesViewController
8 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
8 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
8 years ago
Michael Kirk f8d65ab0f5 Post JSQMVC code cleanup
* formatting
* referencing TODOS
* remove unnecessary logging

// FREEBIE
8 years ago
Michael Kirk b7dd51438e Move colors into style class
// FREEBIE
8 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
8 years ago
Michael Kirk f7f1b6877b Remove unused call thumbnail code
// FREEBIE
8 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
8 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
8 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
8 years ago
Michael Kirk 987ce5f832 bump release target to 2.3.6.0 (#1256)
// FREEBIE
8 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
8 years ago
Michael Kirk 992dbe586a Fix crash on unknown attachment (#1249)
// FREEBIE
8 years ago
Michael Kirk cc47a6df7e Merge pull request #1248 from WhisperSystems/release-target-2.3.5
bump release target to 2.3.5.0
8 years ago
Michael Kirk 01b00e3814 bump release target to 2.3.5.0
// FREEBIE
8 years ago
Michael Kirk 385126027b Merge pull request #1247 from WhisperSystems/ios10-crash-on-attaching-media
Ios10 crash on attaching media
8 years ago
Michael Kirk 1f1920b648 Fix crash on iOS10 when attaching media
New permissions strings are required.

// FREEBIE
8 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
8 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
8 years ago
Michael Kirk 2fed645c0e Merge pull request #1239 from WhisperSystems/update-translations
updated french and japanese translations
8 years ago
Michael Kirk b83bcdab8a updated french and japanese translations 8 years ago
Michael Kirk e3d94db17c Merge pull request #1238 from WhisperSystems/missing-call-button
Fix: No Call icon for registered Signal contact
8 years ago
Michael Kirk a181d218cf extract and test contact searcher
// FREEBIE
8 years ago
Michael Kirk 8c6bf3cba6 prefer properties per style
// FREEBIE
8 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
8 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
8 years ago
Michael Kirk 62633ff7f4 remove unused code
// FREEBIE

dot notation is only for property access

// FREEBIE

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

// FREEBIE
8 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
8 years ago
Michael Kirk 87d2fe1131 bump release target to 2.3.4
// FREEBIE
8 years ago
Michael Kirk a2862757ab crash reporting instructions in issue template (#1235)
// FREEBIE
8 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
8 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
8 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
8 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
8 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.
8 years ago
Michael Kirk 8f04f863b7 hide UI element must happen on main thread (#1220)
// FREEBIE
8 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
8 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
8 years ago
Michael Kirk e7f3092f00 CocoaPods 1.0 update and Travis-CI compatibility (#1216)
* CocoaPods 1.0 compatibility. Thanks to @brianherman and @orta for the Podfile changes, taken from PR #1156
* Modified Travis-CI to use the newer CocoaPods 1.0 as well.
* Performance improvements to Travis-CI to reduce build time by 50%-75%

Cherry-picked and conflicts resolved by @michaelkirk
8 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
8 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
8 years ago
2-4601 50d0cd6089 Improve debug log hint in issue template (#1204)
// FREEBIE
8 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
8 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
8 years ago