Skip to content

2 fixes: GameObject near window and button texture issue - #80

Open
Jellypowered wants to merge 2 commits into
Wishmaster117:mainfrom
Jellypowered:main
Open

Jellypowered wants to merge 2 commits into
Wishmaster117:mainfrom
Jellypowered:main

Conversation

@Jellypowered

@Jellypowered Jellypowered commented Sep 27, 2026 •

Copy link
Copy Markdown

Fix game-object links and buttons without textures

The Game Objects Found window displayed game-object links, but they were just text in the results list. Shift-clicking one did nothing, even though the same link worked when it appeared in a bot’s whisper. The results now use clickable labels and pass Shift-clicked links to an open chat, so they can be shared without finding the original whisper. Chat still needs to be opened first.

This also fixes a client error when enabling or disabling a button with no normal texture. The button’s state is still updated; the texture is only desaturated when one exists.

Summary by CodeRabbit

  • New Features

    • Colored hyperlinks in game object results can now be activated with Shift and a left click.
  • Bug Fixes

    • Disabling or enabling a button no longer attempts to change its appearance when its normal texture is unavailable. Button state continues to update as expected.

@coderabbitai

coderabbitai Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: Wishmaster117/MultiBot-Chatless/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 107aeca0-0dc1-4221-b91f-751b8a62dcbe

📥 Commits

Reviewing files that changed from the base of the PR and between 1eac0d9 and 390af39.

📒 Files selected for processing (2)
  • Core/MultiBotEngine.lua
  • UI/MultiBotGameObjectResultsFrame.lua

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

Button state methods now guard against missing normal textures. Result labels with colored hyperlinks now support Shift-left-click activation.

Changes

Button State Updates

Layer / File(s) Summary
Guard button texture updates
Core/MultiBotEngine.lua
setDisable and setEnable skip desaturation changes when the normal texture is absent. Both methods still update the button state and return the button.

Result Label Links

Layer / File(s) Summary
Create and activate hyperlink labels
UI/MultiBotGameObjectResultsFrame.lua
addLabel creates an InteractiveLabel for text with a colored hyperlink. A Shift-left-click forwards the link to ChatFrame_OnHyperlinkShow when available; otherwise, it attempts insertion with ChatEdit_InsertLink. Other text uses a regular label.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Sequence Diagram(s)

sequenceDiagram
  actor User
  participant addLabel
  participant InteractiveLabel
  participant ChatFrame_OnHyperlinkShow
  participant ChatEdit_InsertLink
  addLabel->>InteractiveLabel: Create label for colored hyperlink
  User->>InteractiveLabel: Shift-left-click link
  alt ChatFrame_OnHyperlinkShow is available
    InteractiveLabel->>ChatFrame_OnHyperlinkShow: Forward link
  else ChatFrame_OnHyperlinkShow is unavailable
    InteractiveLabel->>ChatEdit_InsertLink: Attempt formatted link insertion
  end
Loading

Suggested reviewers: wishmaster117

Merge Risk: ⚪ Minimal · up to 390af

The button and result-link changes show no concrete behavior issue requiring resolution before merge.

Security Architecture Review

Security architecture risk: 🔵 Low · up to 390af

Links in search results require a Shift-left-click before they reach chat. Similar links were already available in bot whispers. The additional route warrants care, but no new command authority or confirmed security bypass was found.

Retained concerns

  • Low · security · inferred: The new results-window callback forwards bot-provided hyperlink types to the client chat handler without restricting them to game-object links. Shift-left-click limits reachability, and comparable links already worked in whispers; the additional exposure is the retained-results route, not a demonstrated privilege bypass.
Security review details

Security Blast Radius

  • inferred — The identified new exposure is a user clicking a stored bot-provided link in the local results window. The inspected path does not establish broader service, tenant, or credential reach.

Security Findings and Attack Paths

  • inferred — A bot-provided string matching the colored-link pattern can be passed to the chat hyperlink handler after a Shift-left-click. The resulting behavior for arbitrary link types is unverified; this is not a confirmed exploit.

Trust Boundaries and Controls

  • observed — The callback checks for a left click and Shift before forwarding a link, but its link-pattern match does not constrain the hyperlink type.

Resilience and Maintainability Implications

  • observed — The button texture remains an optional presentation dependency: the guarded helpers still update button state, while the inspected combat caller retains its command-before-state ordering.

Hardening Proposals

  • proposed — If results are intended to expose only game-object links, constrain the forwarded link type to that format rather than accepting every colored hyperlink match.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title identifies both changes: the GameObject window fix and the button texture fix. It is related to the complete changeset, although “GameObject near window” is less precise than the implementat…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

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.

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.

1 participant