Skip to content

Commit 8a3e175

Browse files
Merge branch 'release/1.2.0'
2 parents 582ebd2 + c9bb10d commit 8a3e175

File tree

60 files changed

+1226
-1817
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+1226
-1817
lines changed

.github/workflows/publishing.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
jobs:
1313
build:
1414
name: Build
15-
runs-on: macos-15
15+
runs-on: macos-26
1616
environment: apple-app-store
1717
strategy:
1818
matrix:
@@ -162,15 +162,15 @@ jobs:
162162
Export/Fyreplace.pkg
163163
164164
- name: Upload IPA
165-
uses: actions/upload-artifact@v4
165+
uses: actions/upload-artifact@v5
166166
if: ${{ matrix.platform == 'iOS' }}
167167
with:
168168
name: Fyreplace.ipa
169169
path: Export/Fyreplace.ipa
170170
if-no-files-found: error
171171

172172
- name: Upload PKG
173-
uses: actions/upload-artifact@v4
173+
uses: actions/upload-artifact@v5
174174
if: ${{ matrix.platform == 'macOS' }}
175175
with:
176176
name: ${{ matrix.distribution == 'standalone' && 'Fyreplace.standalone.pkg' || 'Fyreplace.pkg' }}
@@ -179,7 +179,7 @@ jobs:
179179

180180
test:
181181
name: Test
182-
runs-on: macos-15
182+
runs-on: macos-26
183183
environment: apple-app-store
184184
strategy:
185185
matrix:
@@ -225,7 +225,7 @@ jobs:
225225
needs:
226226
- build
227227
- test
228-
runs-on: macos-15
228+
runs-on: macos-26
229229
environment: apple-app-store
230230
strategy:
231231
matrix:
@@ -240,14 +240,14 @@ jobs:
240240
distribution: standalone
241241
steps:
242242
- name: Download IPA
243-
uses: actions/download-artifact@v5
243+
uses: actions/download-artifact@v6
244244
if: ${{ matrix.platform == 'ios' }}
245245
with:
246246
name: Fyreplace.ipa
247247
path: /tmp
248248

249249
- name: Download PKG
250-
uses: actions/download-artifact@v5
250+
uses: actions/download-artifact@v6
251251
if: ${{ matrix.platform == 'osx' }}
252252
with:
253253
name: ${{ matrix.distribution == 'standalone' && 'Fyreplace.standalone.pkg' || 'Fyreplace.pkg' }}
@@ -286,7 +286,7 @@ jobs:
286286
xcrun stapler staple /tmp/Fyreplace.pkg
287287
288288
- name: Upload PKG
289-
uses: actions/upload-artifact@v4
289+
uses: actions/upload-artifact@v5
290290
if: ${{ matrix.distribution == 'standalone' }}
291291
with:
292292
name: Fyreplace.standalone.pkg

.ios-test-model

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
iPhone 16
1+
iPhone 17

.ios-test-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
18.6
1+
26.1

.xcode-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
16.4
1+
26.1

Config/Config.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ case $version in
2020
minor=$(echo $version_string | cut -d '.' -f 2)
2121
patch=$(echo $version_string | cut -d '.' -f 3)
2222
minor=$((minor + 1))
23-
version_string="$major.$minor.$patch"
23+
version_string="$major.$minor.0"
2424
;;
2525
*)
2626
version_number_suffix=3
@@ -66,4 +66,4 @@ cat <<< "
6666

6767
CODE_SIGN_IDENTITY=$CODE_SIGN_IDENTITY
6868
PROVISIONING_PROFILE_SPECIFIER=$PROVISIONING_PROFILE_SPECIFIER
69-
" > $current_directory/Config.release.xcconfig
69+
" > $current_directory/Config.Release.xcconfig

Fyreplace.xcodeproj/project.pbxproj

Lines changed: 48 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
4D926DDC2E36497400A406D1 /* Exceptions for "FyreplaceLegacy" folder in "FyreplaceLegacy" target */ = {
7474
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
7575
membershipExceptions = (
76-
Resources/Info.plist,
76+
Config/Info.plist,
7777
Resources/protos/.gitignore,
7878
);
7979
target = 4D926C082E363F2400A406D1 /* FyreplaceLegacy */;
@@ -271,6 +271,7 @@
271271
buildPhases = (
272272
4D926C052E363F2400A406D1 /* Sources */,
273273
4D926C062E363F2400A406D1 /* Frameworks */,
274+
4D04F23D2EC87FC2002A15A4 /* Normalize Storyboards */,
274275
4D926C072E363F2400A406D1 /* Resources */,
275276
);
276277
buildRules = (
@@ -306,7 +307,7 @@
306307
attributes = {
307308
BuildIndependentTargetsInParallel = 1;
308309
LastSwiftUpdateCheck = 1640;
309-
LastUpgradeCheck = 1640;
310+
LastUpgradeCheck = 2600;
310311
TargetAttributes = {
311312
4D54C9272BF2608A001DE071 = {
312313
CreatedOnToolsVersion = 15.3;
@@ -379,6 +380,18 @@
379380
};
380381
/* End PBXResourcesBuildPhase section */
381382

383+
/* Begin PBXShellScriptBuildPhase section */
384+
4D04F23D2EC87FC2002A15A4 /* Normalize Storyboards */ = {
385+
isa = PBXShellScriptBuildPhase;
386+
name = "Normalize Storyboards";
387+
shellPath = /bin/sh;
388+
shellScript = (
389+
"python3 ${PROJECT_DIR}/FyreplaceLegacy/Storyboards/identify.py",
390+
"",
391+
);
392+
};
393+
/* End PBXShellScriptBuildPhase section */
394+
382395
/* Begin PBXSourcesBuildPhase section */
383396
4D54C9242BF2608A001DE071 /* Sources */ = {
384397
isa = PBXSourcesBuildPhase;
@@ -467,6 +480,7 @@
467480
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
468481
CLANG_WARN_UNREACHABLE_CODE = YES;
469482
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
483+
CODE_SIGN_STYLE = Automatic;
470484
COPY_PHASE_STRIP = NO;
471485
DEAD_CODE_STRIPPING = YES;
472486
DEBUG_INFORMATION_FORMAT = dwarf;
@@ -500,6 +514,7 @@
500514
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
501515
MTL_FAST_MATH = YES;
502516
ONLY_ACTIVE_ARCH = YES;
517+
STRING_CATALOG_GENERATE_SYMBOLS = YES;
503518
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
504519
SWIFT_EMIT_LOC_STRINGS = YES;
505520
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -510,7 +525,7 @@
510525
4D54C94C2BF26090001DE071 /* Release configuration for PBXProject "Fyreplace" */ = {
511526
isa = XCBuildConfiguration;
512527
baseConfigurationReferenceAnchor = 4D0017E22DF46E91000A0C1B /* Config */;
513-
baseConfigurationReferenceRelativePath = Config.release.xcconfig;
528+
baseConfigurationReferenceRelativePath = Config.Release.xcconfig;
514529
buildSettings = {
515530
ALWAYS_SEARCH_USER_PATHS = NO;
516531
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
@@ -542,6 +557,7 @@
542557
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
543558
CLANG_WARN_UNREACHABLE_CODE = YES;
544559
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
560+
CODE_SIGN_STYLE = Manual;
545561
COPY_PHASE_STRIP = NO;
546562
DEAD_CODE_STRIPPING = YES;
547563
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
@@ -568,6 +584,7 @@
568584
MACOSX_DEPLOYMENT_TARGET = 13.0;
569585
MTL_ENABLE_DEBUG_INFO = NO;
570586
MTL_FAST_MATH = YES;
587+
STRING_CATALOG_GENERATE_SYMBOLS = YES;
571588
SWIFT_COMPILATION_MODE = wholemodule;
572589
SWIFT_EMIT_LOC_STRINGS = YES;
573590
SWIFT_VERSION = 6.0;
@@ -579,25 +596,22 @@
579596
buildSettings = {
580597
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconDebug;
581598
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
582-
CODE_SIGN_ENTITLEMENTS = "${TARGET_NAME}/Config/Fyreplace.debug.entitlements";
583-
CODE_SIGN_IDENTITY = "Apple Development";
584-
CODE_SIGN_STYLE = Automatic;
599+
CODE_SIGN_ENTITLEMENTS = "${PROJECT_NAME}/Config/Fyreplace.${CONFIGURATION}.entitlements";
585600
DEAD_CODE_STRIPPING = YES;
586601
DEVELOPMENT_ASSET_PATHS = "\"${TARGET_NAME}/Preview Content\"";
602+
ENABLE_APP_SANDBOX = YES;
587603
"ENABLE_APP_SANDBOX[sdk=macosx*]" = YES;
588604
ENABLE_HARDENED_RUNTIME = YES;
605+
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
589606
ENABLE_PREVIEWS = YES;
590607
ENABLE_USER_SCRIPT_SANDBOXING = NO;
591608
GENERATE_INFOPLIST_FILE = YES;
592609
INFOPLIST_FILE = "${TARGET_NAME}/Config/Info.plist";
593610
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;
594611
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
595-
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
596-
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
597-
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES;
598-
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES;
599-
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES;
600-
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES;
612+
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphone*]" = YES;
613+
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphone*]" = YES;
614+
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphone*]" = YES;
601615
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait";
602616
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
603617
IPHONEOS_DEPLOYMENT_TARGET = 16;
@@ -619,24 +633,22 @@
619633
buildSettings = {
620634
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
621635
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
622-
CODE_SIGN_ENTITLEMENTS = "${TARGET_NAME}/Config/Fyreplace.release.entitlements";
623-
CODE_SIGN_STYLE = Manual;
636+
CODE_SIGN_ENTITLEMENTS = "${PROJECT_NAME}/Config/Fyreplace.${CONFIGURATION}.entitlements";
624637
DEAD_CODE_STRIPPING = YES;
625638
DEVELOPMENT_ASSET_PATHS = "\"${TARGET_NAME}/Preview Content\"";
639+
ENABLE_APP_SANDBOX = YES;
626640
"ENABLE_APP_SANDBOX[sdk=macosx*]" = YES;
627641
ENABLE_HARDENED_RUNTIME = YES;
642+
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
628643
ENABLE_PREVIEWS = YES;
629644
ENABLE_USER_SCRIPT_SANDBOXING = NO;
630645
GENERATE_INFOPLIST_FILE = YES;
631646
INFOPLIST_FILE = "${TARGET_NAME}/Config/Info.plist";
632647
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;
633648
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
634-
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
635-
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
636-
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES;
637-
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES;
638-
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES;
639-
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES;
649+
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphone*]" = YES;
650+
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphone*]" = YES;
651+
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphone*]" = YES;
640652
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait";
641653
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
642654
IPHONEOS_DEPLOYMENT_TARGET = 16;
@@ -720,9 +732,8 @@
720732
buildSettings = {
721733
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconDebug;
722734
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
723-
CODE_SIGN_ENTITLEMENTS = Fyreplace/Config/Fyreplace.debug.entitlements;
724-
CODE_SIGN_IDENTITY = "Apple Development";
725-
CODE_SIGN_STYLE = Automatic;
735+
CODE_SIGN_ENTITLEMENTS = "${PROJECT_NAME}/Config/Fyreplace.${CONFIGURATION}.entitlements";
736+
ENABLE_APP_SANDBOX = YES;
726737
ENABLE_USER_SCRIPT_SANDBOXING = NO;
727738
FYREPLACE_API_HOST_DEFAULT_KEY = FPApiHostLocal;
728739
FYREPLACE_API_HOST_DEV = dev.api.fyreplace.app;
@@ -731,11 +742,11 @@
731742
FYREPLACE_API_PORT = 50051;
732743
FYREPLACE_LINK_HOSTS = "fyreplace.app;fyreplace.link";
733744
GENERATE_INFOPLIST_FILE = YES;
734-
INFOPLIST_FILE = FyreplaceLegacy/Resources/Info.plist;
745+
INFOPLIST_FILE = FyreplaceLegacy/Config/Info.plist;
735746
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;
736747
INFOPLIST_KEY_NSCameraUsageDescription = "$(PRODUCT_NAME) uses the camera to add pictures to posts, or to change your avatar.";
737748
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
738-
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
749+
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
739750
INFOPLIST_KEY_UIMainStoryboardFile = Main;
740751
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
741752
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
@@ -763,8 +774,8 @@
763774
buildSettings = {
764775
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
765776
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
766-
CODE_SIGN_ENTITLEMENTS = Fyreplace/Config/Fyreplace.release.entitlements;
767-
CODE_SIGN_STYLE = Manual;
777+
CODE_SIGN_ENTITLEMENTS = "${PROJECT_NAME}/Config/Fyreplace.${CONFIGURATION}.entitlements";
778+
ENABLE_APP_SANDBOX = YES;
768779
ENABLE_USER_SCRIPT_SANDBOXING = NO;
769780
FYREPLACE_API_HOST_DEFAULT_KEY = FPApiHostMain;
770781
FYREPLACE_API_HOST_DEV = dev.api.fyreplace.app;
@@ -773,11 +784,11 @@
773784
FYREPLACE_API_PORT = 50051;
774785
FYREPLACE_LINK_HOSTS = "fyreplace.app;fyreplace.link";
775786
GENERATE_INFOPLIST_FILE = YES;
776-
INFOPLIST_FILE = FyreplaceLegacy/Resources/Info.plist;
787+
INFOPLIST_FILE = FyreplaceLegacy/Config/Info.plist;
777788
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;
778789
INFOPLIST_KEY_NSCameraUsageDescription = "$(PRODUCT_NAME) uses the camera to add pictures to posts, or to change your avatar.";
779790
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
780-
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
791+
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
781792
INFOPLIST_KEY_UIMainStoryboardFile = Main;
782793
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
783794
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
@@ -852,47 +863,47 @@
852863
repositoryURL = "https://github.com/getsentry/sentry-cocoa.git";
853864
requirement = {
854865
kind = upToNextMajorVersion;
855-
minimumVersion = 8.55.0;
866+
minimumVersion = 9.1.0;
856867
};
857868
};
858869
4D13AF5F2C482F0100845FDB /* XCRemoteSwiftPackageReference "swift-openapi-generator" */ = {
859870
isa = XCRemoteSwiftPackageReference;
860871
repositoryURL = "https://github.com/apple/swift-openapi-generator.git";
861872
requirement = {
862873
kind = upToNextMajorVersion;
863-
minimumVersion = 1.10.2;
874+
minimumVersion = 1.10.3;
864875
};
865876
};
866877
4D13AF602C482F1C00845FDB /* XCRemoteSwiftPackageReference "swift-openapi-runtime" */ = {
867878
isa = XCRemoteSwiftPackageReference;
868879
repositoryURL = "https://github.com/apple/swift-openapi-runtime.git";
869880
requirement = {
870881
kind = upToNextMajorVersion;
871-
minimumVersion = 1.8.2;
882+
minimumVersion = 1.9.0;
872883
};
873884
};
874885
4D13AF632C482F4500845FDB /* XCRemoteSwiftPackageReference "swift-openapi-urlsession" */ = {
875886
isa = XCRemoteSwiftPackageReference;
876887
repositoryURL = "https://github.com/apple/swift-openapi-urlsession.git";
877888
requirement = {
878889
kind = upToNextMajorVersion;
879-
minimumVersion = 1.1.0;
890+
minimumVersion = 1.2.0;
880891
};
881892
};
882893
4D926DA82E3647F900A406D1 /* XCRemoteSwiftPackageReference "grpc-swift" */ = {
883894
isa = XCRemoteSwiftPackageReference;
884895
repositoryURL = "https://github.com/grpc/grpc-swift.git";
885896
requirement = {
886897
kind = upToNextMajorVersion;
887-
minimumVersion = 1.26.1;
898+
minimumVersion = 1.27.1;
888899
};
889900
};
890901
4D926DB22E36481D00A406D1 /* XCRemoteSwiftPackageReference "swift-protobuf" */ = {
891902
isa = XCRemoteSwiftPackageReference;
892903
repositoryURL = "https://github.com/apple/swift-protobuf.git";
893904
requirement = {
894905
kind = upToNextMajorVersion;
895-
minimumVersion = 1.30.0;
906+
minimumVersion = 1.33.3;
896907
};
897908
};
898909
4D926DBB2E36486E00A406D1 /* XCRemoteSwiftPackageReference "ReactiveCocoa" */ = {
@@ -908,15 +919,15 @@
908919
repositoryURL = "https://github.com/SDWebImage/SDWebImage.git";
909920
requirement = {
910921
kind = upToNextMajorVersion;
911-
minimumVersion = 5.21.1;
922+
minimumVersion = 5.21.5;
912923
};
913924
};
914925
4D926DC32E36489B00A406D1 /* XCRemoteSwiftPackageReference "SDWebImageWebPCoder" */ = {
915926
isa = XCRemoteSwiftPackageReference;
916927
repositoryURL = "https://github.com/SDWebImage/SDWebImageWebPCoder.git";
917928
requirement = {
918929
kind = upToNextMajorVersion;
919-
minimumVersion = 0.14.6;
930+
minimumVersion = 0.15.0;
920931
};
921932
};
922933
/* End XCRemoteSwiftPackageReference section */
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict/>
5+
</plist>

0 commit comments

Comments
 (0)