From 247b2f071ebd129e802b3ee51ce87836a68d3af3 Mon Sep 17 00:00:00 2001 From: Priyanshi Shivhare Date: Tue, 12 May 2026 13:08:01 +0530 Subject: [PATCH] fix: bust greeting audio cache on template PUT and DELETE invalidate_template() only deletes the template model cache key (bb:template:{id}) but the pre-synthesized greeting audio is stored under a separate key (greeting:template:{id}). After a PUT, the old audio was still being served from Redis causing initial_greeting changes to have no effect until TTL expiry. - Delete greeting:template:{id} in both PUT and DELETE handlers - Add get_redis_service import to handlers.py --- app/api/routers/breeze_buddy/templates/handlers.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/api/routers/breeze_buddy/templates/handlers.py b/app/api/routers/breeze_buddy/templates/handlers.py index c1c6ad24c..19683c73b 100644 --- a/app/api/routers/breeze_buddy/templates/handlers.py +++ b/app/api/routers/breeze_buddy/templates/handlers.py @@ -35,6 +35,7 @@ DeleteTemplateResponse, TemplateListResponse, ) +from app.services.redis.client import get_redis_service from .rbac import apply_hierarchical_template_filters, validate_template_access @@ -491,6 +492,9 @@ async def replace_template_handler( # self-correct on TTL expiry. try: await invalidate_template(template_id) + redis = await get_redis_service() + await redis.delete(f"greeting:template:{template_id}") + logger.info(f"Greeting cache busted for template: {template_id}") except Exception as cache_exc: logger.warning( f"Template cache invalidation failed for {template_id}: {cache_exc}" @@ -582,6 +586,9 @@ async def delete_template_handler( try: await invalidate_template(template_id) + redis = await get_redis_service() + await redis.delete(f"greeting:template:{template_id}") + logger.info(f"Greeting cache busted for template: {template_id}") except Exception as cache_exc: logger.warning( f"Template cache invalidation failed for {template_id}: {cache_exc}"