Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
34207be
Fixed an incorrect path in the libSession build script
mpretty-cyro Aug 7, 2025
1712adc
Merge pull request #498 from mpretty-cyro/fix/libsession-build-script
mpretty-cyro Aug 7, 2025
02013aa
Fixed a couple of cases where we were incorrectly resolving colors
mpretty-cyro Aug 10, 2025
5b0aae3
Fix join community tabbar spacing
Aug 11, 2025
61f1cfa
[Automated] Update translations from Crowdin
Bilb Aug 11, 2025
affb3a9
Fixed an issue where attachments would be incorrectly scaled down
mpretty-cyro Aug 11, 2025
cc1a053
Fix incorrect duration for uploading voice message
Aug 11, 2025
92a4b5a
Added accessibility identifier for app icons
Aug 11, 2025
1221a15
Fix translated hide text button overflow
Aug 11, 2025
69cc2e4
Stopped some message types making conversations become visible
mpretty-cyro Aug 11, 2025
559563c
Fixed an issue where the unread count could incorrectly get reset
mpretty-cyro Aug 12, 2025
c7083e2
Stopped passing `mainAppUnreadCount` to `extractNotificationInfo`
mpretty-cyro Aug 12, 2025
47d6a6c
Removed vertical padding
mikoldin123 Aug 12, 2025
ebfea40
Removed accessibility label usage
mikoldin123 Aug 12, 2025
47db776
Fixed an issue where notification settings wren't being respected for…
mpretty-cyro Aug 12, 2025
ce78033
Fix reply does not cancel search state on conversation
mikoldin123 Aug 12, 2025
8dc7be1
Fixed a few bugs found when testing
mpretty-cyro Aug 12, 2025
0a6bb77
Fix hash id displayed instead of contact name in apple watch call
mikoldin123 Aug 12, 2025
2f37ad7
Renamed `accessibilityLabel` to `accessibilityIdentifier`
mikoldin123 Aug 12, 2025
1d4d106
Fix bugs on reply and search switching
mikoldin123 Aug 12, 2025
cf3bbce
Fixed a unit test build issue
mpretty-cyro Aug 12, 2025
4f1e53d
Display truncated session id along with contact name
mikoldin123 Aug 13, 2025
b346e8b
Fixed an issue where Desktop can't download iOS attachments
mpretty-cyro Aug 13, 2025
464fbf4
Fixed an issue where we were storing the 'softfork' version in the 'h…
mpretty-cyro Aug 13, 2025
932145a
Merge pull request #515 from mpretty-cyro/fix/incorrect-version-storage
mpretty-cyro Aug 13, 2025
04cd5a5
Fixed and cleaned up some attachment handling issues
mpretty-cyro Aug 14, 2025
f0f47b0
fix an issue where emoji reactions to a contact's own message should …
Jul 3, 2025
6a79a2d
Updated the 'ensureWeShouldShowNotification' with the same logic
mpretty-cyro Aug 14, 2025
7c1d7c3
Bumped build and version numbers
mpretty-cyro Aug 14, 2025
36323cc
Fixed a couple of issues with the CI config
mpretty-cyro Aug 14, 2025
acd96c5
Fix wrong components tagged with accessibility
mikoldin123 Aug 14, 2025
aaf5d08
Fix build error on old Xcode
mpretty-cyro Aug 15, 2025
bacd6a4
Fixed an issue where the 'video' badge was incorrectly removed
mpretty-cyro Aug 15, 2025
340d15e
Fixed an issue where gif images would be scaled down
mpretty-cyro Aug 19, 2025
3f643e9
Merge pull request #484 from RyanRory/emoji-reacts-notification-fix
mpretty-cyro Aug 19, 2025
56bd0e2
Merge pull request #497 from session-foundation/feature/update-crowdi…
mpretty-cyro Aug 19, 2025
aba4c23
Merge pull request #502 from mpretty-cyro/fix/incorrect-colour-usage
mpretty-cyro Aug 19, 2025
22dd60a
Merge pull request #504 from mikoldin123/fix/community_tabbar_spacing
mpretty-cyro Aug 19, 2025
1f8a4dd
Merge pull request #505 from mikoldin123/fix/hide_button_text_overflow
mpretty-cyro Aug 19, 2025
1de3df3
Merge pull request #507 from mikoldin123/fix/incorrect_uploading_voic…
mpretty-cyro Aug 19, 2025
d5c1341
Merge pull request #508 from mikoldin123/fix/missing_app_icon_accessi…
mpretty-cyro Aug 19, 2025
bbb9a1a
Merge pull request #506 from mpretty-cyro/fix/incorect-attachment-sca…
mpretty-cyro Aug 19, 2025
f230cc2
Merge pull request #513 from mikoldin123/fix/display_name_apple_watch…
mpretty-cyro Aug 19, 2025
49b7019
Merge pull request #514 from mpretty-cyro/fix/desktop-cant-handle-att…
mpretty-cyro Aug 19, 2025
98f473a
Merge pull request #511 from mikoldin123/fix/dimiss_search_on_reply_a…
mpretty-cyro Aug 19, 2025
e9f236e
Merge pull request #509 from mpretty-cyro/fix/note-to-self-incorrectl…
mpretty-cyro Aug 19, 2025
5b7b0cb
Merge pull request #510 from mpretty-cyro/fix/unread-count-getting-reset
mpretty-cyro Aug 19, 2025
23933c4
Merge pull request #512 from mpretty-cyro/fix/notification-settings-n…
mpretty-cyro Aug 19, 2025
24ed9af
Merge remote-tracking branch 'upstream/dev' into fix/attachment-handl…
mpretty-cyro Aug 19, 2025
9fc2ab1
Bumped build number
mpretty-cyro Aug 19, 2025
1b20f99
Merge pull request #517 from mpretty-cyro/fix/attachment-handling-issues
mpretty-cyro Aug 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions .drone.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ local clean_up_old_test_sims_on_commit_trigger = {
{
name: 'Build and Run Tests',
commands: [
'echo "Explicitly running unit tests on `App_Store_Release` configuration to ensure optimisation behaviour is consistent"',
'echo "Explicitly running unit tests on \'App_Store_Release\' configuration to ensure optimisation behaviour is consistent"',
'echo "If tests fail inconsistently from local builds this is likely the difference"',
'echo ""',
'NSUnbufferedIO=YES set -o pipefail && xcodebuild test -project Session.xcodeproj -scheme Session -derivedDataPath ./build/derivedData -resultBundlePath ./build/artifacts/testResults.xcresult -parallelizeTargets -configuration "App_Store_Release" -destination "platform=iOS Simulator,id=$(<./build/artifacts/sim_uuid)" -parallel-testing-enabled NO -test-timeouts-enabled YES -maximum-test-execution-time-allowance 10 -collect-test-diagnostics never ENABLE_TESTABILITY=YES 2>&1 | xcbeautify --is-ci',
Expand All @@ -89,9 +89,19 @@ local clean_up_old_test_sims_on_commit_trigger = {
],
},
{
name: 'Unit Test Summary',
name: 'Stop Simulator Keep-Alive',
commands: [
'echo "Signaling simulator keep-alive to stop and clean up..."',
sim_delete_cmd,
],
depends_on: ['Build and Run Tests'],
when: {
status: ['success', 'failure'],
},
},
{
name: 'Unit Test Summary',
commands: [
'xcresultparser --output-format cli --failed-tests-only ./build/artifacts/testResults.xcresult'
],
depends_on: ['Build and Run Tests']
Expand Down
2 changes: 1 addition & 1 deletion Scripts/build_libSession_util.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ fi
if [ "${COMPILE_LIB_SESSION}" != "YES" ]; then
echo "Restoring original headers to Xcode Indexer cache from backup..."
rm -rf "${INDEX_DIR}/include"
rsync -rt --exclude='.DS_Store' "${PRE_BUILT_FRAMEWORK_DIR}/${TARGET_ARCH_DIR}/Headers/" "${INDEX_DIR}/include"
rsync -rt --exclude='.DS_Store' "${PRE_BUILT_FRAMEWORK_DIR}/${FRAMEWORK_DIR}/${TARGET_ARCH_DIR}/Headers/" "${INDEX_DIR}/include"

echo "Using pre-packaged SessionUtil"
exit 0
Expand Down
28 changes: 16 additions & 12 deletions Session.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -659,6 +659,8 @@
FD37EA1928AC5CCA003AE748 /* NotificationSoundViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD37EA1828AC5CCA003AE748 /* NotificationSoundViewModel.swift */; };
FD39352C28F382920084DADA /* VersionFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD39352B28F382920084DADA /* VersionFooterView.swift */; };
FD39353628F7C3390084DADA /* _004_FlagMessageHashAsDeletedOrInvalid.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD39353528F7C3390084DADA /* _004_FlagMessageHashAsDeletedOrInvalid.swift */; };
FD3937082E4AD3FE00571F17 /* NoopDependency.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3937072E4AD3F800571F17 /* NoopDependency.swift */; };
FD39370C2E4D7BCA00571F17 /* DocumentPickerHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD39370B2E4D7BBE00571F17 /* DocumentPickerHandler.swift */; };
FD3AABE928306BBD00E5099A /* ThreadPickerViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3AABE828306BBD00E5099A /* ThreadPickerViewModel.swift */; };
FD3C906727E416AF00CD579F /* BlindedIdLookupSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3C906627E416AF00CD579F /* BlindedIdLookupSpec.swift */; };
FD3E0C84283B5835002A425C /* SessionThreadViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3E0C83283B5835002A425C /* SessionThreadViewModel.swift */; };
Expand Down Expand Up @@ -818,7 +820,6 @@
FD7728982849E8110018502F /* UITableView+ReusableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD7728972849E8110018502F /* UITableView+ReusableView.swift */; };
FD778B6429B189FF001BAC6B /* _014_GenerateInitialUserConfigDumps.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD778B6329B189FF001BAC6B /* _014_GenerateInitialUserConfigDumps.swift */; };
FD78E9EE2DD6D32500D55B50 /* ImageDataManager+Singleton.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDB11A622DD5BDDD00BEF49F /* ImageDataManager+Singleton.swift */; };
FD78E9F02DD6D61200D55B50 /* Data+Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDE754CB2C9BAF37002A2623 /* Data+Image.swift */; };
FD78E9F22DDA9EA200D55B50 /* MockImageDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD78E9F12DDA9E9B00D55B50 /* MockImageDataManager.swift */; };
FD78E9F42DDABA4F00D55B50 /* AttachmentUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD78E9F32DDABA4200D55B50 /* AttachmentUploader.swift */; };
FD78E9F62DDD43AD00D55B50 /* Mutation.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD78E9F52DDD43AB00D55B50 /* Mutation.swift */; };
Expand Down Expand Up @@ -1983,6 +1984,8 @@
FD37EA1828AC5CCA003AE748 /* NotificationSoundViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationSoundViewModel.swift; sourceTree = "<group>"; };
FD39352B28F382920084DADA /* VersionFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionFooterView.swift; sourceTree = "<group>"; };
FD39353528F7C3390084DADA /* _004_FlagMessageHashAsDeletedOrInvalid.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = _004_FlagMessageHashAsDeletedOrInvalid.swift; sourceTree = "<group>"; };
FD3937072E4AD3F800571F17 /* NoopDependency.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoopDependency.swift; sourceTree = "<group>"; };
FD39370B2E4D7BBE00571F17 /* DocumentPickerHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentPickerHandler.swift; sourceTree = "<group>"; };
FD3AABE828306BBD00E5099A /* ThreadPickerViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadPickerViewModel.swift; sourceTree = "<group>"; };
FD3C906627E416AF00CD579F /* BlindedIdLookupSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlindedIdLookupSpec.swift; sourceTree = "<group>"; };
FD3E0C83283B5835002A425C /* SessionThreadViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionThreadViewModel.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2315,7 +2318,6 @@
FDE754C82C9BAF36002A2623 /* UTType+Utilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UTType+Utilities.swift"; sourceTree = "<group>"; };
FDE754C92C9BAF36002A2623 /* ImageFormat.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageFormat.swift; sourceTree = "<group>"; };
FDE754CA2C9BAF37002A2623 /* DataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DataSource.swift; sourceTree = "<group>"; };
FDE754CB2C9BAF37002A2623 /* Data+Image.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Data+Image.swift"; sourceTree = "<group>"; };
FDE754D12C9BAF53002A2623 /* JobDependencies.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JobDependencies.swift; sourceTree = "<group>"; };
FDE754D32C9BAF6B002A2623 /* UICollectionView+ReusableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UICollectionView+ReusableView.swift"; sourceTree = "<group>"; };
FDE754D52C9BAF89002A2623 /* Crypto.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Crypto.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -3009,7 +3011,6 @@
B8A582AF258C665E00AFD84C /* Media */ = {
isa = PBXGroup;
children = (
FDE754CB2C9BAF37002A2623 /* Data+Image.swift */,
FDE754CA2C9BAF37002A2623 /* DataSource.swift */,
FDE754C92C9BAF36002A2623 /* ImageFormat.swift */,
FDE754C72C9BAF36002A2623 /* MediaUtils.swift */,
Expand Down Expand Up @@ -4174,6 +4175,7 @@
FD2272D22C34ECBB004D8A6C /* Types */ = {
isa = PBXGroup;
children = (
FD39370B2E4D7BBE00571F17 /* DocumentPickerHandler.swift */,
FD0E353A2AB98773006A81F7 /* AppVersion.swift */,
FDB3486D2BE8457F00B716C2 /* BackgroundTaskManager.swift */,
FDE755042C9BB4ED002A2623 /* Bencode.swift */,
Expand Down Expand Up @@ -5012,6 +5014,7 @@
FDF01FAE2A9ED0C800CAF969 /* Dependency Injection */ = {
isa = PBXGroup;
children = (
FD3937072E4AD3F800571F17 /* NoopDependency.swift */,
FDE7551F2C9BC1A6002A2623 /* CacheConfig.swift */,
FDC6D75F2862B3F600B04575 /* Dependencies.swift */,
FD2272ED2C3521D6004D8A6C /* FeatureConfig.swift */,
Expand Down Expand Up @@ -6348,7 +6351,6 @@
FDC6D7602862B3F600B04575 /* Dependencies.swift in Sources */,
FDE521902E04CCEB00061B8E /* AVURLAsset+Utilities.swift in Sources */,
FD6673FF2D77F9C100041530 /* ScreenLock.swift in Sources */,
FD78E9F02DD6D61200D55B50 /* Data+Image.swift in Sources */,
FDB3DA8B2E24834000148F8D /* AVURLAsset+Utilities.swift in Sources */,
FD17D7C727F5207C00122BE0 /* DatabaseMigrator+Utilities.swift in Sources */,
FD848B9328420164000E298B /* UnicodeScalar+Utilities.swift in Sources */,
Expand Down Expand Up @@ -6394,6 +6396,7 @@
FD7728962849E7E90018502F /* String+Utilities.swift in Sources */,
C35D0DB525AE5F1200B6BF49 /* UIEdgeInsets.swift in Sources */,
FDF222092818D2B0000A4995 /* NSAttributedString+Utilities.swift in Sources */,
FD39370C2E4D7BCA00571F17 /* DocumentPickerHandler.swift in Sources */,
C32C5E0C256DDAFA003C73A2 /* NSRegularExpression+SSK.swift in Sources */,
FD29598D2A43BC0B00888A17 /* Version.swift in Sources */,
FD71160028C8253500B47552 /* UIView+Combine.swift in Sources */,
Expand All @@ -6405,6 +6408,7 @@
FDAA16762AC28A3B00DDBF77 /* UserDefaultsType.swift in Sources */,
FDDF074429C3E3D000E5E8B5 /* FetchRequest+Utilities.swift in Sources */,
FD7F745B2BAAA35E006DDFD8 /* LibSession.swift in Sources */,
FD3937082E4AD3FE00571F17 /* NoopDependency.swift in Sources */,
FD74434A2D07CA9F00862443 /* Codable+Utilities.swift in Sources */,
FD0559562E026E1B00DC48CE /* ObservingDatabase.swift in Sources */,
FD74434B2D07CA9F00862443 /* CGFloat+Utilities.swift in Sources */,
Expand Down Expand Up @@ -8152,7 +8156,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
COMPILE_LIB_SESSION = "";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 623;
CURRENT_PROJECT_VERSION = 625;
ENABLE_BITCODE = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
Expand Down Expand Up @@ -8192,7 +8196,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LIB_SESSION_SOURCE_DIR = "${SRCROOT}/../LibSession-Util";
LOCALIZED_STRING_SWIFTUI_SUPPORT = NO;
MARKETING_VERSION = 2.14.0;
MARKETING_VERSION = 2.14.1;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = "-Werror=protocol";
OTHER_SWIFT_FLAGS = "-D DEBUG -Xfrontend -warn-long-expression-type-checking=100";
Expand Down Expand Up @@ -8233,7 +8237,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Distribution";
COMPILE_LIB_SESSION = "";
CURRENT_PROJECT_VERSION = 623;
CURRENT_PROJECT_VERSION = 625;
ENABLE_BITCODE = NO;
ENABLE_MODULE_VERIFIER = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
Expand Down Expand Up @@ -8268,7 +8272,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LIB_SESSION_SOURCE_DIR = "${SRCROOT}/../LibSession-Util";
LOCALIZED_STRING_SWIFTUI_SUPPORT = NO;
MARKETING_VERSION = 2.14.0;
MARKETING_VERSION = 2.14.1;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
Expand Down Expand Up @@ -8714,7 +8718,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
COMPILE_LIB_SESSION = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 623;
CURRENT_PROJECT_VERSION = 625;
ENABLE_BITCODE = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
Expand Down Expand Up @@ -8753,7 +8757,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LIB_SESSION_SOURCE_DIR = "${SRCROOT}/../LibSession-Util";
LOCALIZED_STRING_SWIFTUI_SUPPORT = NO;
MARKETING_VERSION = 2.14.0;
MARKETING_VERSION = 2.14.1;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = (
"-fobjc-arc-exceptions",
Expand Down Expand Up @@ -9301,7 +9305,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Distribution";
COMPILE_LIB_SESSION = YES;
CURRENT_PROJECT_VERSION = 623;
CURRENT_PROJECT_VERSION = 625;
ENABLE_BITCODE = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
Expand Down Expand Up @@ -9334,7 +9338,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LIB_SESSION_SOURCE_DIR = "${SRCROOT}/../LibSession-Util";
LOCALIZED_STRING_SWIFTUI_SUPPORT = NO;
MARKETING_VERSION = 2.14.0;
MARKETING_VERSION = 2.14.1;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ extension SessionCallManager {
reportOutgoingCall(call)

if callController != nil {
let handle = CXHandle(type: .generic, value: call.sessionId)
// Show contact name + session id (truncated...) opening outgoing call in apple watch
let callDisplay = generateDisplayForCall(call)

let handle = CXHandle(type: .generic, value: callDisplay)
let startCallAction = CXStartCallAction(call: call.callId, handle: handle)

startCallAction.isVideo = false
Expand Down
21 changes: 20 additions & 1 deletion Session/Calls/Call Management/SessionCallManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,13 @@ public final class SessionCallManager: NSObject, CallManagerProtocol {
return
}

// Show contact name + session id (truncated...) opening outgoing call in apple watch
let callDisplay = generateDisplayForCall(call)

// Construct a CXCallUpdate describing the incoming call, including the caller.
let update = CXCallUpdate()
update.localizedCallerName = callerName
update.remoteHandle = CXHandle(type: .generic, value: call.sessionId)
update.remoteHandle = CXHandle(type: .generic, value: callDisplay)
update.hasVideo = false

disableUnsupportedFeatures(callUpdate: update)
Expand Down Expand Up @@ -296,4 +299,20 @@ public final class SessionCallManager: NSObject, CallManagerProtocol {
Log.flush()
}
}

func generateDisplayForCall(_ call: CurrentCallProtocol) -> String {
guard
let sessionCall = call as? SessionCall,
sessionCall.contactName.isEmpty == false
else {
/// When contact name is empty display
/// ex. 1234...7890
return call.sessionId.truncated(prefix: 4, suffix: 4)
}

/// Display contact name + truncated session id prefix 4
/// ex. John 1234...
let truncatedSessionId = sessionCall.sessionId.truncated(prefix: 4, suffix: 0)
return "\(sessionCall.contactName) \(truncatedSessionId)"
}
}
35 changes: 24 additions & 11 deletions Session/Conversations/Context Menu/ContextMenuVC+Action.swift
Original file line number Diff line number Diff line change
Expand Up @@ -225,17 +225,30 @@ extension ContextMenuVC {
)
)
)
let canSave: Bool = (
cellViewModel.cellType == .mediaMessage &&
(cellViewModel.attachments ?? [])
.filter { attachment in
attachment.isValid &&
attachment.isVisualMedia && (
attachment.state == .downloaded ||
attachment.state == .uploaded
)
}.isEmpty == false
)
let canSave: Bool = {
switch cellViewModel.cellType {
case .mediaMessage:
return (cellViewModel.attachments ?? [])
.filter { attachment in
attachment.isValid &&
attachment.isVisualMedia && (
attachment.state == .downloaded ||
attachment.state == .uploaded
)
}.isEmpty == false

case .audio, .genericAttachment:
return (cellViewModel.attachments ?? [])
.filter { attachment in
attachment.isValid && (
attachment.state == .downloaded ||
attachment.state == .uploaded
)
}.isEmpty == false

default: return false
}
}()
let canCopySessionId: Bool = (
cellViewModel.variant == .standardIncoming &&
cellViewModel.threadVariant != .community
Expand Down
2 changes: 1 addition & 1 deletion Session/Conversations/ConversationSearch.swift
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ public final class SearchResultsBar: UIView {

private lazy var loadingIndicator: UIActivityIndicatorView = {
let result = UIActivityIndicatorView(style: .medium)
result.themeTintColor = .textPrimary
result.themeColor = .textPrimary
result.alpha = 0.5
result.hidesWhenStopped = true

Expand Down
Loading