helloadhavan/github_issues huggingface dataset:
Repository: ggml-org/llama.cpp
Pull request: fix: Use `tabular-nums` for chat message statistics

This PR implements a small change to the Server WebUI that utilizes the CSS font property `font-variant-numeric: tabular-nums` using the corresponding tailwind class `tabular-nums` to reduce the jittering that can be experienced with the fast updating of the chat message statistics.

Without this property, the WebUI's font uses variable-width numerical glyphs which will make the entire statistics "jitter" visually as the model generates a response. With this property, changing individual numbers does not change the width of the various informative messages.

This makes the statistics view much more stable and visually less stressful (?) when the model generates tokens.

## Changes

* Added the tailwind class `tabular-nums` to the `info` container of the assistant message component

### Before

https://github.com/user-attachments/assets/718c7b0a-e63e-4045-8f89-dacab19219b4

### After

https://github.com/user-attachments/assets/cd8c3d96-f291-49d4-8e98-42a4dad96244


Changed files:
filename: tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageAssistant.svelte
patch: @@ -249,7 +249,7 @@
 		</div>
 	{/if}
 
-	<div class="info my-6 grid gap-4">
+	<div class="info my-6 grid gap-4 tabular-nums">
 		{#if displayedModel()}
 			<div class="inline-flex flex-wrap items-start gap-2 text-xs text-muted-foreground">
 				{#if isRouter}
Repository: facebook/react
Pull request: Turn on useModernStrictMode in test renderers

It's on everywhere else, let's turn this on so we can remove it. 

Probably should have been turned on in the test renderer for 19.

Changed files:
filename: packages/shared/forks/ReactFeatureFlags.test-renderer.js
patch: @@ -53,7 +53,7 @@ export const enableLegacyHidden = false;
 
 export const enableTransitionTracing = false;
 
-export const useModernStrictMode = false;
+export const useModernStrictMode = true;
 export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
 export const enableFizzExternalRuntime = true;
 export const enableDeferRootSchedulingToMicrotask = true;

filename: packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
patch: @@ -55,7 +55,7 @@ export const enableLegacyHidden = false;
 
 export const enableTransitionTracing = false;
 
-export const useModernStrictMode = false;
+export const useModernStrictMode = true;
 export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
 export const enableFizzExternalRuntime = false;
 export const enableDeferRootSchedulingToMicrotask = true;
Repository: vuejs/vue
Pull request: Fix v-model warning on component

Reproduction example
https://jsfiddle.net/kazupon/h5mvxq82/6/


Changed files:
filename: src/platforms/web/runtime/directives/model.js
patch: @@ -6,6 +6,8 @@
 import { warn } from 'core/util/index'
 import { isAndroid, isIE9 } from 'web/util/index'
 
+const modelableTagRE = /^input|select|textarea|vue-component-[0-9]+(-[0-9a-zA-Z_\-]*)?$/
+
 /* istanbul ignore if */
 if (isIE9) {
   // http://www.matts411.com/post/internet-explorer-9-oninput/
@@ -20,7 +22,7 @@ if (isIE9) {
 export default {
   bind (el, binding, vnode) {
     if (process.env.NODE_ENV !== 'production') {
-      if (!/input|select|textarea/.test(vnode.tag)) {
+      if (!modelableTagRE.test(vnode.tag)) {
         warn(
           `v-model is not supported on element type: <${vnode.tag}>. ` +
           'If you are working with contenteditable, it\'s recommended to ' +

filename: test/unit/features/directives/model-component.spec.js
patch: @@ -0,0 +1,49 @@
+import Vue from 'vue'
+
+describe('Directive v-model component', () => {
+  it('should work', done => {
+    const vm = new Vue({
+      data: {
+        msg: 'hello'
+      },
+      template: `
+        <div>
+          <p>{{ msg }}</p>
+          <validate v-model="msg">
+            <input type="text">
+          </validate>
+        </div>
+      `,
+      components: {
+        validate: {
+          template: '<div><slot></slot></div>',
+          props: ['value'],
+          methods: {
+            onInput (e) {
+              // something validate ...
+              this.$emit('input', e)
+            }
+          },
+          mounted () {
+            this.$el.addEventListener('input', this.onInput)
+          },
+          destroyed () {
+            this.$el.removeEventListener('input', this.onInput)
+          }
+        }
+      }
+    }).$mount()
+    document.body.appendChild(vm.$el)
+    waitForUpdate(() => {
+      expect('v-model is not supported on element type').not.toHaveBeenWarned()
+      const input = vm.$el.querySelector('input')
+      input.value = 'world'
+      triggerEvent(input, 'input')
+    }).then(() => {
+      expect(vm.msg).toBe('world')
+    }).then(() => {
+      document.body.removeChild(vm.$el)
+      vm.$destroy()
+    }).then(done)
+  })
+})
Repository: huggingface/transformers
Pull request: fix image-to-text batch incorrect output issue

fix image to text multi-batch input , but output incorrect issue

- pipelines: @Narsil


Changed files:
filename: src/transformers/pipelines/pt_utils.py
patch: @@ -73,7 +73,7 @@ def loader_batch_item(self):
         """
         if isinstance(self._loader_batch_data, torch.Tensor):
             # Batch data is simple tensor, just fetch the slice
-            result = self._loader_batch_data[self._loader_batch_index]
+            result = self._loader_batch_data[self._loader_batch_index].unsqueeze(0)
         else:
             # Batch data is assumed to be BaseModelOutput (or dict)
             loader_batched = {}

filename: tests/pipelines/test_pipelines_image_to_text.py
patch: @@ -142,6 +142,35 @@ def test_small_model_pt_conditional(self):
         outputs = pipe(image, prompt=prompt)
         self.assertTrue(outputs[0]["generated_text"].startswith(prompt))
 
+    @require_torch
+    def test_consistent_batching_behaviour(self):
+        pipe = pipeline("image-to-text", model="hf-internal-testing/tiny-random-BlipForConditionalGeneration")
+        image = "./tests/fixtures/tests_samples/COCO/000000039769.png"
+        prompt = "a photo of"
+
+        outputs = pipe([image, image], prompt=prompt)
+        self.assertTrue(outputs[0][0]["generated_text"].startswith(prompt))
+        self.assertTrue(outputs[1][0]["generated_text"].startswith(prompt))
+
+        outputs = pipe([image, image], prompt=prompt, batch_size=2)
+        self.assertTrue(outputs[0][0]["generated_text"].startswith(prompt))
+        self.assertTrue(outputs[1][0]["generated_text"].startswith(prompt))
+
+        from torch.utils.data import Dataset
+
+        class MyDataset(Dataset):
+            def __len__(self):
+                return 5
+
+            def __getitem__(self, i):
+                return "./tests/fixtures/tests_samples/COCO/000000039769.png"
+
+        dataset = MyDataset()
+        for batch_size in (1, 2, 4):
+            outputs = pipe(dataset, prompt=prompt, batch_size=batch_size if batch_size > 1 else None)
+            self.assertTrue(list(outputs)[0][0]["generated_text"].startswith(prompt))
+            self.assertTrue(list(outputs)[1][0]["generated_text"].startswith(prompt))
+
     @slow
     @require_torch
     def test_large_model_pt(self):
Repository: ollama/ollama
Pull request: Add temporary patch for the new Mistral Tekken tokenizer

Adds a temporary patch with the Tekken pre-tokenizer (added in https://github.com/ggerganov/llama.cpp/pull/8579) until the submodule is updated

Changed files:
filename: llm/patches/10-tekken.diff
patch: @@ -0,0 +1,43 @@
+diff --git a/include/llama.h b/include/llama.h
+index bb4b05ba..a92174e0 100644
+--- a/include/llama.h
++++ b/include/llama.h
+@@ -92,6 +92,7 @@ extern "C" {
+         LLAMA_VOCAB_PRE_TYPE_CHATGLM4       = 17,
+         LLAMA_VOCAB_PRE_TYPE_VIKING         = 18,
+         LLAMA_VOCAB_PRE_TYPE_JAIS           = 19,
++        LLAMA_VOCAB_PRE_TYPE_TEKKEN         = 20,
+     };
+ 
+     // note: these values should be synchronized with ggml_rope
+diff --git a/src/llama.cpp b/src/llama.cpp
+index 18364976..435b6fe5 100644
+--- a/src/llama.cpp
++++ b/src/llama.cpp
+@@ -5429,6 +5429,12 @@ static void llm_load_vocab(
+             } else if (
+                 tokenizer_pre == "jais") {
+                 vocab.type_pre = LLAMA_VOCAB_PRE_TYPE_JAIS;
++            } else if (
++                tokenizer_pre == "tekken") {
++                vocab.type_pre = LLAMA_VOCAB_PRE_TYPE_TEKKEN;
++                vocab.tokenizer_clean_spaces = false;
++                vocab.tokenizer_ignore_merges = true;
++                vocab.tokenizer_add_bos = true;
+             } else {
+                 LLAMA_LOG_WARN("%s: missing or unrecognized pre-tokenizer type, using: 'default'\n", __func__);
+                 vocab.type_pre = LLAMA_VOCAB_PRE_TYPE_DEFAULT;
+@@ -15448,6 +15454,13 @@ struct llm_tokenizer_bpe {
+                     " ?[^(\\s|.,!?…。，、।۔،)]+",
+                 };
+                 break;
++            case LLAMA_VOCAB_PRE_TYPE_TEKKEN:
++                    // original regex from tokenizer.json
++                    // "[^\\r\\n\\p{L}\\p{N}]?[\\p{Lu}\\p{Lt}\\p{Lm}\\p{Lo}\\p{M}]*[\\p{Ll}\\p{Lm}\\p{Lo}\\p{M}]+|[^\\r\\n\\p{L}\\p{N}]?[\\p{Lu}\\p{Lt}\\p{Lm}\\p{Lo}\\p{M}]+[\\p{Ll}\\p{Lm}\\p{Lo}\\p{M}]*|\\p{N}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n/]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+"
++                regex_exprs = {
++                    "[^\\r\\n\\p{L}\\p{N}]?((?=[\\p{L}])([^a-z]))*((?=[\\p{L}])([^A-Z]))+|[^\\r\\n\\p{L}\\p{N}]?((?=[\\p{L}])([^a-z]))+((?=[\\p{L}])([^A-Z]))*|\\p{N}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n/]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
++                };
++                break;
+             default:
+                 // default regex for BPE tokenization pre-processing
+                 regex_exprs = {
Repository: facebook/react
Pull request: [compiler] Add fire to known React APIs


Makes `fire` a known export for type-based analysis

--
---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/31795).
* #31811
* #31798
* #31797
* #31796
* __->__ #31795
* #31794

Changed files:
filename: compiler/packages/babel-plugin-react-compiler/src/HIR/Globals.ts
patch: @@ -9,6 +9,7 @@ import {Effect, ValueKind, ValueReason} from './HIR';
 import {
   BUILTIN_SHAPES,
   BuiltInArrayId,
+  BuiltInFireId,
   BuiltInMixedReadonlyId,
   BuiltInUseActionStateId,
   BuiltInUseContextHookId,
@@ -468,6 +469,21 @@ const REACT_APIS: Array<[string, BuiltInType]> = [
       BuiltInUseOperatorId,
     ),
   ],
+  [
+    'fire',
+    addFunction(
+      DEFAULT_SHAPES,
+      [],
+      {
+        positionalParams: [],
+        restParam: null,
+        returnType: {kind: 'Primitive'},
+        calleeEffect: Effect.Read,
+        returnValueKind: ValueKind.Frozen,
+      },
+      BuiltInFireId,
+    ),
+  ],
 ];
 
 TYPED_GLOBALS.push(

filename: compiler/packages/babel-plugin-react-compiler/src/HIR/ObjectShape.ts
patch: @@ -213,6 +213,7 @@ export const BuiltInDispatchId = 'BuiltInDispatch';
 export const BuiltInUseContextHookId = 'BuiltInUseContextHook';
 export const BuiltInUseTransitionId = 'BuiltInUseTransition';
 export const BuiltInStartTransitionId = 'BuiltInStartTransition';
+export const BuiltInFireId = 'BuiltInFire';
 
 // ShapeRegistry with default definitions for built-ins.
 export const BUILTIN_SHAPES: ShapeRegistry = new Map();
Repository: ggml-org/llama.cpp
Pull request: common : improve error message when HTTPS is missing but required

See https://github.com/ggml-org/llama.cpp/pull/18828#issuecomment-3772486547

Changed files:
filename: common/http.h
patch: @@ -57,6 +57,17 @@ static std::pair<httplib::Client, common_http_url> common_http_client(const std:
         throw std::runtime_error("error: invalid URL format");
     }
 
+#ifndef CPPHTTPLIB_OPENSSL_SUPPORT
+    if (parts.scheme == "https") {
+        throw std::runtime_error(
+            "HTTPS is not supported. Please rebuild with:\n"
+            "  -DLLAMA_BUILD_BORINGSSL=ON\n"
+            "  -DLLAMA_BUILD_LIBRESSL=ON\n"
+            "or ensure dev files of an OpenSSL-compatible library are available when building."
+        );
+    }
+#endif
+
     httplib::Client cli(parts.scheme + "://" + parts.host);
 
     if (!parts.user.empty()) {

filename: vendor/cpp-httplib/CMakeLists.txt
patch: @@ -142,7 +142,7 @@ elseif (LLAMA_OPENSSL)
             target_link_libraries(${TARGET} PUBLIC OpenSSL::SSL OpenSSL::Crypto)
         endif()
     else()
-        message(STATUS "OpenSSL not found, SSL support disabled")
+        message(WARNING "OpenSSL not found, HTTPS support disabled")
     endif()
 endif()
Repository: facebook/react
Pull request: [compiler] Add option for firing effect functions


Config flag for `fire`

--
---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/31794).
* #31811
* #31798
* #31797
* #31796
* #31795
* __->__ #31794

Changed files:
filename: compiler/packages/babel-plugin-react-compiler/src/HIR/Environment.ts
patch: @@ -249,6 +249,8 @@ const EnvironmentConfigSchema = z.object({
    */
   enableOptionalDependencies: z.boolean().default(true),
 
+  enableFire: z.boolean().default(false),
+
   /**
    * Enables inference and auto-insertion of effect dependencies. Takes in an array of
    * configurable module and import pairs to allow for user-land experimentation. For example,

filename: compiler/packages/snap/src/compiler.ts
patch: @@ -58,6 +58,7 @@ function makePluginOptions(
   let validatePreserveExistingMemoizationGuarantees = false;
   let customMacros: null | Array<Macro> = null;
   let validateBlocklistedImports = null;
+  let enableFire = false;
   let target: CompilerReactTarget = '19';
 
   if (firstLine.indexOf('@compilationMode(annotation)') !== -1) {
@@ -129,6 +130,10 @@ function makePluginOptions(
     validatePreserveExistingMemoizationGuarantees = true;
   }
 
+  if (firstLine.includes('@enableFire')) {
+    enableFire = true;
+  }
+
   const hookPatternMatch = /@hookPattern:"([^"]+)"/.exec(firstLine);
   if (
     hookPatternMatch &&
@@ -207,6 +212,7 @@ function makePluginOptions(
       hookPattern,
       validatePreserveExistingMemoizationGuarantees,
       validateBlocklistedImports,
+      enableFire,
     },
     compilationMode,
     logger,
Repository: ollama/ollama
Pull request: preserve last assistant message

Fixes https://github.com/ollama/ollama/issues/5775

Changed files:
filename: template/template.go
patch: @@ -264,6 +264,7 @@ func (t *Template) Execute(w io.Writer, v Values) error {
 	nodes := deleteNode(t.Template.Root.Copy(), func(n parse.Node) bool {
 		if field, ok := n.(*parse.FieldNode); ok && slices.Contains(field.Ident, "Response") {
 			cut = true
+			return false
 		}
 
 		return cut
@@ -273,7 +274,7 @@ func (t *Template) Execute(w io.Writer, v Values) error {
 	if err := template.Must(template.New("").AddParseTree("", &tree)).Execute(&b, map[string]any{
 		"System":   system,
 		"Prompt":   prompt,
-		"Response": "",
+		"Response": response,
 	}); err != nil {
 		return err
 	}

filename: template/template_test.go
patch: @@ -260,6 +260,26 @@ func TestExecuteWithMessages(t *testing.T) {
 
 Hello friend!
 Hello human!
 What is your name?
 `,
 		},
+		{
+			"mistral assistant",
+			[]template{
+				{"no response", `
 {{ .Prompt }}
 `},
+				{"response", `
 {{ .Prompt }}
 {{ .Response }}`},
+				{"messages", `
+{{- range $i, $m := .Messages }}
+{{- if eq .Role "user" }}
 {{ .Content }}
 {{ else if eq .Role "assistant" }}{{ .Content }}{{ end }}
+{{- end }}`},
+			},
+			Values{
+				Messages: []api.Message{
+					{Role: "user", Content: "Hello friend!"},
+					{Role: "assistant", Content: "Hello human!"},
+					{Role: "user", Content: "What is your name?"},
+					{Role: "assistant", Content: "My name is Ollama and I"},
+				},
+			},
+			`
 Hello friend!
 Hello human!
 What is your name?
 My name is Ollama and I`,
+		},
 		{
 			"chatml",
 			[]template{
Repository: huggingface/transformers
Pull request: set model to training mode before accelerate.prepare

- trainer: @sgugger


Changed files:
filename: src/transformers/trainer.py
patch: @@ -1640,6 +1640,7 @@ def _inner_training_loop(
 
         # prepare using `accelerator` prepare
         if use_accelerator_prepare:
+            self.model.train()
             if hasattr(self.lr_scheduler, "step"):
                 if self.use_apex:
                     model = self.accelerator.prepare(self.model)
Repository: vuejs/vue
Pull request: Fixed: the "pluralize" filter with multi arguments, when selected arg…

In Vue.js `1.0.25` the "pluralize" filter returns "three"

``` js
Vue.filter('pluralize')(1, "", "two", "three") // three
```

instead of the empty string. After this fix, the "pluralize" filter returns the empty string:

``` js
Vue.filter('pluralize')(1, "", "two", "three") // ""
```


Changed files:
filename: src/filters/index.js
patch: @@ -104,9 +104,13 @@ export default {
 
   pluralize (value) {
     var args = toArray(arguments, 1)
-    return args.length > 1
-      ? (args[value % 10 - 1] || args[args.length - 1])
-      : (args[0] + (value === 1 ? '' : 's'))
+    var length = args.length
+    if (length > 1) {
+      var index = value % 10 - 1
+      return index in args ? args[index] : args[length - 1]
+    } else {
+      return args[0] + (value === 1 ? '' : 's')
+    }
   },
 
   /**

filename: test/unit/specs/filters/filters_spec.js
patch: @@ -53,6 +53,8 @@ describe('Filters', function () {
     expect(filter(2, 'st', 'nd', 'rd', 'th')).toBe('nd')
     expect(filter(3, 'st', 'nd', 'rd', 'th')).toBe('rd')
     expect(filter(4, 'st', 'nd', 'rd', 'th')).toBe('th')
+    // multi args where selected argument is empty string
+    expect(filter(1, '', 'nd', 'rd', 'th')).toBe('')
   })
 
   it('currency', function () {
Repository: vercel/next.js
Pull request: [test] Deflake legacy-link-behavior

Suspense around body will trigger "missing tags" warning if something throws in the boundary. This error can come in slightly later and cause flaky test results.

Fixes
```
● Validations for <Link legacyBehavior> › When rendering from a Client Component › warns and throws an error if the child is lazy JSX
  
      expect(received).toMatchInlineSnapshot(snapshot)
  
      Snapshot name: `Validations for <Link legacyBehavior> When rendering from a Client Component warns and throws an error if the child is lazy JSX 1`
```
-- https://github.com/vercel/next.js/actions/runs/19097617827/job/54561506584#step:34:13256


Changed files:
filename: test/e2e/legacy-link-behavior/app/layout.tsx
patch: @@ -8,11 +8,11 @@ export default async function Root({
 }) {
   return (
     <html>
-      <Suspense>
-        <Connection>
-          <body>{children}</body>
-        </Connection>
-      </Suspense>
+      <body>
+        <Suspense>
+          <Connection>{children}</Connection>
+        </Suspense>
+      </body>
     </html>
   )
 }
Repository: huggingface/transformers
Pull request: use accelerate autocast in jit eval path, since mix precision logic is…

… in accelerator currently

Fixes # (issue)
mix precision logic is all moved to accelerator, so autocast_smart_context_manager does not take effect any longer. use accelerate autocast instead




## Who can review?

Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.


- trainer: @sgugger



Changed files:
filename: src/transformers/trainer.py
patch: @@ -17,6 +17,7 @@
 """
 
 import contextlib
+import copy
 import functools
 import glob
 import inspect
@@ -143,7 +144,6 @@
     logging,
     strtobool,
 )
-from .utils.generic import ContextManagers
 
 
 DEFAULT_CALLBACKS = [DefaultFlowCallback]
@@ -1265,9 +1265,14 @@ def torch_jit_model_eval(self, model, dataloader, training=False):
             example_batch = next(iter(dataloader))
             example_batch = self._prepare_inputs(example_batch)
             try:
-                jit_model = model.eval()
-                with ContextManagers([self.autocast_smart_context_manager(cache_enabled=False), torch.no_grad()]):
-                    if version.parse(version.parse(torch.__version__).base_version) >= version.parse("1.14.0"):
+                jit_model = copy.copy(model)
+                jit_model.eval()
+                original_forward = jit_model.__dict__.pop("_original_forward", None)
+                # remove mixed precision hooks from the model
+                if original_forward:
+                    jit_model.forward = original_forward
+                with self.accelerator.autocast(cache_enabled=False), torch.no_grad():
+                    if version.parse(version.parse(torch.__version__).base_version) >= version.parse("2.0.0"):
                         if isinstance(example_batch, dict):
                             jit_model = torch.jit.trace(jit_model, example_kwarg_inputs=example_batch, strict=False)
                         else:
Repository: facebook/react
Pull request: [Flight] Sort Server Components Track Group ahead of Client Scheduler/Components Tracks

Stacked on #31735.

This ensures that Server Components Track comes first. Since it's typically rendered first on the server for initial load and then flows into scheduler and client components work. Also puts it closer to the Network and further away from "Main" JS.

<img width="769" alt="Screenshot 2024-12-11 at 5 31 41 PM" src="https://github.com/user-attachments/assets/7198db0f-075e-4a78-8ea4-3bfbf06727cb" />

Same trick as in #31615.

Changed files:
filename: packages/react-client/src/ReactFlightClient.js
patch: @@ -69,7 +69,10 @@ import {createBoundServerReference} from './ReactFlightReplyClient';
 
 import {readTemporaryReference} from './ReactFlightTemporaryReferences';
 
-import {logComponentRender} from './ReactFlightPerformanceTrack';
+import {
+  markAllTracksInOrder,
+  logComponentRender,
+} from './ReactFlightPerformanceTrack';
 
 import {
   REACT_LAZY_TYPE,
@@ -643,6 +646,7 @@ export function reportGlobalError(response: Response, error: Error): void {
     }
   });
   if (enableProfilerTimer && enableComponentPerformanceTrack) {
+    markAllTracksInOrder();
     flushComponentPerformance(getChunk(response, 0), 0, -Infinity);
   }
 }

filename: packages/react-client/src/ReactFlightPerformanceTrack.js
patch: @@ -19,6 +19,26 @@ const supportsUserTiming =
 
 const COMPONENTS_TRACK = 'Server Components ⚛';
 
+const componentsTrackMarker = {
+  startTime: 0.001,
+  detail: {
+    devtools: {
+      color: 'primary-light',
+      track: 'Primary',
+      trackGroup: COMPONENTS_TRACK,
+    },
+  },
+};
+
+export function markAllTracksInOrder() {
+  if (supportsUserTiming) {
+    // Ensure we create the Server Component track groups earlier than the Client Scheduler
+    // and Client Components. We can always add the 0 time slot even if it's in the past.
+    // That's still considered for ordering.
+    performance.mark('Server Components Track', componentsTrackMarker);
+  }
+}
+
 // Reused to avoid thrashing the GC.
 const reusableComponentDevToolDetails = {
   color: 'primary',

filename: packages/react-reconciler/src/ReactFiberPerformanceTrack.js
patch: @@ -63,7 +63,7 @@ export function setCurrentTrackFromLanes(lanes: Lanes): void {
 }
 
 const blockingLaneMarker = {
-  startTime: 0,
+  startTime: 0.003,
   detail: {
     devtools: {
       color: 'primary-light',
@@ -74,7 +74,7 @@ const blockingLaneMarker = {
 };
 
 const transitionLaneMarker = {
-  startTime: 0,
+  startTime: 0.003,
   detail: {
     devtools: {
       color: 'primary-light',
@@ -85,7 +85,7 @@ const transitionLaneMarker = {
 };
 
 const suspenseLaneMarker = {
-  startTime: 0,
+  startTime: 0.003,
   detail: {
     devtools: {
       color: 'primary-light',
@@ -96,7 +96,7 @@ const suspenseLaneMarker = {
 };
 
 const idleLaneMarker = {
-  startTime: 0,
+  startTime: 0.003,
   detail: {
     devtools: {
       color: 'primary-light',