Skip to content

fix(mobile): stop shared content errors in Personal Team builds - #4943

Merged
t3dotgg merged 1 commit into
mainfrom
t3code/fix-ios-shared-content-import
Jul 30, 2026
Merged

fix(mobile): stop shared content errors in Personal Team builds#4943
t3dotgg merged 1 commit into
mainfrom
t3code/fix-ios-shared-content-import

Conversation

@t3dotgg

@t3dotgg t3dotgg commented Jul 30, 2026

Copy link
Copy Markdown
Member

Personal Team iOS builds intentionally omit App Groups, but the active Expo manifest could still report incoming sharing as enabled. That made every foreground refresh call expo-sharing without an App Group ID and show a repeated import error.

Treat Expo's missing-App-Group error as an unavailable incoming-share inbox and cache that binary capability. Other native sharing failures continue to surface.

Tests: focused sharing tests, mobile typecheck, targeted lint, and formatting.

Generated by GPT-5.6 Sol using the Codex harness in T3 Code.


Note

Low Risk
Localized sharing ingestion change with tests; no auth, data, or payment impact.

Overview
Personal Team iOS builds omit App Groups, but incoming sharing could still be treated as enabled, so foreground refreshes repeatedly called expo-sharing and surfaced import errors.

A new createIncomingSharePayloadReader wrapper treats expo-sharing’s ERR_FAILED_TO_RESOLVE_APP_GROUP_ID on iOS as an unavailable inbox (empty payloads) and caches that state so later reads don’t hit native code again. IncomingShareProvider wires this reader into IncomingShareInbox instead of calling getSharedPayloads directly. Other native failures still throw.

Reviewed by Cursor Bugbot for commit a11d375. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix shared content errors in Personal Team builds by handling missing iOS App Group

  • Adds createIncomingSharePayloadReader in incoming-share-native.ts to wrap native payload reads with error handling specific to iOS Personal Team builds.
  • When the iOS App Group is unavailable (ERR_FAILED_TO_RESOLVE_APP_GROUP_ID), the reader treats it as an empty inbox and memoizes the unavailable state to skip future native reads.
  • All other errors continue to propagate normally; non-iOS platforms pass through unchanged.
  • Behavioral Change: IncomingShareInbox.getPayloads now returns [] instead of throwing when the iOS App Group is missing.

Macroscope summarized a11d375.

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 06580e43-ef16-465f-88ba-e18997e7255a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Jul 30, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved a11d375

Straightforward bug fix that adds graceful error handling for iOS Personal Team builds where App Group is unavailable. Instead of crashing, the sharing inbox returns empty. Change is self-contained with comprehensive tests and limited to a specific iOS error case.

You can customize Macroscope's approvability policy. Learn more.

@t3dotgg
t3dotgg merged commit 00da6b5 into main Jul 30, 2026
17 checks passed
@t3dotgg
t3dotgg deleted the t3code/fix-ios-shared-content-import branch July 30, 2026 08:48
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Jul 30, 2026
## What's Changed
* fix(connect): suggest a serve command that matches how you ran connect by @t3dotgg in pingdotgg/t3code#4897
* fix(mobile): stop shared content errors in Personal Team builds by @t3dotgg in pingdotgg/t3code#4943
* perf(mobile): sends respond instantly, thread opens stop freezing by @t3dotgg in pingdotgg/t3code#4882
* fix(web): show Codex fast mode as a bolt by @t3dotgg in pingdotgg/t3code#4947
* docs: seed worktrees with a copy of real userdata instead of banning it by @t3dotgg in pingdotgg/t3code#4949


**Full Changelog**: pingdotgg/t3code@v0.0.32-nightly.20260730.954...v0.0.32-nightly.20260730.955

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.32-nightly.20260730.955
tarik02 added a commit to tarik02-org/t3code that referenced this pull request Jul 30, 2026
* fix(desktop): restore T3 Connect sign-in (pingdotgg#4809)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Simplify files panel header (pingdotgg#4828)

* build(desktop): reduce installed app size by ~300MB (pingdotgg#4824)

* Update model version from claude-opus-4-8 to claude-opus-5 (pingdotgg#4832)

* Preserve the thread shell while detail loads (pingdotgg#4830)

* Reduce idle work and disk churn with native resource diagnostics (pingdotgg#2679)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): detect repositories after initialization (pingdotgg#4848)

* perf(server): merge separate staged/unstaged numstat calls into single diff HEAD --numstat (pingdotgg#4843)

* fix(git): disable external diff for review diff previews (pingdotgg#4854)

* Fix editable file focus and live syntax highlighting (pingdotgg#3979)

* fix(web): remember the rendered-markdown choice across threads (pingdotgg#4853)

Co-authored-by: Simon Doba <simon.doba@orbit.de>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

* chore(release): prepare v0.0.31

* fix(mobile): reduce thread feed scroll jank (pingdotgg#4874)

* fix(web): restore sidebar v2 thread actions and terminal icon (pingdotgg#4712)

* fix(web): settle button now works on hover, not just right-click (pingdotgg#4905)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(clients): disable add project while disconnected (pingdotgg#4834)

* fix(composer): hide default Codex service tier (pingdotgg#4784)

* docs: link iOS and Android app store downloads (pingdotgg#4902)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): align remote server update action (pingdotgg#4731)

* fix(connect): suggest a serve command that matches how you ran connect (pingdotgg#4897)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): stop shared content errors in Personal Team builds (pingdotgg#4943)

* perf(mobile): sends respond instantly, thread opens stop freezing (pingdotgg#4882)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): show Codex fast mode as a bolt (pingdotgg#4947)

* docs: seed worktrees with a copy of real userdata instead of banning it (pingdotgg#4949)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): support dragged images in the composer (pingdotgg#4953)

* fix(mobile): stop long iOS threads from jumping while scrolling up (pingdotgg#4867)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep worktree default when switching a draft's machine (pingdotgg#4964)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* perf(mobile): reconnect environments immediately on resume (pingdotgg#4878)

* feat(web): pasting a huge screenshot now compresses it instead of erroring (pingdotgg#4967)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): regenerate thread titles from sidebar (pingdotgg#4810)

* fix(web): show server update progress through reconnect (pingdotgg#4903)

---------

Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: wukko <me@wukko.me>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: ohbentos <72638975+ohbentos@users.noreply.github.com>
Co-authored-by: Jake Leventhal <jakeleventhal@me.com>
Co-authored-by: Simon Doba <simon.doba@hotmail.de>
Co-authored-by: Simon Doba <simon.doba@orbit.de>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Gabriel De Andrade <30420087+gabrielelpidio@users.noreply.github.com>
Co-authored-by: Jono Kemball <Noojuno@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Max Katz <me@maxkatz.me>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant