feat(hosts): add drag-and-drop and global subscription ordering (#6895)

Hosts already had one saved order on the Hosts page, but subscriptions honoured
it only inside each inbound, so a host of a later inbound could never come before
one of an earlier inbound (#6894). A new opt-in setting makes raw/base64,
Clash/Mihomo and JSON subscriptions follow the Hosts page order across inbounds;
the default keeps today's inbound-first output unchanged. The Hosts table gains
drag-and-drop reordering next to the Up/Down buttons, on a pointer-reorder hook
the Routing Rules table now shares.
This commit is contained in:
Hamed
2026-10-24 08:57:47 +03:30
committed by GitHub
parent a69ae2b0ea
commit 136c1c4d50
51 changed files with 1643 additions and 149 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

+11 -1
View File
@@ -350,6 +350,10 @@
"subHideSettings": {
"type": "boolean"
},
"subHostSortMode": {
"example": "inbound-first",
"type": "string"
},
"subIncyAnnounceUrl": {
"type": "string"
},
@@ -705,6 +709,7 @@
"subHappTunMode",
"subHappTunType",
"subHideSettings",
"subHostSortMode",
"subIncyAnnounceUrl",
"subIncyAppAutoDetect",
"subIncyBannerBgColor",
@@ -1136,6 +1141,10 @@
"subHideSettings": {
"type": "boolean"
},
"subHostSortMode": {
"example": "inbound-first",
"type": "string"
},
"subIncyAnnounceUrl": {
"type": "string"
},
@@ -1499,6 +1508,7 @@
"subHappTunMode",
"subHappTunType",
"subHideSettings",
"subHostSortMode",
"subIncyAnnounceUrl",
"subIncyAppAutoDetect",
"subIncyBannerBgColor",
@@ -12619,7 +12629,7 @@
"tags": [
"Hosts"
],
"summary": "Set host group sort order by the position of each groupId in the array.",
"summary": "Set host group sort order by the position of each groupId in the array. IDs must be unique and refer to existing groups; omitted groups follow in their previous order.",
"operationId": "post_panel_api_hosts_reorder",
"requestBody": {
"required": true,