Skip to content

Commit a2af359

Browse files
committed
misc hanging changes
1 parent 6148799 commit a2af359

3 files changed

Lines changed: 47 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Don't forget to remove deprecated code on each major release!
6060
- `reactpy.core.vdom._CustomVdomDictConstructor` has been moved to `reactpy.types.CustomVdomConstructor`.
6161
- `reactpy.core.vdom._EllipsisRepr` has been moved to `reactpy.types.EllipsisRepr`.
6262
- `reactpy.types.VdomDictConstructor` has been renamed to `reactpy.types.VdomConstructor`.
63-
- `REACTPY_ASYNC_RENDERING` can now de-duplicate and cascade renders where necessary.
63+
- `REACTPY_ASYNC_RENDERING` can now de-duplicate renders where necessary.
6464
- `REACTPY_ASYNC_RENDERING` is now defaulted to `True` for up to 40x performance improvements in environments with high concurrency.
6565
- Events now support debounce, which can now be configured per event with `event.debounce = <milliseconds>`. Note that `input`, `select`, and `textarea` elements default to 200ms debounce.
6666

src/build_scripts/install_deps.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
"""
2+
Development/debug script to parse pyproject.toml to find dependecies then install them in the local
3+
environment via `uv pip install -U <pkg_names>`
4+
"""
5+
6+
import subprocess
7+
import tomllib as toml
8+
from pathlib import Path
9+
10+
DEPENDENCIES = set()
11+
12+
13+
def find_deps(data):
14+
"""Recurse through all categories and find any list with `dependencies` in the name, then combine
15+
all dependencies into a single list"""
16+
if isinstance(data, dict):
17+
for key, value in data.items():
18+
if (
19+
"dependencies" in key
20+
and isinstance(value, list)
21+
and value
22+
and isinstance(value[0], str)
23+
):
24+
DEPENDENCIES.update(value)
25+
else:
26+
find_deps(value)
27+
elif isinstance(data, list):
28+
for item in data:
29+
find_deps(item)
30+
31+
32+
def install_deps():
33+
pyproject_path = Path(__file__).parent.parent / "pyproject.toml"
34+
with open(pyproject_path, "rb") as f:
35+
pyproject_data = toml.load(f)
36+
find_deps(pyproject_data)
37+
DEPENDENCIES.discard(
38+
"ruff"
39+
) # ruff only exists in dev dependencies for CI purposes.
40+
subprocess.run(["uv", "pip", "install", "-U", *DEPENDENCIES], check=False) # noqa: S607
41+
42+
43+
if __name__ == "__main__":
44+
install_deps()

tests/test_core/test_events.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -646,12 +646,10 @@ async def add_top(event):
646646
assert clicked_items == ["B"]
647647

648648

649-
async def test_controlled_input_typing(display: DisplayFixture):
649+
async def test_controlled_input_rapid_typing(display: DisplayFixture):
650650
"""
651651
Test that a controlled input updates correctly even with rapid typing.
652-
This validates that user inputs are processed in the correct order and that the
653-
event queueing/processing order is consistent with user expectations, even if the
654-
server is still processing previous events.
652+
This validates that user inputs are properly debounced by the client.
655653
"""
656654

657655
@reactpy.component

0 commit comments

Comments
 (0)