Skip to content

Direct NMS packets under net.opmasterleo.packet - #1

Merged
OPmasterLEO merged 8 commits into
mainfrom
cursor/nms-packet-optimization-d32c
Aug 12, 2026
Merged

Direct NMS packets under net.opmasterleo.packet#1
OPmasterLEO merged 8 commits into
mainfrom
cursor/nms-packet-optimization-d32c

Conversation

@OPmasterLEO

@OPmasterLEOOPmasterLEO commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Removes Netty pipeline injection and does not reimplement menu/container/sign packets that PacketUxUi and SignGUI already own. Play packets whose layout actually breaks across versions are built with direct NMS (CraftPlayer.getHandle(), ServerPlayer.connection.send, Clientbound* / PacketPlayOut*) in shared adapters instead of per-bucket copies.

Package

All code lives under net.opmasterleo.packet.

Changes

  • Drop Netty channel injectors; skip PacketUxUi / SignGUI packet duplication
  • Shared modern NMS packet factory + PacketWrap
  • Spec objects for addEntity / addTextDisplay (Codacy parameter-list limits)
  • Public metadata field access only (no setAccessible)
  • Custom Bukkit events with NMS handles
  • ./gradlew publish / publishSnapshot, pinned Actions SHAs in workflows
  • Paper API version via gradle.properties (paperApiVersion)

Verification

  • ./gradlew :nms-api:test :api:compileJava :plugin:compileJava
  • ./gradlew :nms:v1_20_R4:compileJava
Open in WebOpen in Cursor

…licates
Drop Netty pipeline injection and menu/container/sign packets already
handled by PacketUxUi and SignGUI. Construct version-breaking play
packets with net.minecraft Clientbound*/PacketPlayOut* in shared
adapters, wrap handles in PacketWrap, and fire CraftBukkit/Paper-backed
custom events with ServerPlayer handles.
Co-authored-by: OPmasterLEO <OPmasterLEO@users.noreply.github.com>
@codacy-production

codacy-productionBot commented Aug 12, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics721 complexity · 30 duplication

MetricResults
Complexity721
Duplication30

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Move all sources, Gradle group, module name, plugin main, and shared
NMS package rewriting off org.mastersmp.packet.
Co-authored-by: OPmasterLEO <OPmasterLEO@users.noreply.github.com>
@cursorcursorBot changed the title Direct NMS packets without Netty or PacketUxUi duplicatesDirect NMS packets under net.opmasterleo.packetAug 12, 2026
cursoragentand others added 6 commits August 12, 2026 21:15
Collapse addEntity/addTextDisplay into PacketViews specs, read public
metadata accessors without setAccessible, pin GitHub Actions to commit
SHAs, and load the Paper API version from gradle.properties.
Co-authored-by: OPmasterLEO <OPmasterLEO@users.noreply.github.com>
Use Gson/Legacy Adventure serializers instead of PlainText/PaperAdventure,
String getLore/setLore for Spigot ItemMeta, reflective PacketPlayOutBlockChange
construction for 1.16.1, and add legacy serializer deps to mid modules.
Co-authored-by: OPmasterLEO <OPmasterLEO@users.noreply.github.com>
Use string switches and Reflect helpers so modern shared sources compile
across STAB enum drift, SetTime constructor changes, and private ChunkPos.
Co-authored-by: OPmasterLEO <OPmasterLEO@users.noreply.github.com>
26.2 moved built-in entity type fields from EntityType to EntityTypes.
Look up ARMOR_STAND/TEXT_DISPLAY reflectively so modern shared sources
compile across both layouts.
Co-authored-by: OPmasterLEO <OPmasterLEO@users.noreply.github.com>
Split 26.1/26.2 packet bridges to use EntityType vs EntityTypes and
direct SetTime(Map) constructors, removing Class.forName entityType
lookup and high-NPath constructSetTime from Reflect.
Co-authored-by: OPmasterLEO <OPmasterLEO@users.noreply.github.com>
@OPmasterLEO
OPmasterLEO marked this pull request as ready for review August 12, 2026 22:34
CopilotAI lite review requested due to automatic review settings August 12, 2026 22:34
@OPmasterLEO
OPmasterLEO merged commit da24194 into mainAug 12, 2026
5 checks passed

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR migrates PacketAPI to the net.opmasterleo.packet namespace and shifts packet sending/listening to a “direct NMS” model (via CraftPlayer#getHandle() and ServerPlayer.connection.send) by removing Netty pipeline injection and consolidating per-version packet building into shared NMS adapters.

Changes:

  • Remove Netty channel injection/listening and replace it with Bukkit events + direct NMS send pathways (PacketSendEvent, Nms* events).
  • Introduce shared NMS packet factories (SharedPacketBridge*) and a typed PacketWrap, plus metadata helpers for text displays.
  • Update Gradle build/publish setup (paper API version via gradle.properties, wrapper scripts, publishing tasks) and pin GitHub Actions SHAs.

Reviewed changes

Copilot reviewed 139 out of 142 changed files in this pull request and generated 3 comments.

Show a summary per file
FileDescription
README.mdUpdates documentation to reflect direct-NMS approach and non-duplication of menu/sign packet functionality.
plugin/src/main/resources/plugin.ymlUpdates plugin main class package and description.
plugin/src/main/java/net/opmasterleo/packet/plugin/PacketPlugin.javaMigrates plugin entrypoint to new package and registers NMS player listener.
plugin/src/main/java/net/opmasterleo/packet/plugin/NmsPlayerListener.javaAdds Bukkit→custom-event bridging for join/quit/swing/unknown-entity interactions.
plugin/build.gradle.ktsRemoves Netty dependency and uses paperApiVersion property.
nms/v26_2/src/main/java/net/opmasterleo/packet/nms/v26_2/Adapter.javaPackage migration for the 26.2 adapter.
nms/v26_2/build.gradle.ktsUpdates nmsEra to modern26_2.
nms/v26_1/src/main/java/net/opmasterleo/packet/nms/v26_1/Adapter.javaPackage migration for the 26.1 adapter.
nms/v1_21_R7/src/main/java/net/opmasterleo/packet/nms/v1_21_R7/Adapter.javaPackage migration for the 1.21 R7 adapter.
nms/v1_21_R6/src/main/java/net/opmasterleo/packet/nms/v1_21_R6/Adapter.javaPackage migration for the 1.21 R6 adapter.
nms/v1_21_R5/src/main/java/net/opmasterleo/packet/nms/v1_21_R5/Adapter.javaPackage migration for the 1.21 R5 adapter.
nms/v1_21_R4/src/main/java/net/opmasterleo/packet/nms/v1_21_R4/Adapter.javaPackage migration for the 1.21 R4 adapter.
nms/v1_21_R3/src/main/java/net/opmasterleo/packet/nms/v1_21_R3/Adapter.javaPackage migration for the 1.21 R3 adapter.
nms/v1_21_R2/src/main/java/net/opmasterleo/packet/nms/v1_21_R2/Adapter.javaPackage migration for the 1.21 R2 adapter.
nms/v1_21_R1/src/main/java/net/opmasterleo/packet/nms/v1_21_R1/Adapter.javaPackage migration for the 1.21 R1 adapter.
nms/v1_20_R4/src/main/java/net/opmasterleo/packet/nms/v1_20_R4/Adapter.javaPackage migration for the 1.20 R4 adapter.
nms/v1_20_R3/src/main/java/net/opmasterleo/packet/nms/v1_20_R3/Adapter.javaPackage migration for the 1.20 R3 adapter.
nms/v1_20_R3/build.gradle.ktsRemoves Netty deps and adjusts serializer dependency.
nms/v1_20_R2/src/main/java/net/opmasterleo/packet/nms/v1_20_R2/Adapter.javaPackage migration for the 1.20 R2 adapter.
nms/v1_20_R2/build.gradle.ktsRemoves Netty deps and adjusts serializer dependency.
nms/v1_20_R1/src/main/java/net/opmasterleo/packet/nms/v1_20_R1/Adapter.javaPackage migration for the 1.20 R1 adapter.
nms/v1_20_R1/build.gradle.ktsRemoves Netty deps and adjusts serializer dependency.
nms/v1_19_R3/src/main/java/net/opmasterleo/packet/nms/v1_19_R3/Adapter.javaPackage migration for the 1.19 R3 adapter.
nms/v1_19_R3/build.gradle.ktsRemoves Netty deps and adjusts serializer dependency.
nms/v1_19_R2/src/main/java/net/opmasterleo/packet/nms/v1_19_R2/Adapter.javaPackage migration for the 1.19 R2 adapter.
nms/v1_19_R2/build.gradle.ktsRemoves Netty deps and adjusts serializer dependency.
nms/v1_19_R1/src/main/java/net/opmasterleo/packet/nms/v1_19_R1/Adapter.javaPackage migration for the 1.19 R1 adapter.
nms/v1_19_R1/build.gradle.ktsRemoves Netty deps and adjusts serializer dependency.
nms/v1_18_R2/src/main/java/net/opmasterleo/packet/nms/v1_18_R2/Adapter.javaPackage migration for the 1.18 R2 adapter.
nms/v1_18_R2/build.gradle.ktsRemoves Netty deps and adjusts serializer dependency.
nms/v1_18_R1/src/main/java/net/opmasterleo/packet/nms/v1_18_R1/Adapter.javaPackage migration for the 1.18 R1 adapter.
nms/v1_18_R1/build.gradle.ktsRemoves Netty deps and adjusts serializer dependency.
nms/v1_17_R1/src/main/java/net/opmasterleo/packet/nms/v1_17_R1/Adapter.javaPackage migration for the 1.17 R1 adapter.
nms/v1_17_R1/build.gradle.ktsRemoves Netty deps and adjusts serializer dependency.
nms/v1_16_R3/src/main/java/net/opmasterleo/packet/nms/v1_16_R3/Adapter.javaPackage migration for the 1.16 R3 adapter.
nms/v1_16_R3/build.gradle.ktsRemoves Netty dependency for legacy bucket.
nms/v1_16_R2/src/main/java/net/opmasterleo/packet/nms/v1_16_R2/Adapter.javaPackage migration for the 1.16 R2 adapter.
nms/v1_16_R2/build.gradle.ktsRemoves Netty dependency for legacy bucket.
nms/v1_16_R1/src/main/java/net/opmasterleo/packet/nms/v1_16_R1/Adapter.javaPackage migration for the 1.16 R1 adapter.
nms/v1_16_R1/build.gradle.ktsRemoves Netty dependency for legacy bucket.
nms/shared-sources.gradle.ktsUpdates shared-source package rewriting and adds modern era variants.
nms-shared/world/modern/SharedWorldBridge.javaUpdates package/imports and hardens chunk position extraction.
nms-shared/world/mid/SharedWorldBridge.javaUpdates package/imports for mid adapters.
nms-shared/world/legacy/SharedWorldBridge.javaUpdates package/imports for legacy adapters.
nms-shared/Reflect.javaUpdates package and expands reflection helpers (field/set/construct/static invoke).
nms-shared/player/modern/SharedPlayerBridge.javaDirect NMS send/connection checks; adds entityId/level helpers.
nms-shared/player/mid/SharedPlayerBridge.javaDirect NMS send/connection checks; adds entityId helper.
nms-shared/player/legacy/SharedPlayerBridge.javaDirect NMS send/connection checks; adds entityId/level helpers.
nms-shared/packet/modern26/SharedPacketBridge.javaAdds modern26-specific packet factory implementation.
nms-shared/packet/modern26_2/SharedPacketBridge.javaAdds modern26_2-specific packet factory implementation.
nms-shared/packet/modern/SharedPacketBridge.javaExpands modern shared packet factory and removes container/menu packet duplication.
nms-shared/packet/mid/SharedPacketBridge.javaReworks mid shared packet factory to direct constructors for supported packets.
nms-shared/packet/legacy/SharedPacketBridge.javaReworks legacy shared packet factory to direct constructors/field sets without Netty.
nms-shared/menu/modern/SharedMenuBridge.javaPackage/import migration for modern menu bridge.
nms-shared/menu/mid/SharedMenuBridge.javaPackage/import migration for mid menu bridge.
nms-shared/menu/legacy/SharedMenuBridge.javaPackage/import migration for legacy menu bridge.
nms-shared/item/modern21_5/SharedItemBridge.javaPackage/import migration for modern21_5 item bridge.
nms-shared/item/modern/SharedItemBridge.javaPackage/import migration for modern item bridge.
nms-shared/item/mid/SharedItemBridge.javaChanges lore handling to legacy-string serialization for mid adapters.
nms-shared/item/legacy/SharedItemBridge.javaChanges lore handling to legacy-string serialization for legacy adapters.
nms-shared/connection/modern/SharedConnectionBridge.javaRemoves Netty channel access and exposes NMS connection/listener/latency.
nms-shared/connection/mid/SharedConnectionBridge.javaRemoves Netty channel access and exposes NMS connection/listener/latency with reflection fallbacks.
nms-shared/connection/legacy/SharedConnectionBridge.javaRemoves Netty channel access and exposes NMS connection/listener/latency.
nms-shared/adapter/modern/SharedMetadataBridge.javaAdds modern metadata bridge using public Mojang-mapped accessors (no setAccessible).
nms-shared/adapter/modern/SharedComponentBridge.javaPackage/import migration for modern component bridge.
nms-shared/adapter/modern/AbstractNmsAdapter.javaRemoves PacketWrapper/Netty integration and wires in MetadataBridge.
nms-shared/adapter/mid/SharedComponentBridge.javaSwitches mid component conversion to JSON serializer and legacy section heuristics.
nms-shared/adapter/mid/AbstractNmsAdapter.javaPackage/import migration for mid adapter base.
nms-shared/adapter/legacy/SharedComponentBridge.javaAdjusts legacy heuristics to legacy section serializer.
nms-shared/adapter/legacy/AbstractNmsAdapter.javaPackage/import migration for legacy adapter base.
nms-shared/wrapper/modern/SharedPacketWrapper.javaRemoves Netty-based packet wrapper/injector implementation.
nms-api/src/test/java/net/opmasterleo/packet/nms/packet/PacketWrapTest.javaAdds unit tests for PacketWrap direction/type behavior.
nms-api/src/test/java/net/opmasterleo/packet/nms/AdapterLoaderTest.javaAdds tests for version normalization and bucket mapping.
nms-api/src/main/java/org/mastersmp/packet/nms/PlayerBridge.javaRemoves old org.mastersmp PlayerBridge.
nms-api/src/main/java/org/mastersmp/packet/nms/PacketWrapper.javaRemoves old Netty-based PacketWrapper API.
nms-api/src/main/java/org/mastersmp/packet/nms/PacketBridge.javaRemoves old broad PacketBridge API.
nms-api/src/main/java/org/mastersmp/packet/nms/packet/PacketViews.javaRemoves old PacketViews model.
nms-api/src/main/java/org/mastersmp/packet/nms/ConnectionBridge.javaRemoves old ConnectionBridge that exposed Netty channel.
nms-api/src/main/java/net/opmasterleo/packet/nms/WorldBridge.javaPackage migration for WorldBridge.
nms-api/src/main/java/net/opmasterleo/packet/nms/RandomBridge.javaRefactors weighted-pick overload to avoid nested stream/map call.
nms-api/src/main/java/net/opmasterleo/packet/nms/ProtocolProbe.javaPackage migration for ProtocolProbe.
nms-api/src/main/java/net/opmasterleo/packet/nms/PlayerBridge.javaAdds expanded PlayerBridge API (entityId/level defaults).
nms-api/src/main/java/net/opmasterleo/packet/nms/PacketBridge.javaIntroduces direct-NMS packet factory interface with per-era required methods.
nms-api/src/main/java/net/opmasterleo/packet/nms/packet/PlayerActionType.javaPackage migration for PlayerActionType.
nms-api/src/main/java/net/opmasterleo/packet/nms/packet/PacketWrap.javaAdds typed, zero-copy packet handle wrapper.
nms-api/src/main/java/net/opmasterleo/packet/nms/packet/PacketViews.javaAdds new spec/view model for version-sensitive packet construction.
nms-api/src/main/java/net/opmasterleo/packet/nms/packet/InteractAction.javaPackage migration for InteractAction.
nms-api/src/main/java/net/opmasterleo/packet/nms/packet/Hand.javaPackage migration for Hand.
nms-api/src/main/java/net/opmasterleo/packet/nms/packet/BlockPosView.javaPackage migration for BlockPosView.
nms-api/src/main/java/net/opmasterleo/packet/nms/NmsUnsupportedException.javaPackage migration for NmsUnsupportedException.
nms-api/src/main/java/net/opmasterleo/packet/nms/NmsAdapter.javaRemoves PacketWrapper exposure and updates metadata method signature.
nms-api/src/main/java/net/opmasterleo/packet/nms/MetadataIds.javaPackage migration for MetadataIds.
nms-api/src/main/java/net/opmasterleo/packet/nms/MetadataBridge.javaUpdates text display metadata API to accept PacketViews.TextDisplayStyle.
nms-api/src/main/java/net/opmasterleo/packet/nms/MenuBridge.javaPackage migration for MenuBridge.
nms-api/src/main/java/net/opmasterleo/packet/nms/ItemBridge.javaPackage migration for ItemBridge.
nms-api/src/main/java/net/opmasterleo/packet/nms/ConnectionBridge.javaIntroduces new ConnectionBridge without Netty exposure (connection/listener/latency/accepting).
nms-api/src/main/java/net/opmasterleo/packet/nms/ComponentBridge.javaPackage migration for ComponentBridge.
nms-api/src/main/java/net/opmasterleo/packet/nms/AdapterLoader.javaPackage migration for AdapterLoader.
nms-api/build.gradle.ktsSwitches Paper API version to property and configures JUnit platform for tests.
gradlew.batAdds Gradle wrapper script for Windows.
gradlewAdds Gradle wrapper script for POSIX.
gradle.propertiesBumps plugin version and centralizes Paper API version.
build.gradle.ktsUpdates group/module name, centralizes Paper API version, and adjusts publish task gating.
api/src/main/java/org/mastersmp/packet/packet/Packets.javaRemoves old Packets facade tied to legacy PacketBridge API.
api/src/main/java/org/mastersmp/packet/event/NMSPacketSendEvent.javaRemoves old Netty-based packet send event model.
api/src/main/java/org/mastersmp/packet/event/NMSPacketReceiveEvent.javaRemoves old Netty-based packet receive event model.
api/src/main/java/org/mastersmp/packet/event/NMSPacketEvent.javaRemoves old base event model for Netty interception.
api/src/main/java/org/mastersmp/packet/channel/PacketView.javaRemoves old Netty-based packet view wrapper.
api/src/main/java/org/mastersmp/packet/channel/PacketListenerBus.javaRemoves Netty pipeline listener bus.
api/src/main/java/org/mastersmp/packet/channel/PacketFilter.javaRemoves old outbound packet filter type.
api/src/main/java/org/mastersmp/packet/channel/PacketDirection.javaRemoves old PacketDirection type used by Netty bus.
api/src/main/java/org/mastersmp/packet/channel/PacketChannels.javaRemoves Netty channel injection abstraction.
api/src/main/java/org/mastersmp/packet/channel/OutboundPacketResult.javaRemoves outbound filter result type used by Netty bus.
api/src/main/java/org/mastersmp/packet/channel/ChannelOps.javaRemoves Netty pipeline utility helpers.
api/src/main/java/net/opmasterleo/packet/world/Worlds.javaPackage migration for world facade.
api/src/main/java/net/opmasterleo/packet/world/Levels.javaPackage migration for levels facade.
api/src/main/java/net/opmasterleo/packet/world/Entities.javaPackage migration for entities facade.
api/src/main/java/net/opmasterleo/packet/world/Dimensions.javaPackage migration for dimensions facade.
api/src/main/java/net/opmasterleo/packet/world/Chunks.javaPackage migration for chunks facade.
api/src/main/java/net/opmasterleo/packet/schedule/TaskHandle.javaPackage migration for scheduling handle.
api/src/main/java/net/opmasterleo/packet/schedule/Schedulers.javaPackage migration for scheduler facade.
api/src/main/java/net/opmasterleo/packet/schedule/PlatformDetect.javaPackage migration for platform detection.
api/src/main/java/net/opmasterleo/packet/schedule/FastScheduler.javaRemoves Netty/event-loop coalescing and cleans up static queue maps.
api/src/main/java/net/opmasterleo/packet/schedule/DirectScheduler.javaPackage migration for direct scheduler.
api/src/main/java/net/opmasterleo/packet/schedule/AsyncWorkerPool.javaPackage migration for worker pool.
api/src/main/java/net/opmasterleo/packet/schedule/AdvancedScheduler.javaRenames “off netty” helpers to entity/region thread naming.
api/src/main/java/net/opmasterleo/packet/PacketAPI.javaRemoves Netty channels/listeners exposure and migrates to new package imports.
api/src/main/java/net/opmasterleo/packet/packet/PacketTypeCache.javaPackage migration for packet type cache.
api/src/main/java/net/opmasterleo/packet/packet/Packets.javaAdds new direct-NMS send facade with PacketSendEvent hook and text display spawn bundling.
api/src/main/java/net/opmasterleo/packet/menu/Menus.javaPackage migration for menus facade.
api/src/main/java/net/opmasterleo/packet/item/Items.javaPackage migration for items facade.
api/src/main/java/net/opmasterleo/packet/event/PacketSendEvent.javaAdds event fired immediately before PacketAPI sends a packet via NMS.
api/src/main/java/net/opmasterleo/packet/event/PacketEvent.javaAdds base cancellable packet event used by PacketSendEvent.
api/src/main/java/net/opmasterleo/packet/event/NmsUnknownEntityInteractEvent.javaAdds cancellable custom event wrapping Paper unknown-entity interaction.
api/src/main/java/net/opmasterleo/packet/event/NmsSwingEvent.javaAdds cancellable custom event for swing animation without Netty intercept.
api/src/main/java/net/opmasterleo/packet/event/NmsPlayerQuitEvent.javaAdds NMS-handle quit event.
api/src/main/java/net/opmasterleo/packet/event/NmsPlayerJoinEvent.javaAdds NMS-handle join event.
api/src/main/java/net/opmasterleo/packet/event/NmsPlayerEvent.javaAdds base NMS player lifecycle event class.
api/src/main/java/net/opmasterleo/packet/component/Components.javaPackage migration for component bridge facade.
api/build.gradle.ktsLowers toolchain to Java 21 and centralizes deps on paperApiVersion + Adventure 4.17.0.
.github/workflows/gradle-publish.ymlAdds CI workflow to build and publish snapshot artifacts with pinned action SHAs.
.github/workflows/codeql-analysis.ymlPins GitHub Actions SHAs for checkout/setup-java/codeql actions.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 126 to 129
@Override
public ItemStack applyPotion(ItemStack item, PotionType potionType) {
ItemStack copy = item.clone();
if (copy.getItemMeta() instanceof PotionMeta meta) {
meta.setBasePotionType(potionType);
copy.setItemMeta(meta);
}
return copy;
return item.clone();
}
Comment on lines 45 to 48
public int entityId(Object packet) {
Object value = invoke(packet, "getEntityId", "id", "entityId", "getId");
if (value instanceof Integer i) {
return i;
}
Object field = get(field(packet.getClass(), "id", "entityId"), packet);
return field instanceof Integer i ? i : -1;
return value instanceof Integer i ? i : -1;
}
Comment on lines +12 to +16

private static final HandlerList HANDLER_LIST = new HandlerList();

private final Player player;
private final Object playerHandle;
@OPmasterLEO
OPmasterLEO deleted the cursor/nms-packet-optimization-d32c branch August 13, 2026 12:18
Sign up for freeto 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.

4 participants

@OPmasterLEO@github-advanced-security@cursoragent