From aef6aced035a16ca44dcdb69ae98d2979d6b6749 Mon Sep 17 00:00:00 2001 From: Khaleel Al-Adhami Date: Fri, 31 Jan 2025 14:38:23 -0800 Subject: [PATCH] clear cache on add style recursive --- reflex/compiler/compiler.py | 2 -- reflex/components/base/bare.py | 4 +++- tests/units/test_var.py | 11 ++++------- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/reflex/compiler/compiler.py b/reflex/compiler/compiler.py index 54fb8b2f6..dad578769 100644 --- a/reflex/compiler/compiler.py +++ b/reflex/compiler/compiler.py @@ -689,8 +689,6 @@ class ExecutorSafeFunctions: component, enable_state = compile_unevaluated_page( route, cls.UNCOMPILED_PAGES[route] ) - component = component if isinstance(component, Component) else component() - component._add_style_recursive(style, theme) return route, component, compile_page(route, component, cls.STATE) @classmethod diff --git a/reflex/components/base/bare.py b/reflex/components/base/bare.py index b8a65b3c7..5001b6f50 100644 --- a/reflex/components/base/bare.py +++ b/reflex/components/base/bare.py @@ -9,7 +9,7 @@ from reflex.components.tags import Tag from reflex.components.tags.tagless import Tagless from reflex.utils.imports import ParsedImportDict from reflex.vars import BooleanVar, ObjectVar, Var -from reflex.vars.base import VarData +from reflex.vars.base import GLOBAL_CACHE, VarData class Bare(Component): @@ -161,6 +161,8 @@ class Bare(Component): if isinstance(component, Component): component._add_style_recursive(style, theme) + GLOBAL_CACHE.clear() + return new_self def _get_vars( diff --git a/tests/units/test_var.py b/tests/units/test_var.py index 6902b81e2..4ac053495 100644 --- a/tests/units/test_var.py +++ b/tests/units/test_var.py @@ -1445,9 +1445,9 @@ def test_unsupported_types_for_reverse(var): Args: var: The base var. """ - with pytest.raises(TypeError) as err: + with pytest.raises(AttributeError) as err: var.reverse() - assert err.value.args[0] == "Cannot reverse non-list var." + assert err.value.args[0] == "'Var' object has no attribute 'reverse'" @pytest.mark.parametrize( @@ -1465,12 +1465,9 @@ def test_unsupported_types_for_contains(var: Var): Args: var: The base var. """ - with pytest.raises(TypeError) as err: + with pytest.raises(AttributeError) as err: assert var.contains(1) # pyright: ignore [reportAttributeAccessIssue] - assert ( - err.value.args[0] - == f"Var of type {var._var_type} does not support contains check." - ) + assert err.value.args[0] == "'Var' object has no attribute 'contains'" @pytest.mark.parametrize(