Commit Graph

956 Commits (c0e6da59fa4c52907b69a520cb71c2beb46292e2)

Author SHA1 Message Date
Michael Kirk 735331dc9f l10n ja_JP -> ja 6 years ago
Michael Kirk 6d052f1379 l10n it_IT -> it 6 years ago
Michael Kirk c01475836e l10n el_GR -> el 6 years ago
Michael Kirk f8207c6d2e l10n az_AZ -> az 6 years ago
Michael Kirk 3cfbc75f68 l10n ko_KR -> ko 6 years ago
Matthew Chen 7c65a98069 Fix breakage from typing indicators. 6 years ago
Matthew Chen 58f36fba47 Disable typing indicators by default for legacy users. 6 years ago
Matthew Chen eedc9f9a26 Sketch out "typing indicators" interaction and cell. 6 years ago
Matthew Chen 50381cc94c Add typing indicators in home view. 6 years ago
Michael Kirk d9a4c6e837 typing indicator upgrade screen 6 years ago
Matthew Chen 32d3eed7ba Add ConversationViewModel. 6 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.
6 years ago
Matthew Chen 40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 6 years ago
Michael Kirk af19405178 update carthage build path for tests 6 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.
6 years ago
Matthew Chen bf1f9e706a Exclude date/time and Xcode version info in debug builds to avoid churn. 6 years ago
Matthew Chen ed4fa2e8cb Respond to CR. 6 years ago
Matthew Chen 38f3321e9a Improve startup logging. 6 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
6 years ago
Matthew Chen 8e1103c28f Log WebRTC version. 6 years ago
Michael Kirk 91eba4dbfc Move WebRTC to separate submodule 6 years ago
Matthew Chen bbcbbafaab Sync local profile key after rotating it. 6 years ago
Matthew Chen 693b3e13a9 Revert "Sync local profile key after rotating it."
This reverts commit ddbd20e706.
6 years ago
Matthew Chen ddbd20e706 Sync local profile key after rotating it. 6 years ago
Matthew Chen 7c1f1882d8 Sync "show UD indicators" setting. 6 years ago
Matthew Chen d7e52367ff Create AppEnvironment. 6 years ago
Matthew Chen c907721a18 Rotate profile key if blocklist intersects profile whitelist. 6 years ago
Matthew Chen 1d40cbfb41 Rework account attributes; persist manual message fetch; add "unrestricted UD" setting. 6 years ago
Matthew Chen 71da312336 Post-SMK ud changes. 6 years ago
Matthew Chen 7d727b7ac9 Modify proto wrapper builders to require required fields. 6 years ago
Matthew Chen 8ae200ac21 Fix build breakage around SignalCoreKit. 6 years ago
Matthew Chen 0125535d4d Pull out SignalCoreKit. 6 years ago
Matthew Chen ebae75af00 Revert 'new sort id'. 6 years ago
Michael Kirk 95a6df6496 Generic SheetViewController 6 years ago
Michael Kirk 79add78d51 Merge branch 'release/2.30.1' 6 years ago
Matthew Chen 5a99cd347f Pull out OWSConversationColor to its own file. 6 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
6 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?
6 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. 6 years ago
Matthew Chen 0b7d269017 Rename DebugContactsUtils. 6 years ago
Matthew Chen bcee59f5e5 Add contact utils class. 6 years ago
Matthew Chen 98630cca50 Respond to CR; add db utility methods to test base classes. 6 years ago
Matthew Chen e1db60c1c0 Rework creation of singletons. 6 years ago
Matthew Chen 0c6f6cdafd Fix compilation errors in Signal tests. 6 years ago
Michael Kirk 920a82564f Merge tag '2.29.3.3' 6 years ago
Matthew Chen 9b94580dae Update assertions.
* Streamline precompiled headers.
* Remove obsolete assertions in Constraints.h.
6 years ago
Matthew Chen 6c8af5b541 Update cocoapods. 6 years ago
Matthew Chen 62c55c9cfb Fix broken tests. 6 years ago
Matthew Chen 2ba642c9e9 Ensure fakes/mocks are debug-only. 6 years ago
Michael Kirk 0f9b0936df Use cached group details when rendering blocklist 6 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.
6 years ago
Matthew Chen 3935b019f4 Add base class for tests. 6 years ago
Matthew Chen f9eab5cd24 Merge remote-tracking branch 'origin/release/2.29.2' 6 years ago
Matthew Chen ac4365e1c9 Add OWSThumbnailService. 6 years ago
Michael Kirk 6d92413931 WIP: Run SSK tests
This just configures them to run. They're very broken at the moment.
6 years ago
Michael Kirk 3022f92925 Tweak tint for search bar icons in dark theme 6 years ago
Matthew Chen a76d488e8b Fix QA issues in theme. 6 years ago
Michael Kirk 8829cdfb4b Toast view when tapped message doesn't exist, mark remotely sourced. 6 years ago
Matthew Chen c91bc71ebd Cache sender name size. 6 years ago
Matthew Chen acd7d094b1 Refine theme. 6 years ago
Michael Kirk 9662b3cb1e Wait a week before nagging when a new release comes out 6 years ago
Michael Kirk e5b3cbd00c Use StoreKit for reviews 6 years ago
Matthew Chen a5ffbdebb3 Remove Obj-c proto parser. 6 years ago
Matthew Chen a4d24c78a4 Respond to CR. 6 years ago
Matthew Chen 379104c532 Migrate to WebRTC proto wrappers. 6 years ago
Matthew Chen 06d84860ae Fix rebase breakage. 6 years ago
Matthew Chen 45e782c243 Revamp orphan data cleaner. 6 years ago
Matthew Chen 9b45a15c35 Merge branch 'release/2.28.1' 6 years ago
Michael Kirk 0bc03b0fd4 Move seed 6 years ago
Michael Kirk 991848b364 Fix "blue navbar" for contact picker
- content flows behind navbar
- unify search bar style with rest of app

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

// FREEBIE
6 years ago
Matthew Chen 73eb0778c0 Add unit tests around byte parser. 6 years ago
Matthew Chen 25a98554b7 Intern JSQMessagesViewController. 6 years ago
Matthew Chen 819c2b1ceb Remove Twisted Oak. 6 years ago
Matthew Chen 904ed1549e Add unit test around remote attestation. 6 years ago
Matthew Chen 48975eaac8 Respond to CR. 6 years ago
Michael Kirk 9e348f2a27 update ubsan 6 years ago
Michael Kirk ef9a0880ae Fix analyzer warnings 6 years ago
Michael Kirk baacebc956 Enable (quick) static analyzer for normal builds
// FREEBIE
6 years ago
Michael Kirk 77997639f5 Use CurrentAppContext instead of compiler flag to affect test behavior 6 years ago
Michael Kirk c19a8ce07e Fixup tests
// FREEBIE
6 years ago
Michael Kirk 7b85410136 per design: MessageStatus 1pt below baseline 6 years ago
Michael Kirk 82fdd5b883 Split out generic action sheet components
Keep the message specific components separte, so we could re-use the
MenuActionsViewController.
6 years ago
Michael Kirk 0c4cae133b milestone: route one real action (copy text) 6 years ago
Michael Kirk aa98963fd9 Abandonded: separate window pattern
Hiding the old window, caused keyboard to resign first responder.
6 years ago
Michael Kirk 6037a440c9 wire up window mgmt 6 years ago
Matthew Chen 8d72bb032e Rework unread indicators. 6 years ago
Matthew Chen d42ff03ecd Tweak disappearing messages indicator. 6 years ago
Matthew Chen 8b3bdb88f3 Revert "Merge branch 'charlesmchen/tweakCalls'"
This reverts commit 3e0233ea60, reversing
changes made to 74ce3012cf.
6 years ago
Michael Kirk 61cb19ef6b trigger sync when colors updates 6 years ago
Matthew Chen 1a9a5016fe Tweak calls. 6 years ago
Michael Kirk 0f34f76611 Merge tag '2.27.1.1' 6 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.
6 years ago
Matthew Chen 92332c2b69 Rework contact share buttons. 6 years ago
Michael Kirk 16df4f589e conversation colors
// FREEBIE
6 years ago
Matthew Chen 1e2a498806 Tweak media view gradients. 6 years ago
Matthew Chen 35dc348551 Move conversation style. 6 years ago
Matthew Chen a34719ce69 Tweak color palette. 6 years ago
Matthew Chen 9cc3a3b7b3 Add body media shadows. 6 years ago
Matthew Chen cbacda87ca Introduce message cell footer view. 6 years ago
Matthew Chen 33b1628c26 Rename to ConversationStyle. 6 years ago
Matthew Chen ac6f78a5fc Tweak message cells. 6 years ago
Matthew Chen 2ecbf1bb65 Fix 'contact cell vs. message details layout' issue. 6 years ago
Matthew Chen 20b1a2606e Outage detection. 6 years ago
Matthew Chen 010c10cb0c Show re-registration in app settings. 6 years ago
Matthew Chen c8fee4efa7 Add swift logging to SSK. 6 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
6 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
6 years ago
Matthew Chen d17c3906e7 Disable CloudKit; leave iCloud capability enabled for "iCloud documents" service used by document picker. 6 years ago
Matthew Chen 4122e59ced Revert "Disable iCloud capability."
This reverts commit 5cf2b39050.
6 years ago
Matthew Chen 5cf2b39050 Disable iCloud capability. 6 years ago
Matthew Chen 3964b78ff7 Reduce usage of JSQ. 6 years ago
Matthew Chen 6bc145ce3a Fix more build warnings. 6 years ago
Matthew Chen 62273a60af Respond to CR. 6 years ago
Matthew Chen caad6f796e Clean up ahead of PR. 6 years ago
Matthew Chen 28f7142a59 Auto-migration to Swift 4. 6 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
6 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
6 years ago
Michael Kirk 91cd1af3f9 Extract ReturnToCallViewController
// FREEBIE
6 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.
6 years ago
Matthew Chen f436fc19c2 Make contact share "bubble/card" reflect share contents. 6 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
6 years ago
Matthew Chen 44ceee5849 Add contact share actions to conversation view and improve phone number parsing. 6 years ago
Matthew Chen 50c49baca8 Update design of 'approve contact share' view. 6 years ago
Michael Kirk 77fc5571fb Implement avatar sending
// FREEBIE
6 years ago
Michael Kirk 5ba5e98260 Show downloaded contact avatar in thread
// FREEBIE
6 years ago
Matthew Chen 2c6f18fa6e Clean up ahead of PR. 6 years ago
Matthew Chen 7a9acce504 Add contact share approval view. 6 years ago
Matthew Chen 0c745dd989 Add contact share approval view. 6 years ago
Matthew Chen 2738bcbc58 Create contact view. 6 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
6 years ago
Michael Kirk 5c0c01dea2 Contact picking
// FREEBIE
6 years ago
Matthew Chen 7e35a7e7d7 Sketch out rendering of contact shares in conversation view. 6 years ago
Michael Kirk b1bff71145 WIP moving to stackview backed header view in conversation view
- iOS10 with large titles doesn't truncate
6 years ago
Matthew Chen 5773b45345 Respond to CR. 6 years ago
Matthew Chen 4b83b4afc5 Rework outgoing message state. 6 years ago
Matthew Chen 7345ab2e4e Add window manager. Move call view to a separate window. 6 years ago
Matthew Chen 1395a6c37b Respond to CR. 6 years ago
Michael Kirk 5f2b38c50b Introduce Thread view model
// FREEBIE
6 years ago
Matthew Chen 08d36aa862 Add screen lock UI to SAE. 6 years ago
Matthew Chen 5ce39337ed Handle malformed protos. 6 years ago
Michael Kirk 13a432b9de Limit attachment caption length to 2k bytes
// FREEBIE
6 years ago
Matthew Chen b8f8a3017a Apply design changes to home view. 6 years ago
Matthew Chen ca1f8efdad Move 'never clear' view to proper subfolder. 6 years ago
Fredrik Lillejordet 3a47422b31 class reference in sources 6 years ago
Fredrik Lillejordet d16bffe6c1 forget target reference to new class in PR 6 years ago
Michael Kirk c56e8acc51 QuotedReplyModel from SSK->SignalMessaging
// FREEBIE
6 years ago
Matthew Chen 6830d4e8cb Apply message bubble view to message details view. 6 years ago
Matthew Chen 7f0fa1228e Extract message bubble view. 6 years ago
Matthew Chen 10b4ade55a Refine appearance of quoted reply message cells. 6 years ago
Michael Kirk 6874a9e28e Convert to swift
// FREEBIE
6 years ago
Michael Kirk 2580c690cb CR: Use LRU Cache for storing system sounds
// FREEBIE
6 years ago
Michael Kirk 00e5e1b0d6 Fixup some tests
// FREEBIE
6 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.
6 years ago
Matthew Chen c8012d3891 Bubble collapse. 6 years ago
Matthew Chen cb00b22870 Bubble collapse. 6 years ago
Matthew Chen 041b28dd79 Elaborate debug UI for messages. 6 years ago
Matthew Chen d0c691bb7f Lazy attachment restores. 6 years ago
Michael Kirk 4eadd84abc Don't obscure "Unlock" button with keyboard
// FREEBIE
6 years ago
Michael Kirk 875321cecc Reflector configuration supports per-country code
Also update reflector hosts/policy

// FREEBIE
6 years ago
Matthew Chen cf0e6fce09 Add screen lock feature. 6 years ago
Matthew Chen 1612642c26 Add screen lock feature. 6 years ago
Michael Kirk 0025661a8d Extract GradientView
// FREEBIE
6 years ago
Matthew Chen fed524ba16 Rework database snapshot representation, encryption, etc. 6 years ago
Matthew Chen ca7c75a081 Rework database snapshot representation, encryption, etc. 6 years ago
Michael Kirk ba2923bae3 remove unused category
// FREEBIE
6 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
6 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
6 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
6 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
6 years ago
Matthew Chen 76b4deffe4 Respond to CR. 6 years ago
Matthew Chen 30065493a3 Implement backup import logic. 6 years ago
Matthew Chen 04c527a0f4 Implement backup import logic. 6 years ago
Matthew Chen 593f7da72d Upload test file to CloudKit. 6 years ago
Matthew Chen d06ad25d77 Sketch out incremental backup manager and settings view. 6 years ago
Matthew Chen b296cfb893 Sketch out incremental backup manager and settings view. 6 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
6 years ago
Michael Kirk a1de99f1f1 Merge tag '2.21.0.9' 6 years ago
Michael Kirk 79ee5ed216 Be more conservative about logging legacy users into "Recents"
// FREEBIE
6 years ago
Michael Kirk 1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

// FREEBIE
6 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
Michael Kirk 6eb1ce682a Debug file browser
// FREEBIE
7 years ago
Michael Kirk abb51b565a Don't de-activate audio sesion when other audio activities are happening
// FREEBIE
7 years ago
Matthew Chen 7ea1f3d926 Fix handling of file types in SAE. 7 years ago
Michael Kirk debd556e09 Fix notification % escaping, debug UI
Consolidated the notifications debug UI (and fixed it) to make testing
this a bit easier.

// FREEBIE
7 years ago
Matthew Chen 122ef91e57 Add protocol context to protocol kit. 7 years ago
Michael Kirk c646f76335 Garther audio concerns, clean up session when done
- sync speakerphone state manipulated from system call screen
  - Revert audio session after call failure, ensures media plays out of
    speaker after placing a failing call.
  - Replace notification with delegate pattern since we're already using
    delegate pattern here.
- Fixes voiceover accessibility after voice memo
- Avoid audio blip after pressing hangup
- Rename CallAudioSession -> OWSAudioSession
  Going to start using it for other non-call things since we want to
  gather all our audio session concerns.
- Resume background audio when done playing video
  - Extract OWSVideoPlayer which ensures audio is in proper state before
    playback
  - Move recording session logic to shared OWSAudioSession
  - Deactivate audio session when complete

// FREEBIE
7 years ago
Michael Kirk d22fc664f2 more granular key access
// FREEBIE
7 years ago
Matthew Chen 74cd37dd7c Clean up ahead of PR. 7 years ago
Matthew Chen 2af858c529 Add message approval view. 7 years ago
Matthew Chen b9bd21e73f Improve presentation of text attachments in attachment approval view. 7 years ago
Matthew Chen 0cc7f3e00e Clean up ahead of PR. 7 years ago
Matthew Chen c5079ed3d7 Add support for key specs. 7 years ago
Michael Kirk 468dedf581 Use debug configuration when building Signal for tests
allows proper step-through debugging of CocoaPods

// FREEBIE
7 years ago
Michael Kirk 6297137924 Disable optimizations when building tests for SignalMessaging
// FREEBIE
7 years ago
Matthew Chen 5ba5b763e4 Add tests around database conversion. 7 years ago
Matthew Chen dc73342573 Convert databases if necessary. 7 years ago
Matthew Chen 6b51be75a5 Revert "Set preprocessor symbols for internal builds."
This reverts commit a91056c5e1.
7 years ago
Matthew Chen a91056c5e1 Set preprocessor symbols for internal builds. 7 years ago
Michael Kirk baa312f449 Timer button with duration label
// FREEBIE
7 years ago
Matthew Chen 4e15e9bf2c Add Signal "internal" scheme with DEBUG and INTERNAL flags set for signal project. 7 years ago
Matthew Chen a21bc4f4b4 Convert SAE scheme to a shared scheme. 7 years ago
Michael Kirk 94d58b88b8 Play video inline in approval view
Previously we launched the MPMoviePlayerController

// FREEBIE
7 years ago
Michael Kirk a423fe8a0e WIP Merge tag '2.19.4.4'
- restore video playback in fullscreen

This was a large merge, so I'm opting to make some changes in separate
commits.
7 years ago
Matthew Chen 272a90d269 Add import back up UI. Begin work on import backup logic. 7 years ago
Matthew Chen 980b3d25a7 Rework "export backup" UI. 7 years ago
Matthew Chen 8769fb07cf Write backup to encrypted zip. 7 years ago
Matthew Chen 9e89502fdb Let users send to non-contacts, non-threads in SAE. 7 years ago
Michael Kirk 412fe2735e Rename FullImageViewController -> MediaDetailViewController
// FREEBIE
7 years ago
Michael Kirk 86d61eee30 Custom video player layer to avoid "double present/dismiss"
// FREEBIE
7 years ago
Michael Kirk 7d0acc94ff cleanup
// FREEBIE
7 years ago
Michael Kirk 65f79770ac rebase fixup 7 years ago
Michael Kirk 90e9b4a4f2 WIP - send all video types 7 years ago
Michael Kirk d3e7c99a63 Attachment approval: cancel/confirm to top/bottom toolbars
- avoid double-submit by disabling after hitting send.
- Animate SAE dismissal as modal
  Requires hiding the load view
- attachment is centered in screen
- add gradient to ensure controls are visible
- Fix clamp constraints - I think this was a typo
  Otherwise we couldn't show an image which was 1" wide by 2" tall
- set max zoom, hide scroll indicators
- use media view
- slower panning feels right
- white send button
- can share GIF, static, and sort of video...
- Play button for attachment approval
  - move to image assets so we can use it in SAE
  - slightly larger button for full-screen approval view
  - don't launch redundant fullscreen UI for images when in approval view
- fix scrollOffset in AttachmentApproval
- consolidate view initialization logic in loadView and fix white background
- CR: more legible arithmetic

// FREEBIE
7 years ago
Matthew Chen 74efcb9041 Rework thread safety in profile manager. 7 years ago
Matthew Chen 911c4d380b Rework thread safety in profile manager. 7 years ago
Michael Kirk ddd2004824 track dyload time 7 years ago
Michael Kirk d9cca77e23 update header references
// FREEBIE
7 years ago
Michael Kirk dd1795e337 fixup rebae 7 years ago
Michael Kirk 3ecf0a7537 Cancelling dismisses share extension, remove "import with signal"
Usinig the new ShareViewDelegate to dismiss the share extension, might
have broken the "import with signal" functionality. But because we
want to remove it anyway, I've done that now, rather than fix it up.

// FREEBIE
7 years ago
Matthew Chen 345323fe8a Add Estonian and Taiwanese Chinese localizations. 7 years ago
Matthew Chen f7bcf1d04d Fix tests. 7 years ago
Matthew Chen 36703d3bbd Add asserts around Swift singletons. 7 years ago
Matthew Chen 8312614cf7 Respond to CR. 7 years ago
Matthew Chen 99f0b9d3e8 Fix issues around statics. 7 years ago
Michael Kirk 3f6f881d3f Use assets from duplicated main bundle
// FREEBIE
7 years ago
Michael Kirk eca19e5874 Reconcile MediaMessageView zoom behavior with AppExtension
Previously it was predicated on UIApplication.shared

// FREEBIE
7 years ago
Michael Kirk 89b9887f1d Make DeviceSleepManager extension compatible
// FREEBIE
7 years ago
Michael Kirk 654d345469 remove null references to moved certificates 7 years ago
Michael Kirk c52192295b fixup rebase. move jobs to proper dir 7 years ago
Michael Kirk 56fe9d057d Attachment Approval
// FREEBIE
7 years ago
Michael Kirk a58f1f385c Share a photo from photos app
Shows the conversation picker, and sends the attachment to that
conversation.

There's still a lot TODO

-[ ] resolve JSQ dependency
-[ ] properly wait for app to load
-[ ] dismiss share extension after send is complete
-[ ] support non jpeg file types
-[ ] Fix device sleep manager

// FREEBIE
7 years ago
Matthew Chen 848f055da1 Add SAE error views. 7 years ago
Matthew Chen 310cf1330d Continue conversion of app setup. 7 years ago
Matthew Chen 69e0bcd308 Fix tests. 7 years ago
Matthew Chen 9da165b846 Continue conversion of app setup. 7 years ago
Matthew Chen ce899edf10 Respond to CR. 7 years ago
Matthew Chen b4e8df79da Migrate environment to SignalMessaging. 7 years ago
Matthew Chen a16058e477 Migrate environment to SignalMessaging. 7 years ago
Matthew Chen 6d87df88aa Migrate environment to SignalMessaging. 7 years ago
Matthew Chen c817aa51b3 Migrate environment to SignalMessaging. 7 years ago
Michael Kirk e3b0333b97 CR: Separate class files
// FREEBIE
7 years ago
Michael Kirk cd440b839f Consolidate search logic
// FREEBIE
7 years ago
Michael Kirk 71bafcc8f0 Search SignalAccounts by profile name
...and fixup some tests
7 years ago
Michael Kirk 2af818b3ba Make SignalMessaging AppExtension safe
// FREEBIE
7 years ago
Matthew Chen bf21d0c0ed Enable logging in SAE; rework log file management to include multiple log directories. 7 years ago
Matthew Chen 8cc33b3de1 Refine loading view of share extension. 7 years ago
Matthew Chen f728f5c09b Incorporate l10n strings from main app into SAE. 7 years ago
Matthew Chen 074664f735 Revert "Modify l10n string extraction script to copy strings to SAE."
This reverts commit c61490c0b4.
7 years ago
Matthew Chen efe0758e3d Revert "Modify l10n string download script to copy strings to SAE."
This reverts commit 9f31c048a2.
7 years ago
Matthew Chen 9f31c048a2 Modify l10n string download script to copy strings to SAE. 7 years ago
Matthew Chen c61490c0b4 Modify l10n string extraction script to copy strings to SAE. 7 years ago
Matthew Chen e7b32899cb Sketch out SAE load screen; make a number of infrastructure changes. 7 years ago
Matthew Chen 61b33b1a45 Make SignalMessaging a build dependency of the share extension. 7 years ago
Matthew Chen 2aafdcf577 Add app extension context, bridging header and PCH to app extension. 7 years ago
Matthew Chen f896bf99d5 Update share extension capabilities. 7 years ago
Matthew Chen 8706d8f599 Update share extension capabilities. 7 years ago
Matthew Chen 66fae5bd54 Clean up ahead of PR. 7 years ago
Matthew Chen cd11ec5698 Add app group, share keychain. Take a first pass at file migration to shared data directory. 7 years ago
Michael Kirk 961727814b Move pinning certificates into App
// FREEBIE
7 years ago
Michael Kirk a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
7 years ago
Michael Kirk b56f0e0d25 Pod setup for SignalMessaging framework
// FREEBIE
7 years ago
Michael Kirk de028404bb Shared framework between app and extension
// FREEBIE
7 years ago
Michael Kirk d96eb8932b ShareExtension template
Only modification was to target down to iOS9

(targeting iOS8 failed to build)

// FREEBIE
7 years ago
Matthew Chen 5ef9d53c91 Update conversation view UI to reflect unread state. 7 years ago
Matthew Chen d9fcfdeeb7 Fix deadlock when responding to contacts sync messages. 7 years ago
Matthew Chen 9d4ec557dc Update l10n strings; add Persian l10n. 7 years ago
Matthew Chen 5e61307ce3 Don't ask for microphone permissions if app is not active.
// FREEBIE
7 years ago
Matthew Chen 2d21e2ae2c Fix build warnings from XCode 9. 7 years ago
Matthew Chen 3952f717a5 Add Burmese l10n.
// FREEBIE
7 years ago
Matthew Chen e07a240ee5 Merge tag '2.18.0.9' 7 years ago
Michael Kirk 81cff837ae Include root certs from pki.goog
// FREEBIE
7 years ago
Michael Kirk a30533e7b5 Add GTSGIAG3 to censorship circumvention trust store
openssl x509 -outform der -in GIAG3.pem -out GIAG3.crt

// FREEBIE
7 years ago
Michael Kirk a63a767bf2 connecting ping quieter, ringer is louder
- outring: Raised gain on ringer, max is now  -0.6 dB
- outring: clipped hiss
- connecting-ping: reduced volume, max is now -17.8 dB

- remove unused audio files

// FREEBIE
7 years ago
Matthew Chen 9cc4521d07 Respond to CR.
// FREEBIE
7 years ago
Matthew Chen bcf83a4c8e Rework handling of oversize text messages.
// FREEBIE
7 years ago
Matthew Chen 3927815a35 Fix tests broken by the JSQ rewrite.
// FREEBIE
7 years ago
Michael Kirk d87f000051 Interactive/Cancelable slide left for details
// FREEBIE
7 years ago
Matthew Chen 722fc4d7a7 Fix size of message previews.
// FREEBIE
7 years ago
Matthew Chen 5cde74f505 Add Hebrew l10n.
// FREEBIE
7 years ago
Matthew Chen 9b57df67e0 Fix broken build.
// FREEBIE
7 years ago
Michael Kirk 1fee5d97e6 Merge branch 'release/2.18.0' 7 years ago
Michael Kirk efd58022d0 bump version
// FREEBIE
7 years ago
Matthew Chen bd5639baaf Linkify text messages.
// FREEBIE
7 years ago
Matthew Chen 032ec59d1c Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 3723a4845f Restore message cell footers.
// FREEBIE
7 years ago
Matthew Chen c2f07bb3d8 Restore message cell footers.
// FREEBIE
7 years ago
Michael Kirk 0f859d6b20 Merge branch 'release/2.18.0' 7 years ago
Michael Kirk 3080cb512b Compose View: collation index and group search
- Include table index for contacts
- Fix extra spacing in OWS table view
- Separate search results into contact/invite sections
- Include groups in search results when composing new message
- Compose Screen search matches on group member names

// FREEBIE
7 years ago
Matthew Chen 5621fe893c Clean up ahead of PR.
// FREEBIE
7 years ago
Matthew Chen fb408f980c Remove JSQ.
// FREEBIE
7 years ago
Michael Kirk df15c904bc Rework push registration
== Account Registration ==

Not complete until push tokens are uploaded

== Remote Notifications Registration ==

Extracted from PushManager

- wait for notification-settings registration to complete before
  requesting push tokens, otherwise it's possible token requests will
  be ignored.

- Less state required for push notification callbacks, specifically, we
  no longer need to ensure we've created a promise before the
  registration delegate methods get called.

- no more TOCFuture in Signal-iOS (still in SSK for now). It's not in
  cases of inexplicable behavior - one a recently, push notification
  premature free, in redphone, and more popular use, and I've seen two
  futures inexplicably being nil.  Instead, let's consolidate around
  PromiseKit for popularly used, maintained, strongly-typed futures.

- separate logic for registering for vanilla push/voip notifications
  (few dependencies) from responding to UILocalNotifications (lots of
  dependencies). Ultimately I'd like to consolidate the remaining
  UILocalNotifications logic with the existing NotificationsManager

== Misc ==

more debug logging
more uniform logging
remove stale logic around newly registered user

// FREEBIE
7 years ago
Matthew Chen 5999178e78 Remove FLAnimatedImage.
// FREEBIE
7 years ago
Michael Kirk 2e196e21c6 update third party dependencies
// FREEBIE
7 years ago
Michael Kirk ff2f9ebaf0 fix compiling on 32bit.
// FREEBIE
7 years ago
Matthew Chen a0c9a84390 Clean up ahead of PR.
// FREEBIE
7 years ago
Matthew Chen 789cea118d Pull out GifDownloader class.
// FREEBIE
7 years ago
Matthew Chen 3b9726a4fa Sketch out the GIF picker.
// FREEBIE
7 years ago
Matthew Chen 206f96c9af Sketch out GIF picker.
// FREEBIE
7 years ago
Matthew Chen 27e5a2f1b2 Sketch out GIF picker.
// FREEBIE
7 years ago
Matthew Chen 9710964e38 Sketch out the GIF manager.
// FREEBIE
7 years ago
Michael Kirk e2445e6ed2 Fix RTL bubbles in conversation and message detail view
// FREEBIE
7 years ago
Matthew Chen 9f9ac746d1 Sketch out message metadata view.
* Show message metadata view from conversation view.
* Pull out MediaMessageView class.
* Track recipient read timestamps.
* Add per-recipient status to message metadata view.
* Add share button to message metadata view.

// FREEBIE
7 years ago
Matthew Chen 11cadf4200 Send, receive & show read receipts to senders/from receivers.
* Send read receipts to senders.
* Honor "send read receipts" preference.
* Process read receipts from recipients.
* Refactor "mark as read" logic.
* Serialize and apply recipient read receipts received before sync transcript.
* Show recipient read receipts in conversation view.

// FREEBIE
7 years ago
Matthew Chen bd416176ae Add stress group to debug UI.
// FREEBIE
7 years ago
Matthew Chen 3eaeb4e0ec Add read receipts manager.
* Simplify read receipts plumbing.
* Rework incoming read receipts handling.
* Rework outgoing read receipts handling.
* Make "database view registration complete" check thread-safe.
* Don't send sync messages to self if no linked devices.

// FREEBIE
7 years ago
Matthew Chen 183f0f1ccd Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 80e5f281c6 Rename app preferences class.
// FREEBIE
7 years ago
Matthew Chen 3367292ba0 Merge branch 'hotfix/2.16.1' 7 years ago
Matthew Chen 5be2014ec7 Create Flat UI rounded button class.
// FREEBIE
7 years ago
Matthew Chen ab00342d67 Add modal activity indicator view.
// FREEBIE
7 years ago
Matthew Chen 69816cdf0e Convert DataSource to Objective-C.
// FREEBIE
7 years ago
Matthew Chen 2282733fa9 Add data source class.
// FREEBIE
7 years ago
Michael Kirk 0ec2ac862a Marquee label for callview controller
// FREEBIE
7 years ago
Michael Kirk ad76155bdd audit/fix up supported l10ns (added km and lt)
As policy we don't include a language in Signal until it has at least
80% of strings translated. We don't currently remove languages that fall
below that threshold.

There are two things that must happen to add a localization in Signal.

1. Pull the Localizable.strings from transifex for each language, add
   them to git.
2. Add the localization to the Xcode project file

These four languages were in the repository (step 1) but not properly
added to the project file (step 2):

- khmer (km)
- lithuanian (lt)
- hebrew (he)
- persian (fa)

Of these, only khmer and lithuanian were sufficiently translated, so I
added them properly to the Xcode project file, making them available to
our users.

To make this process slightly easier to track in the future, I've
removed the insufficiently complete `he` and `fa` files from the
repository. Once they fall above 80% translated they will be
automatically downloaded by our sync-translations script, appearing as
new files, being the cue to the developer to add those new translations
to the project (step 2).

Note: the fa/he translations were never available to users, so we're not
going removing anyones existing functionality.

// FREEBIE
7 years ago
Matthew Chen c106794fe8 Rename conversation view.
// FREEBIE
7 years ago
Matthew Chen 928525c31e Rename home view.
// FREEBIE
7 years ago
Matthew Chen fd4f00fa4d Rename new contact thread view.
// FREEBIE
7 years ago
Michael Kirk ae174d4a87 proper handling for multibyte characters
// FREEBIE
7 years ago
Matthew Chen cc048b3971 Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 5fcf89dff1 Ignore "GIF of death."
// FREEBIE
7 years ago