diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 052a8c20cf78..af3f9d810285 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -13,8 +13,8 @@ concurrency:
jobs:
check:
name: Check
- runs-on: blacksmith-8vcpu-ubuntu-2404
- timeout-minutes: 10
+ runs-on: ubuntu-24.04
+ timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
@@ -59,8 +59,8 @@ jobs:
test:
name: Test
- runs-on: blacksmith-8vcpu-ubuntu-2404
- timeout-minutes: 10
+ runs-on: ubuntu-24.04
+ timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
@@ -112,8 +112,8 @@ jobs:
mobile_native_static_analysis:
name: Mobile Native Static Analysis
- runs-on: blacksmith-6vcpu-macos-26
- timeout-minutes: 10
+ runs-on: macos-latest
+ timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v6
@@ -140,8 +140,8 @@ jobs:
release_smoke:
name: Release Smoke
- runs-on: blacksmith-8vcpu-ubuntu-2404
- timeout-minutes: 10
+ runs-on: ubuntu-24.04
+ timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
diff --git a/.github/workflows/deploy-relay.yml b/.github/workflows/deploy-relay.yml
index f652844a54f3..86d20e05f526 100644
--- a/.github/workflows/deploy-relay.yml
+++ b/.github/workflows/deploy-relay.yml
@@ -17,6 +17,9 @@ concurrency:
jobs:
deploy_relay:
name: Deploy production relay
+ # Upstream-only: the relay and its Cloudflare/Clerk/APNs credentials live in
+ # pingdotgg. On the Aether-Runtime fork this job must never run.
+ if: github.repository == 'pingdotgg/t3code'
runs-on: blacksmith-8vcpu-ubuntu-2404
timeout-minutes: 15
environment:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 81ef25effc8e..c20fe3370c68 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -29,7 +29,9 @@ permissions:
jobs:
check_changes:
name: Check for changes since last nightly
- if: github.event_name == 'schedule'
+ # The schedule fires on the Aether-Runtime fork too; nightly releases are
+ # upstream-only, so skip there (manual workflow_dispatch still works).
+ if: github.event_name == 'schedule' && github.repository == 'pingdotgg/t3code'
runs-on: blacksmith-8vcpu-ubuntu-2404
outputs:
has_changes: ${{ steps.check.outputs.has_changes }}
diff --git a/.repos/alchemy-effect/.vendor/alchemy b/.repos/alchemy-effect/.vendor/alchemy
deleted file mode 160000
index c9f5e549cf02..000000000000
--- a/.repos/alchemy-effect/.vendor/alchemy
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit c9f5e549cf023632c3df948c207a58336192b3c7
diff --git a/apps/mobile/src/components/ProviderIcon.tsx b/apps/mobile/src/components/ProviderIcon.tsx
index bdddf2c45951..e70a09c43534 100644
--- a/apps/mobile/src/components/ProviderIcon.tsx
+++ b/apps/mobile/src/components/ProviderIcon.tsx
@@ -49,6 +49,15 @@ export function ProviderIcon(props: ProviderIconProps) {
);
}
+ if (props.provider === "aether") {
+ return (
+
+ );
+ }
+
if (props.provider === "opencode") {
return (