Commit Graph

796 Commits (3a1d07e5a8eb7a61dcfc3a2c45918c210165df00)

Author SHA1 Message Date
Matthew Chen 32d3eed7ba Add ConversationViewModel. 7 years ago
Matthew Chen a98c82645c Start work on typing indicators.
* Update proto schema to reflect typing indicators.
* Sketch out OWSTypingIndicatorMessage.
* Add "online" to the service message params.
* Sketch out logic to send typing indicator messages.
* Sketch out OWSTypingIndicators class.
7 years ago
Matthew Chen 40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 7 years ago
Michael Kirk af19405178 update carthage build path for tests 7 years ago
Michael Kirk 5632bd2d83 Use reference counting to disable proximity monitoring after audio message
Multiple overlapping activities require proximity monitoring (namely,
CallViewController and listening to audio messages).

These activities can overlap arbitrarily, so we use a reference counting
strategy to keep proximity monitoring on as long as one of these activities is
active.
7 years ago
Matthew Chen bf1f9e706a Exclude date/time and Xcode version info in debug builds to avoid churn. 7 years ago
Matthew Chen ed4fa2e8cb Respond to CR. 7 years ago
Matthew Chen 38f3321e9a Improve startup logging. 7 years ago
Michael Kirk 3560f3be5c Durable send operation
TODO
-[x] respect order of queue
-[x] replacements
  -[x] those w/o completion handler
  -[x] basic send+log operation persists
  -[x] send+ui completion
  -[x] share extension
  -[x] update state jobs
-[x] App Lifecyle
  -[x] settable
  -[x] Mark as ready on startup
  -[x] Fail appropriate jobs on startup

NICE TO HAVE
-[x] concurrent per senders
-[ ] longer retry (e.g. 24hrs)
-[ ] App Lifecyle
  -[x] retry failed jobs on startup?
  -[ ] reachability

DONE
-[x] basic passing test
-[x] datamodel
-[x] queue/classes
7 years ago
Matthew Chen 8e1103c28f Log WebRTC version. 7 years ago
Michael Kirk 91eba4dbfc Move WebRTC to separate submodule 7 years ago
Matthew Chen bbcbbafaab Sync local profile key after rotating it. 7 years ago
Matthew Chen 693b3e13a9 Revert "Sync local profile key after rotating it."
This reverts commit ddbd20e706.
7 years ago
Matthew Chen ddbd20e706 Sync local profile key after rotating it. 7 years ago
Matthew Chen 7c1f1882d8 Sync "show UD indicators" setting. 7 years ago
Matthew Chen d7e52367ff Create AppEnvironment. 7 years ago
Matthew Chen c907721a18 Rotate profile key if blocklist intersects profile whitelist. 7 years ago
Matthew Chen 1d40cbfb41 Rework account attributes; persist manual message fetch; add "unrestricted UD" setting. 7 years ago
Matthew Chen 71da312336 Post-SMK ud changes. 7 years ago
Matthew Chen 7d727b7ac9 Modify proto wrapper builders to require required fields. 7 years ago
Matthew Chen 8ae200ac21 Fix build breakage around SignalCoreKit. 7 years ago
Matthew Chen 0125535d4d Pull out SignalCoreKit. 7 years ago
Matthew Chen ebae75af00 Revert 'new sort id'. 7 years ago
Michael Kirk 95a6df6496 Generic SheetViewController 7 years ago
Michael Kirk 79add78d51 Merge branch 'release/2.30.1' 7 years ago
Matthew Chen 5a99cd347f Pull out OWSConversationColor to its own file. 7 years ago
Michael Kirk 6c5fbc6de5 Update existing contact offers in place
WIP: migration / autoincrement logic

TODO:

-[x] contact offer
-[ ] verify all paths that utilized timestampForSorting, e.g. make sure SN appear before the message they affect, etc.
-[x] Monotonic ID
-[x] New extension which sorts by id
-[x] Migration
  -[ ] batch migration?

fixup contact offers
7 years ago
Michael Kirk a60d8eb161 WIP: migration / autoincrement logic
TODO:

-[ ] contact offer
-[ ] verify all paths that utilized timestampForSorting, e.g. make sure SN appear before the message they affect, etc.
-[x] Monotonic ID
-[x] New extension which sorts by id
-[x] Migration
  -[ ] batch migration?
7 years ago
Matthew Chen ae84528dc3 Update avatar colors; add shaded conversation color constants, modify color picker to be color-name-based, not color-based, use shaded conversation colors, remove JSQ. 7 years ago
Matthew Chen 0b7d269017 Rename DebugContactsUtils. 7 years ago
Matthew Chen bcee59f5e5 Add contact utils class. 7 years ago
Matthew Chen 98630cca50 Respond to CR; add db utility methods to test base classes. 7 years ago
Matthew Chen e1db60c1c0 Rework creation of singletons. 7 years ago
Matthew Chen 0c6f6cdafd Fix compilation errors in Signal tests. 7 years ago
Michael Kirk 920a82564f Merge tag '2.29.3.3' 7 years ago
Matthew Chen 9b94580dae Update assertions.
* Streamline precompiled headers.
* Remove obsolete assertions in Constraints.h.
7 years ago
Matthew Chen 6c8af5b541 Update cocoapods. 7 years ago
Matthew Chen 62c55c9cfb Fix broken tests. 7 years ago
Matthew Chen 2ba642c9e9 Ensure fakes/mocks are debug-only. 7 years ago
Michael Kirk 0f9b0936df Use cached group details when rendering blocklist 7 years ago
Michael Kirk 448936d156 BlockListCache
block manager synchronizes on self for coherent read/writes to blocking state
across threads, but we want to be able to have performant reads on the main
thread.
7 years ago
Matthew Chen 3935b019f4 Add base class for tests. 7 years ago
Matthew Chen f9eab5cd24 Merge remote-tracking branch 'origin/release/2.29.2' 7 years ago
Matthew Chen ac4365e1c9 Add OWSThumbnailService. 7 years ago
Michael Kirk 6d92413931 WIP: Run SSK tests
This just configures them to run. They're very broken at the moment.
7 years ago
Michael Kirk 3022f92925 Tweak tint for search bar icons in dark theme 7 years ago
Matthew Chen a76d488e8b Fix QA issues in theme. 7 years ago
Michael Kirk 8829cdfb4b Toast view when tapped message doesn't exist, mark remotely sourced. 7 years ago
Matthew Chen c91bc71ebd Cache sender name size. 7 years ago
Matthew Chen acd7d094b1 Refine theme. 7 years ago
Michael Kirk 9662b3cb1e Wait a week before nagging when a new release comes out 7 years ago
Michael Kirk e5b3cbd00c Use StoreKit for reviews 7 years ago
Matthew Chen a5ffbdebb3 Remove Obj-c proto parser. 7 years ago
Matthew Chen a4d24c78a4 Respond to CR. 7 years ago
Matthew Chen 379104c532 Migrate to WebRTC proto wrappers. 7 years ago
Matthew Chen 06d84860ae Fix rebase breakage. 7 years ago
Matthew Chen 45e782c243 Revamp orphan data cleaner. 7 years ago
Matthew Chen 9b45a15c35 Merge branch 'release/2.28.1' 7 years ago
Michael Kirk 0bc03b0fd4 Move seed 7 years ago
Michael Kirk 991848b364 Fix "blue navbar" for contact picker
- content flows behind navbar
- unify search bar style with rest of app

// FREEBIE
7 years ago
Michael Kirk 78ad597e44 Merge tag '2.28.0.15' 7 years ago
Michael Kirk 29c459fe60 Haptic feedback when changing menu action selection
// FREEBIE
7 years ago
Michael Kirk 1658812102 TSan config 7 years ago
Michael Kirk bae2e8649d Dry up Parameter parsing logic 7 years ago
Michael Kirk d39906f606 CR: test malformed protos 7 years ago
Michael Kirk b860dce7f9 Swift protos for Envelope 7 years ago
Michael Kirk 6e1c1a681b Merge tag '2.28.0.12' 7 years ago
Michael Kirk 2d4eb7d057 remove interactive 'swipe for info' 7 years ago
Michael Kirk b42f528713 Integrate with new contact discovery endpoint
Also:
* use system cookie parsing
* add AESGCM additional authenticated data parameter

// FREEBIE
7 years ago
Matthew Chen 73eb0778c0 Add unit tests around byte parser. 7 years ago
Matthew Chen 25a98554b7 Intern JSQMessagesViewController. 7 years ago
Matthew Chen 819c2b1ceb Remove Twisted Oak. 7 years ago
Matthew Chen 904ed1549e Add unit test around remote attestation. 7 years ago
Matthew Chen 48975eaac8 Respond to CR. 7 years ago
Michael Kirk 9e348f2a27 update ubsan 7 years ago
Michael Kirk ef9a0880ae Fix analyzer warnings 7 years ago
Michael Kirk baacebc956 Enable (quick) static analyzer for normal builds
// FREEBIE
7 years ago
Michael Kirk 77997639f5 Use CurrentAppContext instead of compiler flag to affect test behavior 7 years ago
Michael Kirk c19a8ce07e Fixup tests
// FREEBIE
7 years ago
Michael Kirk 7b85410136 per design: MessageStatus 1pt below baseline 7 years ago
Michael Kirk 82fdd5b883 Split out generic action sheet components
Keep the message specific components separte, so we could re-use the
MenuActionsViewController.
7 years ago
Michael Kirk 0c4cae133b milestone: route one real action (copy text) 7 years ago
Michael Kirk aa98963fd9 Abandonded: separate window pattern
Hiding the old window, caused keyboard to resign first responder.
7 years ago
Michael Kirk 6037a440c9 wire up window mgmt 7 years ago
Matthew Chen 8d72bb032e Rework unread indicators. 7 years ago
Matthew Chen d42ff03ecd Tweak disappearing messages indicator. 7 years ago
Matthew Chen 8b3bdb88f3 Revert "Merge branch 'charlesmchen/tweakCalls'"
This reverts commit 3e0233ea60, reversing
changes made to 74ce3012cf.
7 years ago
Michael Kirk 61cb19ef6b trigger sync when colors updates 7 years ago
Matthew Chen 1a9a5016fe Tweak calls. 7 years ago
Michael Kirk 0f34f76611 Merge tag '2.27.1.1' 7 years ago
Michael Kirk b47062831f Don't block "register" button on iPad registration
On short devices, add a toolbar with a "dismiss" button to the number pad.
7 years ago
Matthew Chen 92332c2b69 Rework contact share buttons. 7 years ago
Michael Kirk 16df4f589e conversation colors
// FREEBIE
7 years ago
Matthew Chen 1e2a498806 Tweak media view gradients. 7 years ago
Matthew Chen 35dc348551 Move conversation style. 7 years ago
Matthew Chen a34719ce69 Tweak color palette. 7 years ago
Matthew Chen 9cc3a3b7b3 Add body media shadows. 7 years ago
Matthew Chen cbacda87ca Introduce message cell footer view. 7 years ago
Matthew Chen 33b1628c26 Rename to ConversationStyle. 7 years ago
Matthew Chen ac6f78a5fc Tweak message cells. 7 years ago
Matthew Chen 2ecbf1bb65 Fix 'contact cell vs. message details layout' issue. 7 years ago
Matthew Chen 20b1a2606e Outage detection. 7 years ago
Matthew Chen 010c10cb0c Show re-registration in app settings. 7 years ago
Matthew Chen c8fee4efa7 Add swift logging to SSK. 7 years ago
Michael Kirk ffea3a020f WIP: FTS - wired up Search VC
-[] Backend
  -[] indexes e5.25
    -[x] wire up results: Contacts / Conversations / Messages actual: 3hr
    -[ ] group thread est: actual:
      -[x] group name actual: e.25
      -[ ] group member name: e.25
      -[ ] group member number: e.25
    -[ ] contact thread e.5
      -[ ] name
      -[ ] number
    -[ ] messages e1
      -[ ] content
-[] Frontend e10.75
  -[x] wire up VC's a.5
  -[x] show search results only when search box has content a.25
  -[] show search results: Contact / Conversation / Messages e2
  -[] tapping thread search result takes you to conversation e1
  -[] tapping message search result takes you to message e1
  -[] show snippet text for matched message e1
  -[] highlight matched text in thread e3
  -[] go to next search result in thread e2
7 years ago
Michael Kirk 429af7854a WIP: Full Text Search
-[ ] indexes
  -[x] results: Contacts / Conversations / Messages
  -[ ] group thread
    -[x] group name
    -[ ] group member name
    -[ ] group member number
  -[ ] contact thread
    -[ ] name
    -[ ] number
  -[ ] messages
    -[ ] content
- [ ] show search results: Contact / Conversation / Messages
- [ ] tapping thread search result takes you to conversation
- [ ] tapping message search result takes you to message
- [ ] show snippet text for matched message
- [ ] highlight matched text in thread
- [ ] go to next search result in thread
7 years ago
Matthew Chen d17c3906e7 Disable CloudKit; leave iCloud capability enabled for "iCloud documents" service used by document picker. 7 years ago
Matthew Chen 4122e59ced Revert "Disable iCloud capability."
This reverts commit 5cf2b39050.
7 years ago
Matthew Chen 5cf2b39050 Disable iCloud capability. 7 years ago
Matthew Chen 3964b78ff7 Reduce usage of JSQ. 7 years ago
Matthew Chen 6bc145ce3a Fix more build warnings. 7 years ago
Matthew Chen 62273a60af Respond to CR. 7 years ago
Matthew Chen caad6f796e Clean up ahead of PR. 7 years ago
Matthew Chen 28f7142a59 Auto-migration to Swift 4. 7 years ago
Michael Kirk 29d08545e2 Use OWSNavigationController instead of UINavigationController
- [ ] document picker
- [ ] camera picker
- [ ] image picker
- [ ] restore "confirm to go back" behavior (interactive pop gesture?)

// FREEBIE
7 years ago
Michael Kirk 0e87cbe7a5 WIP navbar resize
-[ ] CallScreen
  -[x] functional button
  -[ ] needs design
  -[ ] disable other contact call buttons while in call
-[ ] iOS11
  -[x] resize nav content
  -[ ] background showing at top of all vc's
  -[] iPhoneX
    -[x] use differently sized banner for now
    -[] mimic X system design
-[ ] iOS10
  -[x] resize nav content
  -[ ] animation glitch while push/pop
-[ ] iOS9

// FREEBIE
7 years ago
Michael Kirk 91cd1af3f9 Extract ReturnToCallViewController
// FREEBIE
7 years ago
Michael Kirk a7252544b0 WIP: custom navbar
TODO:

Use custom navcontroller everywhere - no more UINavigationController

listen to notification for when call starts/ends and sizeToFit.
7 years ago
Matthew Chen f436fc19c2 Make contact share "bubble/card" reflect share contents. 7 years ago
Michael Kirk 0c469764f1 re-use contact picker for "add to existing"
Required refactor of contact picker to be presented non-modally.

TODO: merge emails, address, display names

// FREEBIE
7 years ago
Matthew Chen 44ceee5849 Add contact share actions to conversation view and improve phone number parsing. 7 years ago
Matthew Chen 50c49baca8 Update design of 'approve contact share' view. 7 years ago
Michael Kirk 77fc5571fb Implement avatar sending
// FREEBIE
7 years ago
Michael Kirk 5ba5e98260 Show downloaded contact avatar in thread
// FREEBIE
7 years ago
Matthew Chen 2c6f18fa6e Clean up ahead of PR. 7 years ago
Matthew Chen 7a9acce504 Add contact share approval view. 7 years ago
Matthew Chen 0c745dd989 Add contact share approval view. 7 years ago
Matthew Chen 2738bcbc58 Create contact view. 7 years ago
Michael Kirk f782ea97df Use loading screen whenever launch is slow.
Previously we had to manually account for each version that had a DB
change.

// FREEBIE
7 years ago
Michael Kirk 5c0c01dea2 Contact picking
// FREEBIE
7 years ago
Matthew Chen 7e35a7e7d7 Sketch out rendering of contact shares in conversation view. 7 years ago
Michael Kirk b1bff71145 WIP moving to stackview backed header view in conversation view
- iOS10 with large titles doesn't truncate
7 years ago
Matthew Chen 5773b45345 Respond to CR. 7 years ago
Matthew Chen 4b83b4afc5 Rework outgoing message state. 7 years ago
Matthew Chen 7345ab2e4e Add window manager. Move call view to a separate window. 7 years ago
Matthew Chen 1395a6c37b Respond to CR. 7 years ago
Michael Kirk 5f2b38c50b Introduce Thread view model
// FREEBIE
7 years ago
Matthew Chen 08d36aa862 Add screen lock UI to SAE. 7 years ago
Matthew Chen 5ce39337ed Handle malformed protos. 7 years ago
Michael Kirk 13a432b9de Limit attachment caption length to 2k bytes
// FREEBIE
7 years ago
Matthew Chen b8f8a3017a Apply design changes to home view. 7 years ago
Matthew Chen ca1f8efdad Move 'never clear' view to proper subfolder. 7 years ago
Fredrik Lillejordet 3a47422b31 class reference in sources 7 years ago
Fredrik Lillejordet d16bffe6c1 forget target reference to new class in PR 7 years ago
Michael Kirk c56e8acc51 QuotedReplyModel from SSK->SignalMessaging
// FREEBIE
7 years ago
Matthew Chen 6830d4e8cb Apply message bubble view to message details view. 7 years ago
Matthew Chen 7f0fa1228e Extract message bubble view. 7 years ago
Matthew Chen 10b4ade55a Refine appearance of quoted reply message cells. 7 years ago
Michael Kirk 6874a9e28e Convert to swift
// FREEBIE
7 years ago
Michael Kirk 2580c690cb CR: Use LRU Cache for storing system sounds
// FREEBIE
7 years ago
Michael Kirk 00e5e1b0d6 Fixup some tests
// FREEBIE
7 years ago
Matthew Chen 8e4f2ca0ed Rework proto schema changes for quoted replies.
Sketch out model changes for quoted replies.

Sketch out quoted reply input preview.

Send quoted messages protos.

Update models to reflect quoted messages.

Rework interaction initializers.

Rework interaction initializers.

Add debug UI methods for generating quoted reply variations.

Add debug UI methods for generating quoted reply variations.
7 years ago
Matthew Chen c8012d3891 Bubble collapse. 7 years ago
Matthew Chen cb00b22870 Bubble collapse. 7 years ago
Matthew Chen 041b28dd79 Elaborate debug UI for messages. 7 years ago
Matthew Chen d0c691bb7f Lazy attachment restores. 7 years ago
Michael Kirk 4eadd84abc Don't obscure "Unlock" button with keyboard
// FREEBIE
7 years ago
Michael Kirk 875321cecc Reflector configuration supports per-country code
Also update reflector hosts/policy

// FREEBIE
7 years ago
Matthew Chen cf0e6fce09 Add screen lock feature. 7 years ago
Matthew Chen 1612642c26 Add screen lock feature. 7 years ago
Michael Kirk 0025661a8d Extract GradientView
// FREEBIE
7 years ago
Matthew Chen fed524ba16 Rework database snapshot representation, encryption, etc. 7 years ago
Matthew Chen ca7c75a081 Rework database snapshot representation, encryption, etc. 7 years ago
Michael Kirk ba2923bae3 remove unused category
// FREEBIE
7 years ago
Michael Kirk dfd628250d Gallery performance
- [x] share uiDatabaseConnection to share cache
- [x] increase cache size
- [x] load less initially
- [x] lazy loading
  - [x] slider view
  - [x] tile view

// FREEBIE
7 years ago
Michael Kirk 985af76d0b WIP: All Media view
TODO

- [ ] label video/gif
- [ ] reasonable load perf
- [ ] reasonable scroll perf
- [ ] select / delete
- [ ] cancel share action from media details returns signal style

NICE TO HAVE

- [ ] fancy in/out animation from All Media <-> tiles
- [ ] label video thumbnail with duration stamp
- [ ] Other perf?
- [ ] dbModified?
- [ ] select / send
- [ ] darken section header a shade once it's "active"

DONE

- [x] tap to refocus on new media
- [x] generate test data
- [x] section headers
- [x] equal spacing around cells

// FREEBIE

WIP WIP extract datasouce to GalleryViewController

- [x] swipe through is broken
- [x] present animation
- [x] dismiss animation

// FREEBIE
7 years ago
Michael Kirk 4ac9a1019b Media page view controller
First pass at a swipe-through media view for conversations.

Future work could include

- title label per item
  - sender name
  - date/time
- photo rail
- include caption

// FREEBIE
7 years ago
Michael Kirk 88e1386720 Move frame to presentation logic, out of init
This no longer made sense now that we're using this in a
PageViewController we won't always be zooming from a particular frame.

TODO:

- why is background image all wonky?
- why aren't views created by the time it's presented? Is that a
regression? (how is self.view a MenuView if loadView hasn't been called)

// FREEBIE
7 years ago
Matthew Chen 76b4deffe4 Respond to CR. 7 years ago
Matthew Chen 30065493a3 Implement backup import logic. 7 years ago
Matthew Chen 04c527a0f4 Implement backup import logic. 7 years ago
Matthew Chen 593f7da72d Upload test file to CloudKit. 7 years ago
Matthew Chen d06ad25d77 Sketch out incremental backup manager and settings view. 7 years ago
Matthew Chen b296cfb893 Sketch out incremental backup manager and settings view. 7 years ago
Michael Kirk 173008fba9 Clarify reminder view, touchup layout
Layout needs to be kept tight for small form factors, but it was overly
cramped on larger devices.

// FREEBIE
7 years ago
Michael Kirk a1de99f1f1 Merge tag '2.21.0.9' 7 years ago
Michael Kirk 79ee5ed216 Be more conservative about logging legacy users into "Recents"
// FREEBIE
7 years ago
Michael Kirk 1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

// FREEBIE
7 years ago
Michael Kirk e8f4a7bfe8 Merge tag '2.21.0.4' 7 years ago
Michael Kirk 95011bdfed order messageReceived sounds in bundle
// FREEBIE
7 years ago
Matthew Chen baf6fcc535 Add 2FA registration view. 7 years ago
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 7 years ago
Michael Kirk fa37fdd300 Fix legacy sounds for voip pushes
This way users who were unknowingly upgraded in the night will continue
to hear the ka-klunk until they've seen the splash screen announcing the
feature.

// FREEBIE
7 years ago
Michael Kirk e5ab6f101b Clean up audio files
- remove unused classic-ringtone
- move classic with the rest of the message sounds

// FREEBIE
7 years ago
Michael Kirk cf6dfe08bb Custom audio notifications upgrade experience
TODO: update art
7 years ago
Michael Kirk f1f7f87457 Use aifc files for all notification sounds so we can confidently copy
them over the statically named "NewMessage.aifc" which is used by
fallback notifications

// FREEBIE
7 years ago
Michael Kirk e020b0ff99 Persist default sound so we can use it for fallback notifications
// FREEBIE
7 years ago
Matthew Chen 38ff82ab97 Rebrand OWSAudioPlayer. 7 years ago
Matthew Chen 306af29d6f Restore "sonar ping" for "call connecting." 7 years ago
Matthew Chen 32b87d0e58 Remove custom ringtones. 7 years ago
Matthew Chen e54cf313e8 Use quiet versions of the notification sounds in foreground. 7 years ago
Matthew Chen 55b9aa4089 Preserve 'classic' Signal notification and ringtone for legacy users. 7 years ago
Matthew Chen 390cf3c80a Revive the 'classic' Signal notification and ringtone. 7 years ago
Matthew Chen 44e38709d6 Update minimum iOS version to 9.0. 7 years ago
Matthew Chen 710d164186 Update minimum iOS version to 9.0. 7 years ago
Matthew Chen 899799af92 Improve sound settings view. 7 years ago
Matthew Chen 5e8f3086de Update call sounds. 7 years ago
Matthew Chen a44a117612 Add custom ringtone sounds. 7 years ago
Matthew Chen 9aa02489b8 Custom notification sounds in local notifications. 7 years ago
Matthew Chen 5c3f6b0ee5 Custom notification sounds. 7 years ago