Skip to content

perf: performance improvements and fixes#106

Merged
sirily11 merged 3 commits into
mainfrom
performance
Jun 11, 2026
Merged

perf: performance improvements and fixes#106
sirily11 merged 3 commits into
mainfrom
performance

Conversation

@autopilot-project-manager

Copy link
Copy Markdown
Contributor

This PR includes several enhancements to optimize performance and address bugs. We automated the Lighthouse setup, improved scrolling stability, and streamlined UI updates. Logging API calls for better monitoring, and resolved issues with MessageList, leading to smoother and more efficient scrolling behavior.

Changes

  • Automated lighthouse installation
  • Instrumented scroll API calls
  • Optimized offset stability in handoff process
  • Stream-end scroll made non-animated
  • Reduced token-level UI updates and markdown parsing

sirily11 and others added 2 commits June 11, 2026 12:30
When a thread finished streaming, the streaming→settled row handoff
reflowed the lazy list and snapped the scroll offset; an animated
correction on top of that read as a visible "scroll up, then glide to
the end" jump.

Thread a `scrollToBottomAnimated` intent through MessageListView →
ChatTranscriptList → MessageList so the stream-end re-assertion snaps
to the bottom instantly. Live follow-scrolls during streaming stay
animated (separate path), and the new param defaults to true so no
other call sites change behavior.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Throttle streaming follow-scrolls through the existing scheduler so they
  collapse to ~1 scroll per interval instead of one per token, and coalesce
  scroll-to-bottom requests by animation intent.
- Add MarkdownParseCache to memoize settled (non-streaming) markdown parses;
  live/streaming text is parsed directly and never cached to avoid retaining
  near-full response copies.
- Coalesce streaming markdown re-parses to ~60fps via a leading-edge throttle.
- Tune scroll/pin animation curves (spring) and timing constants; refine
  message fade transitions.
- Add temporary ScrollToBottomDiag instrumentation, separating actual scroll
  calls from skipped requests.
- Switch RxCode target code signing to Automatic.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
rxcode Ready Ready Preview, Comment Jun 11, 2026 10:19am

Request Review

…hive

The previous perf commit accidentally bundled a signing-config change into
the RxCode target's Release configuration: CODE_SIGN_STYLE was flipped to
Automatic and PROVISIONING_PROFILE_SPECIFIER was emptied. The CI archive
step signs manually (CODE_SIGN_STYLE=Manual on the command line) and relies
on PROVISIONING_PROFILE_SPECIFIER=RxCode in project.pbxproj to scope the
provisioning profile (which carries the Associated Domains capability) to
this target. With the specifier emptied, the archive could not find a
profile with Associated Domains and failed:

  "RxCode" requires a provisioning profile with the Associated Domains feature.

Restore CODE_SIGN_STYLE=Manual and PROVISIONING_PROFILE_SPECIFIER=RxCode to
match the last-passing build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sirily11 sirily11 merged commit 2b3cd41 into main Jun 11, 2026
14 checks passed
@sirily11 sirily11 deleted the performance branch June 11, 2026 11:14
@sirily11

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.15.2 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant