From 49bd515e98f8f253b0a58b23cb36f5356e6f9843 Mon Sep 17 00:00:00 2001 From: Alek Petuskey Date: Thu, 14 May 2026 17:56:24 -0700 Subject: [PATCH 1/3] Minimize package dependency leaks --- .../reflex-components-core/pyproject.toml | 4 - .../reflex_components_core/core/__init__.py | 10 --- .../src/reflex_components_core/core/upload.py | 31 ++++--- .../reflex-components-sonner/pyproject.toml | 3 +- .../src/reflex_components_sonner/toast.py | 3 +- pyi_hashes.json | 10 +-- reflex/__init__.py | 2 +- reflex/app.py | 10 +-- .../core => reflex/components}/banner.py | 80 +++++++++++-------- reflex/utils/codespaces.py | 3 +- tests/units/components/core/test_banner.py | 5 +- .../components/test_package_dependencies.py | 56 +++++++++++++ uv.lock | 10 +-- 13 files changed, 141 insertions(+), 86 deletions(-) rename {packages/reflex-components-core/src/reflex_components_core/core => reflex/components}/banner.py (90%) create mode 100644 tests/units/components/test_package_dependencies.py diff --git a/packages/reflex-components-core/pyproject.toml b/packages/reflex-components-core/pyproject.toml index 349e37b1875..27bcba8e237 100644 --- a/packages/reflex-components-core/pyproject.toml +++ b/packages/reflex-components-core/pyproject.toml @@ -9,8 +9,6 @@ maintainers = [{ name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" }] requires-python = ">=3.10" dependencies = [ "reflex-base >= 0.9.0", - "reflex-components-lucide >= 0.9.0", - "reflex-components-sonner >= 0.9.0", "python_multipart", "starlette", "typing_extensions", @@ -31,8 +29,6 @@ targets.wheel.artifacts = ["*.pyi"] dependencies = [ "ruff", "reflex-base", - "reflex-components-lucide", - "reflex-components-sonner", "python_multipart", "starlette", "typing_extensions", diff --git a/packages/reflex-components-core/src/reflex_components_core/core/__init__.py b/packages/reflex-components-core/src/reflex_components_core/core/__init__.py index ba7d6afde67..029ce57650a 100644 --- a/packages/reflex-components-core/src/reflex_components_core/core/__init__.py +++ b/packages/reflex-components-core/src/reflex_components_core/core/__init__.py @@ -7,16 +7,6 @@ _SUBMODULES: set[str] = {"layout"} _SUBMOD_ATTRS: dict[str, list[str]] = { - "banner": [ - "ConnectionBanner", - "ConnectionModal", - "ConnectionPulser", - "ConnectionToaster", - "connection_banner", - "connection_modal", - "connection_toaster", - "connection_pulser", - ], "clipboard": ["Clipboard", "clipboard"], "colors": [ "color", diff --git a/packages/reflex-components-core/src/reflex_components_core/core/upload.py b/packages/reflex-components-core/src/reflex_components_core/core/upload.py index 9bbb28de64d..dff56bdaa04 100644 --- a/packages/reflex-components-core/src/reflex_components_core/core/upload.py +++ b/packages/reflex-components-core/src/reflex_components_core/core/upload.py @@ -32,11 +32,10 @@ from reflex_base.utils import format from reflex_base.utils.imports import ImportVar from reflex_base.vars import VarData -from reflex_base.vars.base import Var, get_unique_variable_name +from reflex_base.vars.base import LiteralVar, Var, get_unique_variable_name from reflex_base.vars.function import FunctionVar from reflex_base.vars.object import ObjectVar from reflex_base.vars.sequence import ArrayVar, LiteralStringVar -from reflex_components_sonner.toast import toast from reflex_components_core.base.fragment import Fragment from reflex_components_core.core._upload import UploadChunkIterator, UploadFile @@ -179,6 +178,10 @@ def get_upload_url(file_path: str | Var[str]) -> Var[str]: ) _on_drop_rejected_spec = passthrough_event_spec(list[dict[str, Any]]) _UPLOAD_FILES_CLIENT_HANDLER = "uploadFiles" +_toast_ref = Var( + _js_expr="refs['__toast']", + _var_data=VarData(imports={f"$/{Dirs.STATE_PATH}": [ImportVar(tag="refs")]}), +) def _default_drop_rejected(rejected_files: ArrayVar[list[dict[str, Any]]]) -> EventSpec: @@ -197,15 +200,23 @@ def _format_rejected_file_record(rf: ObjectVar[dict[str, Any]]) -> str: errors = rf["errors"].to(ArrayVar, list[dict[str, Any]]) return f"{file['path']}: {errors.foreach(lambda kv: kv['message']).join(', ')}" # noqa: FURB118 - return toast.error( - title="Files not Accepted", - description=rejected_files - .to(ArrayVar) - .foreach(_format_rejected_file_record) - .join("\n\n"), - close_button=True, - style={"white_space": "pre-line"}, + description = ( + rejected_files.to(ArrayVar).foreach(_format_rejected_file_record).join("\n\n") + ) + toast_options = LiteralVar.create({ + "title": "Files not Accepted", + "description": description, + "closeButton": True, + "style": {"whiteSpace": "pre-line"}, + }) + toast_call = Var( + _js_expr=f"{_toast_ref}?.error('', {toast_options!s})", + _var_data=VarData.merge( + _toast_ref._get_all_var_data(), + toast_options._get_all_var_data(), + ), ) + return run_script(toast_call) class UploadFilesProvider(Component): diff --git a/packages/reflex-components-sonner/pyproject.toml b/packages/reflex-components-sonner/pyproject.toml index e6db6d409c2..a283b7a970c 100644 --- a/packages/reflex-components-sonner/pyproject.toml +++ b/packages/reflex-components-sonner/pyproject.toml @@ -9,7 +9,6 @@ maintainers = [{ name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" }] requires-python = ">=3.10" dependencies = [ "reflex-base >= 0.9.0", - "reflex-components-lucide >= 0.9.0", ] [tool.hatch.version] @@ -24,7 +23,7 @@ targets.sdist.artifacts = ["*.pyi"] targets.wheel.artifacts = ["*.pyi"] [tool.hatch.build.hooks.reflex-pyi] -dependencies = ["ruff", "reflex-base", "reflex-components-lucide"] +dependencies = ["ruff", "reflex-base"] [build-system] requires = ["hatchling", "uv-dynamic-versioning", "hatch-reflex-pyi"] diff --git a/packages/reflex-components-sonner/src/reflex_components_sonner/toast.py b/packages/reflex-components-sonner/src/reflex_components_sonner/toast.py index f08457b526d..d8bccd986ff 100644 --- a/packages/reflex-components-sonner/src/reflex_components_sonner/toast.py +++ b/packages/reflex-components-sonner/src/reflex_components_sonner/toast.py @@ -18,7 +18,6 @@ from reflex_base.vars.function import FunctionVar from reflex_base.vars.number import ternary_operation from reflex_base.vars.object import ObjectVar -from reflex_components_lucide.icon import Icon LiteralPosition = Literal[ "top-left", @@ -213,7 +212,7 @@ class Toaster(Component): gap: Var[int] = field(doc="Gap between toasts when expanded") - loading_icon: Var[Icon] = field(doc="Changes the default loading icon") + loading_icon: Var[Component] = field(doc="Changes the default loading icon") pause_when_page_is_hidden: Var[bool] = field( doc="Pauses toast timers when the page is hidden, e.g., when the tab is backgrounded, the browser is minimized, or the OS is locked." diff --git a/pyi_hashes.json b/pyi_hashes.json index a422e6a6855..354b2c8593b 100644 --- a/pyi_hashes.json +++ b/pyi_hashes.json @@ -12,15 +12,14 @@ "packages/reflex-components-core/src/reflex_components_core/base/meta.pyi": "0cfa2d8c52321ce7440e887d03007d5b", "packages/reflex-components-core/src/reflex_components_core/base/script.pyi": "bfc7fb609b822f597d1141595f8090fe", "packages/reflex-components-core/src/reflex_components_core/base/strict_mode.pyi": "8ee129808abb4389cbd77a1736190eae", - "packages/reflex-components-core/src/reflex_components_core/core/__init__.pyi": "dd5142b3c9087bf2bf22651adf6f2724", + "packages/reflex-components-core/src/reflex_components_core/core/__init__.pyi": "c3856c8f09e2696d2c3c317726f5ad83", "packages/reflex-components-core/src/reflex_components_core/core/auto_scroll.pyi": "918dfad4d5925addd0f741e754b3b076", - "packages/reflex-components-core/src/reflex_components_core/core/banner.pyi": "6040fbada9b96c55637a9c8cc21a5e10", "packages/reflex-components-core/src/reflex_components_core/core/clipboard.pyi": "e3950e0963a6d04299ff58294687e407", "packages/reflex-components-core/src/reflex_components_core/core/debounce.pyi": "58138b5f1d5901839729d839620ea4da", "packages/reflex-components-core/src/reflex_components_core/core/helmet.pyi": "7fd81a99bde5b0ff94bb52523597fd5c", "packages/reflex-components-core/src/reflex_components_core/core/html.pyi": "753d6ae315369530dad450ed643f5be6", "packages/reflex-components-core/src/reflex_components_core/core/sticky.pyi": "ba60a7d9cba75b27a1133bd63a9fbd59", - "packages/reflex-components-core/src/reflex_components_core/core/upload.pyi": "2dd6ba6e3a4d61fc1d79eb582a7cc548", + "packages/reflex-components-core/src/reflex_components_core/core/upload.pyi": "5a4d5533a01f7a56a802e00615247873", "packages/reflex-components-core/src/reflex_components_core/core/window_events.pyi": "5e1dcb1130bc8af282783fae329ae6a6", "packages/reflex-components-core/src/reflex_components_core/datadisplay/__init__.pyi": "c96fed4da42a13576d64f84e3c7cb25c", "packages/reflex-components-core/src/reflex_components_core/el/__init__.pyi": "f09129ddefb57ab4c7769c86dc9a3153", @@ -117,8 +116,9 @@ "packages/reflex-components-recharts/src/reflex_components_recharts/general.pyi": "5a1a479924ad6184abafe4d796cb04c5", "packages/reflex-components-recharts/src/reflex_components_recharts/polar.pyi": "1979bb6c22bb7a0d3342b2d63fb19d74", "packages/reflex-components-recharts/src/reflex_components_recharts/recharts.pyi": "c5288f311fe37b23539518ba2a3d4482", - "packages/reflex-components-sonner/src/reflex_components_sonner/toast.pyi": "2c5fadcc014056f041cd4d916137d9e7", - "reflex/__init__.pyi": "3a9bb8544cbc338ffaf0a5927d9156df", + "packages/reflex-components-sonner/src/reflex_components_sonner/toast.pyi": "e623d84fde45af974de486dd147eccdf", + "reflex/__init__.pyi": "314c91dbc2d7d60bb2d754ac5a22b310", "reflex/components/__init__.pyi": "f39a2af77f438fa243c58c965f19d42e", + "reflex/components/banner.pyi": "48126bffb8055e79c2f03272ed15eedd", "reflex/experimental/memo.pyi": "d09629b81bf0df6153b131ac0ee10bd7" } diff --git a/reflex/__init__.py b/reflex/__init__.py index 3a81b098db6..5608900b577 100644 --- a/reflex/__init__.py +++ b/reflex/__init__.py @@ -100,7 +100,7 @@ from reflex_components_radix.mappings import RADIX_MAPPING # noqa: E402 _COMPONENTS_CORE_MAPPING: lazy_loader.SubmodAttrsType = { - "reflex_components_core.core.banner": [ + "reflex.components.banner": [ "connection_banner", "connection_modal", ], diff --git a/reflex/app.py b/reflex/app.py index 847f8f24ecf..0596267d97e 100644 --- a/reflex/app.py +++ b/reflex/app.py @@ -47,11 +47,6 @@ from reflex_base.utils.types import ASGIApp, Message, Receive, Scope, Send from reflex_components_core.base.error_boundary import ErrorBoundary from reflex_components_core.base.fragment import Fragment -from reflex_components_core.core.banner import ( - backend_disabled, - connection_pulser, - connection_toaster, -) from reflex_components_core.core.breakpoints import set_breakpoints from reflex_components_core.core.sticky import sticky from reflex_components_sonner.toast import toast @@ -70,6 +65,11 @@ from reflex.app_mixins import AppMixin, LifespanMixin, MiddlewareMixin from reflex.compiler import compiler from reflex.compiler.compiler import readable_name_from_component +from reflex.components.banner import ( + backend_disabled, + connection_pulser, + connection_toaster, +) from reflex.istate.data import RouterData from reflex.istate.manager import StateManager, StateModificationContext from reflex.istate.manager.token import BaseStateToken diff --git a/packages/reflex-components-core/src/reflex_components_core/core/banner.py b/reflex/components/banner.py similarity index 90% rename from packages/reflex-components-core/src/reflex_components_core/core/banner.py rename to reflex/components/banner.py index 8d9af0bef76..3e3738d3b24 100644 --- a/packages/reflex-components-core/src/reflex_components_core/core/banner.py +++ b/reflex/components/banner.py @@ -2,6 +2,8 @@ from __future__ import annotations +from typing import cast + from reflex_base import constants from reflex_base.components.component import Component from reflex_base.constants import Dirs, Hooks, Imports @@ -13,13 +15,18 @@ from reflex_base.vars.function import FunctionStringVar from reflex_base.vars.number import BooleanVar from reflex_base.vars.sequence import LiteralArrayVar -from reflex_components_lucide.icon import Icon -from reflex_components_sonner.toast import ToastProps, toast_ref - -from reflex_components_core import el from reflex_components_core.base.fragment import Fragment from reflex_components_core.core.cond import cond +from reflex_components_core.el.elements.forms import Button +from reflex_components_core.el.elements.inline import Span +from reflex_components_core.el.elements.media import Path, Svg +from reflex_components_core.el.elements.metadata import Link +from reflex_components_core.el.elements.other import Dialog +from reflex_components_core.el.elements.sectioning import H2 from reflex_components_core.el.elements.typography import Div +from reflex_components_core.react_router.dom import ReactRouterLink +from reflex_components_lucide.icon import Icon +from reflex_components_sonner.toast import ToastProps, toast_ref connect_error_var_data: VarData = VarData( imports=Imports.EVENTS, @@ -204,9 +211,9 @@ def create(cls, comp: Component | None = None) -> Component: Returns: The connection banner component. """ - if not comp: - comp = el.div( - el.span( + if comp is None: + comp = Div.create( + Span.create( *default_connection_error(), color="black", font_size="1.125rem", @@ -235,12 +242,12 @@ def create(cls, comp: Component | None = None) -> Component: Returns: The connection banner component. """ - if not comp: - comp = el.span(*default_connection_error()) + if comp is None: + comp = Span.create(*default_connection_error()) return cond( has_too_many_connection_errors, - el.dialog( - el.h2("Connection Error"), + Dialog.create( + H2.create("Connection Error"), comp, open=has_too_many_connection_errors, z_index=9999, @@ -265,16 +272,19 @@ def create(cls, *children, **props) -> Icon: pulse_var = Var(r"keyframes({ from: { opacity: 0 }, to: { opacity: 1 } })").to( str ) - return super().create( - "wifi_off", - color=props.pop("color", "crimson"), - size=props.pop("size", 32), - z_index=props.pop("z_index", 9999), - position=props.pop("position", "fixed"), - bottom=props.pop("bottom", "33px"), - right=props.pop("right", "33px"), - animation=LiteralVar.create(f"{pulse_var} 1s infinite"), - **props, + return cast( + Icon, + super().create( + "wifi_off", + color=props.pop("color", "crimson"), + size=props.pop("size", 32), + z_index=props.pop("z_index", 9999), + position=props.pop("position", "fixed"), + bottom=props.pop("bottom", "33px"), + right=props.pop("right", "33px"), + animation=LiteralVar.create(f"{pulse_var} 1s infinite"), + **props, + ), ) def add_imports(self) -> dict[str, str | ImportVar | list[str | ImportVar]]: @@ -342,8 +352,8 @@ def create(cls, **props) -> Component: ), ) - warning_icon = el.svg( - el.path( + warning_icon = Svg.create( + Path.create( d="M6.90816 1.34341C7.61776 1.10786 8.38256 1.10786 9.09216 1.34341C9.7989 1.57799 10.3538 2.13435 10.9112 2.91605C11.4668 3.69515 12.0807 4.78145 12.872 6.18175L12.9031 6.23672C13.6946 7.63721 14.3085 8.72348 14.6911 9.60441C15.0755 10.4896 15.267 11.2539 15.1142 11.9881C14.9604 12.7275 14.5811 13.3997 14.0287 13.9079C13.4776 14.4147 12.7273 14.6286 11.7826 14.7313C10.8432 14.8334 9.6143 14.8334 8.0327 14.8334H7.9677C6.38604 14.8334 5.15719 14.8334 4.21778 14.7313C3.27301 14.6286 2.52269 14.4147 1.97164 13.9079C1.41924 13.3997 1.03995 12.7275 0.88613 11.9881C0.733363 11.2539 0.92483 10.4896 1.30926 9.60441C1.69184 8.72348 2.30573 7.63721 3.09722 6.23671L3.12828 6.18175C3.91964 4.78146 4.53355 3.69515 5.08914 2.91605C5.64658 2.13435 6.20146 1.57799 6.90816 1.34341ZM7.3335 11.3334C7.3335 10.9652 7.63063 10.6667 7.99716 10.6667H8.00316C8.3697 10.6667 8.66683 10.9652 8.66683 11.3334C8.66683 11.7016 8.3697 12.0001 8.00316 12.0001H7.99716C7.63063 12.0001 7.3335 11.7016 7.3335 11.3334ZM7.3335 8.66675C7.3335 9.03495 7.63196 9.33341 8.00016 9.33341C8.36836 9.33341 8.66683 9.03495 8.66683 8.66675V6.00008C8.66683 5.63189 8.36836 5.33341 8.00016 5.33341C7.63196 5.33341 7.3335 5.63189 7.3335 6.00008V8.66675Z", fill_rule="evenodd", clip_rule="evenodd", @@ -358,10 +368,10 @@ def create(cls, **props) -> Component: flex_shrink="0", ) - info_message = el.div( - el.span( + info_message = Div.create( + Span.create( "If you are the owner of this app, visit ", - el.a( + ReactRouterLink.create( "Reflex Cloud", color=color("amber", 11), text_decoration="underline", @@ -393,8 +403,8 @@ def create(cls, **props) -> Component: # Prepend warning icon into info_message children info_message.children.insert(0, warning_icon) - resume_button = el.a( - el.button( + resume_button = ReactRouterLink.create( + Button.create( "Resume app", color="rgba(252, 252, 253, 1)", font_size="0.875rem", @@ -416,9 +426,9 @@ def create(cls, **props) -> Component: target="_blank", ) - card = el.div( - el.div( - el.div( + card = Div.create( + Div.create( + Div.create( "This app is paused", font_size="1.5rem", font_weight="600", @@ -449,17 +459,17 @@ def create(cls, **props) -> Component: return super().create( cond( is_backend_disabled, - el.div( - el.link( + Div.create( + Link.create( rel="preconnect", href="https://fonts.googleapis.com", ), - el.link( + Link.create( rel="preconnect", href="https://fonts.gstatic.com", crossorigin="", ), - el.link( + Link.create( href="https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,500;0,600&display=swap", rel="stylesheet", ), diff --git a/reflex/utils/codespaces.py b/reflex/utils/codespaces.py index 00e9ab7ba75..6fdbdd01160 100644 --- a/reflex/utils/codespaces.py +++ b/reflex/utils/codespaces.py @@ -8,11 +8,12 @@ from reflex_base.constants import Endpoint from reflex_base.utils.decorator import once from reflex_components_core.base.script import Script -from reflex_components_core.core.banner import has_connection_errors from reflex_components_core.core.cond import cond from starlette.requests import Request from starlette.responses import HTMLResponse +from reflex.components.banner import has_connection_errors + @once def redirect_script() -> str: diff --git a/tests/units/components/core/test_banner.py b/tests/units/components/core/test_banner.py index 1df213f5936..112750c7fee 100644 --- a/tests/units/components/core/test_banner.py +++ b/tests/units/components/core/test_banner.py @@ -1,10 +1,11 @@ -from reflex_components_core.core.banner import ( +from reflex_components_radix.themes.typography.text import Text + +from reflex.components.banner import ( ConnectionBanner, ConnectionModal, ConnectionPulser, WebsocketTargetURL, ) -from reflex_components_radix.themes.typography.text import Text def test_websocket_target_url(): diff --git a/tests/units/components/test_package_dependencies.py b/tests/units/components/test_package_dependencies.py new file mode 100644 index 00000000000..198608d7fc1 --- /dev/null +++ b/tests/units/components/test_package_dependencies.py @@ -0,0 +1,56 @@ +from __future__ import annotations + +import sys +from pathlib import Path + +if sys.version_info >= (3, 11): + import tomllib +else: + import tomli as tomllib + + +REPO_ROOT = Path(__file__).resolve().parents[3] + + +def _package_dependencies(package: str) -> list[str]: + pyproject = REPO_ROOT / "packages" / package / "pyproject.toml" + data = tomllib.loads(pyproject.read_text()) + + dependencies = list(data["project"].get("dependencies", [])) + dependencies.extend( + data + .get("tool", {}) + .get("hatch", {}) + .get("build", {}) + .get("hooks", {}) + .get("reflex-pyi", {}) + .get("dependencies", []) + ) + return dependencies + + +def _dependency_names(package: str) -> set[str]: + return {dependency.split()[0] for dependency in _package_dependencies(package)} + + +def _source_imports(package: str, import_name: str) -> bool: + source_root = REPO_ROOT / "packages" / package / "src" + return any( + import_name in source.read_text() for source in source_root.rglob("*.py") + ) + + +def test_core_does_not_depend_on_lucide_or_sonner(): + dependency_names = _dependency_names("reflex-components-core") + + assert "reflex-components-lucide" not in dependency_names + assert "reflex-components-sonner" not in dependency_names + assert not _source_imports("reflex-components-core", "reflex_components_lucide") + assert not _source_imports("reflex-components-core", "reflex_components_sonner") + + +def test_sonner_does_not_depend_on_lucide(): + dependency_names = _dependency_names("reflex-components-sonner") + + assert "reflex-components-lucide" not in dependency_names + assert not _source_imports("reflex-components-sonner", "reflex_components_lucide") diff --git a/uv.lock b/uv.lock index f3122ca7c5b..c3c0befd6c4 100644 --- a/uv.lock +++ b/uv.lock @@ -3588,8 +3588,6 @@ source = { editable = "packages/reflex-components-core" } dependencies = [ { name = "python-multipart" }, { name = "reflex-base" }, - { name = "reflex-components-lucide" }, - { name = "reflex-components-sonner" }, { name = "starlette" }, { name = "typing-extensions" }, ] @@ -3598,8 +3596,6 @@ dependencies = [ requires-dist = [ { name = "python-multipart" }, { name = "reflex-base", editable = "packages/reflex-base" }, - { name = "reflex-components-lucide", editable = "packages/reflex-components-lucide" }, - { name = "reflex-components-sonner", editable = "packages/reflex-components-sonner" }, { name = "starlette" }, { name = "typing-extensions" }, ] @@ -3735,14 +3731,10 @@ name = "reflex-components-sonner" source = { editable = "packages/reflex-components-sonner" } dependencies = [ { name = "reflex-base" }, - { name = "reflex-components-lucide" }, ] [package.metadata] -requires-dist = [ - { name = "reflex-base", editable = "packages/reflex-base" }, - { name = "reflex-components-lucide", editable = "packages/reflex-components-lucide" }, -] +requires-dist = [{ name = "reflex-base", editable = "packages/reflex-base" }] [[package]] name = "reflex-docgen" From eef4c54bb223f000499ea183a3d12341d81f36ca Mon Sep 17 00:00:00 2001 From: Alek Petuskey Date: Thu, 14 May 2026 18:03:54 -0700 Subject: [PATCH 2/3] Add connection banner preview --- .github/pr-assets/connection-banner-preview.png | Bin 0 -> 31224 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .github/pr-assets/connection-banner-preview.png diff --git a/.github/pr-assets/connection-banner-preview.png b/.github/pr-assets/connection-banner-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..fd1286a8648c5737841b65e05f97aff6d4281e9f GIT binary patch literal 31224 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 CYw2$Q literal 0 HcmV?d00001 From 764e9fa29f82c162d8f83129b971e1e079427e2a Mon Sep 17 00:00:00 2001 From: Alek Petuskey Date: Thu, 14 May 2026 18:15:55 -0700 Subject: [PATCH 3/3] Replace banner preview with visual comparison --- .../pr-assets/connection-banner-old-vs-new.png | Bin 0 -> 36367 bytes .github/pr-assets/connection-banner-preview.png | Bin 31224 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .github/pr-assets/connection-banner-old-vs-new.png delete mode 100644 .github/pr-assets/connection-banner-preview.png diff --git a/.github/pr-assets/connection-banner-old-vs-new.png b/.github/pr-assets/connection-banner-old-vs-new.png new file mode 100644 index 0000000000000000000000000000000000000000..3a05c826a9ac9866a345752611c98a8d9262812d GIT binary patch literal 36367 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%0A^U2nR$)m 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 literal 0 HcmV?d00001 diff --git a/.github/pr-assets/connection-banner-preview.png b/.github/pr-assets/connection-banner-preview.png deleted file mode 100644 index fd1286a8648c5737841b65e05f97aff6d4281e9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31224 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 CYw2$Q