nsarrazin commited on
Commit
47f81d6
·
1 Parent(s): 67302d2

fix: clamp update bouncer

Browse files
src/lib/components/chat/MarkdownRenderer.svelte CHANGED
@@ -1,7 +1,7 @@
1
  <script lang="ts">
2
  import type { WebSearchSource } from "$lib/types/WebSearch";
3
  import { processTokens, processTokensSync, type Token } from "$lib/utils/marked";
4
- import MarkdownWorker from "$lib/workers/markdownWorker?worker";
5
  import CodeBlock from "../CodeBlock.svelte";
6
  import type { IncomingMessage, OutgoingMessage } from "$lib/workers/markdownWorker";
7
  import { browser } from "$app/environment";
@@ -66,7 +66,8 @@
66
  });
67
 
68
  onMount(() => {
69
- worker = browser && window.Worker ? new MarkdownWorker() : null;
 
70
 
71
  DOMPurify.addHook("afterSanitizeAttributes", (node) => {
72
  if (node.tagName === "A") {
 
1
  <script lang="ts">
2
  import type { WebSearchSource } from "$lib/types/WebSearch";
3
  import { processTokens, processTokensSync, type Token } from "$lib/utils/marked";
4
+ // import MarkdownWorker from "$lib/workers/markdownWorker?worker";
5
  import CodeBlock from "../CodeBlock.svelte";
6
  import type { IncomingMessage, OutgoingMessage } from "$lib/workers/markdownWorker";
7
  import { browser } from "$app/environment";
 
66
  });
67
 
68
  onMount(() => {
69
+ // todo: fix worker, seems to be transmitting a lot of data
70
+ // worker = browser && window.Worker ? new MarkdownWorker() : null;
71
 
72
  DOMPurify.addHook("afterSanitizeAttributes", (node) => {
73
  if (node.tagName === "A") {
src/lib/utils/updates.ts CHANGED
@@ -11,7 +11,11 @@ class UpdateDebouncer {
11
  if (this.lastRenderTimes.length === 0) {
12
  return 50;
13
  }
14
- return Math.max(...this.lastRenderTimes) * 3;
 
 
 
 
15
  }
16
 
17
  public startRender() {
 
11
  if (this.lastRenderTimes.length === 0) {
12
  return 50;
13
  }
14
+
15
+ const averageTime =
16
+ this.lastRenderTimes.reduce((acc, time) => acc + time, 0) / this.lastRenderTimes.length;
17
+
18
+ return Math.min(averageTime * 3, 500);
19
  }
20
 
21
  public startRender() {