Prepare Ocho signing for Team Tito development
4 files changed,
+18
−1
apple/README.md+8 −0apple/project.yml+1 −0docs/infinity/status.md+4 −0internal/infinityhome/apple.go+5 −1
Intent
diff --git a/apple/README.md b/apple/README.md| index 4c72938..f89421f 100644 |
| --- a/apple/README.md |
| +++ b/apple/README.md |
| @@ -24,3 +24,11 @@ The native app reads the earlier wrapper's local identity directly from SQLite, |
| Passkeys and recovery files unlock the same account/history on web and native. `ocho://open?url=<encoded invitation>` opens native invitations. Universal links, native background notifications and store distribution remain follow-ups. |
| The icon uses the outlined Myriad Pro infinity glyph. No font file is distributed. |
| + |
| +## Team Tito signing — 2026-09-07 |
| + |
| +The project defaults to **Team Tito Limited**, team `9U4A84C4WK`, at Paul's request. Provisioning is not yet complete: Xcode rejected the saved `accounts@tito.io` login. Reauthenticate that account in Xcode Settings → Accounts, then build with automatic signing and `-allowProvisioningUpdates`. |
| + |
| +The existing bundle identifiers are retained provisionally. After login, verify whether Apple permits Team Tito to register them. An unpublished app cannot use Apple's normal App Store app-transfer flow; if the identifiers remain bound to the old team, use new Team Tito identifiers and update the association accordingly. Do not delete existing registrations or installed apps to work around this. |
| + |
| +The prepared webcredentials association includes both the existing personal-team apps and Team Tito apps. It is not deployed yet; first verify the actual signed application identifiers. A team change alters Keychain access, so preserve the existing installed app until the account is recoverable through a passkey or encrypted recovery file. Do not assume a team-signed replacement can read the old identity. No App Store Connect record transfer, TestFlight upload or team-member invitation has been performed by this change. |
diff --git a/apple/project.yml b/apple/project.yml| index ded8bb0..9a58dc5 100644 |
| --- a/apple/project.yml |
| +++ b/apple/project.yml |
| @@ -12,6 +12,7 @@ settings: |
| GENERATE_INFOPLIST_FILE: YES |
| ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon |
| CODE_SIGN_STYLE: Automatic |
| + DEVELOPMENT_TEAM: 9U4A84C4WK |
| INFOPLIST_KEY_CFBundleDisplayName: Ocho |
| packages: |
| OchoCore: |
diff --git a/docs/infinity/status.md b/docs/infinity/status.md| index ebdeab1..45b27d0 100644 |
| --- a/docs/infinity/status.md |
| +++ b/docs/infinity/status.md |
| @@ -36,3 +36,7 @@ This is an early text-chat implementation with no independent security audit or |
| Universal links, native background push, attachments, voice/video, distribution signing and store releases remain follow-ups. Amadan CI is not configured; validation above ran explicitly. Implementation is pushed on isolated branch `infinity-v1` at `https://amadan.net/eleven/ocho`; main and the original Eleven checkout remain unmerged. |
| Machine tooling and cross-session delivery limits are recorded in `android-handoff.md`. Build/test commands are in `apple/README.md` and `android/README.md`. |
| + |
| +## Team Tito preparation — 2026-09-07 |
| + |
| +Paul requested development ownership under Team Tito Limited (`9U4A84C4WK`). The Xcode project now defaults to that team, and the source associated-domain response retains personal-team entries while adding provisional Team Tito entries. These association changes have not been deployed. The signed build attempt failed because Apple rejected Xcode's saved `accounts@tito.io` login; no Team Tito provisioning profiles were available for Ocho. Reauthentication is required before checking identifier availability, producing signed builds and completing account migration. Existing installed apps and account data remain intact. See the Apple README for the exact next steps and unpublished-app transfer constraints. |
diff --git a/internal/infinityhome/apple.go b/internal/infinityhome/apple.go| index ecc8652..ff61546 100644 |
| --- a/internal/infinityhome/apple.go |
| +++ b/internal/infinityhome/apple.go |
| @@ -4,5 +4,9 @@ package infinityhome |
| import "net/http" |
| func appleAssociation(w http.ResponseWriter, r *http.Request) { |
| - write(w, 200, map[string]any{"webcredentials": map[string]any{"apps": []string{"J5NDF5PCD8.chat.ocho.infinity", "J5NDF5PCD8.chat.ocho.infinity.mac"}}}) |
| + // Keep existing installations associated while Team Tito builds are provisioned. |
| + write(w, 200, map[string]any{"webcredentials": map[string]any{"apps": []string{ |
| + "J5NDF5PCD8.chat.ocho.infinity", "J5NDF5PCD8.chat.ocho.infinity.mac", |
| + "9U4A84C4WK.chat.ocho.infinity", "9U4A84C4WK.chat.ocho.infinity.mac", |
| + }}}) |
| } |