Release 2.6.2#1782
Conversation
OSXFullScreenAdapter extends com.apple.eawt.FullScreenAdapter, a sealed JDK class. On JDK 17+ the module system rejects the subclass at load time with "IllegalAccessError: superclass access check failed" unless java.desktop/com.apple.eawt is opened to the unnamed module. - Add --add-opens/--add-exports for java.desktop/com.apple.eawt(.event) to the run, runDebug, and runTest Gradle tasks. - Add Add-Opens/Add-Exports manifest attributes to the shaded jar so packaged launches via \`java -jar\` also work.
The undecorated splash screen had a few small UX rough edges: - Status/sub-action/error-summary text was rendered with JLabel, so users could not select or copy it (useful when reporting a startup error). - The frame has no titlebar, so there was no way to move the splash out of the way during long downloads. Changes: - Swap the action / subAction JLabels for non-editable JTextFields and the error summary JLabel for a JTextArea; keep the same visual style. - Strip the HTML wrapper from the error summary now that JTextArea handles wrapping natively. - Make the "Did you know?" fact area focusable so its text can also be selected. - Install a mouse press/drag listener on the root panel and logo so the splash window can be repositioned. Text components consume their own mouse events, so selection still works.
Signed-off-by: Levente Kurusa <lev@xarp.us>
…FocusGrab dispatchWithoutFocusGrab unconditionally called canvas.setFocusable(false) around every synthetic mouse dispatch to neuter Jagex's MOUSE_PRESSED focus-grab. That works when the canvas is NOT the focus owner. But when the user is typing in the in-game chat, the canvas IS the focus owner, and setFocusable(false) on a focused component immediately transfers focus away to the parent container - the opposite of the method's intent. Result: every bot click stole focus from the chat input mid-keystroke. Fix: only toggle setFocusable when the canvas is not already the focus owner. When the canvas already owns focus, requestFocus inside Jagex's listener is a no-op anyway, so the guard is unnecessary.
Fix/macos launcher and splash
…rity fix(mouse): preserve chat-input focus in VirtualMouse.dispatchWithoutFocusGrab
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Caution Review failedPull request was closed or merged during review WalkthroughThis PR updates Microbot to version 2.6.2 with a coordinated set of changes reflecting game content updates and client enhancements. The update includes bumping the project version, removing legacy dependencies, adding macOS JVM module access flags to the build configuration, extending the game ID constant schema across ItemID, NpcID, ObjectID, DBTableID, InterfaceID, and VarbitID files, adding rune pouch drag-delay support to AntiDragPlugin, updating beginner map clue coordinates, refactoring interface sprite references, improving SplashScreen text selectability, fixing focus handling in VirtualMouse, configuring QuantityFormatter rounding behavior, and adding supporting data and test coverage. Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ast-grep (0.42.2)runelite-api/src/main/java/net/runelite/api/ItemID.javarunelite-api/src/main/java/net/runelite/api/NpcID.javarunelite-api/src/main/java/net/runelite/api/NullItemID.java
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. Comment |
Summary
microbot.versionto 2.6.2developmentsince the lastmaincut, spanning walker fixes, agent-server endpoints, splash/mouse UX fixes, macOS Java flags, and questhelper improvementsTest plan