From f6a295dcda660eb3203ca1bb49d7dd024e84b48a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20D=E2=80=99Aquino?= Date: Wed, 28 Feb 2024 23:56:13 -0800 Subject: [PATCH 1/7] Update changelog --- CHANGELOG.md | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e47f93b2..9e7e5144 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,40 @@ +## [1.7-rc2] - 2024-02-28 + +### Added + +- Add support for Apple In-App purchases (Daniel D’Aquino) +- Notification reminders for Damus Purple impending expiration (Daniel D’Aquino) +- Damus Purple membership! (William Casarin) +- Fixed minor spacing and padding issues in onboarding views (ericholguin) + + +### Changed + +- Disable inline text suggestions on 17.0 as they interfere with mention generation (William Casarin) +- EULA is not shown by default (ericholguin) + + +### Fixed + +- Fix welcome screen not showing if the user enters the app directly after a successful checkout without going through the link (Daniel D’Aquino) +- Fix profile not updating bug (William Casarin) +- Fix nostrscripts not loading (William Casarin) +- Fix crash when accessing cached purple accounts (William Casarin) +- Hide member signup date on reposts (kernelkind) +- Fixed previews not rendering (ericholguin) +- Fix load media formatting on small screens (kernelkind) +- Fix shared nevents that are too long (kernelkind) +- Fix many nostrdb transaction related crashes (William Casarin) + + +### Removed + +- Removed copying public key action (ericholguin) + + + +[1.7-rc2]: https://github.com/damus-io/damus/releases/tag/v1.7-rc2 + ## [1.7-2] - 2024-01-24 ### Added @@ -1706,5 +1743,3 @@ [0.1.2]: https://github.com/damus-io/damus/releases/tag/v0.1.2 - - From 184fc865bb2771115f99e7b628b898ac96ffca8f Mon Sep 17 00:00:00 2001 From: William Casarin Date: Sat, 2 Mar 2024 09:16:07 +0000 Subject: [PATCH 2/7] Bump to 1.7.1 Nothing has changed, but we need to submit a new minor version with the subscription products since we missed those in the 1.7 appstore release. Signed-off-by: William Casarin --- damus.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/damus.xcodeproj/project.pbxproj b/damus.xcodeproj/project.pbxproj index 0aebf16b..6ee3718a 100644 --- a/damus.xcodeproj/project.pbxproj +++ b/damus.xcodeproj/project.pbxproj @@ -3819,7 +3819,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 16.0; MACOSX_DEPLOYMENT_TARGET = 12.3; - MARKETING_VERSION = 1.7; + MARKETING_VERSION = 1.7.1; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -3881,7 +3881,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 16.0; MACOSX_DEPLOYMENT_TARGET = 12.3; - MARKETING_VERSION = 1.7; + MARKETING_VERSION = 1.7.1; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = iphoneos; From c6e37bd864298c2c95ca8da69c3d500306e57928 Mon Sep 17 00:00:00 2001 From: William Casarin Date: Mon, 4 Mar 2024 14:03:53 +0000 Subject: [PATCH 3/7] refactor: introduce PurpleBackdrop We mainly want to use this to improve previews for now, but might be useful in the future. Signed-off-by: William Casarin --- damus.xcodeproj/project.pbxproj | 4 +++ damus/Views/Purple/DamusPurpleView.swift | 9 +----- .../Views/Purple/Detail/PurpleBackdrop.swift | 30 +++++++++++++++++++ 3 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 damus/Views/Purple/Detail/PurpleBackdrop.swift diff --git a/damus.xcodeproj/project.pbxproj b/damus.xcodeproj/project.pbxproj index 6ee3718a..313b3dd8 100644 --- a/damus.xcodeproj/project.pbxproj +++ b/damus.xcodeproj/project.pbxproj @@ -175,6 +175,7 @@ 4C3EA67D28FFBBA300C48A62 /* InvoicesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67C28FFBBA200C48A62 /* InvoicesView.swift */; }; 4C3EA67F28FFC01D00C48A62 /* InvoiceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67E28FFC01D00C48A62 /* InvoiceView.swift */; }; 4C42812C298C848200DBF26F /* TranslateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C42812B298C848200DBF26F /* TranslateView.swift */; }; + 4C463CBF2B960B96008A8C36 /* PurpleBackdrop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C463CBE2B960B96008A8C36 /* PurpleBackdrop.swift */; }; 4C4793012A993CDA00489948 /* mdb.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4793002A993B9A00489948 /* mdb.c */; settings = {COMPILER_FLAGS = "-w"; }; }; 4C4793042A993DC000489948 /* midl.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4793032A993DB900489948 /* midl.c */; settings = {COMPILER_FLAGS = "-w"; }; }; 4C4793052A993E3200489948 /* builder.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792942A9939BD00489948 /* builder.c */; }; @@ -971,6 +972,7 @@ 4C3EA67C28FFBBA200C48A62 /* InvoicesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InvoicesView.swift; sourceTree = ""; }; 4C3EA67E28FFC01D00C48A62 /* InvoiceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InvoiceView.swift; sourceTree = ""; }; 4C42812B298C848200DBF26F /* TranslateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TranslateView.swift; sourceTree = ""; }; + 4C463CBE2B960B96008A8C36 /* PurpleBackdrop.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurpleBackdrop.swift; sourceTree = ""; }; 4C478E242A9932C100489948 /* Ndb.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Ndb.swift; sourceTree = ""; }; 4C478E262A99353500489948 /* threadpool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = threadpool.h; sourceTree = ""; }; 4C478E272A99354E00489948 /* protected_queue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = protected_queue.h; sourceTree = ""; }; @@ -2666,6 +2668,7 @@ D7100C572B76FC8400C59298 /* MarketingContentView.swift */, D7100C592B76FD5100C59298 /* LogoView.swift */, D7100C5B2B77016700C59298 /* IAPProductStateView.swift */, + 4C463CBE2B960B96008A8C36 /* PurpleBackdrop.swift */, ); path = Detail; sourceTree = ""; @@ -3183,6 +3186,7 @@ 7C95CAEE299DCEF1009DCB67 /* KFOptionSetter+.swift in Sources */, 4C7D09722A0AEF5E00943473 /* DamusGradient.swift in Sources */, 4CCEB7B029B5415A0078AA28 /* SearchingProfileView.swift in Sources */, + 4C463CBF2B960B96008A8C36 /* PurpleBackdrop.swift in Sources */, BAB68BED29543FA3007BA466 /* SelectWalletView.swift in Sources */, 3169CAE6294E69C000EE4006 /* EmptyTimelineView.swift in Sources */, 4C32B9602A9AD44700DC3548 /* Struct.swift in Sources */, diff --git a/damus/Views/Purple/DamusPurpleView.swift b/damus/Views/Purple/DamusPurpleView.swift index 32364faf..a2c93dbc 100644 --- a/damus/Views/Purple/DamusPurpleView.swift +++ b/damus/Views/Purple/DamusPurpleView.swift @@ -44,14 +44,7 @@ struct DamusPurpleView: View, DamusPurpleStoreKitManagerDelegate { var body: some View { NavigationView { - ZStack { - Color.black - .edgesIgnoringSafeArea(.all) - - Image("purple-blue-gradient-1") - .resizable() - .edgesIgnoringSafeArea(.all) - + PurpleBackdrop { ScrollView { MainContent .padding(.top, 75) diff --git a/damus/Views/Purple/Detail/PurpleBackdrop.swift b/damus/Views/Purple/Detail/PurpleBackdrop.swift new file mode 100644 index 00000000..00e79b7c --- /dev/null +++ b/damus/Views/Purple/Detail/PurpleBackdrop.swift @@ -0,0 +1,30 @@ +// +// PurpleBackdrop.swift +// damus +// +// Created by William Casarin on 2024-03-04. +// + +import SwiftUI + +struct PurpleBackdrop: View { + @ViewBuilder let content: () -> T + var body: some View { + ZStack { + Color.black + .edgesIgnoringSafeArea(.all) + + Image("purple-blue-gradient-1") + .resizable() + .edgesIgnoringSafeArea(.all) + + content() + } + } +} + +#Preview { + PurpleBackdrop { + Text("Hello, World") + } +} From 4e8359458f988c6f97a035eac413a352c80e53b7 Mon Sep 17 00:00:00 2001 From: William Casarin Date: Mon, 4 Mar 2024 14:04:56 +0000 Subject: [PATCH 4/7] preview: use PurpleBackdrop in MarketingContentView preview This improves the preview a bit Signed-off-by: William Casarin --- damus/Views/Purple/Detail/MarketingContentView.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/damus/Views/Purple/Detail/MarketingContentView.swift b/damus/Views/Purple/Detail/MarketingContentView.swift index 5f2f1afe..aa13e623 100644 --- a/damus/Views/Purple/Detail/MarketingContentView.swift +++ b/damus/Views/Purple/Detail/MarketingContentView.swift @@ -85,5 +85,7 @@ extension DamusPurpleView { } #Preview { - DamusPurpleView.MarketingContentView(purple: test_damus_state.purple) + PurpleBackdrop { + DamusPurpleView.MarketingContentView(purple: test_damus_state.purple) + } } From 8da3ab30a5a98a76272fdf10c3f0d117b0350ede Mon Sep 17 00:00:00 2001 From: William Casarin Date: Mon, 4 Mar 2024 16:28:30 +0000 Subject: [PATCH 5/7] preview: add purple backdrop to IAPProductStateView Signed-off-by: William Casarin --- damus/Views/Purple/Detail/IAPProductStateView.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/damus/Views/Purple/Detail/IAPProductStateView.swift b/damus/Views/Purple/Detail/IAPProductStateView.swift index 8764c009..b56b89ce 100644 --- a/damus/Views/Purple/Detail/IAPProductStateView.swift +++ b/damus/Views/Purple/Detail/IAPProductStateView.swift @@ -176,5 +176,7 @@ extension DamusPurpleView { } #Preview { - DamusPurpleView.IAPProductStateView(products: .loaded([]), purchased: nil, account_uuid: UUID(), subscribe: {_ in }) + PurpleBackdrop { + DamusPurpleView.IAPProductStateView(products: .loaded([]), purchased: nil, account_uuid: UUID(), subscribe: {_ in }) + } } From c2d81828d667f51581cfa046b6b7a59247f9ed4a Mon Sep 17 00:00:00 2001 From: William Casarin Date: Mon, 4 Mar 2024 16:28:48 +0000 Subject: [PATCH 6/7] purple: mention privacy policy and eula This is required to be accepted by the appstore Suggested-by: Apple store reviewer Signed-off-by: William Casarin --- damus/Views/Purple/Detail/IAPProductStateView.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/damus/Views/Purple/Detail/IAPProductStateView.swift b/damus/Views/Purple/Detail/IAPProductStateView.swift index b56b89ce..8375de0b 100644 --- a/damus/Views/Purple/Detail/IAPProductStateView.swift +++ b/damus/Views/Purple/Detail/IAPProductStateView.swift @@ -131,6 +131,12 @@ extension DamusPurpleView { }) .buttonStyle(GradientButtonStyle()) } + + Text("By subscribing to Damus Purple you are accepting our [privacy policy](https://damus.io/privacy-policy.txt) and Apple's Standard [EULA](https://www.apple.com/legal/internet-services/itunes/dev/stdeula/)") + .foregroundColor(.white.opacity(0.6)) + .font(.caption) + .padding() + } .padding() } From d9f78cf805ace30cb071da775b0eeed3431bc458 Mon Sep 17 00:00:00 2001 From: William Casarin Date: Mon, 4 Mar 2024 16:33:40 +0000 Subject: [PATCH 7/7] v1.7.1 (12) subscriber EULA and privacy policy notices on purple subscription page Signed-off-by: William Casarin --- damus.xcodeproj/project.pbxproj | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/damus.xcodeproj/project.pbxproj b/damus.xcodeproj/project.pbxproj index 313b3dd8..d66ad874 100644 --- a/damus.xcodeproj/project.pbxproj +++ b/damus.xcodeproj/project.pbxproj @@ -3802,7 +3802,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 10; + CURRENT_PROJECT_VERSION = 12; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -3869,7 +3869,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 10; + CURRENT_PROJECT_VERSION = 12; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -3905,7 +3905,6 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = damus/damus.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 11; DEVELOPMENT_ASSET_PATHS = "\"damus/Preview Content\""; DEVELOPMENT_TEAM = XK7H4JAB3D; ENABLE_PREVIEWS = YES; @@ -3955,7 +3954,6 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = damus/damus.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 11; DEVELOPMENT_ASSET_PATHS = "\"damus/Preview Content\""; DEVELOPMENT_TEAM = XK7H4JAB3D; ENABLE_PREVIEWS = YES;