diff --git a/.github/workflows/mobile.yml b/.github/workflows/mobile.yml index 8fa9dfdf0f6..dbd607c362b 100644 --- a/.github/workflows/mobile.yml +++ b/.github/workflows/mobile.yml @@ -432,7 +432,7 @@ jobs: # iOS Release Candidate: Build and upload mobile-build-upload-releasecandidate-ios: name: iOS Release Candidate Build & Upload - runs-on: macos-15 + runs-on: macos-26 needs: [mobile-install, mobile-version-check] if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' && needs.mobile-version-check.outputs.version_changed == 'true' steps: @@ -834,7 +834,7 @@ jobs: # iOS Production: Build and upload (requires approval) mobile-build-upload-production-ios-main: name: iOS Production Build & Upload - runs-on: macos-15 + runs-on: macos-26 needs: [mobile-install, mobile-version-check] if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' && needs.mobile-version-check.outputs.version_changed == 'true' environment: diff --git a/package-lock.json b/package-lock.json index 64b2bda8be6..4cfbf46fdf5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5754,7 +5754,6 @@ }, "node_modules/@clack/prompts/node_modules/is-unicode-supported": { "version": "1.3.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -87388,6 +87387,29 @@ "react-native-pager-view": ">= 6.0.0" } }, + "node_modules/react-native-track-player": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/react-native-track-player/-/react-native-track-player-4.1.2.tgz", + "integrity": "sha512-cIgMlqVJx/95hirUWPRW8CHxiBFj9Rjl/voKHh2jF/2URYMTQyt76t/m2FKvjeYUW2doKv4QSCBIOUmtyDLtJw==", + "license": "Apache-2.0", + "funding": { + "url": "https://github.com/doublesymmetry/react-native-track-player?sponsor=1" + }, + "peerDependencies": { + "react": ">=16.8.6", + "react-native": ">=0.60.0-rc.2", + "react-native-windows": ">=0.63.0", + "shaka-player": "^4.7.9" + }, + "peerDependenciesMeta": { + "react-native-windows": { + "optional": true + }, + "shaka-player": { + "optional": true + } + } + }, "node_modules/react-native-version-number": { "version": "0.3.6", "license": "MIT" @@ -127552,7 +127574,7 @@ }, "packages/mobile": { "name": "@audius/mobile", - "version": "1.5.180", + "version": "1.5.183", "dependencies": { "@amplitude/analytics-react-native": "1.4.11", "@audius/common": "*", @@ -127661,7 +127683,7 @@ "react-native-svg": "^15.11.2", "react-native-svg-transformer": "1.5.0", "react-native-tab-view": "4.2.0", - "react-native-track-player": "4.0.1", + "react-native-track-player": "4.1.2", "react-native-url-polyfill": "2.0.0", "react-native-version-number": "0.3.6", "react-native-video": "6.18.0", @@ -130071,25 +130093,6 @@ "react-native": "*" } }, - "packages/mobile/node_modules/react-native-track-player": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/react-native-track-player/-/react-native-track-player-4.0.1.tgz", - "integrity": "sha512-DpqKL4TQS0kGlHwEtmMrL++mdgWb+uc75eQiP3vfYSlgvAJjbXbkL9h+cofndSuq4TTCp8jclAK+hZKqtMw6+A==", - "license": "Apache-2.0", - "funding": { - "url": "https://github.com/doublesymmetry/react-native-track-player?sponsor=1" - }, - "peerDependencies": { - "react": ">=16.8.6", - "react-native": ">=0.60.0-rc.2", - "react-native-windows": ">=0.63.0" - }, - "peerDependenciesMeta": { - "react-native-windows": { - "optional": true - } - } - }, "packages/mobile/node_modules/react-native-url-polyfill": { "version": "2.0.0", "license": "MIT", diff --git a/packages/mobile/android/app/build.gradle b/packages/mobile/android/app/build.gradle index fed87da48fb..589fb130426 100755 --- a/packages/mobile/android/app/build.gradle +++ b/packages/mobile/android/app/build.gradle @@ -46,7 +46,12 @@ react { // extraPackagerArgs = [] /* Hermes Commands */ // The hermes compiler command to run. By default it is 'hermesc' - // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" + // The RN Gradle plugin's hermesc lookup is anchored at `root` and only + // considers `root/node_modules/react-native/sdks/hermesc/...`. Since RN + // is hoisted to the monorepo node_modules, that lookup fails. Point the + // plugin at the hoisted prebuilt hermesc explicitly (%OS-BIN% is + // substituted by the plugin at runtime). + hermesCommand = "$rootDir/../../../node_modules/react-native/sdks/hermesc/%OS-BIN%/hermesc" // // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" // hermesFlags = ["-O", "-output-source-map"] @@ -129,7 +134,7 @@ android { // versionCode is automatically incremented in CI versionCode 1 // Make sure this is above the currently released Android version in the play store if your changes touch native code: - versionName "1.1.531" + versionName "1.1.533" resValue "string", "build_config_package", "co.audius.app" resConfigs "en" } diff --git a/packages/mobile/ios/AudiusReactNative/Info.plist b/packages/mobile/ios/AudiusReactNative/Info.plist index 524bbc7e0d3..186ccefd4dd 100644 --- a/packages/mobile/ios/AudiusReactNative/Info.plist +++ b/packages/mobile/ios/AudiusReactNative/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.1.195 + 1.1.197 CFBundleSignature ???? CFBundleURLTypes diff --git a/packages/mobile/ios/Gemfile.lock b/packages/mobile/ios/Gemfile.lock index 36ac3909a34..a2d9dbeecd3 100644 --- a/packages/mobile/ios/Gemfile.lock +++ b/packages/mobile/ios/Gemfile.lock @@ -302,7 +302,7 @@ DEPENDENCIES bigdecimal cocoapods (>= 1.13, != 1.15.1, != 1.15.0) concurrent-ruby (< 1.3.4) - fastlane (>= 2.228.0) + fastlane (= 2.234.0) fastlane-plugin-versioning logger mutex_m diff --git a/packages/mobile/ios/Podfile b/packages/mobile/ios/Podfile index 3d5fc4dfe6b..f614fee63a6 100644 --- a/packages/mobile/ios/Podfile +++ b/packages/mobile/ios/Podfile @@ -97,6 +97,22 @@ target 'AudiusReactNative' do end end + # Xcode 26 / Apple Clang enforces stricter consteval evaluation, which + # breaks the fmt 11.0.2 that React Native 0.79 pins: + # Pods/fmt/include/fmt/format-inl.h:59: error: call to consteval + # function 'fmt::basic_format_string<...>' is not a constant expression + # FMT_USE_CONSTEVAL=0 forces the constexpr fallback. Fixed upstream in + # fmt 11.1+ / RN 0.80; this is a stopgap until we upgrade RN. + installer.pods_project.targets.each do |target| + next unless target.name == 'fmt' + target.build_configurations.each do |config| + defs = config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] || ['$(inherited)'] + defs = [defs] unless defs.is_a?(Array) + defs << 'FMT_USE_CONSTEVAL=0' unless defs.include?('FMT_USE_CONSTEVAL=0') + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = defs + end + end + end end diff --git a/packages/mobile/package.json b/packages/mobile/package.json index e6d2f852f70..02574955bc7 100644 --- a/packages/mobile/package.json +++ b/packages/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@audius/mobile", - "version": "1.5.182", + "version": "1.5.184", "private": true, "scripts": { "android:dev": "ENVFILE=.env.dev turbo run android -- --mode=prodDebug", @@ -149,7 +149,7 @@ "react-native-svg": "^15.11.2", "react-native-svg-transformer": "1.5.0", "react-native-tab-view": "4.2.0", - "react-native-track-player": "4.0.1", + "react-native-track-player": "4.1.2", "react-native-url-polyfill": "2.0.0", "react-native-version-number": "0.3.6", "react-native-video": "6.18.0",