<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yacd-meta.git/src/components/shared/ToggleSwitch.tsx, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/yacd-meta.git/atom/src/components/shared/ToggleSwitch.tsx?h=master</id>
<link rel='self' href='http://cgit.235523.xyz/yacd-meta.git/atom/src/components/shared/ToggleSwitch.tsx?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/yacd-meta.git/'/>
<updated>2026-08-20T08:00:56Z</updated>
<entry>
<title>refactor: enable strictNullChecks</title>
<updated>2026-08-20T08:00:56Z</updated>
<author>
<name>Larvan2</name>
<email>78135608+Larvan2@users.noreply.github.com</email>
</author>
<published>2026-08-20T08:00:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/yacd-meta.git/commit/?id=8bbd6bc5b1e41120a3f3b865bf98748c7738ab99'/>
<id>urn:sha1:8bbd6bc5b1e41120a3f3b865bf98748c7738ab99</id>
<content type='text'>
Closes the last hole in `strict`. 76 sites; most were types that quietly
claimed a value could never be null while the code already coped with it, or
the reverse.

The single highest-leverage fix was StateProvider's three createContext(null)
calls, which typed the whole store as null and produced "Property 'app' does
not exist on type 'null'" in seven files.

Types corrected to match what the backend and the code actually produce,
rather than papered over:

- SubscriptionInfo's four fields, FormattedConn's startTime and the two
  SpeedCurr fields: written unconditionally at every site, never optional.
- Rule, ToggleSwitch and Selection2 marked every prop optional and then used
  all of them unconditionally; callers always pass them.
- TunPartial did not account for the optional modifier, so `tun?: ClashTunConfig`
  failed `extends ClashTunConfig` and the sub-tree was never made partial.

Behaviour changes, all of them hardening:

- buildWebSocketURL sent the literal string "undefined" as the token when no
  secret was configured. It now omits the parameter. Byte-identical output
  when a secret is present.
- The /logs, /traffic and /memory fetch fallbacks now check response.body
  before calling getReader() on it.
- ConnectionCard rendered prettyBytes(undefined) for a connection's first
  frame; getLabelColor relied on `undefined &lt; 800` being false to fall through
  to the "unavailable" colour. Both are now written out.

Verified against a live backend: 1630 proxy elements with the same latency
colour distribution, connections filter, logs streaming, config selects, all
with an empty console.
</content>
</entry>
<entry>
<title>chore: reorganize code</title>
<updated>2026-08-20T06:19:21Z</updated>
<author>
<name>Larvan2</name>
<email>78135608+Larvan2@users.noreply.github.com</email>
</author>
<published>2026-08-20T06:19:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/yacd-meta.git/commit/?id=7b2141532d28c65027d07424d4dfa3f74f5d772a'/>
<id>urn:sha1:7b2141532d28c65027d07424d4dfa3f74f5d772a</id>
<content type='text'>
</content>
</entry>
</feed>
