Pier Angelo Vendrame pushed to branch tor-browser-128.7.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
- 
86b24fa4
by Beatriz Rizental at 2025-02-11T11:21:27+01:00
 
12 changed files:
- .gitignore
 - build.gradle
 - mobile/android/android-components/components/browser/engine-gecko/build.gradle
 - mobile/android/android-components/components/browser/storage-sync/src/main/java/mozilla/components/browser/storage/sync/Types.kt
 - mobile/android/android-components/components/feature/fxsuggest/build.gradle
 - mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/Types.kt
 - mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/sync/WorkManagerSyncManager.kt
 - mobile/android/android-components/components/service/nimbus/build.gradle
 - mobile/android/android-components/components/support/rustlog/src/main/java/mozilla/components/support/rustlog/RustLog.kt
 - mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
 - mobile/android/fenix/tools/tba-fetch-deps.sh
 - tools/geckoview/build-fenix.sh
 
Changes:
| ... | ... | @@ -359,6 +359,7 @@ media/libvpx/config/**/config.log | 
| 359 | 359 |  mobile/android/.experimenter.json
 | 
| 360 | 360 | |
| 361 | 361 |  # Tor libraries for local builds
 | 
| 362 | +mobile/android/fenix/app/nimbus-fml
 | 
|
| 362 | 363 |  mobile/android/fenix/app/tor-expert-bundle.aar
 | 
| 363 | 364 |  mobile/android/fenix/app/src/main/assets/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi
 | 
| 364 | 365 | 
| ... | ... | @@ -4,6 +4,8 @@ import org.tomlj.TomlTable | 
| 4 | 4 | |
| 5 | 5 |  buildscript {
 | 
| 6 | 6 |      repositories {
 | 
| 7 | +        mavenLocal()
 | 
|
| 8 | +  | 
|
| 7 | 9 |          gradle.mozconfig.substs.GRADLE_MAVEN_REPOSITORIES.each { repository ->
 | 
| 8 | 10 |              maven {
 | 
| 9 | 11 |                  url repository
 | 
| ... | ... | @@ -136,6 +138,8 @@ allprojects { | 
| 136 | 138 |      }
 | 
| 137 | 139 | |
| 138 | 140 |      repositories {
 | 
| 141 | +        mavenLocal()
 | 
|
| 142 | +  | 
|
| 139 | 143 |          gradle.mozconfig.substs.GRADLE_MAVEN_REPOSITORIES.each { repository ->
 | 
| 140 | 144 |              maven {
 | 
| 141 | 145 |                  url repository
 | 
| ... | ... | @@ -4,6 +4,8 @@ | 
| 4 | 4 | |
| 5 | 5 |  buildscript {
 | 
| 6 | 6 |      repositories {
 | 
| 7 | +        mavenLocal()
 | 
|
| 8 | +  | 
|
| 7 | 9 |          gradle.mozconfig.substs.GRADLE_MAVEN_REPOSITORIES.each { repository ->
 | 
| 8 | 10 |              maven {
 | 
| 9 | 11 |                  url repository
 | 
| ... | ... | @@ -71,6 +71,7 @@ internal fun mozilla.appservices.places.uniffi.VisitType.into() = when (this) { | 
| 71 | 71 |      mozilla.appservices.places.uniffi.VisitType.REDIRECT_TEMPORARY -> VisitType.REDIRECT_TEMPORARY
 | 
| 72 | 72 |      mozilla.appservices.places.uniffi.VisitType.DOWNLOAD -> VisitType.DOWNLOAD
 | 
| 73 | 73 |      mozilla.appservices.places.uniffi.VisitType.FRAMED_LINK -> VisitType.FRAMED_LINK
 | 
| 74 | +    mozilla.appservices.places.uniffi.VisitType.__NOOP -> VisitType.LINK
 | 
|
| 74 | 75 |  }
 | 
| 75 | 76 | |
| 76 | 77 |  internal fun mozilla.appservices.places.uniffi.HistoryVisitInfo.into(): VisitInfo {
 | 
| ... | ... | @@ -129,6 +130,18 @@ internal fun BookmarkItem.asBookmarkNode(): BookmarkNode { | 
| 129 | 130 |                  null,
 | 
| 130 | 131 |              )
 | 
| 131 | 132 |          }
 | 
| 133 | +        is BookmarkItem.__NOOP -> {
 | 
|
| 134 | +            BookmarkNode(
 | 
|
| 135 | +                BookmarkNodeType.ITEM,
 | 
|
| 136 | +                "",
 | 
|
| 137 | +                "",
 | 
|
| 138 | +                null,
 | 
|
| 139 | +                null,
 | 
|
| 140 | +                null,
 | 
|
| 141 | +                0L,
 | 
|
| 142 | +                null,
 | 
|
| 143 | +            )
 | 
|
| 144 | +        }
 | 
|
| 132 | 145 |      }
 | 
| 133 | 146 |  }
 | 
| 134 | 147 | |
| ... | ... | @@ -152,6 +165,7 @@ internal fun mozilla.appservices.places.uniffi.DocumentType.into(): DocumentType | 
| 152 | 165 |      return when (this) {
 | 
| 153 | 166 |          mozilla.appservices.places.uniffi.DocumentType.REGULAR -> DocumentType.Regular
 | 
| 154 | 167 |          mozilla.appservices.places.uniffi.DocumentType.MEDIA -> DocumentType.Media
 | 
| 168 | +        mozilla.appservices.places.uniffi.DocumentType.__NOOP -> DocumentType.Regular
 | 
|
| 155 | 169 |      }
 | 
| 156 | 170 |  }
 | 
| 157 | 171 | 
| ... | ... | @@ -6,6 +6,8 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile | 
| 6 | 6 | |
| 7 | 7 |  buildscript {
 | 
| 8 | 8 |      repositories {
 | 
| 9 | +        mavenLocal()
 | 
|
| 10 | +  | 
|
| 9 | 11 |          maven {
 | 
| 10 | 12 |              url "https://maven.mozilla.org/maven2"
 | 
| 11 | 13 |          }
 | 
| ... | ... | @@ -128,7 +128,7 @@ internal fun RustDeviceType.into(): DeviceType { | 
| 128 | 128 |          RustDeviceType.TABLET -> DeviceType.TABLET
 | 
| 129 | 129 |          RustDeviceType.TV -> DeviceType.TV
 | 
| 130 | 130 |          RustDeviceType.VR -> DeviceType.VR
 | 
| 131 | -        RustDeviceType.UNKNOWN -> DeviceType.UNKNOWN
 | 
|
| 131 | +        else-> DeviceType.UNKNOWN
 | 
|
| 132 | 132 |      }
 | 
| 133 | 133 |  }
 | 
| 134 | 134 | |
| ... | ... | @@ -165,7 +165,7 @@ fun DeviceCapability.into(): RustDeviceCapability { | 
| 165 | 165 |  fun RustDeviceCapability.into(): DeviceCapability {
 | 
| 166 | 166 |      return when (this) {
 | 
| 167 | 167 |          RustDeviceCapability.SEND_TAB -> DeviceCapability.SEND_TAB
 | 
| 168 | -        RustDeviceCapability.CLOSE_TABS -> DeviceCapability.CLOSE_TABS
 | 
|
| 168 | +        else -> DeviceCapability.CLOSE_TABS
 | 
|
| 169 | 169 |      }
 | 
| 170 | 170 |  }
 | 
| 171 | 171 | |
| ... | ... | @@ -250,7 +250,7 @@ fun AccountEvent.into(): mozilla.components.concept.sync.AccountEvent { | 
| 250 | 250 |                  deviceId = this.deviceId,
 | 
| 251 | 251 |                  isLocalDevice = this.isLocalDevice,
 | 
| 252 | 252 |              )
 | 
| 253 | -        is AccountEvent.Unknown -> mozilla.components.concept.sync.AccountEvent.Unknown
 | 
|
| 253 | +        else -> mozilla.components.concept.sync.AccountEvent.Unknown
 | 
|
| 254 | 254 |      }
 | 
| 255 | 255 |  }
 | 
| 256 | 256 | |
| ... | ... | @@ -258,6 +258,7 @@ fun IncomingDeviceCommand.into(): mozilla.components.concept.sync.DeviceCommandI | 
| 258 | 258 |      return when (this) {
 | 
| 259 | 259 |          is IncomingDeviceCommand.TabReceived -> this.into()
 | 
| 260 | 260 |          is IncomingDeviceCommand.TabsClosed -> this.into()
 | 
| 261 | +        is IncomingDeviceCommand.__NOOP -> this.into()
 | 
|
| 261 | 262 |      }
 | 
| 262 | 263 |  }
 | 
| 263 | 264 | 
| ... | ... | @@ -484,6 +484,9 @@ internal class WorkManagerSyncWorker( | 
| 484 | 484 | |
| 485 | 485 |          // Finally, declare success, failure or request a retry based on 'sync status'.
 | 
| 486 | 486 |          return when (syncResult.status) {
 | 
| 487 | +            ServiceStatus.__NOOP -> {
 | 
|
| 488 | +                Result.success()
 | 
|
| 489 | +            }
 | 
|
| 487 | 490 |              // Happy case.
 | 
| 488 | 491 |              ServiceStatus.OK -> {
 | 
| 489 | 492 |                  // Worker should set the "last-synced" timestamp, and since we have a single timestamp,
 | 
| ... | ... | @@ -4,6 +4,8 @@ | 
| 4 | 4 | |
| 5 | 5 |  buildscript {
 | 
| 6 | 6 |      repositories {
 | 
| 7 | +        mavenLocal()
 | 
|
| 8 | +  | 
|
| 7 | 9 |          gradle.mozconfig.substs.GRADLE_MAVEN_REPOSITORIES.each { repository ->
 | 
| 8 | 10 |              maven {
 | 
| 9 | 11 |                  url repository
 | 
| ... | ... | @@ -86,6 +86,6 @@ internal fun Level.asLogPriority(): Log.Priority { | 
| 86 | 86 |          Level.DEBUG -> Log.Priority.DEBUG
 | 
| 87 | 87 |          Level.INFO -> Log.Priority.INFO
 | 
| 88 | 88 |          Level.WARN -> Log.Priority.WARN
 | 
| 89 | -        Level.ERROR -> Log.Priority.ERROR
 | 
|
| 89 | +        else -> Log.Priority.ERROR
 | 
|
| 90 | 90 |      }
 | 
| 91 | 91 |  } | 
| ... | ... | @@ -3,7 +3,7 @@ | 
| 3 | 3 |   * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | 
| 4 | 4 | |
| 5 | 5 |  // These lines are generated by android-components/automation/application-services-nightly-bump.py
 | 
| 6 | -val VERSION = "128.0.1"
 | 
|
| 6 | +val VERSION = "128.0.1-TORBROWSER"
 | 
|
| 7 | 7 |  val CHANNEL = ApplicationServicesChannel.RELEASE
 | 
| 8 | 8 | |
| 9 | 9 |  object ApplicationServicesConfig {
 | 
| ... | ... | @@ -19,3 +19,65 @@ mkdir -p "app/src/main/assets/extensions" | 
| 19 | 19 |  if [ -f "$noscript" ]; then
 | 
| 20 | 20 |  	cp "$noscript" "app/src/main/assets/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
 | 
| 21 | 21 |  fi
 | 
| 22 | +  | 
|
| 23 | +if [ -z "$GRADLE_MAVEN_REPOSITORIES" ]; then
 | 
|
| 24 | +	GRADLE_MAVEN_REPOSITORIES="$HOME/.m2/repository"
 | 
|
| 25 | +fi
 | 
|
| 26 | +  | 
|
| 27 | +os="$(uname -s)"
 | 
|
| 28 | +case "${os}" in
 | 
|
| 29 | +    Linux*)     os=unknown-linux;;
 | 
|
| 30 | +    Darwin*)    os=apple-darwin;;
 | 
|
| 31 | +	# This is not quite correct, however the only option for the nimbus-fml
 | 
|
| 32 | +	# build are these three... so if it's not Linux or Darwin it's very likely
 | 
|
| 33 | +	# we are building from Windows. I apologize in advance to all the BSD users.
 | 
|
| 34 | +    *)          os="pc-windows";;
 | 
|
| 35 | +esac
 | 
|
| 36 | +  | 
|
| 37 | +arch="$(uname -m)"
 | 
|
| 38 | +case "${arch}" in
 | 
|
| 39 | +	# Also no quite correct, but again these are the only options for nimbus-fml.
 | 
|
| 40 | +	aarch64)    arch=aarch64;;
 | 
|
| 41 | +	arm64)      arch=aarch64;;
 | 
|
| 42 | +	*)          arch="x86_64";;
 | 
|
| 43 | +esac
 | 
|
| 44 | +  | 
|
| 45 | +if [ "$os" = "unsupported" ] || [ "$arch" = "unsupported" ]; then
 | 
|
| 46 | +	echo "Android builds from $os-$arch are not supported."
 | 
|
| 47 | +	exit 2
 | 
|
| 48 | +fi
 | 
|
| 49 | +  | 
|
| 50 | +app_services="$(find "$TOR_BROWSER_BUILD/out/application-services" -name 'application-services*.tar.zst' -print | sort | tail -1)"
 | 
|
| 51 | +mkdir -p "$GRADLE_MAVEN_REPOSITORIES/org/mozilla"
 | 
|
| 52 | +if [ -f "$app_services" ]; then
 | 
|
| 53 | +	tar -C /tmp -xf "$app_services"
 | 
|
| 54 | +	cp -r /tmp/application-services/maven/org/mozilla/* "$GRADLE_MAVEN_REPOSITORIES/org/mozilla"
 | 
|
| 55 | +  | 
|
| 56 | +	# Over on tor-browser-build all build tools are built for x86_64-linux.
 | 
|
| 57 | +	# If we are not building from that platform, we need to fetch the correct
 | 
|
| 58 | +	# nimbus-fml binary.
 | 
|
| 59 | +	#
 | 
|
| 60 | +	# Even though we do modify nimbus-fml in tbb, all the changes are made to
 | 
|
| 61 | +	# support reproducibility and are not necessary for development builds.
 | 
|
| 62 | +	if [ "$os" != "unknown-linux" ] || [ "$arch" != "x86_64" ]; then
 | 
|
| 63 | +		echo "Downloading nimbus-fml binary for $arch-$os"
 | 
|
| 64 | +		app_services_version=$(echo "$app_services" | grep -oE 'application-services-[0-9]+\.[0-9]+\.[0-9]+' | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
 | 
|
| 65 | +  | 
|
| 66 | +		curl -L -o /tmp/nimbus-fml.zip "https://archive.mozilla.org/pub/app-services/releases/$app_services_version/nimbus-fml.zip"
 | 
|
| 67 | +		unzip -d /tmp/nimbus-fml /tmp/nimbus-fml.zip
 | 
|
| 68 | +		nimbus_fml="$(find "/tmp/nimbus-fml/" -name 'nimbus-fml*' | grep "$arch-$os")"
 | 
|
| 69 | +		echo "Using nimbus-fml binary: $nimbus_fml"
 | 
|
| 70 | +		cp $nimbus_fml app/
 | 
|
| 71 | +  | 
|
| 72 | +		rm -rf /tmp/nimbus-fml
 | 
|
| 73 | +		rm /tmp/nimbus-fml.zip
 | 
|
| 74 | +	else
 | 
|
| 75 | +		cp /tmp/application-services/nimbus-fml app/
 | 
|
| 76 | +	fi
 | 
|
| 77 | +	chmod +x app/nimbus-fml
 | 
|
| 78 | +  | 
|
| 79 | +	rm -rf /tmp/application-services
 | 
|
| 80 | +else
 | 
|
| 81 | +	echo "Cannot find application-services artifacts!"
 | 
|
| 82 | +	exit 2
 | 
|
| 83 | +fi | 
| ... | ... | @@ -6,6 +6,8 @@ VARIANT=$3 | 
| 6 | 6 | |
| 7 | 7 |  source android-env.sh
 | 
| 8 | 8 | |
| 9 | +export NIMBUS_FML=$DEV_ROOT/mobile/android/fenix/app/nimbus-fml
 | 
|
| 10 | +  | 
|
| 9 | 11 |  cd $DEV_ROOT/mobile/android/fenix
 | 
| 10 | 12 |  MOZCONFIG=mozconfig-android-$ARCH $GRADLE_HOME/bin/gradle --no-daemon -Dorg.gradle.jvmargs=-Xmx20g -PdisableOptimization assemble$VARIANT
 | 
| 11 | 13 |  tools/tba-sign-devbuilds.sh |