Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
cc1cee7
feat: multi-link modal for landing page
Jan 14, 2026
f9e682f
fix issues on getting pro state from backend
Jan 15, 2026
9b1c3bb
feat: config dev server
Jan 15, 2026
6ac15b7
feat: store revocation list in db and finish related TODOs
Jan 20, 2026
a1c412a
feat: on payment failure action and managing subscription handler
Jan 21, 2026
feeccc4
Merge branch 'dev' into session-pro-backend-integration-2
Jan 21, 2026
b92c16a
feat: finish TODOs and fix plan price format
Jan 27, 2026
7827e13
minor fix for mock up pro plan
Jan 27, 2026
911a911
fix: a bunch of issues related to Pro
Jan 29, 2026
2c688be
minor fix on price format
Jan 29, 2026
dde067a
fix: pro stats
Jan 29, 2026
c19cac5
fix cancel pro
Feb 2, 2026
4d82424
fix a bunch of issues related to renewing pro
Feb 2, 2026
6c70823
fix refund pro
Feb 4, 2026
ebb7145
fix: billing access logic
Feb 4, 2026
bd226d4
Merge branch 'dev' into session-pro-backend-integration-2
Feb 4, 2026
5872226
resolve feedbacks and small issues.
Feb 5, 2026
d12683b
clean up
Feb 5, 2026
cc53cb2
update build & version
Feb 5, 2026
ae7dc9c
fix: pro badges shouldn't show for Note To Self
Feb 8, 2026
9902d4a
fix: pro badge colour on set display picture modal
Feb 8, 2026
f3d5fca
Merge branch 'dev' into session-pro-backend-integration-2
Feb 8, 2026
4eb0f4a
fix: pro stats padding
Feb 9, 2026
00640eb
fix some UI/UX issues
Feb 9, 2026
11ffa0e
wip: fix strings
Feb 9, 2026
5f6ae60
fix strings in update pro plan non-originator screen
Feb 9, 2026
93c802c
fix pro info update
Feb 11, 2026
7680fdd
fix some strings
Feb 11, 2026
074c0d4
fix: animated DP and pro badge not showing
Feb 11, 2026
857151b
fix cancel pro screen non originator
Feb 12, 2026
42a209c
fix conversation heading pro badge
Feb 12, 2026
8ea7910
fix: prevent pro expiry timer to be negative
Feb 13, 2026
8063618
Merge branch 'dev' into session-pro-backend-integration-2
Feb 13, 2026
f928713
clean up
Feb 13, 2026
8c9c29f
feat: add accessibility ids for pro CTA
Feb 17, 2026
d03783e
fix: group avatar
Feb 17, 2026
7499835
feat: add account token to pro product purchase
Feb 18, 2026
6900f09
fix: pro badge color
Feb 18, 2026
3a2a45a
fix: thread settings screen profile picture
Feb 18, 2026
662f8c9
fix: note to self pro badge hidden and update pro plan modal
Feb 18, 2026
3de30f8
fix: do not handle errors in already redeem status
Feb 18, 2026
7761eaa
minor fix
Feb 18, 2026
26a2fd7
fix: pro plan update
Feb 18, 2026
302d698
feat: accessibility id in donation modal
Feb 18, 2026
b82a094
bump up build and version number
Feb 18, 2026
5425306
fix: libsession cached pro expiration not being updated correctly
Feb 19, 2026
ac3b069
fix: attach pro message to all kinds of proto messages
Feb 19, 2026
04581e9
fix: pro activated CTA
Feb 19, 2026
33f2bca
fix: pro payment screen open URL not working
Feb 19, 2026
5a4aea5
[Automated] Update translations from Crowdin
Bilb Feb 20, 2026
9a74bb2
fix: cancel pro non originator screen
Feb 20, 2026
62b1207
fix some strings and build variant
Feb 20, 2026
2fab03a
Merge branch 'dev' into session-pro-backend-integration-2
Feb 20, 2026
525a329
fix: pro badges in headings and convo lists
Feb 20, 2026
351f602
fix: avatar on home screen settings button not updated
Feb 22, 2026
2eadddd
fix: backward compatibility for pro users with pre pro client
Feb 23, 2026
e523df5
fix: pro cta circle mark icon colour
Feb 23, 2026
ace06e0
fix: input compose box in attachment screen
Feb 23, 2026
d82cb3a
fix: pro cta pin convo string
Feb 24, 2026
81179b0
fix: Pre-Pro, a long message is truncated at 2k not 10k
Feb 24, 2026
510769f
clean
Feb 24, 2026
f4a3bbf
fix: circle tick icon in message info screen
Feb 24, 2026
e08d5dc
fix: animated display picture in pro cta for RTL
Feb 24, 2026
da8c008
Merge branch 'dev' into session-pro-backend-integration-2
Feb 24, 2026
c5a1f23
fix: pro refund screen
Feb 24, 2026
530d763
fix: pro badge incorrectly displayed in session heading
Feb 25, 2026
661780f
fix: pro cancel non originator screen
Feb 25, 2026
24be217
Merge branch 'feature/update-crowdin-translations' of https://github.…
Feb 25, 2026
3567b60
fix some pro issues
Feb 25, 2026
dc1d0d4
[Automated] Update translations from Crowdin
ThomasSession Feb 25, 2026
bcb1dab
Merge branch 'feature/update-crowdin-translations' of https://github.…
Feb 25, 2026
d74a6d1
minor refactor
Feb 25, 2026
3a75459
minor fix
Feb 25, 2026
719982f
fix: error modal / CTA in attachment approval screen
Feb 25, 2026
0644881
fix pro expiry updated incorrectly in config message when doing a refund
Feb 25, 2026
193e39e
fix: string in no billing access screen
Feb 26, 2026
e09e6ed
fix: message character limit modal in attachment approval screen
Feb 26, 2026
846ac02
fix: pro expiration/auto-update timer formatting
Feb 26, 2026
3e1fb07
fix: strings and urls in refund request success screen
Feb 26, 2026
ec5c1b7
minor fix on iOS 26 swipe action ui
Feb 26, 2026
36b8aad
clean up
Feb 27, 2026
8ca0a3d
Merge branch 'dev' into session-pro-backend-integration-2
Feb 27, 2026
b0336b0
fix: animated profile picture not responding to pro state update
Mar 2, 2026
b2e606f
fix: session pro heading in RTL
Mar 2, 2026
fb41a51
fix: pro badge size on user profile modal
Mar 2, 2026
19db391
fix: remove animated profile picture tag in pro feature when current …
Mar 2, 2026
4fddb7a
fix: pro user tapping pro badge in ucs does nothing
Mar 2, 2026
df8fe47
fix: UPM got disappeared after QRCode lightbox dismissed
Mar 2, 2026
b6a541d
fix: show mention icon for 1-1 conversations
Mar 3, 2026
032cbdf
fix: manage / invite members page pro badges may incorrectly be displ…
Mar 4, 2026
bb96549
update build number
Mar 4, 2026
8f588b7
fix the timestamp using for pro auto renewing
Mar 4, 2026
860ff22
fix some issues on pro proof verification
Mar 5, 2026
a8a5a41
fix: update pro proof via libSession
Mar 6, 2026
ee6c9d4
fix: pro for blinded communities
Mar 6, 2026
36bfc7f
fix: pro cta will dismiss profile picture settings modal
Mar 6, 2026
b4faa40
fix: modals in session pro bottom sheet
Mar 6, 2026
6de4d1f
fix: pro state error modal support url
Mar 6, 2026
87f00ac
fix: should show modal when loading/error fetching pro state
Mar 6, 2026
6e6cc6e
fix: pro cta expired title colour
Mar 6, 2026
67dcf52
fix: long message description
Mar 6, 2026
869e03a
fix: modal string on payment failure
Mar 9, 2026
3964990
fix: modal string
Mar 9, 2026
9dc6a8f
minor refactor and fix purchase cancelling
Mar 10, 2026
3ce0394
feat: add timer in Session Pro Screen to update expiry and auto-renew…
Mar 10, 2026
ef9fbb1
clean
Mar 10, 2026
8028b0a
clean
Mar 10, 2026
daa3dcf
fix: swipe action labels
Mar 10, 2026
e217284
fix: cancel payment still shows loading state
Mar 10, 2026
ea5c1c6
fix: pro features for users who purchase pro for the first time
Mar 11, 2026
31ccf6c
fix: plan selection for canceled pro
Mar 11, 2026
7d6fcbe
fix: pro support link
Mar 11, 2026
97009ce
fix: pending state when purchasing plans
Mar 11, 2026
e44c556
fix: shadow in pro stats
Mar 11, 2026
45008ce
update pro dev backend url
Mar 11, 2026
f741a16
fix: pro plan updated screen not showing the real expiration
Mar 15, 2026
07cbb00
wip: fix loading state in session pro screen
Mar 16, 2026
70cd514
fix: pro settings may loading forever
Mar 16, 2026
f88243c
fix: attachment approval screen keyboard not scrollable with draft
Mar 16, 2026
3db2661
fix: pro expiration format
Mar 18, 2026
90f57ca
fix: cancel non originated account url
Mar 18, 2026
018c749
fix: expiring CTA not show
Mar 18, 2026
c23180a
fix: string in update pro screen non originator
Mar 18, 2026
dfb5259
fix: icon color for non originator screens in light mode
Mar 18, 2026
65a10a6
fix: refund request screen for Android originator
Mar 18, 2026
d22b6fc
fix: string in update plan non originated platform screen
Mar 18, 2026
58fd2f5
fix: timer in pro settings screen not update after 1 min
Mar 18, 2026
1de8115
fix shadows in pro settings screen
Mar 18, 2026
a7230cd
fix modal title for payment error
Mar 19, 2026
d8a2858
update build number
Mar 19, 2026
79c3ec2
wip: fix grace period in pro settings screen
Mar 19, 2026
e4d1b25
fix: show grace period state in pro settings screen
Mar 19, 2026
b5516d9
fix: refund Android originator screen strings
Mar 20, 2026
07b22eb
fix icon background color for non originator screens
Mar 20, 2026
2d5b1cb
fix: tooltips alignment issue
Mar 20, 2026
72bc5e6
fix: tooltips in RTL
Mar 25, 2026
76e98ae
fix: show generic error modal when the error is from storekit
Mar 25, 2026
f92016f
fix: pro state not being updated in pro settings screen
Mar 26, 2026
783ec99
minor fix
Mar 26, 2026
e4d4aaa
refactor to fix an issue where animated profile picture and pro badge…
Mar 26, 2026
6bd084b
fix: mention in attachment approval screen
Mar 27, 2026
28e5a19
fix: automatically turn on pro badge when first time buying pro
Mar 30, 2026
eca3d89
update build number
Mar 30, 2026
a0b67b1
Merge remote-tracking branch 'upstream/dev' into session-pro-backend-…
mpretty-cyro Apr 1, 2026
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
6 changes: 6 additions & 0 deletions Session.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -9697,6 +9697,7 @@
CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 698;
DEVELOPMENT_TEAM = SUQ8J2PCT7;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
Expand Down Expand Up @@ -9742,6 +9743,7 @@
CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 698;
DEVELOPMENT_TEAM = SUQ8J2PCT7;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
Expand Down Expand Up @@ -10397,6 +10399,7 @@
CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 698;
DEVELOPMENT_TEAM = SUQ8J2PCT7;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
Expand All @@ -10415,6 +10418,7 @@
"@executable_path/Frameworks",
);
LLVM_LTO = NO;
MARKETING_VERSION = 2.15.1;
OTHER_SWIFT_FLAGS = "$(inherited)";
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger";
PRODUCT_NAME = Session;
Expand Down Expand Up @@ -10968,6 +10972,7 @@
CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 698;
DEVELOPMENT_TEAM = SUQ8J2PCT7;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
Expand All @@ -10986,6 +10991,7 @@
"@executable_path/Frameworks",
);
LLVM_LTO = NO;
MARKETING_VERSION = 2.15.1;
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger";
PRODUCT_NAME = Session;
PROVISIONING_PROFILE = "";
Expand Down
12 changes: 11 additions & 1 deletion Session/Closed Groups/NewClosedGroupVC.swift
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,17 @@ final class NewClosedGroupVC: BaseVC, UITableViewDataSource, UITableViewDelegate
id: item.profileId,
position: Position.with(indexPath.row, count: data[indexPath.section].elements.count),
leadingAccessory: .profile(id: item.profileId, profile: item.profile),
title: (item.profile?.displayName() ?? item.profileId.truncated()),
title: SessionCell.TextInfo(
(item.profile?.displayName() ?? item.profileId.truncated()),
font: .title,
trailingImage: (
dependencies[singleton: .sessionProManager].profileFeatures(for: item.profile).contains(.proBadge) == true ?
SessionProBadge.trailingImage(
size: .small,
themeBackgroundColor: .primary
) : nil
)
),
trailingAccessory: .radio(isSelected: selectedProfileIds.contains(item.profileId)),
styling: SessionCell.StyleInfo(backgroundStyle: .edgeToEdge),
accessibility: Accessibility(
Expand Down
12 changes: 4 additions & 8 deletions Session/Conversations/ConversationVC+Interaction.swift
Original file line number Diff line number Diff line change
Expand Up @@ -493,17 +493,15 @@ extension ConversationVC:
}

func handleLibraryButtonTapped() {
let threadId: String = self.viewModel.state.threadId
let threadVariant: SessionThread.Variant = self.viewModel.state.threadVariant
let threadInfo: ConversationInfoViewModel = self.viewModel.state.threadInfo
let quoteViewModel: QuoteViewModel? = self.snInputView.quoteViewModel

Permissions.requestLibraryPermissionIfNeeded(isSavingMedia: false, using: viewModel.dependencies) { [weak self, dependencies = viewModel.dependencies] granted in
guard granted else { return }

DispatchQueue.main.async {
let sendMediaNavController = SendMediaNavigationController.showingMediaLibraryFirst(
threadId: threadId,
threadVariant: threadVariant,
threadInfo: threadInfo,
quoteViewModel: quoteViewModel,
onQuoteCancelled: { [weak self] in
self?.snInputView.quoteViewModel = nil
Expand All @@ -527,8 +525,7 @@ extension ConversationVC:
}

let sendMediaNavController = SendMediaNavigationController.showingCameraFirst(
threadId: self.viewModel.state.threadId,
threadVariant: self.viewModel.state.threadVariant,
threadInfo: self.viewModel.state.threadInfo,
quoteViewModel: self.snInputView.quoteViewModel,
onQuoteCancelled: { [weak self] in
self?.snInputView.quoteViewModel = nil
Expand All @@ -551,8 +548,7 @@ extension ConversationVC:
let viewController: AttachmentApprovalViewController = AttachmentApprovalViewController(
mode: .modal,
delegate: self,
threadId: self.viewModel.state.threadId,
threadVariant: self.viewModel.state.threadVariant,
threadInfo: self.viewModel.state.threadInfo,
attachments: attachments,
messageText: snInputView.text,
quoteViewModel: snInputView.quoteViewModel,
Expand Down
32 changes: 19 additions & 13 deletions Session/Conversations/Settings/ThreadSettingsViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,8 @@ class ThreadSettingsViewModel: SessionListScreenContent.ViewModelType, Navigatio
public var footer: String? { return nil }

public var extraVerticalPadding: CGFloat { return 0 }

public var shadow: Bool { return false }
}

public enum ListItem: Differentiable {
Expand Down Expand Up @@ -396,25 +398,21 @@ class ThreadSettingsViewModel: SessionListScreenContent.ViewModelType, Navigatio
info: ListItemTappableText.Info(
text: threadDisplayName,
font: Fonts.Headings.H4,
imageAttachmentPosition: .trailing,
imageAttachmentGenerator: {
imageAttachment: {
guard
state.threadInfo.shouldShowProBadge &&
!state.threadInfo.isNoteToSelf
else { return nil }

let imageAttachmentGenerator = (
UIView.image(
for: .themedKey(
SessionProBadge.Size.medium.cacheKey,
themeBackgroundColor: .primary
),
generator: { SessionProBadge(size: .medium) }
return SessionListScreenContent.TextInfo.ImageAttachment(
position: .trailing,
cacheKey: .themedKey(
SessionProBadge.Size.medium.cacheKey,
themeBackgroundColor: .primary
),
SessionProBadge.accessibilityLabel
accessibilityLabel: SessionProBadge.accessibilityLabel,
viewGenerator: { SessionProBadge(size: .medium) }
)

return { imageAttachmentGenerator }
}(),
onTextTap: { [weak viewModel] in
guard let info: ConfirmationModal.Info = viewModel?.updateDisplayNameModal(state: state) else {
Expand All @@ -424,7 +422,15 @@ class ThreadSettingsViewModel: SessionListScreenContent.ViewModelType, Navigatio
viewModel?.transitionToScreen(ConfirmationModal(info: info), transitionType: .present)
},
onImageTap: { [weak viewModel, dependencies = viewModel.dependencies] in
guard !dependencies[singleton: .sessionProManager].currentUserIsCurrentlyPro else { return }
guard !dependencies[singleton: .sessionProManager].currentUserIsCurrentlyPro else {
guard let info: ConfirmationModal.Info = viewModel?.updateDisplayNameModal(state: state) else {
return
}

viewModel?.transitionToScreen(ConfirmationModal(info: info), transitionType: .present)

return
}

let proCTAModalVariant: ProCTAModal.Variant = {
switch state.threadInfo.variant {
Expand Down
30 changes: 25 additions & 5 deletions Session/Home/HomeViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,16 @@ public class HomeViewModel: NavigatableStateHolder {
dataCache.profile(for: userSessionId.hexString) ??
Profile.defaultFor(userSessionId.hexString)
}
let userProState: SessionPro.State

@MainActor public func sections(viewModel: HomeViewModel) -> [SectionModel] {
HomeViewModel.sections(state: self, viewModel: viewModel)
}

public var observedKeys: Set<ObservableKey> {
public let observedKeys: Set<ObservableKey> = []
public func observedKeys(using dependencies: Dependencies) -> Set<ObservableKey> {
let sessionProManager: SessionProManagerType = dependencies[singleton: .sessionProManager]

var result: Set<ObservableKey> = [
.appLifecycle(.willEnterForeground),
.databaseLifecycle(.resumed),
Expand All @@ -149,7 +153,8 @@ public class HomeViewModel: NavigatableStateHolder {
.updateScreen(HomeViewModel.self),
.feature(.versionDeprecationWarning),
.feature(.versionDeprecationMinimum),
.showDonationsCTAModal
.showDonationsCTAModal,
.currentUserProState(sessionProManager),
]

result.insert(contentsOf: Set(itemCache.values.flatMap { $0.observedKeys }))
Expand All @@ -164,6 +169,7 @@ public class HomeViewModel: NavigatableStateHolder {
showVersionSupportBanner: Bool
) -> State {
let userSessionId: SessionId = dependencies[cache: .general].sessionId
let userProState: SessionPro.State = dependencies[singleton: .sessionProManager].currentUserCurrentProState

return State(
viewState: .loading,
Expand Down Expand Up @@ -201,7 +207,8 @@ public class HomeViewModel: NavigatableStateHolder {
pendingAppReviewPromptState: appReviewPromptState,
appWasInstalledPriorToAppReviewRelease: appWasInstalledPriorToAppReviewRelease,
showVersionSupportBanner: showVersionSupportBanner,
showDonationsCTAModal: false
showDonationsCTAModal: false,
userProState: userProState
)
}
}
Expand Down Expand Up @@ -232,6 +239,8 @@ public class HomeViewModel: NavigatableStateHolder {
var showVersionSupportBanner: Bool = previousState.showVersionSupportBanner
var showDonationsCTAModal: Bool = previousState.showDonationsCTAModal

var userProState: SessionPro.State = previousState.userProState

/// Store a local copy of the events so we can manipulate it based on the state changes
var eventsToProcess: [ObservedEvent] = events

Expand Down Expand Up @@ -463,6 +472,10 @@ public class HomeViewModel: NavigatableStateHolder {
using: dependencies
)
}

if let value = changes.latestGeneric(.currentUserProState, as: SessionPro.State.self) {
userProState = value
}

/// Generate the new state
return State(
Expand All @@ -486,7 +499,8 @@ public class HomeViewModel: NavigatableStateHolder {
pendingAppReviewPromptState: pendingAppReviewPromptState,
appWasInstalledPriorToAppReviewRelease: appWasInstalledPriorToAppReviewRelease,
showVersionSupportBanner: showVersionSupportBanner,
showDonationsCTAModal: showDonationsCTAModal
showDonationsCTAModal: showDonationsCTAModal,
userProState: userProState
)
}

Expand Down Expand Up @@ -571,7 +585,13 @@ public class HomeViewModel: NavigatableStateHolder {
self?.transitionToScreen(viewController)
},
presenting: { [weak self, dependencies] modal in
dependencies[defaults: .standard, key: .hasShownProExpiringCTA] = true
switch info.variant {
case .expiring(timeLeft: .some):
dependencies[defaults: .standard, key: .hasShownProExpiringCTA] = true
case .expiring(timeLeft: .none):
dependencies[defaults: .standard, key: .hasShownProExpiredCTA] = true
default: return
}
self?.transitionToScreen(modal, transitionType: .present)
}
)
Expand Down
2 changes: 1 addition & 1 deletion Session/Media Viewing & Editing/MessageInfoScreen.swift
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,7 @@ struct MessageInfoScreen: View {
HStack(spacing: Values.smallSpacing) {
AttributedText(Lucide.Icon.circleCheck.attributedString(size: 17))
.font(.system(size: 17))
.foregroundColor(themeColor: .primary)
.foregroundColor(themeColor: .sessionButton_text)

Text(feature.title)
.font(.Body.largeRegular)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ class SendMediaNavigationController: UINavigationController {
static let bottomButtonsCenterOffset: CGFloat = -50

private let dependencies: Dependencies
private let threadId: String
private let threadVariant: SessionThread.Variant
private let threadInfo: ConversationInfoViewModel
private var quoteViewModel: QuoteViewModel?
private let onQuoteCancelled: (() -> Void)?
private var disposables: Set<AnyCancellable> = Set()
Expand All @@ -28,15 +27,13 @@ class SendMediaNavigationController: UINavigationController {
// MARK: - Initialization

init(
threadId: String,
threadVariant: SessionThread.Variant,
threadInfo: ConversationInfoViewModel,
quoteViewModel: QuoteViewModel?,
onQuoteCancelled: (() -> Void)?,
using dependencies: Dependencies
) {
self.dependencies = dependencies
self.threadId = threadId
self.threadVariant = threadVariant
self.threadInfo = threadInfo
self.quoteViewModel = quoteViewModel
self.onQuoteCancelled = onQuoteCancelled

Expand Down Expand Up @@ -94,15 +91,13 @@ class SendMediaNavigationController: UINavigationController {
public weak var sendMediaNavDelegate: SendMediaNavDelegate?

public class func showingCameraFirst(
threadId: String,
threadVariant: SessionThread.Variant,
threadInfo: ConversationInfoViewModel,
quoteViewModel: QuoteViewModel?,
onQuoteCancelled: (() -> Void)?,
using dependencies: Dependencies
) -> SendMediaNavigationController {
let navController: SendMediaNavigationController = SendMediaNavigationController(
threadId: threadId,
threadVariant: threadVariant,
threadInfo: threadInfo,
quoteViewModel: quoteViewModel,
onQuoteCancelled: onQuoteCancelled,
using: dependencies
Expand All @@ -113,15 +108,13 @@ class SendMediaNavigationController: UINavigationController {
}

public class func showingMediaLibraryFirst(
threadId: String,
threadVariant: SessionThread.Variant,
threadInfo: ConversationInfoViewModel,
quoteViewModel: QuoteViewModel?,
onQuoteCancelled: (() -> Void)?,
using dependencies: Dependencies
) -> SendMediaNavigationController {
let navController: SendMediaNavigationController = SendMediaNavigationController(
threadId: threadId,
threadVariant: threadVariant,
threadInfo: threadInfo,
quoteViewModel: quoteViewModel,
onQuoteCancelled: onQuoteCancelled,
using: dependencies
Expand Down Expand Up @@ -277,8 +270,7 @@ class SendMediaNavigationController: UINavigationController {
let viewController: AttachmentApprovalViewController = AttachmentApprovalViewController(
mode: .sharedNavigation,
delegate: self,
threadId: self.threadId,
threadVariant: self.threadVariant,
threadInfo: self.threadInfo,
attachments: self.attachments,
messageText: sendMediaNavDelegate.sendMediaNavInitialMessageText(self),
quoteViewModel: self.quoteViewModel,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1054,7 +1054,7 @@ class DeveloperSettingsProViewModel: SessionTableViewModel, NavigatableStateHold

await dependencies.notify(
key: .proRevocationListUpdated,
value: Array<Network.SessionPro.RevocationItem>()
value: Array<RevocationItem>()
)
}
catch {
Expand Down
Loading