Update to v26.7.11 - #2
Conversation
|
Warning Review limit reached
Next review available in: 41 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughAdds Xray release metadata for v26.6.27 and v26.7.11, updates generated capabilities and parity manifests, prioritizes ChangesXray release and transport updates
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant XrayConfig
participant parseTransport
participant mergeJsonPreservingSource
participant URIExporter
XrayConfig->>parseTransport: provide streamSettings.method and network
parseTransport->>mergeJsonPreservingSource: preserve method-aware transport fields
mergeJsonPreservingSource->>URIExporter: provide resolved transport settings
URIExporter->>URIExporter: serialize method as URI transport type
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
src/core/compiler.ts (1)
71-76: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueSkip default
"tcp"value for the newmethodfield as well.If
compileProfileis updated to generatemethod: "tcp"by default (either now or in the future), it will bypass this skip check because onlykey === "network"is evaluated. This would result in"method": "tcp"unexpectedly leaking into the merged JSON even when the original source was completely empty of transport configurations.Consider applying the
value === "tcp"default-skip logic to bothnetworkandmethodfields to defensively maintain clean source outputs.🛠️ Proposed refactor
- if (parentKey === "streamSettings" && key === "network") { - // Method (new field) takes priority over network; don't reintroduce the - // legacy key when the source already declares the transport via method. - if (typeof source.method === "string" && source.method !== "") return true; - return value === "tcp"; - } + if (parentKey === "streamSettings" && (key === "network" || key === "method")) { + // Method (new field) takes priority over network; don't reintroduce the + // legacy key when the source already declares the transport via method. + if (key === "network" && typeof source.method === "string" && source.method !== "") return true; + return value === "tcp"; + }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/core/compiler.ts` around lines 71 - 76, Update the transport default-skip logic in the parentKey === "streamSettings" branch to cover both network and method fields: when either field has the default value "tcp", skip it unless the source explicitly declares a non-empty method. Preserve the existing behavior for non-default values and avoid leaking generated method: "tcp" into merged output.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/exporters/uris.ts`:
- Line 390: Normalize the resolved transport network to lowercase in both
appendTransportParamsFromStream (src/exporters/uris.ts:390-390) and
appendTransportToVmessPayload (src/exporters/uris.ts:430-430) before
streamSettingsForNetwork performs its lookup. Preserve the existing fallback
order and default value while ensuring uppercase methods such as “GRPC” resolve
to the lowercase settings key.
---
Nitpick comments:
In `@src/core/compiler.ts`:
- Around line 71-76: Update the transport default-skip logic in the parentKey
=== "streamSettings" branch to cover both network and method fields: when either
field has the default value "tcp", skip it unless the source explicitly declares
a non-empty method. Preserve the existing behavior for non-default values and
avoid leaking generated method: "tcp" into merged output.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: a37c6287-5b20-497c-91bf-c855d89fe9bc
📒 Files selected for processing (14)
.github/xray-ci-matrix.jsonpackage.jsonsrc/adapters/xray/generated-capabilities.tssrc/core/compiler.tssrc/exporters/uris.tssrc/importers/index.tssrc/xray-json/parity-manifest.tstests/core.test.tstests/helpers/xray-releases.tstests/parity/generator-config.test.tstests/parity/json-loader-manifest.test.tstests/parity/manifest.test.tstests/transports/method-network-fallback.test.tsxray-parity.config.ts
Xray-core 26.7.11 introduces
streamSettings.methodas the new transport-typefield, keeping
streamSettings.networkaround for backward compatibility. ThisPR updates the kit to understand the new field and refreshes parity data
accordingly.
streamSettings.methodwhen importing raw JSON andgenerating share-link URIs, falling back to
streamSettings.network, matchingXray-core's own priority (
methodwins when both are present)networkkey on round-trip when the source alreadydeclares transport via
methodv26.6.27, advance the latest generatedrelease data to
v26.7.11, and pick up the upstreamtransport_method.go/transport_finalmask.gofile split plus the newxmcfinalmask protocolmethod/networkhandling across import,compile round-trip, and URI export