-
-
Notifications
You must be signed in to change notification settings - Fork 222
Dex Overhaul: ReflectionService Integration, Tag Support, Mobile Scrolling, RemoteSpy & New Modules #2023
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Introduces the initial set of files for the ServerNewDex plugin, including client initialization, API definitions, and modules for AboutMenu, Explorer, Properties, SettingsEditor, and supporting utilities. This sets up the foundation for the Dex client functionality within the plugin.
Deleted the ServerNewDex.rbxmx file from MainModule/Server/Plugins, removing the New Dex explorer plugin and its associated scripts and assets from the server plugins directory.
Updated ScrollBarThickness from 4/6 to 12 in multiple ScrollingFrame UI components to improve visibility and usability across the Dex client modules.
Improves code formatting, spacing, and readability in Misc_Features.luau and Explorer.lua. Refactors function definitions, table initializations, and UI element creation for better maintainability and consistency. No functional changes were made.
Implemented touch drag scrolling support in the Explorer module to improve mobile usability. The new logic detects touch input within the tree frame and allows users to scroll the list by dragging, with a threshold to distinguish between taps and drags.
This update adds tag support to the properties interface, allowing tags to be displayed and managed alongside attributes. It introduces a new 'Tags' category, displays tags for selected instances, and provides an 'Add Tag' button and tag removal functionality. Various formatting and code style improvements were also made for consistency.
Adds error handling for GetTags, prevents duplicate tags, and refines logic for displaying tag-related UI elements. Removes the RemoveTag function and comments out certain UI behaviors for tag display and add tag row, streamlining tag management and display.
Improved code formatting and structure in AboutMenu.lua for better readability and maintainability. Added 'DrewBokman' to the credits list. Updated Main.Version in init.client.lua from 'Beta 1.0.5 Adonis' to 'Beta 1.0.6 Adonis'.
|
Proof of functionality for mobile devices 2025-11-28.02-48-07.mp4 |
Deleted the test.lua file containing the implementation plan and notes for adding tag viewing and editing to Dex Explorer. This removes outdated or unnecessary documentation from the repository.
xs4u
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
from an overall look on the code, seems mostly fine, however you should fix the linter issues (as according to https://github.com/Epix-Incorporated/Adonis/actions/runs/19757574711/job/56611959671?pr=2023 you have 24 linter warnings)
...e/Server/Plugins/ServerNewDex/Dex_Client/main_NewDex/Modules/SettingsEditor/settingsInfo.lua
Show resolved
Hide resolved
Introduces a new Console app module with syntax highlighting and command execution, and a Model Viewer app module for viewing models and parts with camera controls and context menu options. Updates Explorer to support viewing models via context menu, and integrates ModelViewer into app initialization. Minor changes to init.client.lua to include new modules.
|
nice, you should fix the lint errors too though |
Refactored code for better readability and maintainability in Console, Explorer, Lib, and other modules. Improved tokenization logic in Console, updated event handling in Explorer, and enhanced utility functions in Lib. These changes address code style, robustness, and event connection consistency.
Replaces deprecated Instance.new(parent) syntax with explicit .Parent assignments for all UI elements in Console.lua and ModelViewer.lua. Updates sizing to use UDim2.fromScale and UDim2.fromOffset where appropriate. Removes unused Notebook variable from ModelViewer.lua. These changes improve code clarity and maintainability.
done |
Added a call to Main.ResetSettings() in the initialization sequence to ensure settings are initialized with DefaultSettings. This fixes a critical error that prevented dex from loading
Introduces a context switcher UI to toggle between client and server modes in the console. Server logs are now captured and can be viewed in server mode, with log polling and execution routed appropriately. Updates both client and server code to support log retrieval and execution context switching.
|
Latest commit also fixes #1801 PoF: Asset ID fix: |
Console now maintains distinct log histories for client and server modes, allowing seamless switching without losing logs. Server logs are pushed to all authorized clients via a RemoteEvent, and log history is restored when switching modes. Deprecated polling logic and unified log retrieval under a single action.
Implements up/down arrow navigation for command history in the console input box, allowing users to recall previously executed commands. Limits history to 50 entries and ensures proper cursor positioning and history index management.
Introduces a warning and confirmation dialog before executing code in the console, shown only on the first execution attempt. This helps prevent accidental or unsafe code execution by informing users of potential risks and requiring explicit confirmation.
Centralized the API dump and reflection metadata URLs into variables for easier management and reuse. Updated HttpService:GetAsync calls to use these variables.
Introduces the RemoteSpy module for client-side remote event monitoring with a UI, and adds server-side support for remote monitoring. Updates init scripts to register and initialize RemoteSpy, and implements server logic to track and broadcast remote event logs to authorized clients.
Increased the Block List Editor window width, adjusted UI element positions for better layout, ensured the window stays on top by setting DisplayOrder, and updated block list refresh logic to use a callback for automatic UI updates.
Improves code readability in RemoteSpy.lua by expanding string concatenation and conditional statements, and standardizing argument formatting. No functional changes were made; this refactor enhances maintainability and clarity.
Updated log clearing to only remove TextButton entries. Enhanced block functionality to remove all log entries and log data for a blocked remote name, and adjusted auto-scroll behavior to scroll to the bottom for new entries.
Introduces an 'Unload' button to the Dex client interface, allowing users to fully remove all Dex-related GUIs and windows. Updates button names, positions, and icons to accommodate the new button, and implements logic to destroy all relevant UI elements and the script itself when triggered.
MainModule/Server/Plugins/ServerNewDex/Dex_Client/main_NewDex/Modules/Console.lua
Show resolved
Hide resolved
xs4u
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
technically, 2 mistakes present (from what I found at least) but they aren't critical and don't affect anything, so I'd say LGTM
Eliminated a 2-second delay before starting remote monitoring in the ServerNewDex plugin initialization. This allows monitoring to begin immediately when the plugin loads.
Deleted the RemoteSpy client module and removed all references to RemoteSpy in client and server initialization, UI, and remote monitoring logic. This streamlines the codebase by eliminating the RemoteSpy feature and its associated server-side remote event and monitoring infrastructure.
|
Removed the remote spy |
Then what will Epix Agents do??? |
Shal i add it back? |
Added Data.lua for property, icon, and class order mappings. Removed obsolete API.lua and RMD.lua. Updated Explorer.lua, Properties.lua, and init scripts to use new data structure. Added RemoteSpy module.
Fix linting errors
|
Addded full reflection service support and added back remote spy with safer remote tracking only when a player is actively trying to sniff remotes. |
Moved helper functions for API and RMD data generation outside the main closure to reduce memory usage and avoid redundant closures. Updated the classIconMap in Data.lua to match RMD.xml and reflect current class mappings. Improved lazy-loading logic for API and RMD data, and replaced log calls with print/warn for server output.
Adds logic to include critical classes such as 'Player' in the API data even if they are not returned by ReflectionService:GetClasses(). This ensures that essential classes are always present for downstream consumers, with properties fetched directly from ReflectionService where possible. Also removes some debug print statements for cleaner output.
Added a list of abstract classes and ensured they are tagged as NotCreatable when building API class entries. Also updated the critical class entry to include the NotCreatable tag, preventing instantiation of these classes.
Refactored Dex to generate API and RMD data on the client using ReflectionService, reducing server bandwidth and memory usage. Removed server-side API/RMD generation logic and related data maps from the server. Updated client to locally generate and fallback to bundled API/RMD if needed. Also moved Data.lua to the client Modules directory.
Introduces a new InstanceIcons module and supporting JSON data to provide coordinate-based icon mapping for Roblox class icons. Updates Explorer and Lib modules to use the new icon system, allowing for more accurate and extensible icon display. Also updates init.client.lua to integrate InstanceIcons and use the new icon mapping in class icon retrieval.
Replaces the verbose object-based JSON icon mapping with a more compact array format in JSON.lua. Updates init.lua to build a lookup table from the new array structure, reducing memory usage and improving lookup efficiency.
Replaces the JSON array and dynamic lookup construction with a static Lua table for class icon coordinates. This simplifies the code and improves lookup performance by removing the need to iterate and build a lookup table at runtime.









✨ Summary of Changes:
• 📝 Properties Interface: Added full tag support. This includes:
• 📱 Mobile touch support for scrolling in the properties panel.
• ❌ Added a close button inside Dex to destroy/unload Dex.
• 🔧 ReflectionService Integration:
• 📦 Codebase Improvements:
• 🗑️ Removed:
• ✅ What's Working:
• 📖 Notes: