Replace Tenor GIF integration with Purple proxy
Remove Tenor API client and models; add PurpleGIFAPIClient and a robust GIFModels decoder that supports Tenor and KLIPY payloads. Remove Tenor API key setting and Secrets entry. Update GIF picker to accept a Purple-backed view model, adjust Labs text, and update Xcode project file references. Closes: #3695 Changelog-Changed: Made GIF keyboard widely available to Purple users without need for an API key (Damus Labs) Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
This commit is contained in:
@@ -625,15 +625,15 @@
|
||||
5CF2DCCC2AA3AF0B00984B8D /* RelayPicView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CF2DCCB2AA3AF0B00984B8D /* RelayPicView.swift */; };
|
||||
5CF2DCCE2AABE1A500984B8D /* DamusLightGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CF2DCCD2AABE1A500984B8D /* DamusLightGradient.swift */; };
|
||||
5CF72FC229B9142F00124A13 /* ShareAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CF72FC129B9142F00124A13 /* ShareAction.swift */; };
|
||||
5CFDE6E52EF4F782004E8661 /* TenorModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6E42EF4F77E004E8661 /* TenorModels.swift */; };
|
||||
5CFDE6E62EF4F782004E8661 /* TenorModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6E42EF4F77E004E8661 /* TenorModels.swift */; };
|
||||
5CFDE6E72EF4F782004E8661 /* TenorModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6E42EF4F77E004E8661 /* TenorModels.swift */; };
|
||||
5CFDE6E52EF4F782004E8661 /* GIFModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6E42EF4F77E004E8661 /* GIFModels.swift */; };
|
||||
5CFDE6E62EF4F782004E8661 /* GIFModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6E42EF4F77E004E8661 /* GIFModels.swift */; };
|
||||
5CFDE6E72EF4F782004E8661 /* GIFModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6E42EF4F77E004E8661 /* GIFModels.swift */; };
|
||||
5CFDE6ED2EF4F7B2004E8661 /* GIFPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6EC2EF4F7AB004E8661 /* GIFPickerView.swift */; };
|
||||
5CFDE6EE2EF4F7B2004E8661 /* GIFPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6EC2EF4F7AB004E8661 /* GIFPickerView.swift */; };
|
||||
5CFDE6EF2EF4F7B2004E8661 /* GIFPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6EC2EF4F7AB004E8661 /* GIFPickerView.swift */; };
|
||||
5CFDE6F12EF4F7EA004E8661 /* TenorAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6F02EF4F7E2004E8661 /* TenorAPIClient.swift */; };
|
||||
5CFDE6F22EF4F7EA004E8661 /* TenorAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6F02EF4F7E2004E8661 /* TenorAPIClient.swift */; };
|
||||
5CFDE6F32EF4F7EA004E8661 /* TenorAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6F02EF4F7E2004E8661 /* TenorAPIClient.swift */; };
|
||||
5CFDE6F12EF4F7EA004E8661 /* PurpleGIFAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6F02EF4F7E2004E8661 /* PurpleGIFAPIClient.swift */; };
|
||||
5CFDE6F22EF4F7EA004E8661 /* PurpleGIFAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6F02EF4F7E2004E8661 /* PurpleGIFAPIClient.swift */; };
|
||||
5CFDE6F32EF4F7EA004E8661 /* PurpleGIFAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6F02EF4F7E2004E8661 /* PurpleGIFAPIClient.swift */; };
|
||||
5CFDE6F52EF4F93D004E8661 /* Secrets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6F42EF4F939004E8661 /* Secrets.swift */; };
|
||||
5CFDE6F62EF4F93D004E8661 /* Secrets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6F42EF4F939004E8661 /* Secrets.swift */; };
|
||||
5CFDE6F72EF4F93D004E8661 /* Secrets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CFDE6F42EF4F939004E8661 /* Secrets.swift */; };
|
||||
@@ -2747,9 +2747,9 @@
|
||||
5CF2DCCB2AA3AF0B00984B8D /* RelayPicView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayPicView.swift; sourceTree = "<group>"; };
|
||||
5CF2DCCD2AABE1A500984B8D /* DamusLightGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusLightGradient.swift; sourceTree = "<group>"; };
|
||||
5CF72FC129B9142F00124A13 /* ShareAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareAction.swift; sourceTree = "<group>"; };
|
||||
5CFDE6E42EF4F77E004E8661 /* TenorModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TenorModels.swift; sourceTree = "<group>"; };
|
||||
5CFDE6E42EF4F77E004E8661 /* GIFModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GIFModels.swift; sourceTree = "<group>"; };
|
||||
5CFDE6EC2EF4F7AB004E8661 /* GIFPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GIFPickerView.swift; sourceTree = "<group>"; };
|
||||
5CFDE6F02EF4F7E2004E8661 /* TenorAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TenorAPIClient.swift; sourceTree = "<group>"; };
|
||||
5CFDE6F02EF4F7E2004E8661 /* PurpleGIFAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurpleGIFAPIClient.swift; sourceTree = "<group>"; };
|
||||
5CFDE6F42EF4F939004E8661 /* Secrets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Secrets.swift; sourceTree = "<group>"; };
|
||||
6439E013296790CF0020672B /* ProfilePicImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePicImageView.swift; sourceTree = "<group>"; };
|
||||
643EA5C7296B764E005081BB /* RelayFilterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayFilterView.swift; sourceTree = "<group>"; };
|
||||
@@ -5221,9 +5221,9 @@
|
||||
5CFDE6E32EF4F773004E8661 /* GIF */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5CFDE6F02EF4F7E2004E8661 /* TenorAPIClient.swift */,
|
||||
5CFDE6F02EF4F7E2004E8661 /* PurpleGIFAPIClient.swift */,
|
||||
5CFDE6EC2EF4F7AB004E8661 /* GIFPickerView.swift */,
|
||||
5CFDE6E42EF4F77E004E8661 /* TenorModels.swift */,
|
||||
5CFDE6E42EF4F77E004E8661 /* GIFModels.swift */,
|
||||
);
|
||||
path = GIF;
|
||||
sourceTree = "<group>";
|
||||
@@ -5983,7 +5983,7 @@
|
||||
4CE0E2AF29A2E82100DB4CA2 /* EventHolder.swift in Sources */,
|
||||
B51C1CEA2B55A60A00E312A9 /* AddMuteItemView.swift in Sources */,
|
||||
5C8F97332EB46126009399B1 /* LiveStreamViewers.swift in Sources */,
|
||||
5CFDE6F22EF4F7EA004E8661 /* TenorAPIClient.swift in Sources */,
|
||||
5CFDE6F22EF4F7EA004E8661 /* PurpleGIFAPIClient.swift in Sources */,
|
||||
4C5D5C992A6AF8F80024563C /* NdbNote.swift in Sources */,
|
||||
4CF0ABF029857E9200D66079 /* Bech32Object.swift in Sources */,
|
||||
D7D68FFA2C9E01BE0015A515 /* KFClickable.swift in Sources */,
|
||||
@@ -6393,7 +6393,7 @@
|
||||
4C1A9A2129DDD3E100516EAC /* KeySettingsView.swift in Sources */,
|
||||
D723C38E2AB8D83400065664 /* ContentFilters.swift in Sources */,
|
||||
4C011B5E2BD0A56A002F2F9B /* ChatEventView.swift in Sources */,
|
||||
5CFDE6E62EF4F782004E8661 /* TenorModels.swift in Sources */,
|
||||
5CFDE6E62EF4F782004E8661 /* GIFModels.swift in Sources */,
|
||||
4C32B95A2A9AD44700DC3548 /* Verifiable.swift in Sources */,
|
||||
4C73C5142A4437C10062CAC0 /* ZapUserView.swift in Sources */,
|
||||
501F8C802A0220E1001AFC1D /* KeychainStorage.swift in Sources */,
|
||||
@@ -6600,7 +6600,7 @@
|
||||
3ACF94482DAA006500971A4E /* NIP05DomainEventsModel.swift in Sources */,
|
||||
82D6FAE92CD99F7900C925F4 /* NewMutesNotify.swift in Sources */,
|
||||
82D6FAEA2CD99F7900C925F4 /* NewUnmutesNotify.swift in Sources */,
|
||||
5CFDE6F12EF4F7EA004E8661 /* TenorAPIClient.swift in Sources */,
|
||||
5CFDE6F12EF4F7EA004E8661 /* PurpleGIFAPIClient.swift in Sources */,
|
||||
82D6FAEB2CD99F7900C925F4 /* Notify.swift in Sources */,
|
||||
82D6FAEC2CD99F7900C925F4 /* OnlyZapsNotify.swift in Sources */,
|
||||
82D6FAED2CD99F7900C925F4 /* PostNotify.swift in Sources */,
|
||||
@@ -6926,7 +6926,7 @@
|
||||
82D6FC002CD99F7900C925F4 /* ProfilePicturesView.swift in Sources */,
|
||||
82D6FC012CD99F7900C925F4 /* DamusAppNotificationView.swift in Sources */,
|
||||
3A92C1002DE16E9800CEEBAC /* FaviconCache.swift in Sources */,
|
||||
5CFDE6E52EF4F782004E8661 /* TenorModels.swift in Sources */,
|
||||
5CFDE6E52EF4F782004E8661 /* GIFModels.swift in Sources */,
|
||||
82D6FC022CD99F7900C925F4 /* InnerTimelineView.swift in Sources */,
|
||||
82D6FC032CD99F7900C925F4 /* PostingTimelineView.swift in Sources */,
|
||||
82D6FC042CD99F7900C925F4 /* ZapsView.swift in Sources */,
|
||||
@@ -7119,7 +7119,7 @@
|
||||
D73E5E2B2C6A97F4007EB227 /* PostNotify.swift in Sources */,
|
||||
D73E5E2C2C6A97F4007EB227 /* PresentSheetNotify.swift in Sources */,
|
||||
D73E5E2D2C6A97F4007EB227 /* ProfileUpdatedNotify.swift in Sources */,
|
||||
5CFDE6F32EF4F7EA004E8661 /* TenorAPIClient.swift in Sources */,
|
||||
5CFDE6F32EF4F7EA004E8661 /* PurpleGIFAPIClient.swift in Sources */,
|
||||
3A515C522DF4E100002D3B34 /* TrustedNetworkRepliesTip.swift in Sources */,
|
||||
D73E5E2E2C6A97F4007EB227 /* ReportNotify.swift in Sources */,
|
||||
D73E5E2F2C6A97F4007EB227 /* ScrollToTopNotify.swift in Sources */,
|
||||
@@ -7521,7 +7521,7 @@
|
||||
D7B62B9C2F4CE59B001EE26F /* NostrDBDetailView.swift in Sources */,
|
||||
D73E5F6D2C6A97F5007EB227 /* Launch.storyboard in Sources */,
|
||||
D73E5F6F2C6A97F5007EB227 /* RelayFilterView.swift in Sources */,
|
||||
5CFDE6E72EF4F782004E8661 /* TenorModels.swift in Sources */,
|
||||
5CFDE6E72EF4F782004E8661 /* GIFModels.swift in Sources */,
|
||||
D703D78A2C670C8A00A400EA /* LibreTranslateServer.swift in Sources */,
|
||||
D703D7602C670AAB00A400EA /* MigratedTypes.swift in Sources */,
|
||||
D73E5F742C6A9890007EB227 /* damusApp.swift in Sources */,
|
||||
|
||||
Reference in New Issue
Block a user