Commit Graph

3508 Commits (8d74c68f9de6f9d422f1aa53905704149ab8132b)

Author SHA1 Message Date
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 e5b1c0c9b4 Fake media send
// FREEBIE
7 years ago
Matthew Chen 24cc95585f Respond to CR. 7 years ago
Matthew Chen 62da17a0cc Clean up ahead of PR. 7 years ago
Matthew Chen 54eecd5b1d Protect backup directories. 7 years ago
Matthew Chen b0d56dcd55 Clean up ahead of PR. 7 years ago
Matthew Chen cf13a780e9 Retry backup failures. 7 years ago
Matthew Chen 05db8e3f7f Retry backup failures. 7 years ago
Matthew Chen f164d5e94b Improve backup progress. 7 years ago
Matthew Chen 0bcbb5918b Improve backup progress. 7 years ago
Matthew Chen 59fc232128 Backup export needs to verify that we have a valid account. 7 years ago
Matthew Chen 2915c533b2 Streamline database configuration and cleanup. 7 years ago
Matthew Chen 061ce8cb13 Add database validity check. 7 years ago
Matthew Chen 3c2aae3b9c Backup import clears database contents. 7 years ago
Matthew Chen fc4a66365e Sketch out backup export UI. 7 years ago
Matthew Chen 91bf0bdb9f Sketch out backup export UI. 7 years ago
Matthew Chen 669a3610ab Fix attachments. 7 years ago
Matthew Chen d2f2dd273a Fix edge cases in migrations. 7 years ago
Matthew Chen 86aae78f1b Include migrations in backup. 7 years ago
Matthew Chen c62b5f9b55 Fix build break. 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 4746948dfe Respond to CR. 7 years ago
Matthew Chen f10b549940 Clean up ahead of PR. 7 years ago
Matthew Chen eb263e265b Clean up ahead of PR. 7 years ago
Matthew Chen 68ba8976c5 Clean up ahead of PR. 7 years ago
Matthew Chen cc10dbf32f Clean up ahead of PR. 7 years ago
Matthew Chen b3ecc085d5 Clean up ahead of PR. 7 years ago
Matthew Chen 76b4deffe4 Respond to CR. 7 years ago
Matthew Chen 70d14c84c4 Clean up backup code. 7 years ago
Matthew Chen 08149005b1 Clean up backup code. 7 years ago
Matthew Chen 3f822e8ce3 Complete minimal backup MVP. 7 years ago
Matthew Chen f46ea0e87d Implement backup import logic. 7 years ago
Matthew Chen 30065493a3 Implement backup import logic. 7 years ago
Matthew Chen 5035cb040e Implement backup import logic. 7 years ago
Matthew Chen 04c527a0f4 Implement backup import logic. 7 years ago
Matthew Chen f53f1fb46a Add check for backup in cloud. 7 years ago
Matthew Chen 6cea2779d2 Stub out backup private key. 7 years ago
Matthew Chen 999321c067 Check for manifest in cloud. 7 years ago
Matthew Chen 90c8f5483b Clean up cloud after successful backup export. 7 years ago
Matthew Chen aa546a02df Merge remote-tracking branch 'origin/release/2.22.0' 7 years ago
Michael Kirk 8f468b6138 "Bump build to 2.22.0.4." 7 years ago
Michael Kirk 56f025baed Sync Translations
// FREEBIE
7 years ago
Michael Kirk 89f1779253 Remove PIN placeholder text
It's not always 6 digits, so it's a confusing placeholder

// FREEBIE
7 years ago
Matthew Chen 37d4c413d5 Clean up before merge. 7 years ago
Matthew Chen b1ca550345 Clean up ahead of PR. 7 years ago
Matthew Chen 0e0628a8dc Clean up ahead of PR. 7 years ago
Matthew Chen b65cc953ec Clean up ahead of PR. 7 years ago
Matthew Chen 202a35fddd Only backup every N hours. 7 years ago
Matthew Chen fefba6c63e Don't download files from cloud when testing for their existence. 7 years ago
Matthew Chen c2751665c3 Only backup attachments once. 7 years ago
Matthew Chen 20587ba377 Upload attachments to cloud; upsert files to cloud. 7 years ago
Matthew Chen 0971bad4b2 Upload database and manifest files to CloudKit. 7 years ago
Matthew Chen c84bf81cf3 Export database for backup. 7 years ago
Matthew Chen b603a8dcbe Upload test file to CloudKit. 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 a412f00bad Fix typo
// FREEBIE
7 years ago
Michael Kirk c5ff9a94a0 Merge tag '2.22.0.3' 7 years ago
Michael Kirk 44a26342e5 "Bump build to 2.22.0.3." 7 years ago
Michael Kirk da2e6e4905 judiciously sync translations
don't clobber the existing translations for the reminder screen

// FREEBIE
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
Collin B. Stuart 6f7b4a6e43 Strip media metadata.
- removes non-orientation metadata from image and video attachments

- option to disable the feature

// FREEBIE
7 years ago
Michael Kirk b411db6b0d Pull latest translations
// FREEBIE
7 years ago
Michael Kirk b8485b19bd Merge tag '2.21.0.15' into release/2.22.0 7 years ago
Michael Kirk 9595f1c87f "Bump build to 2.21.0.15." 7 years ago
Michael Kirk c5fc671c31 Fix lost call transactions after rebuilding callUIAdapter
// FREEBIE
7 years ago
Michael Kirk e1992212ed "Bump build to 2.22.0.2." 7 years ago
Michael Kirk 319e0d808f Merge tag '2.21.0.14' into release/2.22.0 7 years ago
Michael Kirk 145a816315 "Bump build to 2.21.0.14." 7 years ago
Michael Kirk 93dab27877 pull latest translations
// FREEBIE
7 years ago
Michael Kirk 3aebaefc31 A lighter touch for the fix-call connect.
Though it should be fine, reloading the callUIAdapter is a bit heavy
handed. And the current implementation is prone to being broken, since
we sometimes forget not to treat callUIAdapter as a singleton.

Longer term we can find a way to either: make callUIAdapter a true
singleton or possibly make callUIAdapter a private member of something
which *is* a true singleton.

Since we only *need* it to be reloaded the one time the migration runs
(or when a user changes settings which should be rare) it makes sense to
remove it from the happy path.

// FREEBIE
7 years ago
Michael Kirk d43af9b739 "Bump build to 2.21.0.13." 7 years ago
Michael Kirk bbdcd0c768 Call connection fixups
callUIAdapter is not a singleton (for better or for worse)

No one should hold a reference directly to it, but rather via the
CallService, which is a singleton

Wait a bit longer for initial call screen before terminating. Especially
first call can hit this limit.

When call *does* take too long to show, terminate properly to ensure
we're not left with a phantom call

// FREEBIE
7 years ago
Michael Kirk c21255cd81 "Bump build to 2.22.0.1." 7 years ago
Michael Kirk 04bf8c4f8a pull latest translations
// FREEBIE
7 years ago
Michael Kirk ec9538a3e4 Fix 2fa registration screen layout
Don't obscure message text on smaller form factors

Also, disable overzealous assert with non-callkit adapters. The adapter
is not a singleton, it gets rebuilt whenever call related privacy
settings are triggered.

// FREEBIE
7 years ago
Michael Kirk 34a56a56c4 Merge tag '2.21.0.12' into release/2.22.0 7 years ago
Michael Kirk f84476ec77 "Bump build to 2.21.0.12." 7 years ago
Michael Kirk 9c62a15695 Pull latest translations
// FREEBIE
7 years ago
Michael Kirk a885fb5dee Fix first reminder too early, offset bugs.
Schedule first reminder date relative to now, handle overflow

// FREEBIE
7 years ago
Michael Kirk 90fc094d0d Copy tweak
// FREEBIE
7 years ago
Michael Kirk 900e32c311 Merge tag '2.21.0.11' into release/2.22.0 7 years ago
Michael Kirk 16b3b9bbcf "Bump build to 2.21.0.11." 7 years ago
Michael Kirk 907badd021 Sync translations
// FREEBIE
7 years ago
Michael Kirk 2462ea0a3e Merge tag '2.21.0.10' into release/2.22.0 7 years ago
Michael Kirk 8e0e0ad405 "Bump build to 2.21.0.10." 7 years ago
Michael Kirk c7871b28d4 Make sure any new call migration settings take effect on first launch
// FREEBIE
7 years ago
Michael Kirk 35b72bc1b3 "Bump build to 2.22.0.0." 7 years ago
Michael Kirk 8dfc584c2c Try to keep-alive registration lock w/ bg fetch
If a user hasn't launched or received a message on Signal in a week,
they could inadvertently lose their registration lock.

// FREEBIE
7 years ago
Michael Kirk a1de99f1f1 Merge tag '2.21.0.9' 7 years ago
Michael Kirk bd48576075 "Bump build to 2.21.0.9." 7 years ago
Michael Kirk 39b87b702b Fix debuglogs.org integration
// FREEBIE
7 years ago
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 7 years ago
Michael Kirk 913cdad74a "Bump build to 2.21.0.8." 7 years ago
Michael Kirk 51ae936555 Ensure the user sees the experience upgrade
Don't mark it as seen until it is dismissed.

// FREEBIE
7 years ago
Michael Kirk 5739f074ae Show migration screen at first launch.
sort sounds alphabetically (other than Default/None)

// FREEBIE
7 years ago
Michael Kirk d12a6ae574 "Bump build to 2.21.0.7." 7 years ago
Michael Kirk cae40d4087 "Bump build to 2.21.0.6." 7 years ago
Michael Kirk c2501d8d1e Don't migrate legacy users to use new audio tones
// FREEBIE
7 years ago
Michael Kirk d3be2b4a3b Vibrate when playing sound as alert
// FREEBIE
7 years ago
Michael Kirk d7fcac8a5a In-App notifications don't pause background audio
// FREEBIE
7 years ago
Michael Kirk 60a1cc5682 Make 2FA registration screen look like the rest of registration
// FREEBIE
7 years ago
Matthew Chen 9499e684e7 Handle rate limits in registration flow. 7 years ago
Matthew Chen 7543a82858 Handle rate limits in registration flow. 7 years ago
Matthew Chen 9db9409561 Share background tasks. 7 years ago
Michael Kirk 07ee3ea843 Merge tag '2.21.0.5' 7 years ago
Michael Kirk 1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

// FREEBIE
7 years ago
Michael Kirk 54792ff461 Fix overzealous assert.
Sometimes we set values to nil - e.g. when re-registering through
debugUI

// FREEBIE
7 years ago
Michael Kirk b0b012046b "Bump build to 2.21.0.5." 7 years ago
Michael Kirk 6077367e66 Notification sounds should respect silent switch
// FREEBIE
7 years ago
Michael Kirk e8f4a7bfe8 Merge tag '2.21.0.4' 7 years ago
Michael Kirk 1c24cf7dad "Bump build to 2.21.0.4." 7 years ago
Michael Kirk 760b772974 Default fallback notification should now be "Note"
This means that *upgrading* users will not hear the ka-klunk for
fallback notifications if they don't first receive a voip-notification
which migrates them.

But the alternative is that *new* users *would* hear the ka-klunk for
fallback notifications by default.

// FREEBIE
7 years ago
Michael Kirk 58d84b6d68 "Bump build to 2.21.0.3." 7 years ago
Michael Kirk 4d65695bd1 Fix typo
// FREEBIE
7 years ago
Michael Kirk ef6bfaf7bb "Bump build to 2.21.0.2." 7 years ago
Michael Kirk eca1648054 Don't "show" upgrade splash when receiving a voip notification
Wait until app is in the foreground to show upgrade splashes

// FREEBIE
7 years ago
Michael Kirk 1ff2f3f42e Merge tag '2.21.0.1' 7 years ago
Michael Kirk aa82f0aa40 "Bump build to 2.21.0.1." 7 years ago
Matthew Chen 4834a85fb5 Add share option for debug logs. 7 years ago
Matthew Chen 256a300297 Integrate with logs service. 7 years ago
Matthew Chen 7b84afaaf1 Integrate with logs service. 7 years ago
Matthew Chen 4bbf0d9e3d Integrate with logs service. 7 years ago
Matthew Chen 06d16bdec5 Revert "Revert "Merge branch 'charlesmchen/debugLogs' into hotfix/2.20.1""
This reverts commit b1dd325ce8.
7 years ago
Michael Kirk 46d944740b Make default audio tone more prominent
Label Note as (default)
Move it to the second item in the list, just after "None"

// FREEBIE
7 years ago
Matthew Chen 59c745756a Clean up codebase. 7 years ago
Matthew Chen c17a819366 Elaborate request factory. 7 years ago
Matthew Chen 0ca497846b Elaborate request factory. 7 years ago
Matthew Chen a87b79341f Respond to CR. 7 years ago
Matthew Chen 288d049cee Update l10n strings. 7 years ago
Matthew Chen baf6fcc535 Add 2FA registration view. 7 years ago
Matthew Chen 6ca55790d5 Cleanup. 7 years ago
Matthew Chen caeb97b466 Respond to CR. 7 years ago
Matthew Chen a5128273ba Clean up ahead of PR. 7 years ago
Matthew Chen 055061ff5e Clean up ahead of PR. 7 years ago
Matthew Chen 4afedac68c Clean up ahead of PR. 7 years ago
Matthew Chen ea783a8ad5 Work on two-factor auth settings UI. 7 years ago
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 7 years ago
Matthew Chen 1f6cbd399e Sketch out 2FA feature. 7 years ago
Michael Kirk f0ca957a09 Fix remote video view
// 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 a068b85734 Audio splashscreen artwork/copy
copy tweaks

// FREEBIE
7 years ago
Matthew Chen a71e00397f Fix build break related to Swift 4.1 syntax. 7 years ago
Matthew Chen bf48ccd4ad Merge remote-tracking branch 'origin/hotfix/2.20.1' 7 years ago
Michael Kirk 37fdd407d4 CR: Add translation comment
// FREEBIE
7 years ago
Michael Kirk cf6dfe08bb Custom audio notifications upgrade experience
TODO: update art
7 years ago
Matthew Chen 85eba0cacb "Bump build to 2.20.1.1." 7 years ago
Matthew Chen b1dd325ce8 Revert "Merge branch 'charlesmchen/debugLogs' into hotfix/2.20.1"
This reverts commit de5d17a396, reversing
changes made to d32e90c3d1.
7 years ago
Matthew Chen e4ee3e0007 Revert "Respond to CR."
This reverts commit 45201d45ed.
7 years ago
Matthew Chen 45201d45ed Respond to CR. 7 years ago
Matthew Chen 7bbad0d5a1 "Bump build to 2.20.1.0." 7 years ago
Matthew Chen 8f203f99bd Update l10n strings. 7 years ago
Michael Kirk 9dfbf6e6bc Fix crash presenting settings dialog off main thread
// FREEBIE
7 years ago
Matthew Chen 579da1c768 Refine handling of unsafe filename characters. 7 years ago
Matthew Chen 47a6d844c9 Refine handling of unsafe filename characters. 7 years ago
Matthew Chen 7e1ae33167 Refine changes to debug logs. 7 years ago
Matthew Chen 920c2b1d76 Rework log upload. 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
Michael Kirk 658b8c3223 CR: typos and doc changes
// FREEBIE
7 years ago
Michael Kirk 5959cdf070 Simplify call privacy settings
We've long allowed users to configure what shows up in message
notifications:

- name: content (by default)
- just name (no content)
- generic notification (no name nor content)

Now we're dual purposing that setting to apply to calls. If someone
doesn't want to show names in the message notifications, presumably also
don't want that name showing up in the call log.

Also, since the earlier CallKit/iCloud issues had been addressed before
iOS11, we upgrade all iOS11 users to the more intuitive CallKit
interface.

Also: introduce "use system call logs" toggle when available. It will be
enabled by default, but we disable it for legacy users who'd explicitly
opted *out* of CallKit.

// FREEBIE
7 years ago
Matthew Chen 5b9ab0cf5d Auto-disable CallKit privacy in iOS 11 and later. 7 years ago
Matthew Chen 8f22facecc Respond to CR. 7 years ago
Matthew Chen 38ff82ab97 Rebrand OWSAudioPlayer. 7 years ago
Matthew Chen a16c2adda7 Rework conversation settings view. 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 efeb00643c Add title for the mute section in conversation settings view. 7 years ago
Matthew Chen e54cf313e8 Use quiet versions of the notification sounds in foreground. 7 years ago
Matthew Chen 390cf3c80a Revive the 'classic' Signal notification and ringtone. 7 years ago
Matthew Chen ed95eec769 Preview sound settings in app settings and conversation settings views. 7 years ago
Matthew Chen 62af7ddc15 Add "none" option for sounds. Use AVPlayer for everything. 7 years ago
Matthew Chen 2c15606923 Respond to CR. 7 years ago
Matthew Chen 99aedca45f Strip out special casing for pre-iOS 9 users. 7 years ago
Michael Kirk 5f305f844f Send ICE updates immediately after sending CallOffer for faster call
connection.

For legacy reasons, the call sender used to wait until after receiving
the call answer before sending the ICE updates. The primary motivation
was that if the receiving user hadn't accepted a new identity change,
rather than just seeing one "Tap to Accept New Safety Number" messages
for a call, they'd see one for the call offer and then a dozen more as
ICE updates trickled in.

We changed that behavior long ago, and effectively all clients will
avoid that case, while sending ICE updates immediately will allow calls
to connect without having to wait for an additional serialized round
trip between the caller and call recipient.

// FREEBIE
7 years ago
Michael Kirk e8c5509f3a Respect system contact ringtones
If CallKit privacy is enabled, we'll always use the system default
ringer.

If CallKit privacy is *not* enabled we'll use any ringtone specified in
the for that contact in the address book, else fall back to the default

// FREEBIE
7 years ago
Matthew Chen 6c8a8fa098 Add new "note" audio asset for fallback push notifications. 7 years ago
Matthew Chen 0c20f2215a Improve sound settings view. 7 years ago
Matthew Chen e0144dab5f Improve sound settings view. 7 years ago
Matthew Chen 899799af92 Improve sound settings view. 7 years ago
Matthew Chen 5e8f3086de Update call sounds. 7 years ago
Matthew Chen a0f4723fa2 Update call sounds. 7 years ago
Matthew Chen a44a117612 Add custom ringtone sounds. 7 years ago
Matthew Chen cd32895657 Add UI for editing per-thread notification sounds. 7 years ago
Matthew Chen 396fe82707 Add UI for editing per-thread notification sounds. 7 years ago
Matthew Chen dc8b8ca0bd Add per-thread custom notification sounds. 7 years ago
Matthew Chen 9aa02489b8 Custom notification sounds in local notifications. 7 years ago
Matthew Chen a837c5d41b Custom notification sounds. 7 years ago
Matthew Chen 5c3f6b0ee5 Custom notification sounds. 7 years ago
Matthew Chen 3d892abc46 "Bump build to 2.21.0.0." 7 years ago
Matthew Chen 03bea4fd8b "Bump build to 2.20.0.42." 7 years ago
Matthew Chen 9e3aa77fc6 Update l10n strings. 7 years ago
Matthew Chen 01cde6740c "Bump build to 2.20.0.41." 7 years ago
Matthew Chen fbab526b3c Update l10n strings. 7 years ago
Matthew Chen ff88f11738 Update l10n strings. 7 years ago
Matthew Chen ec32d8839b "Bump build to 2.20.0.40." 7 years ago
Matthew Chen 5235f97953 Use background task while migrating. 7 years ago
Matthew Chen d30dd22040 "Bump build to 2.20.0.39." 7 years ago