diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 42ad16c1..c3eef921 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -31,7 +31,7 @@ jobs: uv venv .venv source .venv/bin/activate # Install dependencies as recommended in CONTRIBUTING.md - uv sync --extra test + uv sync --extra test - name: Run unit tests with pytest run: | diff --git a/src/google/adk_community/sessions/redis_session_service.py b/src/google/adk_community/sessions/redis_session_service.py index bd8e2891..2b39d484 100644 --- a/src/google/adk_community/sessions/redis_session_service.py +++ b/src/google/adk_community/sessions/redis_session_service.py @@ -197,6 +197,13 @@ async def append_event(self, session: Session, event: Event) -> Event: await super().append_event(session=session, event=event) session.last_update_time = event.timestamp + # Defensively strip temp state so it is never persisted to Redis. + temp_keys = [ + k for k in session.state if k.startswith(State.TEMP_PREFIX) + ] + for k in temp_keys: + del session.state[k] + async with self.cache.pipeline(transaction=False) as pipe: user_sessions_key = RedisKeys.user_sessions( session.app_name, session.user_id