Skip to content

chore(sync): reset mobile to upstream and ship PseudoCode 0.0.74 - #50

Merged
pseudoseed merged 128 commits into
mainfrom
fork/mobile-upstream-reset
Oct 25, 2026
Merged

pseudoseed merged 128 commits into
mainfrom
fork/mobile-upstream-reset

Conversation

@pseudoseed

Copy link
Copy Markdown
Owner

The iPad and iPhone app had become unstable: frequent crashes (the latest TestFlight crash came from the fork's on-device dictation model running out of GPU memory), slowness, and a terminal that couldn't attach its output. Notifications and widgets had also been dead since desktop 0.0.70, because an upstream sync deleted the only call that started the push sender.

This merges upstream main (106 commits) and resets apps/mobile to upstream, then adds back only:

Dropped from mobile: the fork's local dictation (upstream's Apple-based dictation remains), the custom terminal, mailbox views and project cards.

Shipped as PseudoCode 0.0.74 (desktop release pseudocode-v0.0.74, TestFlight build 45). Tested on the iPad simulator: Attach terminal, the pingdotgg#20252 sheet, terminal history after reopen, and the branded title. The test failures that check:changed reports also fail on main before this merge.

🤖 Generated with Claude Code (Claude Opus 5.5)

juliusmarminge and others added 30 commits October 23, 2026 15:45
…hrough history (pingdotgg#24235)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…build output (pingdotgg#23965)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Victor Vogel <satsdev@only21mil.xyz>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Joseph Vidal <135430578+josephv123@users.noreply.github.com>
Co-authored-by: Theo Browne <me@theo.li>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Yukun Shan <92423096+nateEc@users.noreply.github.com>
Co-authored-by: Akshar Patel <123344143+AksharP5@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
…otgg#23922)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… for a scroll (pingdotgg#23923)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#23924)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#22585)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#22628)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
… other services (pingdotgg#23975)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…n the timeline (pingdotgg#24299)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Labeled same-repo PRs deploy stage pr-<n> behind the relay-preview environment reviewer gate. Unlabel or close tears the stage down, and a nightly job retries failed teardowns. Runtime-created managed endpoint tunnels and CNAMEs are swept by a PreviewTunnelSweep resource.

Known gaps, tracked as follow-ups: an interrupted preview deploy can leave runtime tunnels behind; repo-level relay secrets still bypass the environment gate until moved.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
…ver (pingdotgg#23814)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…he version mismatch instead of reconnecting forever (pingdotgg#23647)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Theo Browne <me@theo.li>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…24206)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
juliusmarminge and others added 26 commits October 24, 2026 20:32
…atches the page (pingdotgg#24644)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…place (pingdotgg#24671)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Merges 106 upstream commits. apps/mobile is reset to upstream/main as-is;
the fork's mobile features (branding, push, widgets, connection fixes,
Forgejo, context and cost readout) will be re-added selectively on top.

Outside mobile, fork behavior is kept and adapted to upstream's source
control refactor: Forgejo detection and presentation now come from the
forge definition, issue providers build their own GitHub and Forgejo
clients, and fork comments are trimmed to the new four-line limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ctation is upstream's

Mobile no longer ships the fork's local dictation, and nothing else read the
fork's cleanup, learning, or model-selection code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream sync 7305423 deleted OrchestrationReactor, the only caller of DirectPush.start, so input and approval alerts and widget refresh pushes stopped sending. Startup now starts DirectPush right after the agent awareness relay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…screen

Refs pingdotgg#20252. The iOS FormSheet host does not bound flex children, so long sheet content laid out at full height and the list could not scroll to its end or reach the footer. Pin the sheet root to the host's edges, as pingdotgg#20284 did for Android.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
app.config.ts accepts T3CODE_APP_NAME, T3CODE_APP_ICON, T3CODE_IOS_BUNDLE_ID, T3CODE_IOS_TEAM_ID and T3CODE_IOS_BUILD_NUMBER, and the personal-team entitlement stripper now runs last. User-visible text says PseudoCode, Cloud Connect and Cloud account, and the header, work log and widget use the PseudoCode icon.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
APNs rejections and send failures only reached the server log, so the status call said Registered even when Apple refused every push. DirectPush now keeps each device's last delivery result in memory and returns it as the optional lastDelivery field of the push status response.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… saw

Ports fork fixes #34 and #35: one shared network listener with debounced path changes, a 30 second resume window matching iOS suspension, and a device-side connection log shared from About > Connection Log.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… tap

The terminal's Attach terminal action now reads the full screen including scrollback on iOS (the viewport on Android), keeps the newest 200 lines within the context size limit, and inserts them into the thread draft without opening a sheet. Choose lines keeps the existing line picker.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ervers

Re-adds the fork's direct push: a Notifications switch registers this iPhone with each paired server's APNs setup instead of the Cloud Connect relay, and the status list now shows Apple's answer to the last push. The preference now survives a reload, and Settings shows Notifications without a cloud account.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… work

Re-adds the fork's AgentActivity and PseudoCode Overview widgets, the Live Activity layout with project icons, and the background task that applies direct-push widget refreshes. iOS repaints project favicons to PNG natively so SVG and ICO icons reach the widget.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Re-adds the fork's ContextWindowMeter beside the model pill, fed by client-runtime's context-window helpers. Tapping it shows token counts and the API-equivalent cost.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The updates URL points at upstream's Expo project, so a build with T3CODE_IOS_BUNDLE_ID or T3CODE_APP_NAME set now defaults updates to off. T3CODE_MOBILE_UPDATES_ENABLED=1 still opts back in.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Native client builds failed calling the fork's deleted voice artifact scripts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…verview

The fork's Overview Live Activity rendered cut off on the Lock Screen. Local, Cloud Connect and direct-push Live Activities now all use upstream's AgentActivity layout; the Overview layout and its test are removed, and the home screen widgets are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Direct pushes added the app scheme and the widget-only summary, detail, project and turn fields, which only the removed Overview layout read. The payload now matches upstream's AgentActivity props, leaving more of the APNs budget for rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The longer fork name wrapped in portrait; the title now drops its stage badge
when it does not fit, as the Android toolbar already does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rompt

The fork's prompt markers let Ghostty clear from the prompt start on resize,
blanking output that arrived while the shell sat at its prompt. The markers
now ask for redraw=last, as Ghostty's own bash integration does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Delete providerLimitsLabel, USAGE_LIMIT_SOURCE_KIND_LABEL, collectLimitsGroups
and collectLimitSources, whose only callers were fork mobile usage screens.
Make resetMillis, hasClaudeAccountEvidence and unreadVisitedAtFor
module-private; each still has callers in its own module.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Oct 25, 2026
@pseudoseed
pseudoseed merged commit 82c76e8 into main Oct 25, 2026
15 of 23 checks passed
@github-actions github-actions Bot added size:XXL 📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. labels Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. size:XXL 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.