feat(inbounds): expose Vision testseed field with sensible default

Add a "Vision testseed" form item to the inbound modal for TCP + TLS/reality
inbounds, normalized to positive integers and defaulting to [900,500,900,256].
Apply the same default in the outbound form adapter when no valid saved seed
is present.

Replace the http/mixed snapshot assertions in inbound-defaults with explicit
field checks so generated credentials don't break the snapshots.
This commit is contained in:
MHSanaei
2026-05-28 02:33:13 +02:00
parent 1a096d72f1
commit 486ac9c28d
4 changed files with 28 additions and 19 deletions
+12 -2
View File
@@ -112,13 +112,23 @@ describe('createDefault*InboundSettings factories', () => {
it('http', () => {
const s = createDefaultHttpInboundSettings();
expect(s).toMatchSnapshot();
expect(s.allowTransparent).toBe(false);
const accounts = s.accounts ?? [];
expect(accounts).toHaveLength(1);
expect(accounts[0].user.length).toBe(8);
expect(accounts[0].pass.length).toBe(12);
expect(HttpInboundSettingsSchema.parse(s)).toEqual(s);
});
it('mixed', () => {
const s = createDefaultMixedInboundSettings();
expect(s).toMatchSnapshot();
expect(s.auth).toBe('password');
expect(s.udp).toBe(false);
expect(s.ip).toBe('127.0.0.1');
const accounts = s.accounts ?? [];
expect(accounts).toHaveLength(1);
expect(accounts[0].user.length).toBe(8);
expect(accounts[0].pass.length).toBe(12);
expect(MixedInboundSettingsSchema.parse(s)).toEqual(s);
});