RSNewWebUI/webui-src
jolavillette 543a65f210 webui v142: stop three request storms that only hurt on a phone
Every JSON API answer carries `Connection: close` and the server runs its
service on a single thread, so each request costs a full TCP handshake and they
are answered one at a time. Over loopback a round trip is 0.1 ms and none of
this shows; over WiFi or 4G it is 20 to 80 ms and the three patterns below turn
into seconds of blank screen.

Chat room list: one getChatLobbyInfo per subscribed room, and nothing was
painted until the last answer arrived -- then only did the public room list get
asked for. Paint each room as it lands and start the public list immediately.

Forum post bodies: loadPostContent() is called from the view, and the body stays
null for the whole round trip, so every redraw fired the same getForumContent
again -- and each of the other posts' answers causes a redraw. An open thread
multiplied one request per post into one per post per redraw. Guarded by an
in-flight set, kept on failure so an unavailable post is asked for once per
visit rather than forever.

Chat history preload: two getMessages per known identity, hundreds of them at
once, filling the browser's six sockets and the single service thread while the
user waits for something else. Run four at a time. The duplicated response
handling of the two branches is now one function.
2026-08-16 13:05:57 +02:00
..
app webui v142: stop three request storms that only hurt on a phone 2026-08-16 13:05:57 +02:00
assets feat: remove google font and use local font included with webui 2024-01-15 00:05:19 +05:30
make-src build: drop build.ps1 and keep the standard sass pipeline 2026-08-08 17:10:58 +02:00
.editorconfig fix: navbar heading icon 2024-01-15 00:06:11 +05:30
.nvmrc build: modernize WebUI build and lint tooling 2026-08-02 20:46:00 +05:30
.prettierrc Fix misplaced braces in lint config (#31) 2021-04-18 16:58:36 +05:30
eslint.config.mjs build: modernize WebUI build and lint tooling 2026-08-02 20:46:00 +05:30
index.html feat: remove google font and use local font included with webui 2024-01-15 00:05:19 +05:30
package-lock.json build: modernize WebUI build and lint tooling 2026-08-02 20:46:00 +05:30
package.json build: make lint independent of generated output 2026-08-03 12:55:13 +05:30
styles.css Fixes for phones 2026-08-16 12:06:20 +02:00