Commit Graph

13 Commits

Author SHA1 Message Date
Johan Preynat db45c6d773 Rework context to actually share memory cache between middleware and handlers for all requests (#2358) 2024-06-25 14:30:38 +02:00
Samy Pessé 0d99906774 Fix crash with concurrent loading of shiki syntaxes (#2235) 2024-03-26 11:30:38 +01:00
Samy Pessé 44983f8495 Minor perf improvements to code block highlighting (#323)
* Use a singleton map when loading languages

* typing

* Lint

* Remove one trace
2024-03-22 16:43:22 +01:00
Steven H a4099dff9e Remove awaiting for local caches to set their values whilst we investigate hanging pages. (#275) 2024-03-15 13:47:31 +00:00
Samy Pessé d0eebceacf Batch request for getRevisionFile to avoid too many sub-requests (#259)
* Try approach with batching

* Improve it to support getRevision

* Fix

* Real fix

* Implement skip

* Lint
2024-03-13 18:10:07 +01:00
Samy Pessé e34b923e4a Correctly handle errors in blockFallback when inputs are running (#249)
* Correctly handle errors in blockFallback when inputs are running

* Format

* Fix case of steven
2024-03-13 12:54:49 +01:00
Samy Pessé bdbd14c560 Fix next edge runtime not liking error in logs (#247)
* Fix next edge runtime not liking error in logs

* Fix other errors
2024-03-13 11:04:43 +01:00
Samy Pessé 642e33444a More immutable cache and pre-revalidation (#229)
* Try different approach

* Revalidate before cache expires

* TS

* Only replicate to local backends

* Ensure revalidate is done only once for the same key

* Improve perf of getCacheKey

* Simplify type

* Use better method and comment

* Use it 7 days only
2024-03-11 09:35:20 +01:00
Samy Pessé 510a6f39d7 Fix revalidation and redis get (#226)
* Log

* Try to fix

* Use automaticDeserialization

* Log errors

* Ignore AbortError
2024-03-08 16:38:43 +01:00
Samy Pessé 55d1e538d9 More resilient caching and use of KV (#222)
* Add unit tests for "race"

* Reduce to 80s

* Implement a Cloudflare KV cache

* Format

* Lint

* Fix tagging of entries in KV

* No longer use HTTP cache tags

* Simplify tags to only keep 2

* Implement a blockFallback logic

* Improve the block fallback logic

* More tests

* Start introducing a always optional signal on all cache ops

* Correctly pass signal end to end

* Fix one more case and add tests

* Fix it

* Add test for error

* Fix error handling

* Simplify even more

* Improve logs

* Improve logs / measurements

* Fix timing

* Fix read cache duration and add minor tests

* Log redis time

* Change replication logic

* Fix redis errors

* Log more

* More logs and test memory first

* Improve tracing for cache backends

* Ignore all dependencies

* Log the key in the cache low level traces
2024-03-08 09:43:30 +01:00
Samy Pessé 79f420eb8e Add timeout to cache get (#221)
* Add timeout to cache get

* Reduce it to 200ms
2024-03-06 20:12:47 +01:00
Samy Pessé 46b3e461dd Fix code block highlighting resulting in shared promises (#195)
* Fix code block highlighting resulting in shared promises

* Lint

* Fix tests
2024-02-28 10:44:47 +01:00
Samy Pessé 45dd16b146 Improve caching: reduce browser caching, optimize perfs of worker cache (#148)
* Disable browser caching

* Improve cache read

* Fix

* Try using it for lookup

* Read before increment in redis

* Don't use multi

* Limit cache to 2min in cloudflare

* Cache in cloudflare but not in the browser
2024-02-13 16:09:38 +01:00