feat(backend): migrate production backend to Rust

Replace the Go backend with the Rust workspace and route Android/iOS through
UniFFI bindings. Include the migrated extension runtime, network, providers,
media metadata, downloads and library operations, with version 5.0.0+147.

Remove Go sources, adapters, native build selection and CI dependencies.
Build Rust unconditionally and lock the iOS Rust pod using a relative path.
Retain legacy source and migration evidence in a local ignored archive.

Validation: Android Kotlin compile and 53 native tests; Swift Rust-branch
equivalence and syntax; CocoaPods install; workflow, shell, Ruby, plist and
diff checks. Reuse the preceding 100 Rust tests, fmt/Clippy and five-ABI
build checkpoint; no new APK or iOS application build for this cleanup.

Known follow-up: URL/URLSearchParams globals are missing from the Rust JS
runtime. A controlled extension replay confirms a URL-resolution regression;
this commit does not fix that runtime gap.
This commit is contained in:
zarzet committed 2026-09-14 22:58:27 +07:00
1 parent 1da0da18a6
commit aa99726439
452 files changed
+64417 -65088

No files matched your search

+7 -9
View File
@@ -37,11 +37,8 @@ AGENTS.md
/bun.lock
/package-lock.json
# Go backend build outputs
/go_backend/*.aar
/go_backend/*.jar
/go_backend/*.exe
/go_backend/*.xcframework/
# Rust backend build outputs and generated native bindings
/rust_backend/target
# Android build state and signing material
/android/.gradle/
@@ -57,6 +54,7 @@ AGENTS.md
/android/app/*.jks
# iOS generated state
/ios/build/
/ios/Frameworks/
/ios/Pods/
/ios/.symlinks/
@@ -73,6 +71,8 @@ DerivedData/
*.mobileprovision
*.p12
*.pem
# Public ISRG roots embedded by the Rust network library.
!/rust_backend/crates/network/src/roots.pem
# Local research and design material
/design/
@@ -81,10 +81,8 @@ DerivedData/
/tool/
/spotiflac_android/
# Documentation published separately. Keep the in-repo extension contract
# available because contribution templates link to it.
/docs/*
!/docs/EXTENSION_DEVELOPMENT.md
# Local documentation, migration archives, fixtures, and benchmark evidence.
/docs/
# Temporary files and logs
/.tmp/