snix/users/Profpatsch/my-prelude/src
Profpatsch b1403a5e94 feat(users/Profpatsch/whatcd-resolver): add html streaming & maps
For all big page reloads, we want the `<head>` of the page to start
being transmitted even while doing database requests.

So let’s use the `Wai.ResponseStream` to do exactly that. The handler
provides the contents of `<head>`, we start streaming that, meanwhile
it calculates the `<body>` and once that is ready transmits it.

This means we can load all our static resources before the page
even starts sending any body data, meaning the css and html is already
there when we reach `</html>`.

Sweet.

The `<title>` in `artistPage` was depending on the table data, so I
moved it into a separate SELECT.

We can do all of it in parallel as well. Sweet.

~~~

This also adds static file prefetching of source maps if provided.

Change-Id: Ib824430594733b4c8e86ee1096c8afba2df1a66d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13221
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2025-03-08 12:48:37 +00:00
..
Json feat(users/Profpatsch/whatcd-resolver): implement artist refresh v0 2025-01-06 16:43:05 +00:00
Postgres feat(users/Profpatsch/whatcd-resolver): add html streaming & maps 2025-03-08 12:48:37 +00:00
Aeson.hs chore(users/Profpatsch): move utils to my-prelude 2023-07-16 20:15:49 +00:00
Arg.hs feat(users/Profpatsch/MyPrelude): add Arg 2024-05-13 16:09:24 +00:00
AtLeast.hs chore(users/Profpatsch): Update postgres module n stuff 2023-08-08 20:03:22 +00:00
Builder.hs feat(users/Profpatsch/whatcd-resolver): implement artist refresh v0 2025-01-06 16:43:05 +00:00
Comparison.hs feat(users/Profpatsch/whatcd-resolver): allow more than albums 2025-01-04 21:47:34 +00:00
Debug.hs feat(users/Profpatsch/whatcd-resolver): show json val on parse err 2025-01-04 21:47:34 +00:00
Divisive.hs feat(users/Profpatsch/my-prelude): add builder & divisible helpers 2025-01-05 21:00:11 +00:00
Json.hs feat(users/Profpatsch/whatcd-resolver): add a simple torrent parser 2025-03-06 23:41:43 +00:00
MyPrelude.hs feat(users/Profpatsch/whatcd-resolver): locally serve resources 2025-03-07 15:22:58 +00:00
Parse.hs feat(users/Profpatsch/whatcd-resolver): locally serve resources 2025-03-07 15:22:58 +00:00
Pretty.hs feat(users/Profpatsch/whatcd-resolver): implement artist refresh v0 2025-01-06 16:43:05 +00:00
RevList.hs feat(users/Profpatsch/my-prelude): add RevList 2025-03-06 23:41:43 +00:00
Seconds.hs chore(users/Profpatsch): Update postgres module n stuff 2023-08-08 20:03:22 +00:00
Test.hs chore(users/Profpatsch): move utils to my-prelude 2023-07-16 20:15:49 +00:00
Tool.hs chore(third_party/haskell): update pa packages 2023-10-15 18:58:41 +00:00
ValidationParseT.hs chore(users/Profpatsch): move utils to my-prelude 2023-07-16 20:15:49 +00:00