Last 12 weeks · 152 commits
6 of 6 standards met
Closes #18868. While hydrating, fills its cache from , which returns a string, and then compares it with the client value. A number or boolean never equals that string, so , , `data-selected={false}String(value)setAttributehrefxlink:hrefbackgroundclassidcodebaseformactionitemidlongdescmanifestusemaploaderrorvaluestableValueskernelMatrixtransformgradientTransformpatternTransformpointsxydxdyrotatebaseValbaseValattributeChangedCallbackdocument.createElement(localName)islocalNamenamespaceURIcreateElementObject.setPrototypeOf(el, HTMLButtonElement.prototype)mainset_attributessrcsrcsetmainsetAttributearia-rowindexcolspantabindexsvg widthheightstroke-widthsetAttributedata-selected={false}aria-hidden={true}translatedraggablewidthheightdisabledrequireddisabled={on}disabledruntime-browsermode: ['hydrate']MutationObserverbefore_testtesthydration/element-attribute-primitivesNaN1e21"1.0""-0""False"""toString{#if}runtime-browser/hydration-attribute-unchanged$effect.pre$effectlocalNamenamespaceURIdocument.createElementruntime-browser/hydration-attribute-writtentranslatedraggableisnamespaceURIlocalNameruntime-browser/hydration-attribute-realmsruntime-browser/hydration-attribute-recoverruntime-runes/async-hydration-attribute-unchanged{#if await ...}runtime-browserserver_propsmodefeat:fix:chore:docs:packages/svelte/srcnpx changesetpnpm testpnpm lint`
Before submitting the PR, please make sure you do the following [x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs [x] Prefix your PR title with , , , or . [x] This message body should clearly illustrate what problems it solves. [x] Ideally, include a test that fails without this PR but passes with it. [x] If this PR changes code within , add a changeset (). Tests and linting [ ] Run the tests with and lint the project with (full suites not run, ran targeted suites instead; see Tests below) Closes #16835. Problem: writing without on the script tag fails with a bare error, which sends people hunting in the wrong direction. Fix: when snippet parameter parsing fails as JavaScript, a conservative heuristic () inspects the raw params text. If it looks like TypeScript type annotations and the component has no , the error is augmented with: *Did you forget to add to your `{}[]a ? b : ctests/compiler-errors/samples/snippet-type-annotation-without-lang-tscompiler-errorsparser-modernparser-legacyvalidator(text: string)(text?: string)({a,b}: Props)({a: b})lang="ts"snapshotprops-identifier`) also fails on clean upstream main in my environment and is unrelated. Changeset added (patch).
Before submitting the PR, please make sure you do the following [x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs [x] Prefix your PR title with , , , or . [x] This message body should clearly illustrate what problems it solves. [x] Ideally, include a test that fails without this PR but passes with it. [x] If this PR changes code within , add a changeset (). Tests and linting [ ] Run the tests with and lint the project with (full monorepo runs not done; the three affected runtime suites plus eslint on the changed file were run, see Validation) Fixes #18070 Problem** With + mutating state that an turns into , the browser flushes effects at the microtask checkpoint between listeners mid-dispatch. The button is therefore already when the trusted click reaches the delegated at the root, and skipped the handler ( while is the inner `handle_event_propagationcurrent_target === handled_atevent[event_symbol]{@attach}$effectevent.isTrustedruntime-browserdelegated-onclick-mid-dispatch-disabled$effectreal_clickwindow.__real_clickonclick: 0onclick: 1domhydratecurrent_target === handled_atruntime-browserruntime-runesruntime-legacy_config.js` formatted with the repo's prettier settings
Describe the bug An out-only deferred transition crashes when an branch is removed and then restored from an during the same update. Reproduction Deferred out transition reset crash #1 Deferred out transition reset crash #2 1. Open the browser console. 2. Click "Reproduce". Actual behavior Svelte throws: TypeError: Cannot read properties of undefined (reading 'reset') The stack contains: Object.reset Object.in resume_children Expected behavior The outro should be aborted and the branch should remain visible without a runtime exception. Additional information The transition function intentionally returns another function, making it a deferred transition. Restoring the branch from happens before the deferred transition facade initializes its internal animation. The assignment inside is intentional and is required to reproduce the runtime race. System Info Severity annoyance
Repository: sveltejs/svelte. Description: web development for the rest of us Stars: 88225, Forks: 6666. Primary language: JavaScript. Languages: JavaScript (70.9%), Svelte (22.2%), TypeScript (4.9%), CSS (1.1%), HTML (0.8%). License: MIT. Homepage: https://svelte.dev Topics: compiler, template, ui. Latest release: svelte@5.57.1 (1w ago). Open PRs: 100, open issues: 1001. Last activity: 3h ago. Community health: 87%. Top contributors: Rich-Harris, dummdidumm, Conduitry, github-actions[bot], trueadm, tanhauhau, paoloricciuti, benmccann, PuruVJ, baseballyama and others.