Skip to content

feat: add manual server groups and Raw/provider VPN defaults - #236

Merged
yiguodev merged 22 commits into
mainfrom
dev-26.10.5-1
Oct 22, 2026
Merged

yiguodev merged 22 commits into
mainfrom
dev-26.10.5-1

Conversation

@yiguodev

Copy link
Copy Markdown
Contributor

Summary

Manual servers -> persistent groups -> saved group/member order -> backup/restore
Raw/provider VPNs -> portable TUN/DNS adaptation -> runtime tunnel DNS defaults
Android release -> preserved Kotlin coroutine JNI symbols -> working cold startup
  • Add manual-group management and Save/Cancel drag ordering. Reuse saved order in server and selection catalogs; groups organize local manual nodes without changing connection candidates.
  • Migrate database schemas 1–8 to schema 9. Extend existing version-1 backups with optional groups and ordering, preserving empty groups and compatibility with older backup files.
  • Share VPN adaptation across Raw/provider validation, editing, sharing and runtime. Supplement missing TUN/DNS settings, preserve explicit provider DNS/routing, and discard imported TUN file descriptors before validation or startup.
  • Prepare version 26.10.5+1, retain JNI-referenced Kotlin symbols in Android release builds, and surface/document Google Play review-policy errors.

Evidence

  • Before: manual servers lacked persistent folders/order, and incomplete Raw/provider profiles could fail VPN startup when required DNS settings were omitted.
    After: organization survives restart/backup, and the configuration checks plus Android VPN probes below pass with missing DNS supplemented.
  • At 16b7b464: Flutter suite passed 1,715 tests, 5 skipped; Flutter analyze, layer checks and 3 Swift runtime-environment tests passed. Android and macOS debug builds succeeded.
  • Manual-group UI flows were exercised on Android/iOS simulators and macOS at c13bcb85, including ordering, Save/Cancel and restart persistence. Backup roundtrip storage probes passed.
  • With bundled Core 26.10.17, all 24 configuration cases passed native construction and controlled loopback DNS/HTTP checks without a system VPN.
  • At 16b7b464, Android emulator VPN flows passed for Raw profiles with missing DNS, hosts-only DNS and explicit DNS, plus provider profiles with missing DNS. HTTP and DNS A/TXT probes passed, including reconnect in the same native process; source configurations remained unchanged.
  • The Android JNI startup fix was separately verified in the earlier CI release APK 26.10.4 (469), source 479a90a4: 20 bytecode/manifest checks and two cold starts with settings persistence passed.
  • git diff --check origin/main...HEAD passed.

Merge Danger

Door: one-way

Opening an existing database migrates it to schema 9; reverting the application alone does not downgrade it. Backup protocol remains version 1, but older clients cannot preserve organization fields when rewriting backups.

Blast Radius: application

Changes affect persistent assets/restore, server catalogs, Raw/provider VPN configuration and Android release shrinking/upload behavior. Apple device VPN, Windows/Linux device networking, cloud backup authorization and IPv6 HTTP acceptance were not exercised; no macOS VPN was started.

Copilot AI balanced review requested due to automatic review settings October 22, 2026 04:58
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-22T07:07:11.017949Z 01a9d01 New commits
🔒 Security Review ✅ Completed 2026-10-22T07:09:29.670165Z 01a9d01 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

Copilot AI balanced review requested due to automatic review settings October 22, 2026 05:46

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

Copilot AI balanced review requested due to automatic review settings October 22, 2026 06:10

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 18bc620317

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread lib/service/shared/xray/vpn_config.dart Outdated
Copilot AI balanced review requested due to automatic review settings October 22, 2026 07:02

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@yiguodev
yiguodev merged commit 89edda9 into main Oct 22, 2026
1 check passed
@yiguodev
yiguodev deleted the dev-26.10.5-1 branch October 22, 2026 07:43
Sign up for free to 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.

2 participants