Skip to content

feat: emoji superscroll#8793

Open
biotech77 wants to merge 9 commits into
devfrom
feat/emoji-superscroll
Open

feat: emoji superscroll#8793
biotech77 wants to merge 9 commits into
devfrom
feat/emoji-superscroll

Conversation

@biotech77
Copy link
Copy Markdown
Contributor

@biotech77 biotech77 commented May 15, 2026

Pull Request Description

Solves: #8791
as a side effect it solves this as well #8430

What does this PR change?

Converts Emoji Panel to use item recycling with SuperScrollView that is used in project for recyclable lists and grids

Emoji panel works the same but it is much more efficient, no hard coded parts and much more simplified

Test Steps

  1. Use emoji panel (Chat, Reactions anywhere where it is used)
  2. Observe that functionality is the same

OLD (when emoji panel opened)
old

OPTIMIZED (when emoji panel opened)
optimized

Quality Checklist

  • Changes have been tested locally
  • Documentation has been updated (if required)
  • Performance impact has been considered
  • For SDK features: Test scene is included

Code Review Reference

Please review our Branch & PR Standards before submitting. It explains the automated review flow, QA/DEV approval requirements, and what each label does — especially useful for first-time contributors.

@biotech77 biotech77 self-assigned this May 15, 2026
@biotech77 biotech77 requested review from a team as code owners May 15, 2026 12:16
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 15, 2026

@biotech77 biotech77 changed the title Feat/emoji superscroll feat:emoji superscroll May 15, 2026
@biotech77 biotech77 changed the title feat:emoji superscroll feat: emoji superscroll May 15, 2026
@biotech77
Copy link
Copy Markdown
Contributor Author

@claude review

1 similar comment
@biotech77
Copy link
Copy Markdown
Contributor Author

@claude review

@balducciv
Copy link
Copy Markdown

balducciv commented May 18, 2026

✅ PR reviewed and approved by QA on both platforms following the PR test instructions.
✅ Smoke test performed on Windows and Mac to verify the normal flow is working as expected.

Build: v0.148.0-alpha-feat/emoji-superscroll-17f765a
OS: Windows 11 (10.0.26200) / macOS 15.7.4 (Apple M3 Pro)

Test results:

Unrelated errors noted (do not affect verdict):

  • GPUInstancerPro NullReferenceException — GPU occlusion culling error, recurring noise across builds (both platforms)
  • Curl error 42: Callback aborted — network cleanup on session transitions, recurring noise
  • SidebarController / MinimapController dispose-time NullReferenceException — shutdown race condition, recurring noise
  • EventsApiException: Error fetching events (Windows) — events API fetch failure, unrelated to this PR

Minor observation (non-blocking):

  • On Mac, a NullReferenceException occurs at dispose time inside SuperScrollView.LoopListView2.UpdateContentSize → called from EmojiPanelPresenter.Dispose(). This is a cleanup race where the RectTransform is already destroyed when the list tries to update its content size during shutdown. Functionally benign — does not affect runtime behavior — but worth noting for the author since it's in the new SuperScrollView integration code.

Verdict: PASS ✅

Evidence

Mac
Player.log

18.05.2026_10.54.57_REC.PR-8430.mp4
18.05.2026_10.30.51_REC.Pr.8430.mp4

Windows:

Player windows emoji.log

18.05.2026_10.54.55_REC.PR.8430.mp4

Tested by @DafGreco

20260518-1337-50.3728571.mp4

@biotech77
Copy link
Copy Markdown
Contributor Author

@claude review

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented May 20, 2026

Claude Code is working…

I'll analyze this and get back to you.

View job run

Comment on lines +67 to +75
if (isVisible)
EnsureInitialized();

if (!isVisible)
{
HideTooltip();
view.BlurSearchInput();
view.ClearSearchText();
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (isVisible)
EnsureInitialized();
if (!isVisible)
{
HideTooltip();
view.BlurSearchInput();
view.ClearSearchText();
}
if (isVisible)
EnsureInitialized();
else
{
HideTooltip();
view.BlurSearchInput();
view.ClearSearchText();
}

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants