Morgan Pretty
cf8b17fb27
Fixed a "kicked from group" bug, cleaned up some logic, added 'current user' logic
1 year ago
Morgan Pretty
7cc6e32ed9
Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild
...
# Conflicts:
# .drone.jsonnet
# Podfile.lock
# Session.xcodeproj/project.pbxproj
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/Jobs/DisappearingMessagesJob.swift
# SessionMessagingKit/Messages/Message.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+DataExtractionNotification.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Contacts.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserGroups.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserProfile.swift
# SessionUtilitiesKit/General/Features.swift
1 year ago
Ryan ZHAO
bd0a25bbe9
fix an issue that a disappearing messages control message will be removed by a race condition
1 year ago
Ryan ZHAO
fdae955288
fix data extraction message DaR
1 year ago
Ryan ZHAO
b2360d8e1a
fix an issue where DaR messages are read on linked devices won't have correct expiration start time
1 year ago
Morgan Pretty
2fba138782
Merge remote-tracking branch 'RyanFork/disappearing-message-redesign' into feature/groups-rebuild
...
# Conflicts:
# .drone.jsonnet
# Session.xcodeproj/project.pbxproj
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Message Cells/InfoMessageCell.swift
# Session/Conversations/Message Cells/MessageCell.swift
# Session/Conversations/Message Cells/VisibleMessageCell.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Views & Modals/InfoBanner.swift
# Session/Meta/AppDelegate.swift
# Session/Meta/MainAppContext.swift
# Session/Meta/Translations/ar.lproj/Localizable.strings
# Session/Meta/Translations/be.lproj/Localizable.strings
# Session/Meta/Translations/bg.lproj/Localizable.strings
# Session/Meta/Translations/bn.lproj/Localizable.strings
# Session/Meta/Translations/cs.lproj/Localizable.strings
# Session/Meta/Translations/da.lproj/Localizable.strings
# Session/Meta/Translations/de.lproj/Localizable.strings
# Session/Meta/Translations/el.lproj/Localizable.strings
# Session/Meta/Translations/en.lproj/Localizable.strings
# Session/Meta/Translations/eo.lproj/Localizable.strings
# Session/Meta/Translations/es-ES.lproj/Localizable.strings
# Session/Meta/Translations/fa.lproj/Localizable.strings
# Session/Meta/Translations/fi.lproj/Localizable.strings
# Session/Meta/Translations/fil.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/hu.lproj/Localizable.strings
# Session/Meta/Translations/id.lproj/Localizable.strings
# Session/Meta/Translations/it.lproj/Localizable.strings
# Session/Meta/Translations/ja.lproj/Localizable.strings
# Session/Meta/Translations/ko.lproj/Localizable.strings
# Session/Meta/Translations/ku.lproj/Localizable.strings
# Session/Meta/Translations/lt.lproj/Localizable.strings
# Session/Meta/Translations/lv.lproj/Localizable.strings
# Session/Meta/Translations/ne-NP.lproj/Localizable.strings
# Session/Meta/Translations/nl.lproj/Localizable.strings
# Session/Meta/Translations/no.lproj/Localizable.strings
# Session/Meta/Translations/pl.lproj/Localizable.strings
# Session/Meta/Translations/pt-BR.lproj/Localizable.strings
# Session/Meta/Translations/pt-PT.lproj/Localizable.strings
# Session/Meta/Translations/ro.lproj/Localizable.strings
# Session/Meta/Translations/ru.lproj/Localizable.strings
# Session/Meta/Translations/si-LK.lproj/Localizable.strings
# Session/Meta/Translations/sk.lproj/Localizable.strings
# Session/Meta/Translations/sl.lproj/Localizable.strings
# Session/Meta/Translations/sv-SE.lproj/Localizable.strings
# Session/Meta/Translations/th.lproj/Localizable.strings
# Session/Meta/Translations/tr.lproj/Localizable.strings
# Session/Meta/Translations/uk.lproj/Localizable.strings
# Session/Meta/Translations/vi.lproj/Localizable.strings
# Session/Meta/Translations/zh-CN.lproj/Localizable.strings
# Session/Meta/Translations/zh-TW.lproj/Localizable.strings
# Session/Notifications/SyncPushTokensJob.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Onboarding/PNModeVC.swift
# Session/Shared/ScreenLockUI.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Jobs/ExpirationUpdateJob.swift
# SessionMessagingKit/Jobs/GetExpirationJob.swift
# SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Contacts.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserGroups.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserProfile.swift
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SessionMessagingKitTests/Sending & Receiving/MessageReceiverSpec.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionNotificationServiceExtension/NotificationServiceExtensionContext.swift
# SessionShareExtension/Meta/SignalShareExtension-Bridging-Header.h
# SessionShareExtension/ShareAppExtensionContext.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionUtilitiesKit/Database/OWSFileSystem.m
# SessionUtilitiesKit/General/AppContext.h
# SessionUtilitiesKit/General/NSUserDefaults+OWS.m
1 year ago
Morgan Pretty
84492be016
Fixed build issues, removed invalid unit tests and missing copy
1 year ago
Ryan ZHAO
1c6232e4d7
minor refactor
1 year ago
Ryan ZHAO
4c0c1cda1a
Do not process outdated expiration update messages
1 year ago
Ryan ZHAO
c473c6cb23
fix an issue where disappearing messages config in legacy group was not updated
1 year ago
Ryan ZHAO
87309ccba1
fix an issue where note to self may show expiration update control messages which should be removed already.
1 year ago
Ryan ZHAO
084586e6ba
change call messages and data extraction notification to be DaR if needed
1 year ago
Ryan ZHAO
04d734ef87
use local disappearing messages setting for call messages and data extraction notifications
1 year ago
Ryan ZHAO
10d1c64c29
remove outdated client banner when receiving a message from new version
1 year ago
Ryan ZHAO
7693e53183
minor refactor and fix expiration update message for control messages
1 year ago
Ryan ZHAO
42f2440067
fix disappearing messages update control messages for legacy groups and linked devices
1 year ago
Ryan ZHAO
74efe8cc72
fix an issue for legacy groups disappearing message update control message
1 year ago
Ryan ZHAO
490cde57ce
fix disappearing messages update control messages for legacy groups
1 year ago
Ryan ZHAO
4ec1d730cd
remove previous logic for expiring control messages indicating disappearing messages turned off
1 year ago
Ryan ZHAO
5d2a307d5e
WIP: update copies and implement following setting
1 year ago
Ryan ZHAO
e8ec91ba8b
keep disappearing message update control message for legacy mode
1 year ago
Morgan Pretty
f5f112a593
More unit tests & disable XCBeautify for CI testing
1 year ago
Ryan ZHAO
adf1a76acc
fix outdated client version check
2 years ago
Ryan ZHAO
21c4a17a85
minor fix: only show banner when V2 is enabled
2 years ago
Ryan ZHAO
5f0835c41b
feat : display outdated client banner for linked devices
2 years ago
Morgan Pretty
fa8e37b0c7
Removed 'fileIds' from Message.Destination (tested and won't break)
...
Removed 'fileIds' from Message.Destination (tested and won't break)
Cleaned up some TODOs
2 years ago
Morgan Pretty
1057a4c3fa
Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild-part-2
...
# Conflicts:
# LibSession-Util
# Session.xcodeproj/project.pbxproj
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Message Cells/InfoMessageCell.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserGroups.swift
# SessionMessagingKit/SessionUtil/SessionUtil.swift
# SessionUtilitiesKit/Database/SSKKeychainStorage.swift
2 years ago
Morgan Pretty
59fc7a53ef
New DeveloperSettingsViewModel, bulk PN endpoints and updated group messages
...
Added the DeveloperSettingsViewModel and dependency-controlled feature flags
Added the generic 'SessionListViewModel' to reduce duplicate code when we want to just display a selectable list of items
Added an indicator on the home screen to show when using testnet
Added group promotions behind a feature flag
Updated the PushNotificationAPI to use bulk subscribe/unsubscribe requests
Updated the 'GroupUpdateDeleteMessage' and 'GroupUpdateDeleteMemberContentMessage' to support additional behaviours
Updated the SessionCell to have better RTL support (swapped some left/right things to leading/trailing)
Updated the revoke/unrevoke endpoints to take arrays of subaccount tokens
Refactored the Bencode logic to properly support Codable types
2 years ago
Morgan Pretty
00f246a21e
Added group message requests, admin message deletion, fixed a few bugs
...
Added logic for Group Message Requests
Added a 'ManualResultJob' which allows for a way to add a dependency to a job which can be resolved separately from the job system (it's not persistent though)
Added the ability for admins to delete select messages from updated groups
Swapped 'save'/'saved' calls to be 'upsert'/'upserted' as that's the actual behaviour we expect (unique key based rather than primary key based)
Fixed a bug where the 'limitedReuse' 'drainBehaviour' could get stuck in an invalid state
Fixed a bug where job dependencies could swap queues which could theoretically result in deadlocks in some cases
2 years ago
Ryan Zhao
928d7f2b1e
add comments and minor refactor
2 years ago
Morgan Pretty
32495f0a8a
Did some refactoring to better distinguish between publicKeys and sessionIds in the codebase
2 years ago
Morgan Pretty
f1075e9123
Started adding logic and unit tests for group creation
...
Reworked the config store to better support different types of config objects
Added the logic to create a group (not final just yet)
2 years ago
Morgan Pretty
f44b545265
[WIP] Initial start on updated groups via configs
...
Started writing up wrappers and unit tests for group config types
Refactored some duplicate batch & prepared request code to be more generic and reusable
Renamed a number of legacy closed group functions to have the term 'legacy' in them for ease of coding
2 years ago
Ryan Zhao
e1f5f86743
try to fix unit test
2 years ago
Ryan Zhao
a7a19abccf
update unit test
2 years ago
Ryan Zhao
acbf6fb126
clean
2 years ago
ryanzhao
5063feeb6a
fix an issue where message is not received & minor refactor on disappearing message job
2 years ago
Ryan Zhao
2d3b42a53a
minor refactor
2 years ago
Ryan Zhao
9ae6d2f506
Merge branch 'updated-user-config-handling' into disappearing-message-redesign
2 years ago
Morgan Pretty
53a5db0ea5
Fixed a number of issues found during internal testing
...
Added copy for an unrecoverable startup case
Added some additional logs to better debug ValueObservation query errors
Increased the pageSize to 20 on iPad devices (to prevent it immediately loading a second page)
Cleaned up a bunch of threading logic (try to avoid overriding subscribe/receive threads specified at subscription)
Consolidated the 'sendMessage' and 'sendAttachments' functions
Updated the various frameworks to use 'DAWRF with DSYM' to allow for better debugging during debug mode (at the cost of a longer build time)
Updated the logic to optimistically insert messages when sending to avoid any database write delays
Updated the logic to avoid sending notifications for messages which are already marked as read by the config
Fixed an issue where multiple paths could incorrectly get built at the same time in some cases
Fixed an issue where other job queues could be started before the blockingQueue finishes
Fixed a potential bug with the snode version comparison (was just a string comparison which would fail when getting to double-digit values)
Fixed a bug where you couldn't remove the last reaction on a message
Fixed the broken media message zoom animations
Fixed a bug where the last message read in a conversation wouldn't be correctly detected as already read
Fixed a bug where the QuoteView had no line limits (resulting in the '@You' mention background highlight being incorrectly positioned in the quote preview)
Fixed a bug where a large number of configSyncJobs could be scheduled (only one would run at a time but this could result in performance impacts)
2 years ago
Ryan Zhao
f4c25fa697
fix disappearing message control messages won't start disappearing
2 years ago
ryanzhao
96804e73e6
WIP: fix first handling user config messages makes expire timer update message not handled
2 years ago
Ryan Zhao
4ac8aa2aea
fix an issue where visible message received after expire timer update message could be dropped
2 years ago
Ryan Zhao
a7db4485df
resolve a race condition of expireTimerUpdate and configUpdate
2 years ago
ryanzhao
ae78abc5a4
fix an issue where expire timer update message being invalid
2 years ago
ryanzhao
eb8f50c29f
minor fix
2 years ago
ryanzhao
6658c5edd5
fix issue of syncing disappearing messages
2 years ago
Ryan Zhao
43e38c5644
Merge branch 'updated-user-config-handling' into disappearing-message-redesign
2 years ago
Morgan Pretty
c455a13a7b
Finished adding logic to ignore messages invalidated by config
...
Added timestamps to the Profile table to avoid overriding current profile info with older info
Updated the MessageReceiver to ignore the rest of the messages invalidated by the config
Updated to the latest libSession
Updated the JobRunner to expose some more info about the currently running jobs
Made some tweaks to the ConfigurationSyncJob to better support concurrent jobs running for different targets
2 years ago
Ryan Zhao
58740d9639
sync disappearing messages config through libSession
2 years ago