Workspace polish: milestone selector, streaming fix, push fix, log quieting
- WorkspaceTaskPanel: add milestone <select> in task detail (PATCH /api/notes/:id), replace delete ✕ with trash can SVG icon - WorkspaceView: scroll to bottom when streaming ends so final message is visible without a page refresh - ToolCallCard: fix search_notes result count (was reading data.total; tool returns data.count), so results no longer show "0 found" - push.py: switch from deprecated WebPusher().send(vapid_private_key=...) to webpush() function (pywebpush 2.x API compatibility) - app.py: downgrade /api/health, /api/chat/status, and static asset requests from INFO to DEBUG in after_request logger to reduce log noise at default log level Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -23,8 +23,8 @@ _VAPID_KEYS_FILE = Path(Config.IMAGE_CACHE_DIR).parent / "vapid_keys.json"
|
||||
def _get_webpush():
|
||||
"""Lazy import to avoid startup errors if pywebpush is not installed."""
|
||||
try:
|
||||
from pywebpush import WebPusher
|
||||
return WebPusher
|
||||
from pywebpush import webpush
|
||||
return webpush
|
||||
except ImportError:
|
||||
return None
|
||||
|
||||
@@ -156,8 +156,8 @@ async def send_push_notification(
|
||||
logger.debug("VAPID not configured, skipping push notification")
|
||||
return
|
||||
|
||||
WebPusher = _get_webpush()
|
||||
if WebPusher is None:
|
||||
webpush = _get_webpush()
|
||||
if webpush is None:
|
||||
logger.warning("pywebpush not installed, cannot send push notifications")
|
||||
return
|
||||
|
||||
@@ -182,7 +182,8 @@ async def send_push_notification(
|
||||
"endpoint": sub.endpoint,
|
||||
"keys": {"p256dh": sub.p256dh, "auth": sub.auth},
|
||||
}
|
||||
response = WebPusher(subscription_info).send(
|
||||
response = webpush(
|
||||
subscription_info=subscription_info,
|
||||
data=payload,
|
||||
vapid_private_key=Config.VAPID_PRIVATE_KEY,
|
||||
vapid_claims=vapid_claims,
|
||||
|
||||
Reference in New Issue
Block a user