Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master into v11 #3943

Open
wants to merge 431 commits into
base: v11
Choose a base branch
from
Open

Merge master into v11 #3943

wants to merge 431 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on May 29, 2022

  1. Configuration menu
    Copy the full SHA
    4e34efe View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2022

  1. 10.7.3 (#3551)

    JoviDeCroock committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    8fb48b8 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2022

  1. Configuration menu
    Copy the full SHA
    3bd3c46 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2022

  1. Update hooks/test/browser/useState.test.js

    Co-authored-by: Jason Miller <[email protected]>
    JoviDeCroock and developit committed Jun 5, 2022
    Configuration menu
    Copy the full SHA
    9c3d992 View commit details
    Browse the repository at this point in the history
  2. Update useState.test.js

    JoviDeCroock committed Jun 5, 2022
    Configuration menu
    Copy the full SHA
    daa65de View commit details
    Browse the repository at this point in the history
  3. Merge pull request #3553 from preactjs/state-settling-x

    implement state settling in X
    developit committed Jun 5, 2022
    Configuration menu
    Copy the full SHA
    1dc4f56 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2022

  1. test

    JoviDeCroock committed Jun 6, 2022
    Configuration menu
    Copy the full SHA
    d59a4c6 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2022

  1. Configuration menu
    Copy the full SHA
    2834d5a View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2022

  1. fix ci (#3563)

    JoviDeCroock committed Jun 13, 2022
    Configuration menu
    Copy the full SHA
    0b9a927 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2022

  1. Ensure both onchange and oninput callbacks are executes when typing (#…

    …3562)
    
    * ensure both onchange and oninput callbacks are attached to the event listener
    
    * remove custom hook and combiner callbacks in one
    
    * update implementation and unit test
    
    * remove only on tests and improve error handling
    
    * cover scenario changing order
    
    * allow uncaught error in unit test
    
    * use event hook to trigger oncompatchange handler
    
    * use oninputCapture rather than oninput when both callbacks are defined
    
    Co-authored-by: Jovi De Croock <[email protected]>
    marconi1992 and JoviDeCroock committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    c746ecf View commit details
    Browse the repository at this point in the history
  2. add export maps to the subpackages (#3565)

    * add export maps to the subpackages
    
    * format
    
    * run pretteir on package json files
    JoviDeCroock committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    68882bf View commit details
    Browse the repository at this point in the history
  3. 10.8.0 (#3566)

    JoviDeCroock committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    c77e628 View commit details
    Browse the repository at this point in the history
  4. cleanup repeated renders

    JoviDeCroock committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    fc5a5df View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    aaa219f View commit details
    Browse the repository at this point in the history
  6. fixes

    JoviDeCroock committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    e13e9db View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2022

  1. react 18 hooks

    JoviDeCroock committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    b3dca40 View commit details
    Browse the repository at this point in the history
  2. add second notice

    JoviDeCroock committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    41e5ab8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7b96849 View commit details
    Browse the repository at this point in the history
  4. add types

    JoviDeCroock committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    b5775a8 View commit details
    Browse the repository at this point in the history
  5. tests

    JoviDeCroock committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    6b1e91f View commit details
    Browse the repository at this point in the history
  6. correct types

    JoviDeCroock committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    b1cc827 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2022

  1. Configuration menu
    Copy the full SHA
    2a04fb7 View commit details
    Browse the repository at this point in the history
  2. 10.8.1 (#3571)

    JoviDeCroock committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    6a64ece View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2022

  1. Configuration menu
    Copy the full SHA
    a5b9a39 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ee69576 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #3573 from jramanat-oracle/jramanat-custom-element…

    …-input
    
    restrict "oninputCapture" conversion to just "oninput" vs "oninput*"
    developit committed Jun 17, 2022
    Configuration menu
    Copy the full SHA
    bc02039 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2022

  1. Configuration menu
    Copy the full SHA
    e9c8d1c View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2022

  1. Configuration menu
    Copy the full SHA
    079f9a6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6a9aaed View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    894f7ba View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2022

  1. Configuration menu
    Copy the full SHA
    cd6960c View commit details
    Browse the repository at this point in the history
  2. commit hooks in diffed to bypass the issue of us dealing with a compo…

    …nent that isn't in the commitQueue
    JoviDeCroock committed Jun 21, 2022
    Configuration menu
    Copy the full SHA
    6f01754 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b91771d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    82bd5a0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d63915c View commit details
    Browse the repository at this point in the history
  6. Merge pull request #3579 from preactjs/skipped-memo

    Fix incorrect `useMemo` return value after skipped render
    marvinhagemeister committed Jun 21, 2022
    Configuration menu
    Copy the full SHA
    641c10b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d2cc99b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8fb0923 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5e010c5 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2022

  1. 10.8.2 (#3581)

    JoviDeCroock committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    a0f7742 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2022

  1. prevent _suspended and _force from colliding (#3585)

    * prevent _suspended and _force from colliding
    
    * Update mangle.json
    JoviDeCroock committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    8a1cbd4 View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2022

  1. Configuration menu
    Copy the full SHA
    557a8e4 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3568 from preactjs/redo-hooks

    React 18 hooks
    marvinhagemeister committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    9e51ee1 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2022

  1. Configuration menu
    Copy the full SHA
    7649231 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2022

  1. 10.9.0 (#3601)

    JoviDeCroock committed Jul 6, 2022
    Configuration menu
    Copy the full SHA
    80600ea View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2022

  1. mirror change for setTimeout debounce

    This fixes a lot of issues with events as outlined in #3607
    JoviDeCroock committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    4758ef1 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3608 from preactjs/JoviDeCroock-patch-1

    mirror change for `setTimeout` debounce
    marvinhagemeister committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    eeb3c5d View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2022

  1. 10.10.0 (#3613)

    JoviDeCroock committed Jul 13, 2022
    Configuration menu
    Copy the full SHA
    dbe0fa8 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2022

  1. Configuration menu
    Copy the full SHA
    e960162 View commit details
    Browse the repository at this point in the history
  2. fix: make demo compatible with node 16 and 18 (#3617)

    Co-authored-by: Jovi De Croock <[email protected]>
    gengjiawen and JoviDeCroock committed Jul 15, 2022
    Configuration menu
    Copy the full SHA
    cef315a View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2022

  1. Configuration menu
    Copy the full SHA
    9744bbd View commit details
    Browse the repository at this point in the history
  2. add type

    JoviDeCroock committed Jul 18, 2022
    Configuration menu
    Copy the full SHA
    b4af4a5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    020b578 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2022

  1. Configuration menu
    Copy the full SHA
    b24a4f9 View commit details
    Browse the repository at this point in the history
  2. mangle _nextValu

    JoviDeCroock committed Jul 19, 2022
    Configuration menu
    Copy the full SHA
    a1fc94f View commit details
    Browse the repository at this point in the history
  3. Merge pull request #3621 from preactjs/defer-state-equality

    defer bailing out of updates to the render phase
    marvinhagemeister committed Jul 19, 2022
    Configuration menu
    Copy the full SHA
    3d0cdf7 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2022

  1. fix nextValue setting

    JoviDeCroock committed Jul 20, 2022
    Configuration menu
    Copy the full SHA
    67edfcb View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3623 from preactjs/JoviDeCroock-patch-1

    fix nextValue setting
    marvinhagemeister committed Jul 20, 2022
    Configuration menu
    Copy the full SHA
    0406941 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2022

  1. Update esbuild (#3630)

    * Update esbuild to 0.14.50
    
    * Remove newline from mangle.json (terser does this)
    marvinhagemeister committed Jul 26, 2022
    Configuration menu
    Copy the full SHA
    1a134b3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e201caf View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2022

  1. Configuration menu
    Copy the full SHA
    1658d43 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2022

  1. Configuration menu
    Copy the full SHA
    f4bd535 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2022

  1. Configuration menu
    Copy the full SHA
    6ef6440 View commit details
    Browse the repository at this point in the history
  2. remove

    JoviDeCroock committed Aug 4, 2022
    Configuration menu
    Copy the full SHA
    c87daab View commit details
    Browse the repository at this point in the history
  3. add comments

    JoviDeCroock committed Aug 4, 2022
    Configuration menu
    Copy the full SHA
    a356999 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2022

  1. Merge pull request #3645 from preactjs/multiple-state-hooks

    Multiple state hooks in a component
    marvinhagemeister committed Aug 5, 2022
    Configuration menu
    Copy the full SHA
    16367b4 View commit details
    Browse the repository at this point in the history
  2. 10.10.1

    JoviDeCroock committed Aug 5, 2022
    Configuration menu
    Copy the full SHA
    4e3564a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    191d5cb View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2022

  1. Configuration menu
    Copy the full SHA
    1a874a7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0dfff5c View commit details
    Browse the repository at this point in the history
  3. Merge pull request #3651 from preactjs/avoid-suspense-hooks-reset-crash

    avoid crashing due to __hooks being null
    marvinhagemeister committed Aug 7, 2022
    Configuration menu
    Copy the full SHA
    d483611 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2022

  1. Configuration menu
    Copy the full SHA
    88bf973 View commit details
    Browse the repository at this point in the history
  2. remove .only

    JoviDeCroock committed Aug 8, 2022
    Configuration menu
    Copy the full SHA
    cb50040 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b1d3ac3 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2022

  1. Merge pull request #3655 from preactjs/fix-use-sync-external-store

    fix `useSyncExternalStore` relying on changed render values
    marvinhagemeister committed Aug 9, 2022
    Configuration menu
    Copy the full SHA
    1032d2b View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2022

  1. 10.10.2 (#3653)

    JoviDeCroock committed Aug 10, 2022
    Configuration menu
    Copy the full SHA
    6b92b1f View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2022

  1. fix sync-external-store with zustand (#3663)

    * fix sync-external-store
    
    * golf
    
    * golf
    JoviDeCroock committed Aug 12, 2022
    Configuration menu
    Copy the full SHA
    b9f6446 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2022

  1. Configuration menu
    Copy the full SHA
    c9ad4f3 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2022

  1. Fix hooks calling shouldComponentUpdate without context (#3671)

    * Fix hooks calling shouldComponentUpdate without context
    
    This was breaking code that relies on `this` within shouldComponentUpdate.
    
    * Fix `this` usage
    developit committed Aug 16, 2022
    Configuration menu
    Copy the full SHA
    4441dc7 View commit details
    Browse the repository at this point in the history
  2. 10.10.3 (#3667)

    JoviDeCroock committed Aug 16, 2022
    Configuration menu
    Copy the full SHA
    a4c3e7b View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2022

  1. ensure we iterate over all hooks (#3675)

    * ensure we iterate over all hooks
    
    * golf
    
    * add comment
    JoviDeCroock committed Aug 17, 2022
    Configuration menu
    Copy the full SHA
    1cb4b38 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2022

  1. allow function component with children (#3676)

    * allow function component with children
    
    * test for 3611
    
    * better element type
    
    * remove namespace
    JoviDeCroock committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    7d54883 View commit details
    Browse the repository at this point in the history
  2. 10.10.4 (#3678)

    JoviDeCroock committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    b7072ad View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2022

  1. undo jsx-element removal

    JoviDeCroock committed Aug 19, 2022
    Configuration menu
    Copy the full SHA
    0fd11bc View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3680 from preactjs/fix-jsx-element

    undo jsx-element removal
    marvinhagemeister committed Aug 19, 2022
    Configuration menu
    Copy the full SHA
    5362360 View commit details
    Browse the repository at this point in the history
  3. 10.10.5 (#3681)

    JoviDeCroock committed Aug 19, 2022
    Configuration menu
    Copy the full SHA
    2b1930c View commit details
    Browse the repository at this point in the history
  4. allow for null return from fc (#3683)

    * allow for null
    
    * add test
    JoviDeCroock committed Aug 19, 2022
    Configuration menu
    Copy the full SHA
    36525c1 View commit details
    Browse the repository at this point in the history
  5. 10.10.6 (#3684)

    JoviDeCroock committed Aug 19, 2022
    Configuration menu
    Copy the full SHA
    9457b22 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2022

  1. Configuration menu
    Copy the full SHA
    61c7eb1 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3689 from preactjs/use-error-boundary-errorinfo

    Pass `errorInfo` to `useErrorBoundary` calbback
    marvinhagemeister committed Aug 21, 2022
    Configuration menu
    Copy the full SHA
    14977dd View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2022

  1. improve types for bare createElement and h calls (#3690)

    * improve types for bare createElement and h calls
    
    * component test
    
    * fix onInput events
    
    * accept refless classattributes
    
    * correct generics
    JoviDeCroock committed Aug 24, 2022
    Configuration menu
    Copy the full SHA
    1633907 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2022

  1. fix case where we would omit the ref from reused vnodes (#3696)

    * fix case where we would omit the ref from reused vnodes
    
    * add test for call ordering
    
    * correct tests
    
    * skip test for now
    JoviDeCroock committed Aug 28, 2022
    Configuration menu
    Copy the full SHA
    4672611 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2022

  1. fix: mac arm build

    gengjiawen committed Aug 30, 2022
    Configuration menu
    Copy the full SHA
    c78428a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    03a66bc View commit details
    Browse the repository at this point in the history
  3. Merge pull request #3697 from gengjiawen/fix/mac_arm

    fix: mac arm build
    marvinhagemeister committed Aug 30, 2022
    Configuration menu
    Copy the full SHA
    89fe31e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ec99de1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cfd586a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    35e7d8e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c0e8689 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3fc8b5e View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2022

  1. Configuration menu
    Copy the full SHA
    e70238f View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2022

  1. Configuration menu
    Copy the full SHA
    008b5ec View commit details
    Browse the repository at this point in the history
  2. update hooks

    JoviDeCroock committed Sep 2, 2022
    Configuration menu
    Copy the full SHA
    1afc99b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    966d6e8 View commit details
    Browse the repository at this point in the history
  4. rename

    JoviDeCroock committed Sep 2, 2022
    Configuration menu
    Copy the full SHA
    94eed5c View commit details
    Browse the repository at this point in the history
  5. different results

    JoviDeCroock committed Sep 2, 2022
    Configuration menu
    Copy the full SHA
    87013a6 View commit details
    Browse the repository at this point in the history
  6. add v8 back

    JoviDeCroock committed Sep 2, 2022
    Configuration menu
    Copy the full SHA
    b749474 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1427d58 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2022

  1. Preact X useId (#3583)

    * alternative use id
    
    * reliable tagging
    
    * skip fragments
    
    * remove mask var
    
    * reduce diff
    
    * types
    
    * use hash func"
    
    * less bytes
    
    * fix inheritance bug
    
    * optimize
    
    * tweak logic
    
    * fix copy pate
    
    * less bytes
    
    * add compat
    
    * types
    
    * add consideration
    
    * add useId test highlighting subsequent render dangers
    
    * fix client side renders
    
    * revert to prior implementation
    
    * optim
    JoviDeCroock committed Sep 3, 2022
    Configuration menu
    Copy the full SHA
    803dbb5 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2022

  1. Configuration menu
    Copy the full SHA
    a5258a9 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2022

  1. Cleanup _parent, _dom and __hooks after unmount (#3709)

    * cleanup _parent, __hooks and _dom when unmounting
    
    * set listeners
    
    * try out perf impact
    
    * Update index.js
    
    * fix test
    
    * add _component removal
    
    * Update index.js
    
    * Update suspense.js
    JoviDeCroock committed Sep 11, 2022
    Configuration menu
    Copy the full SHA
    7469051 View commit details
    Browse the repository at this point in the history
  2. add test for useId (#3716)

    * assert rts and csr output match
    
    * add hydrate test
    JoviDeCroock committed Sep 11, 2022
    Configuration menu
    Copy the full SHA
    41574c8 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2022

  1. 10.11.0 (#3719)

    JoviDeCroock committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    77b79c0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5c6b89a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    da36142 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #3721 from preactjs/stable-mask-prop

    add mangle value for stable mask on v node
    marvinhagemeister committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    a8e4c99 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2022

  1. Configuration menu
    Copy the full SHA
    e159f84 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3720 from preactjs/support-falsy-data

    support falsy data attributes
    marvinhagemeister committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    d7a433e View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2022

  1. Configuration menu
    Copy the full SHA
    9dea4ea View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3732 from preactjs/debug-types

    Add missing "types" field for preact/debug
    marvinhagemeister committed Sep 17, 2022
    Configuration menu
    Copy the full SHA
    63f285b View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2022

  1. align ts definitions from react to refs and forward refs (#3713)

    * align ts definitions from react to refs and forward refs
    
    * type ref to also allow null as per react type definition
    
    * add PropsWithChildren also to preact/compat
    
    Co-authored-by: Jovi De Croock <[email protected]>
    PodaruDragos and JoviDeCroock committed Sep 22, 2022
    Configuration menu
    Copy the full SHA
    2cafede View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2022

  1. Configuration menu
    Copy the full SHA
    a868b02 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2022

  1. Configuration menu
    Copy the full SHA
    d4be39b View commit details
    Browse the repository at this point in the history
  2. Update index.js

    developit authored and marvinhagemeister committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    fc32565 View commit details
    Browse the repository at this point in the history
  3. Update index.js

    developit authored and marvinhagemeister committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    6b70436 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    32163d0 View commit details
    Browse the repository at this point in the history
  5. Support signal values for html + svg attributes

    The behavior to resolve these types seems different from the standard
    behavior from TypeScript. The more elegant way of using generics or
    clever intersection types doesn't work. The only thing TS seems to
    pick up is enhancing every property by hand.
    marvinhagemeister committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    eeb5d6c View commit details
    Browse the repository at this point in the history
  6. Merge pull request #3747 from preactjs/signals-type

    Support signal values for html + svg attributes
    marvinhagemeister committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    dfd45aa View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2022

  1. Avoid synchronously adding setState callbacks (#3743)

    * create test case for #3742
    
    * solve issue
    
    * types
    
    * golf
    
    * add mangle
    JoviDeCroock committed Sep 29, 2022
    Configuration menu
    Copy the full SHA
    d30a0ed View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    284a8b0 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2022

  1. Configuration menu
    Copy the full SHA
    b5d589c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4362700 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2022

  1. Configuration menu
    Copy the full SHA
    820bff3 View commit details
    Browse the repository at this point in the history
  2. Release 10.11.1

    marvinhagemeister committed Oct 4, 2022
    Configuration menu
    Copy the full SHA
    19374b3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b25fd03 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2022

  1. Configuration menu
    Copy the full SHA
    8ed068a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5e31c9a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a08f182 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e968a5a View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2022

  1. Configuration menu
    Copy the full SHA
    43204de View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2022

  1. Configuration menu
    Copy the full SHA
    6cc4b4e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b99d217 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7b7ac5f View commit details
    Browse the repository at this point in the history
  4. Release 10.11.2

    marvinhagemeister committed Oct 15, 2022
    Configuration menu
    Copy the full SHA
    8beb883 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9d4b2dc View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2022

  1. Configuration menu
    Copy the full SHA
    528a776 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9f7a922 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2022

  1. Configuration menu
    Copy the full SHA
    c629fc2 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2022

  1. Configuration menu
    Copy the full SHA
    16d570f View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2022

  1. Configuration menu
    Copy the full SHA
    596b81b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8579923 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e094e27 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    46ddfeb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    062d62a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a15edaf View commit details
    Browse the repository at this point in the history
  7. Simplify useId

    marvinhagemeister committed Oct 27, 2022
    Configuration menu
    Copy the full SHA
    253c39f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    979c4e6 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b1549ee View commit details
    Browse the repository at this point in the history
  10. Upgrade workflow actions

    andrewiggins committed Oct 27, 2022
    Configuration menu
    Copy the full SHA
    3b6c6c2 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    40c48b4 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    cfc7dc1 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    494c428 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    b0ff453 View commit details
    Browse the repository at this point in the history
  15. Merge pull request #3777 from preactjs/upgrade-workflows

    Upgrade workflow actions
    andrewiggins committed Oct 27, 2022
    Configuration menu
    Copy the full SHA
    34a8c16 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    fbabbbb View commit details
    Browse the repository at this point in the history
  17. Merge pull request #3778 from preactjs/upgrade-bench-deps

    Upgrade bench dependencies
    andrewiggins committed Oct 27, 2022
    Configuration menu
    Copy the full SHA
    05d91ad View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2022

  1. Consolidate benchmark workflow definitions into a single reusable def…

    …inition (#3782)
    
    - Simplify the definition of benchmarks by creating a new workflow, `run-bench.yml`, that can be reused for all benchmarks
    - Reuse the `ci.yml` workflow to build the repo 
    - Add `trace` option to `run-bench` workflow
    andrewiggins committed Oct 28, 2022
    Configuration menu
    Copy the full SHA
    2a3b1aa View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2022

  1. Configuration menu
    Copy the full SHA
    80dd66c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    50d3837 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2022

  1. Configuration menu
    Copy the full SHA
    a31e564 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2022

  1. Release 10.11.3

    marvinhagemeister committed Nov 14, 2022
    Configuration menu
    Copy the full SHA
    f9c9cf6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4a37c99 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2022

  1. Debug: limit "object as children" error to elements

    This should fix preactjs/preact-render-to-string#254 without incurring the performance overhead of converting primitives in JSX text positions to VNodes.
    developit committed Nov 15, 2022
    Configuration menu
    Copy the full SHA
    7e3c068 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6724d43 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2022

  1. Configuration menu
    Copy the full SHA
    d4089df View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. Configuration menu
    Copy the full SHA
    f930e1b View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2022

  1. Configuration menu
    Copy the full SHA
    3c7cc27 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3801 from preactjs/debug-limit-object-children

    Debug: limit "object as children" error to elements
    developit committed Dec 3, 2022
    Configuration menu
    Copy the full SHA
    915fd30 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2022

  1. Preserve event handler return values (#3812)

    I'm not aware of any bugs caused by this, but currently we drop the return value of event handlers rather than returning it to the DOM. This corrects that.
    
    Co-authored-by: Andre Wiggins <[email protected]>
    developit and andrewiggins committed Dec 4, 2022
    Configuration menu
    Copy the full SHA
    226d77d View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2022

  1. Configuration menu
    Copy the full SHA
    b689f1f View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3816 from preactjs/docs/remove-cli-recommendation

    docs: Removes recommendation for `preact-cli`
    developit committed Dec 21, 2022
    Configuration menu
    Copy the full SHA
    8a6d301 View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2022

  1. docs: Fix a few typos

    There are small typos in:
    - compat/src/index.js
    - debug/src/debug.js
    - test/polyfills.js
    
    Fixes:
    - Should read `representation` rather than `represantation`.
    - Should read `nonetheless` rather than `nontheless`.
    - Should read `argument` rather than `arugment`.
    
    Signed-off-by: Tim Gates <[email protected]>
    timgates42 committed Dec 30, 2022
    Configuration menu
    Copy the full SHA
    0c076bf View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3844 from timgates42/bugfix_typos

    docs: Fix a few typos
    rschristian committed Dec 30, 2022
    Configuration menu
    Copy the full SHA
    d527b4b View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2023

  1. Configuration menu
    Copy the full SHA
    2ce7b0a View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2023

  1. Clear css properties when passed undefined (#3862)

    * Clear css properties when passed undefined
    andrewiggins committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    c483d96 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2023

  1. Narrows type of parent in render functions. (#3863)

    * Narrows type of `parent` in render functions.
    
    https://gist.github.com/developit/f4c67a2ede71dc2fab7f357f39cff28c is the recommended way to partial root rendering in Preact 10+, but it isn't API compliant code given the current API definition as expressed by the TS types.
    This PR changes the type of `parent` to align with what is *actually* required by the preact render functions according to @developit.
    
    Assuming the linked code actually works, then it means preact doesn't actually need a NodeList, but rather just needs an `ArrayLike<Node>`.
    Along with limiting the property set of `Parent`, I have also narrowed `Parent['childNodes']` to be an `ArrayLike<Node>` so someone can assign a `Node[]` to it.
    
    I suspect my stylistic choice of a single long line is not acceptable for this repository, but I'm not clear what the proper way to break this into multiple lines is for this repository.  If someone can provide me with feedback on how to correctly split the lines, please let me know!
    
    Note: I recognize that this is a pretty substantial type change, but without it the official recommendation (and only option in Preact 11) for doing partial root rendering is incorrect.
    Either the recommendation for how to do partial root rendering should be corrected to not lead people to an incorrect solution, or this PR (or one like it) should be merged to correctly express the type that preact expects for its `render` functions.
    
    * Update index.d.ts
    
    * Update src/index.d.ts
    
    Co-authored-by: Andre Wiggins <[email protected]>
    
    * Update preact.tsx
    
    ---------
    
    Co-authored-by: Andre Wiggins <[email protected]>
    MicahZoltu and andrewiggins committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    15913ad View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2023

  1. Changes EventHandler<...> to have a this of type void. (#3867)

    * Changes `EventHandler<...>` to have a `this` of type `void`.
    
    Originally, `this` was set to `E['currentTarget']` which, based on the MDN doc linked in #2166, certainly sounds like the correct thing to do.  A couple years later it was changed to `never` in #3147 with no commentary on the PR or commit indicating why.  My guess is that this was changed so arrow functions would work, which I believe are permanently bound and cannot be rebound by the caller.
    
    I believe that `never` is wrong because this code doesn't compile:
    ```ts
    type TargetedEvent<Target extends EventTarget = EventTarget, TypedEvent extends Event = Event> = Omit<TypedEvent, 'currentTarget'> & { readonly currentTarget: Target }
    interface EventHandler<E extends TargetedEvent> {
    	(this: never, event: E): void
    }
    declare const apple: EventHandler<TargetedEvent<HTMLElement, Event>>
    declare const event: TargetedEvent<HTMLElement, Event>
    apple(event) // error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'never'.
    ```
    Changing to `void` resolves this error and should work everywhere I believe.
    
    I removed the comment since it no longer applies with this being `never` or `void`.  It appears that it was just forgotten when the switch from `E['currentTarget']` to `never` was made.
    
    * Removes incorrectly passing test.
    
    The type signature's intent is to make it clear to users that they cannot rely on `this` being the element in callbacks, and they should use `event.currentTarget` instead.  This test was testing that the user could unwisely ignore that.
    
    ---------
    
    Co-authored-by: Jovi De Croock <[email protected]>
    MicahZoltu and JoviDeCroock committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    e703a62 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2023

  1. Improve Fragment unmounting while correctly swapping nested fragments (

    …#3875)
    
    ## Why does #3814 fail on master?
    
    When transitioning from the tree
    
    ```jsx
    <div>
      <Fragment>
        <span>0</span>
        <span>1</span>
      </Fragment>
      <input />
    </div>
    ```
    
    to the tree (note `<span>1</span>` was unmounted)
    
    ```jsx
    <div>
      <Fragment>
        <span>0</span>
      </Fragment>
      <input />
    </div>
    ```
    
    the `master` branch has a bug where it will re-append all the children after the `Fragment`. This re-appending of the `<input>` causes it to lose focus. The reason for this re-appending is that when exiting `diffChildren` for the Fragment, it's `_nextDom` pointer is set to `<span>1</span>`. Since `<span>1</span>` is unmounted it's `parentNode` is `null`. When diffing the `input` element, we hit the `oldDom.parentNode !== parentDom` condition in `placeChild` which re-appends the `<input>` tag and sets oldDom to `null` causing all siblings of `<input>` to re-append.
    
    When diffing components/Fragments, the `_nextDom` pointer should point to where in the DOM tree the diff should continue. So when unmounting `<span>1</span>`, the Fragment's `_nextDom` should point to the `<input>` tag. The previous code in `diffChildren` removed in #3738 was intended to fix this by detecting when `_nextDom` pointed to a node that we were unmounting and reset it to it's sibling. However, that code (copied below) had a correctness bug prompting its removal (#3737). Let's look at this bug.
    
    ```js
    // Remove remaining oldChildren if there are any.
    for (i = oldChildrenLength; i--; ) {
    	if (oldChildren[i] != null) {
    		if (
    			typeof newParentVNode.type == 'function' &&
    			oldChildren[i]._dom != null &&
    			oldChildren[i]._dom == newParentVNode._nextDom
    		) {
    			// If the newParentVNode.__nextDom points to a dom node that is about to
    			// be unmounted, then get the next sibling of that vnode and set
    			// _nextDom to it
    			newParentVNode._nextDom = getDomSibling(oldParentVNode, i + 1);
    		}
    
    		unmount(oldChildren[i], oldChildren[i]);
    	}
    }
    ```
    
    ## What caused #3737?
    
    Here is a simplified repro of the issue from #3737:
    
    ```jsx
    function App() {
    	const [condition] = useState(true);
    	return this.state.condition ? (
    		// Initial render
    		<>
    			<div>1</div>
    			<Fragment>
    				<div>A</div>
    				<div>B</div>
    			</Fragment>
    			<div>2</div>
    		</>
    	) : (
    		// Second render: unmount <div>B and move Fragment up
    		<>
    			<Fragment>
    				<div>A</div>
    			</Fragment>
    			<div>1</div>
    			<div>2</div>
    		</>
    	);
    }
    ```
    
    The first render creates the DOM `1 A B 2` (each wrapped in divs) and when changing the `condition` state, it should rerender to produce `A 1 2` but instead we get `1 A 2`. Why?
    
    When rerendering `App` we unmount `<div>B</div>`, which is a child of a Fragment. This unmounting triggers the call to `getDomSibling` in the code above. `getDomSibling` has a line of code in it that looks like `vnode._parent._children.indexOf(vnode)`. This line of code doesn't work in this situation because when rerendering a component, we only make a shallow copy of the old VNode tree. So when a child of `oldParentVNode` (the `App` component in this case) tries to access it's parent through the `_parent` pointer (e.g. the `Fragment` parent of `<div>A</div>`), it's `_parent` pointer points to the new VNode tree which we are in progress of diffing and modifying. Ultimately, this tree mismatch (trying to access the old VNode tree but getting the in-progress new tree) causes us to get the wrong DOM pointer and leads to incorrect DOM ordering.
    
    In summary, when unmounting `<div>B</div>`, we need `getDomSibling` to return `<div>2</div>` since that is the next DOM sibling in the old VNode tree. Instead, because our VNode pointers are mixed at this stage of diffing, `getDomSibling` doesn't work correctly and we get back the wrong DOM element.
    
    ## Why didn't other tests catch this?
    
    Other tests only do top-level render calls (e.g. `render(<App condition={true} />)` then `render(<App condition={false} />)`) which generate brand-new VNode trees with no shared pointers. They did not test renders originating from `setState` calls which go through a different code path and reuse VNode trees which share pointers across the old and new trees.
    
    ## The fix
    
    The initial fix for this is to replace `getDomSibling` with a call to `dom.nextSibling` to get the actual next DOM sibling. (I found a situation in which this doesn't work optimally. I'll open a separate PR for that.)
    
    ## Final thoughts
    
    One additional thought I have here is that walking through this has given me more confidence in our approach for v11. First, we do unmounts before insertions so we don't have to do this additional DOM pointer checking. Also, by diffing backwards, we ensure that our `_next` pointers are correct when we go to search what DOM element to insert an element before.
    
    
    Fixes #3814, #3737
    andrewiggins committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    fc5758b View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2023

  1. Fix parameters or JSX dev runtime (#3880)

    * There was a parameter missing (`isStaticChildren: boolean`), which is not useful\*,
      but is still being passed
    * Fix order of `source` and `self` again (incorrectly introduced in GH-3459)
    * Fix some (internal JSDoc) types for these parameters
    
    My guess is that the previous PR “fixed” the earlier problem because `self` isn’t used, so by
    calling `isStaticChildren` “`self`”, a bug went away.
    
    The source for where this `jsxDEV` call is generated in Babel is here:
    <https://github.com/babel/babel/blob/3952486/packages/babel-plugin-transform-react-jsx/src/create-plugin.ts#L506-L508>.
    The React RFC for the transform that mentions the dev runtime is here:
    <https://github.com/reactjs/rfcs/blob/createlement-rfc/text/0000-create-element-changes.md#dev-only-transforms>
    
    \* `isStaticChildren` is the same as whether `jsxs` would be used, instead of `jsx`.
    Which is also whether there are 2 or more children passed:
    
    *   `<a />` -> `jsx('a', {})`
    *   `<a>b</a>` -> `jsx('a', {children: 'b'})`
    *   `<a>{1}{2}</a>` -> `jsxs('a', {children: [1, 2]})`
    
    Related-to: GH-3459.
    wooorm committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    5eecaf1 View commit details
    Browse the repository at this point in the history
  2. Add test for context propagation compat bug

    Found a difference between how React and Preact propagate context. It shows up when using react-router and a component triggers a location update (e.g. `history.push`) and at the same time triggers a local state update.
    
    ## The setup
    
    First, how React Router works. The `Router` component watches the pages current location and provides it on a context. Let's call this context `RouterContext`. The `Route` component consumes this `RouterContext`, but also modifies it and re-provides the new value on a new instance of `RouterContext.Provider`.
    
    So if we have a `Page` component that lives under a `Router` and `Route` components, the virtual DOM tree looks something the following. Let's say the initial value of the provided location in `RouterContext` is `/page/1`
    
    ```jsx
    <App>
      <Router>
        <RouterContext.Provider> {/* location: /page/1 */}
          <Route>
            <RouterContext.Consumer>
              <RouterContext.Provider> {/* location: /page/1 */}
                <Page>
                  <button>
    ```
    
    Let's say the `button` under `Page` has a click handler that triggers a location update on `Router` as well as updates some local state:
    
    ```jsx
    function Page() {
    	const history = useHistory(); // Magical hook that triggers a state update in the Router with a new location entry
    	const [value, setValue] = useState(1);
    
    	// let's pretend to read the current location and value for some purpose
    	const { location } = useContext(RouterContext);
    	console.log({ location, value });
    
    	return (
    		<button
    			onClick={() => {
    				history.push('/page/2'); // Triggers an state update in the Router component
    				setValue(2); // Triggers a state update in Page
    			}}
    		>
    			Update
    		</button>
    	);
    }
    ```
    
    Some things to note about this virtual tree:
    
    1. The `RouteContext.Consumer` under `Route` is subscribed to its parent `RouteContext.Provider` (the one owned by `Router`)
    2. The `Page` component is subscribed to it's nearest parent `RouteContext.Provider`, which in this case is the one owned by `Route`, not `Router`.
    
    On initial render, `Page` would log `{ location: /page/1, value: 1 }`.
    
    ## The bug
    
    So what happens in Preact when we click this button? Two state updates are triggered: one on `Router` and one `Page`. So our rerender queue looks like [`Router`, `Page`]. Upon rerendering Router, we update the location value we pass to the first `RouterContext.Provider` to `/page/2` and trigger updates to all of the `RouterContext` consumers. Let's re-examine our render queue and virtual DOM tree:
    
    ```jsx
    // renderQueue: [Page, RouterContext.Consumer]
    <App>
      <Router>
        <RouterContext.Provider> {/* location: /page/2 */}
          <Route>
            <RouterContext.Consumer>
              <RouterContext.Provider> {/* location: /page/1 */}
                <Page>
                  <button>
    ```
    
    A couple things to note. Our rerendering stops after the first `RouterContext.Provider` runs. Context providers just return `props.children` so our `vnodeID` optimization will kick in, see the children of the `Provider` didn't get no VNodes and stop rerendering there. Because of this, the `RouterContext.Consumer` under `Route` has NOT rerendered yet, so the `RouterContext.Provider` that it owns has not received the updated context. And since the `Page` component is subscribed to the `RouterContext.Provider` that `Route` owns, it still would see the old context.
    
    So, since rerendering stopped after the first `RouterContext.Provider`, the next component that rerenders is `Page` (remember, it triggered it's own local state update). At this point `Page` will log `{ location: /page/1, value: 2 }`. This log represents the developer-observable bug.
    
    The `onClick` handler of the button contains both the `history.push()` and `setValue()` calls and so the developer expects that the next time `Page` renders will be both a new location and a new state value. And logic that assumes this will fail.
    
    ## Completing the flow
    
    If we continue with Preact's rendering (for completeness), once the `RouterContext.Consumer` rerenders, it'll rerender the second `RouterContext.Provider` which trigger rerenders to its subscribers, namely `Page`. A this point `Page` will rerender again but with the both the updated location context and the new state and so will log `{ location: /page/2, value: 2 }`.
    
    ## React's behavior
    
    In this case, React handles the state propagation and local state update in one pass down the render tree. Presumably, changes to context synchronously mark consumers as needing updates (I haven't personally validated this yet). So as React walks down the tree, it rerenders the `Router`, the first `RouterContext.Provider`, sees the `RouterContext.Consumer` as needing a rerender, which causes a render of the second `RouterContext.Provider`, and ultimately rerenders the `Page` component with both it's local state update and the location update from its parent `RouterContext.Provider`. In this case, `Page` only rerenders once with both updates.
    andrewiggins committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    ef025df View commit details
    Browse the repository at this point in the history
  3. pass all queus in one go

    JoviDeCroock authored and andrewiggins committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    8e93eb7 View commit details
    Browse the repository at this point in the history
  4. Remove unnecessary top loop since the inner loop will always run unti…

    …l the rerenderQueue is empty and length == 0
    andrewiggins committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    fc935fb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4e55f55 View commit details
    Browse the repository at this point in the history
  6. Merge pull request #3871 from preactjs/context-fix

    Re-sort rerender queue if modified while we are processing rerenders
    andrewiggins committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    1de5866 View commit details
    Browse the repository at this point in the history
  7. Use lastDOM's nextSibling (#3878)

    This PR is a follow up to #3875. I realized that we can't do oldChildren[i]._dom.nextSibling cuz oldChildren[i] itself could be Fragment representing a bunch of DOM nodes. We want the last dom node of oldChildren[i] and to get it's last sibling.
    andrewiggins committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    ef708b9 View commit details
    Browse the repository at this point in the history
  8. use microtick outside of events (#3879)

    Fixes #3775
    Fixes #3724
    
    When we are in events we need setTimeout to deal with how events bubble, we want the events to complete before we start our rendering process. This however isn't needed when we are dealing with internal updates coming from effects/...
    
    Co-authored-by: andrewiggins <[email protected]>
    JoviDeCroock and andrewiggins committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    6e2e952 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2023

  1. Configuration menu
    Copy the full SHA
    8a30bcc View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2023

  1. add exactOptionalPropertyTypes support to html attributes (#3868)

    * add exactOptionalPropertyTypes support to attributes
    
    * add exactOptionalPropertyTypes support to jsx and key attributes
    deadem committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    b7d9e61 View commit details
    Browse the repository at this point in the history
  2. Release 10.12.0 (#3882)

    andrewiggins committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    233eaef View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2023

  1. set dimensional attributes through setAttribute (#3888)

    * set dimensional attributes through `setAttribute`
    
    * add tests
    
    * try regex
    
    * Update props.js
    
    * undo
    JoviDeCroock committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    9b83481 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cea22e0 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #3889 from preactjs/context-scu

    Fix createContext update being blocked by sCU
    marvinhagemeister committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    1de8059 View commit details
    Browse the repository at this point in the history
  4. Release 10.12.1

    marvinhagemeister committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    0c521d3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dec4d42 View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2023

  1. Fix hydrating textarea with value prop (#3891)

    * Fix hydrating textarea with value prop
    
    * Golf setting value
    andrewiggins committed Feb 14, 2023
    Configuration menu
    Copy the full SHA
    b99c91c View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2023

  1. Configuration menu
    Copy the full SHA
    ac25a51 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2023

  1. Configuration menu
    Copy the full SHA
    a8f6366 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3837 from preactjs/types/indeterminate

    types: Add `indeterminate` property
    rschristian committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    c272b4e View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2023

  1. Configuration menu
    Copy the full SHA
    5187c74 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2023

  1. Configuration menu
    Copy the full SHA
    17ce063 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2023

  1. Configuration menu
    Copy the full SHA
    cc88ae6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f409692 View commit details
    Browse the repository at this point in the history
  3. fix case where strict equality leads to a deadlock with c._force (#3906)

    * fix case where strict equality leads to a deadlock with c._force
    
    * add failing test
    JoviDeCroock committed Feb 21, 2023
    Configuration menu
    Copy the full SHA
    3bfce88 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4d2b724 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #3905 from shoonia/add-svg-elements-to-types

    Add missing SVG Elements to types
    marvinhagemeister committed Feb 21, 2023
    Configuration menu
    Copy the full SHA
    5624b3c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c68a6b2 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #3898 from preactjs/types/compat-memo-exotic-compo…

    …nent
    
    fix: Add `MemoExoticComponent` type to compat
    rschristian committed Feb 21, 2023
    Configuration menu
    Copy the full SHA
    a96e644 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2023

  1. Add typings for ARIA attributes (#3910)

    * Add React-like aria typings
    
    * Add signal type support to aria attributes
    
    * Put JSDoc tags on their own lines
    
    * Consistently use Booleanish
    
    * Make role typing more strict and add 'none presentation'
    andrewiggins committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    833d7de View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2023

  1. Configuration menu
    Copy the full SHA
    54ecaa1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8ff0e53 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3674c42 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ca31f13 View commit details
    Browse the repository at this point in the history
  5. Release 10.13.0

    marvinhagemeister committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    5e425df View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    de08e91 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    bb276c3 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    bdf100d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    bf39376 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2023

  1. Configuration menu
    Copy the full SHA
    b060516 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    950b239 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2023

  1. Configuration menu
    Copy the full SHA
    5b7fb23 View commit details
    Browse the repository at this point in the history
  2. Skip over function children when rendering (#3919)

    Function children that are passed as props to a component are still allowed but if that Component doesn't invoke the function and passes it a child, we'll skip over it.
    andrewiggins committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    15f0c96 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2023

  1. Configuration menu
    Copy the full SHA
    74dff66 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d4e8ed3 View commit details
    Browse the repository at this point in the history
  3. Fix bad name merges

    andrewiggins committed Mar 8, 2023
    Configuration menu
    Copy the full SHA
    2d12284 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2023

  1. Configuration menu
    Copy the full SHA
    455f1c8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    35219aa View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5ce99dc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1736cac View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2023

  1. Configuration menu
    Copy the full SHA
    fa93a56 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2ed4f68 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cacf6e1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    44483e5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0c771fa View commit details
    Browse the repository at this point in the history
  6. Update mangle.json

    andrewiggins committed Mar 21, 2023
    Configuration menu
    Copy the full SHA
    69ca049 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3726e37 View commit details
    Browse the repository at this point in the history
  8. Clean up old comments

    andrewiggins committed Mar 21, 2023
    Configuration menu
    Copy the full SHA
    c0c08b4 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    417289a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0737e26 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2023

  1. Configuration menu
    Copy the full SHA
    9ee38ad View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3ff2944 View commit details
    Browse the repository at this point in the history