Skip to content

await_reactivity_loss false positive even when used within untrack function 2 #16427

@minht11

Description

@minht11

Describe the bug

Another bug related to #16381

import { untrack } from 'svelte'
	
	let name = $state('a')
	let count = $state(1)

	const wait = () => new Promise((resolve) => {
		setTimeout(resolve, 1000)
	})

		const promise = Promise.resolve(1)

	const getData = async () => {
		await promise
		await wait()

		// This causes false positive
		if (name === 'a') {
			
		}

		return count
	}

	let countAsync = $derived.by(() => {
		return untrack(() => getData())
	});

Reproduction

https://svelte.dev/playground/hello-world?version=5.36.7#H4sIAAAAAAAAE21Sy27jMAz8Fa5QwA5g5HF14xQFeuhxD7mte1BkJhEqS4ZEJxsY-vdCDzfpYg9-gEPOkENOTPMeWc3eUSkDV2NVByV2krBbsIodpULH6j8To9sQ8kKAVXPV6zAs3QUVhdiBO_xfXBhNqMmxmm2dsHKgXatbkv1gLMEEoybLxSd4OFrTQ5EKi5ATHoUEgRYaeHLECcuCF4sZEWbUdIc2AdAtCaMdwZXLgJULaHag8Qq_remlw7K06Iy6YASmqEQOaS97NCPNaAWb9XodpXzmnZmHRATNTLnMNf90cEJ648ShAe5uWuRWsiKP_WWqx1B4ld-KqxXsz9KB4KNDB0euHMJgnCR5yWXyCGXyqGkg2DNLJAtb8jOZRRqtTrbFwRLwbeVrbLOBpw6tvGC3PNzKH01ngry0jOUxy0U26zktb7u671tvz5tdurIpTXnX87-2q_MmZR1GIqPBaKGk-GymB_F8BY-DwgsUhwLq8N9q7-Nl7c3ppDDm1TCFjw-9JOYdqxjhX2I12RH9R8WIS3WVumN1tNZ_AXS1wwAUAwAA

Logs

System Info

Svelte 5.36.7

Severity

annoyance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions