mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-09-06 05:28:34 +00:00
Adding a node imports nothing; its pre-existing inbounds only become central rows on the first clean traffic-sync tick. But any save of the node (switching sync mode, picking tags after "Load inbounds from node") marks it config-dirty, and the next tick then ran ReconcileNode before that first adoption: with zero central rows the delete sweep saw every remote tag as undesired and destroyed the node's real inbounds - in "all" mode all of them - disconnecting live clients with no confirmation, and the master then reported "record not found". Track the first completed clean sync in nodes.inbounds_adopted_at and skip the sweep (pushes still run) until it is set, so "absent locally" can no longer be conflated with "deleted on the master". A node that has synced before still sweeps normally, including the offline last-inbound-deleted case. Existing nodes are seeded as adopted on upgrade to keep their behavior unchanged. Closes #5898 |
||
|---|---|---|
| .. | ||
| model | ||
| api_token_timestamp_test.go | ||
| db.go | ||
| db_seed_test.go | ||
| db_settled_test.go | ||
| dialect.go | ||
| dump_sqlite.go | ||
| dump_sqlite_test.go | ||
| host_migration_test.go | ||
| host_test.go | ||
| inbound_dedupe_test.go | ||
| inbound_port_unique_migration_test.go | ||
| index_tags_test.go | ||
| migrate_data.go | ||
| migrate_data_test.go | ||
| mtproto_migration_test.go | ||
| settings_index_test.go | ||
| traffic_overflow_repair_test.go | ||
| wireguard_migration_test.go | ||