ryanzhao
b40bcc3743
Merge branch 'theming' into ipad-landscape-support
3 years ago
Morgan Pretty
58184d6d27
Fixed issues found during testing
...
Fixed an issue where the user config message wouldn't get sent correctly
Fixed an issue where the theme preference migration wasn't working properly
Fixed a crash which could occur in some cases when updating the theme
Fixed a crash which could occur when opening the new conversation screen with a contact with no name
Fixed a minor UI glitch with the 'sessionId' separator border
Fixed a minor UI issue where long author names in quotes could cause the message bubble to stretch incorrectly
Cleaned up some no-contact UI states
Updated the Atomic queue to have a 'userInteractive' priority so it can't be delayed by lower priority queues and block the main thread
3 years ago
ryanzhao
3dfa3ac5ee
Merge branch 'theming' into ipad-landscape-support
3 years ago
Morgan Pretty
93e12a3fcb
Cleaned out old strings
3 years ago
Morgan Pretty
6eeb0ec7ac
Fixed most of the styling issues raised during QA
...
Copy tweak
Added a toast when copying the sessionId or group URL (fixes to the toast UI as well)
Fixed the new conversation screen styling
Fixed the styling of the various attachment screens
Updated the buttons on the attachment screen to behave like the input view buttons
Removed the old OWSNavigationBar and OWSNavigationController (logic was buggy and not actually needed in most cases)
3 years ago
ryanzhao
4c2b01ca42
fix create closed group screen
3 years ago
Morgan Pretty
37124c2185
Updated the alerts to use the custom styled ones
...
Removed some more unused code
Moved around some files to make them more reusable
3 years ago
Morgan Pretty
40109e0bea
Cleaned up the config-based table view controller to be more reusable
...
Updated the settings screens to have the "rounded group" styling
Added a "loading conversations" label to the Message Requests screen before the conversations load
Removed the legacy UserCell (replaced with the more reusable 'SessionCell')
Renamed a few things to make them more generic and reusable
3 years ago
Morgan Pretty
8109a326cf
Merge remote-tracking branch 'upstream/dev' into feature/theming
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Closed Groups/NewClosedGroupVC.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/Message Cells/CallMessageCell.swift
# Session/Conversations/Views & Modals/JoinOpenGroupModal.swift
# Session/Home/HomeVC.swift
# Session/Home/New Conversation/NewDMVC.swift
# Session/Home/NewConversationButtonSet.swift
# Session/Meta/Translations/de.lproj/Localizable.strings
# Session/Meta/Translations/en.lproj/Localizable.strings
# Session/Meta/Translations/es.lproj/Localizable.strings
# Session/Meta/Translations/fa.lproj/Localizable.strings
# Session/Meta/Translations/fi.lproj/Localizable.strings
# Session/Meta/Translations/fr.lproj/Localizable.strings
# Session/Meta/Translations/hi.lproj/Localizable.strings
# Session/Meta/Translations/hr.lproj/Localizable.strings
# Session/Meta/Translations/id-ID.lproj/Localizable.strings
# Session/Meta/Translations/it.lproj/Localizable.strings
# Session/Meta/Translations/ja.lproj/Localizable.strings
# Session/Meta/Translations/nl.lproj/Localizable.strings
# Session/Meta/Translations/pl.lproj/Localizable.strings
# Session/Meta/Translations/pt_BR.lproj/Localizable.strings
# Session/Meta/Translations/ru.lproj/Localizable.strings
# Session/Meta/Translations/si.lproj/Localizable.strings
# Session/Meta/Translations/sk.lproj/Localizable.strings
# Session/Meta/Translations/sv.lproj/Localizable.strings
# Session/Meta/Translations/th.lproj/Localizable.strings
# Session/Meta/Translations/vi-VN.lproj/Localizable.strings
# Session/Meta/Translations/zh-Hant.lproj/Localizable.strings
# Session/Meta/Translations/zh_CN.lproj/Localizable.strings
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Open Groups/OpenGroupSuggestionGrid.swift
# Session/Settings/SettingsVC.swift
# Session/Shared/BaseVC.swift
# Session/Shared/OWSQRCodeScanningViewController.m
# Session/Shared/ScanQRCodeWrapperVC.swift
# Session/Shared/UserCell.swift
# SessionMessagingKit/Configuration.swift
# SessionShareExtension/SAEScreenLockViewController.swift
# SessionUIKit/Style Guide/Gradients.swift
# SignalUtilitiesKit/Media Viewing & Editing/OWSViewController+ImageEditor.swift
# SignalUtilitiesKit/Screen Lock/ScreenLockViewController.m
3 years ago
Ryan Zhao
5bfa9eede3
ux: hide search bar cancel button when tapping on entering group name text field
3 years ago
Ryan Zhao
e0550a6afb
tweak: max group name length decrease to 30
3 years ago
Ryan Zhao
afd908a64a
ui: add gradient background for create new group button
3 years ago
ryanzhao
ac008fbd35
WIP: Gradient background for closed group create button
3 years ago
ryanzhao
11071c3dbc
fix contacts search in new closed group page
3 years ago
Ryan Zhao
82aa2d0931
minor refactor
3 years ago
Ryan Zhao
e7778725a5
feat: add close button on new conversation screens
3 years ago
Ryan Zhao
6e3c80c16b
feat: search contacts in create closed group page
3 years ago
Ryan Zhao
67a9047df7
update grey background color
3 years ago
ryanzhao
e5c3c23e74
WIP: new closed group vc
3 years ago
Morgan Pretty
face9da02b
Fixed search performance, started styling in-conversaiton settings
...
Fixed a bug where the scroll to bottom button wasn't working
Fixed an issue where searching was running on the main thread (which could cause UI issues)
Updated the searching to interrupt the previous query when the search term changes
Updated the in-conversation settings to be use the new config-based approach (deleted the OWSConversationSettingsViewController)
3 years ago
ryanzhao
b2869b7538
refactor on layouts
3 years ago
Morgan Pretty
7f5b7ef703
Updated the conversation creation screens
3 years ago
Morgan Pretty
ea32e407a9
Applied theming to a number of screens, some minor cleanup and bug fixes
...
Updated the HomeVC, SettingsVC and GlobalSearch UI to use theming
Removed the "fade view" gradients from the various screens
Added a simple log to the PagedDatabaseObserver to make debugging easier
Updated the FullConversationCell to also show the "read" state for messages
Updated the read receipt icons to use SFSymbols directly
Updated the PlaceholderIcon to use the PrimaryColour's as it's colour options
3 years ago
Morgan Pretty
d56cee8234
Progressing on theming functionality
...
Created the ThemeManager and the system to control the dynamic theming
Started updating the main settings screens
Added the AppearanceViewController and connected it to the ThemeManager
Started adding theme values
Started applying theme values throughout
3 years ago
Morgan Pretty
8cf2a57fcc
Renamed GRDBStorage to Storage (no use having the prefix anymore since the old DB is deprecated)
3 years ago
Morgan Pretty
4133a49a34
Made a couple of tweaks to the GRDBStorage interface
...
Updated the ControlMessageProcessRecord to allow for duplicate handling of UnsendRequest messages
3 years ago
Morgan Pretty
eeccfb47d5
Fixed all of the build errors from merge, migrated Call logic, started idBlinding migration and bug fixes
...
Fixed some broken file paths
Fixed a couple of bugs with closed groups
Fixed a few migration issues
Fixed a bug with the ProfilePictureView in open groups (was including the open parenthesis in the initials)
Migrated the Id Blinding changes to work with GRDB
Migrated the call logic to work with GRDB
Updated the code to work the with hard fork changes
3 years ago
Morgan Pretty
290bce5ce0
Merge branch 'feature/session-id-blinding-part-2' into feature/database-refactor
...
# Conflicts:
# Podfile
# Podfile.lock
# Session.xcodeproj/project.pbxproj
# Session/Closed Groups/EditClosedGroupVC.swift
# Session/Closed Groups/NewClosedGroupVC.swift
# Session/Conversations/Context Menu/ContextMenuVC+Action.swift
# Session/Conversations/Context Menu/ContextMenuVC.swift
# Session/Conversations/ConversationMessageMapping.swift
# Session/Conversations/ConversationSearch.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewItem.h
# Session/Conversations/ConversationViewItem.m
# Session/Conversations/ConversationViewModel.m
# Session/Conversations/Input View/InputView.swift
# Session/Conversations/Input View/MentionSelectionView.swift
# Session/Conversations/LongTextViewController.swift
# Session/Conversations/Message Cells/Content Views/LinkPreviewView.swift
# Session/Conversations/Message Cells/MessageCell.swift
# Session/Conversations/Message Cells/VisibleMessageCell.swift
# Session/Conversations/Settings/OWSConversationSettingsViewController.m
# Session/Conversations/Views & Modals/ConversationTitleView.swift
# Session/Conversations/Views & Modals/DownloadAttachmentModal.swift
# Session/Conversations/Views & Modals/JoinOpenGroupModal.swift
# Session/Conversations/Views & Modals/LinkPreviewModal.swift
# Session/Conversations/Views & Modals/MessagesTableView.swift
# Session/Conversations/Views & Modals/URLModal.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Home/HomeVC.swift
# Session/Home/Message Requests/MessageRequestsViewController.swift
# Session/Media Viewing & Editing/MediaDetailViewController.m
# Session/Media Viewing & Editing/MediaPageViewController.swift
# Session/Meta/AppDelegate.m
# Session/Meta/AppDelegate.swift
# Session/Meta/AppEnvironment.swift
# Session/Meta/Signal-Bridging-Header.h
# Session/Meta/Translations/en.lproj/Localizable.strings
# Session/Meta/Translations/hi.lproj/Localizable.strings
# Session/Meta/Translations/si.lproj/Localizable.strings
# Session/Meta/Translations/zh-Hant.lproj/Localizable.strings
# Session/Notifications/AppNotifications.swift
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Settings/NukeDataModal.swift
# Session/Settings/SeedModal.swift
# Session/Settings/SettingsVC.swift
# Session/Settings/ShareLogsModal.swift
# Session/Shared/ConversationCell.swift
# Session/Shared/UserSelectionVC.swift
# Session/Utilities/BackgroundPoller.swift
# Session/Utilities/MentionUtilities.swift
# Session/Utilities/MockDataGenerator.swift
# SessionMessagingKit/Database/OWSPrimaryStorage.m
# SessionMessagingKit/Database/SSKPreferences.swift
# SessionMessagingKit/Database/Storage+Contacts.swift
# SessionMessagingKit/Database/Storage+Jobs.swift
# SessionMessagingKit/Database/Storage+Messaging.swift
# SessionMessagingKit/Database/Storage+OpenGroups.swift
# SessionMessagingKit/Database/TSDatabaseView.m
# SessionMessagingKit/File Server/FileServerAPIV2.swift
# SessionMessagingKit/Jobs/AttachmentDownloadJob.swift
# SessionMessagingKit/Jobs/AttachmentUploadJob.swift
# SessionMessagingKit/Jobs/JobQueue.swift
# SessionMessagingKit/Jobs/MessageReceiveJob.swift
# SessionMessagingKit/Jobs/MessageSendJob.swift
# SessionMessagingKit/Jobs/NotifyPNServerJob.swift
# SessionMessagingKit/Messages/Control Messages/ClosedGroupControlMessage.swift
# SessionMessagingKit/Messages/Control Messages/ConfigurationMessage+Convenience.swift
# SessionMessagingKit/Messages/Message+Destination.swift
# SessionMessagingKit/Messages/Signal/TSIncomingMessage.h
# SessionMessagingKit/Messages/Signal/TSIncomingMessage.m
# SessionMessagingKit/Messages/Signal/TSInfoMessage.h
# SessionMessagingKit/Messages/Signal/TSInfoMessage.m
# SessionMessagingKit/Messages/Signal/TSInteraction.h
# SessionMessagingKit/Messages/Signal/TSInteraction.m
# SessionMessagingKit/Messages/Signal/TSMessage.h
# SessionMessagingKit/Messages/Signal/TSMessage.m
# SessionMessagingKit/Open Groups/OpenGroupAPIV2+ObjC.swift
# SessionMessagingKit/Open Groups/OpenGroupAPIV2.swift
# SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
# SessionMessagingKit/Open Groups/OpenGroupMessageV2.swift
# SessionMessagingKit/Sending & Receiving/Mentions/MentionsManager.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver+Decryption.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+ClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+Encryption.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/Sending & Receiving/Notifications/NotificationsProtocol.h
# SessionMessagingKit/Sending & Receiving/Pollers/ClosedGroupPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPollerV2.swift
# SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
# SessionMessagingKit/Storage.swift
# SessionMessagingKit/Threads/Notification+Thread.swift
# SessionMessagingKit/Threads/TSContactThread.h
# SessionMessagingKit/Threads/TSContactThread.m
# SessionMessagingKit/Threads/TSGroupModel.h
# SessionMessagingKit/Threads/TSGroupModel.m
# SessionMessagingKit/Threads/TSGroupThread.m
# SessionMessagingKit/Utilities/General.swift
# SessionNotificationServiceExtension/NSENotificationPresenter.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionSnodeKit/OnionRequestAPI+Encryption.swift
# SessionSnodeKit/OnionRequestAPI.swift
# SessionSnodeKit/SnodeAPI.swift
# SessionSnodeKit/SnodeMessage.swift
# SessionSnodeKit/Storage+SnodeAPI.swift
# SessionSnodeKit/Storage.swift
# SessionUtilitiesKit/General/Array+Utilities.swift
# SessionUtilitiesKit/General/Dictionary+Utilities.swift
# SessionUtilitiesKit/General/SNUserDefaults.swift
# SessionUtilitiesKit/General/Set+Utilities.swift
# SessionUtilitiesKit/Meta/SessionUtilitiesKit.h
# SessionUtilitiesKit/Utilities/Optional+Utilities.swift
# SessionUtilitiesKit/Utilities/Sodium+Conversion.swift
# SignalUtilitiesKit/Configuration.swift
# SignalUtilitiesKit/Database/Migrations/OpenGroupServerIdLookupMigration.swift
# SignalUtilitiesKit/Messaging/FullTextSearcher.swift
# SignalUtilitiesKit/Messaging/Sending & Receiving/MessageSender+Convenience.swift
# SignalUtilitiesKit/Profile Pictures/Identicon+ObjC.swift
# SignalUtilitiesKit/To Do/OWSProfileManager.m
# SignalUtilitiesKit/Utilities/NoopNotificationsManager.swift
# SignalUtilitiesKit/Utilities/UIView+OWS.swift
3 years ago
Morgan Pretty
9216506847
Merge branch 'dev' into feature/session-id-blinding-part-2
...
# Conflicts:
# Session/Calls/Views & Modals/CallVideoView.swift
# Session/Meta/Translations/de.lproj/Localizable.strings
# Session/Meta/Translations/es.lproj/Localizable.strings
# Session/Meta/Translations/fi.lproj/Localizable.strings
# Session/Meta/Translations/fr.lproj/Localizable.strings
# Session/Meta/Translations/hr.lproj/Localizable.strings
# Session/Meta/Translations/it.lproj/Localizable.strings
# Session/Meta/Translations/ja.lproj/Localizable.strings
# Session/Meta/Translations/nl.lproj/Localizable.strings
# Session/Meta/Translations/pl.lproj/Localizable.strings
# Session/Meta/Translations/pt_BR.lproj/Localizable.strings
# Session/Meta/Translations/ru.lproj/Localizable.strings
# Session/Meta/Translations/si.lproj/Localizable.strings
# Session/Meta/Translations/sk.lproj/Localizable.strings
# Session/Meta/Translations/zh-Hant.lproj/Localizable.strings
# Session/Meta/Translations/zh_CN.lproj/Localizable.strings
# Session/Utilities/BackgroundPoller.swift
# SessionSnodeKit/OnionRequestAPI.swift
# SessionSnodeKit/SnodeAPI.swift
3 years ago
Morgan Pretty
333849c32e
Logic for interactions with user mentions and closed group tweaks
...
Added logic to flag interactions that mention the current user
Fixed up closed group member handling
3 years ago
Morgan Pretty
0db74ce1e3
Working on the MediaGallery and ClosedGroup handling
...
Fixed a couple of issues around the duplicate messages handling
Fixed a few issues with ClosedGroup polling and ClosedGroup control message handling
Started working through updating the MediaGallery
3 years ago
Morgan Pretty
b541666ef0
Got the ability to send message working again and other tweaks
...
Tested and fixed a couple of issues with the disappearingMessages job
Added a simple dependency system for jobs (primarily for the AttachmentUploadJob, but will likely be others later)
Setup the AttachmentUploadJob again (looks like there are cases which use it)
Prevented a possible infinite job deferral loop from causing the app to crash (the loop is still technically possible but the app will continue to run now)
Updated the interactions unique constraints based on testing and discussions around how the serverHash works
Deleted the legacy ReadReceipt handling (now managed via the 'interaction.wasRead' flag and 'SendReadReceiptsJob')
Deleted the unused SSKIncrementingIdFinder
3 years ago
ryanzhao
a12e86a36b
fix an issue where new additions to group not appearing in mentions
3 years ago
Morgan Pretty
ed9f4ea6c6
Fixed a few closed group and job issues
...
Fixed a few job migration issues
Fixed an issue with the closed group key pair management (wasn't storing keys correctly)
Refactored the OWSSound (now Preferences.Sound)
Added the logic for the AttachmentDownloadJob and enabled jobs to be cascade deleted via interactions
Optimised the HomeViewModel database observation query (fetch specific columns so changes outside those don't trigger updates)
Updated to the latest GRDB (ran into a deadlock which should be fixed in a newer version)
3 years ago
Morgan Pretty
cf66edb723
Further work on SessionMessagingKit migrations
...
Added migrations for contacts and started working through thread migration (have contact and closed group threads migrating)
Deprecated usage of ECKeyPair in the migrations (want to be able to remove Curve25519Kit in the future)
3 years ago
Morgan Pretty
c3b855646f
Merge branch 'dev' into feature/session-id-blinding-part-2
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Conversations/Views & Modals/JoinOpenGroupModal.swift
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Settings/SettingsVC.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
3 years ago
Morgan Pretty
5bb3bd7bc1
Cleaned up some config sync logic and allowed migrations to trigger them
...
Updated the migrations so they can specify whether a configuration sync is required
Moved the config sync logic into a MessageSender extension (makes far more sense than AppDelegate)
Fixed a bug where the ShareVC was triggering the 'versionMigrationsDidComplete' twice
Removed a couple of imports for files that had been deleted
3 years ago
Morgan Pretty
8a7db1d48f
Started adding logic for the outbox endpoint
...
Moved the BlindedIdMapping retrieval logic to ContactUtilities so it's reusable
Added the 'outbox' endpoints (need testing as they aren't deployed to test yet)
3 years ago
Morgan Pretty
3b07be4eed
Fixed a couple of crashes
...
Fixed an issue where sharing form Safari without adding comments would result in an invalid message getting sent.
Fixed a crash when sharing plain text from safari.
Fixed a crash when localising 'OK' (key and value can't be the same when using the new extension).
3 years ago
Niels Andriesse
3f1358ac4d
Debug
4 years ago
Niels Andriesse
69c30fef70
Make UI changes
4 years ago
Niels Andriesse
d81a4624b6
Fix group editing logic
4 years ago
Niels Andriesse
5f37eddfa1
Show a loader while a group is updating
4 years ago
Niels Andriesse
54fc54e7b9
Minor refactoring
4 years ago
Niels Andriesse
1822b661e4
Fix broken constraint
4 years ago
Niels Andriesse
dd0baf0d97
Unify contacts APIs
4 years ago
Niels Andriesse
9969284a2b
Clean
4 years ago
Niels Andriesse
49c825eb43
Remove old conversation screen
4 years ago
nielsandriesse
1924e01edc
Merge branch 'multi-device' into ui
4 years ago
Niels Andriesse
90e53e5cef
Redesign conversation screen part 1
4 years ago
Niels Andriesse
e7b9017992
Enable V2 closed group control messages
4 years ago
Niels Andriesse
7acb6c9ac3
Merge branch 'dev' into multi-device
4 years ago
Niels Andriesse
4ee5c66653
Send old closed group control messages for now
4 years ago
Niels Andriesse
476fcd8484
Fix edit closed group screen constraints
4 years ago
Niels Andriesse
cf333d5e3d
Merge branch 'closed-groups' into multi-device
4 years ago
Niels Andriesse
017e4f7d50
Hook up the new system
4 years ago
Niels Andriesse
867e9114a6
Merge branch 'dev' into multi-device
4 years ago
Niels Andriesse
c9c83da3dc
Rename ClosedGroupUpdateV2 → ClosedGroupControlMessage
4 years ago
Niels Andriesse
d873b56fd4
Add missing closed group size check
4 years ago
Niels Andriesse
6dd2d2e72f
Put up a notice if the user is creating a very large group
4 years ago
Niels Andriesse
474acb5a30
Raise closed group size to 100 members
4 years ago
nielsandriesse
b8d9334d19
Force sync upon creating a closed group or joining an open group
4 years ago
nielsandriesse
a915c5ddaa
Re-organize files
4 years ago