From 23e4febba6c4e9304074aa128f21f9167213500d Mon Sep 17 00:00:00 2001 From: Brian Harrison Date: Fri, 3 Apr 2026 14:50:43 -0400 Subject: [PATCH] feat: add CORS middleware to allow cross-origin requests for waveform viewer --- minimateplus/client.py | 2 +- sfm/server.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/minimateplus/client.py b/minimateplus/client.py index a2eb248..554a44a 100644 --- a/minimateplus/client.py +++ b/minimateplus/client.py @@ -322,7 +322,7 @@ class MiniMateClient: ) a5_frames = proto.read_bulk_waveform_stream( - event._waveform_key, stop_after_metadata=False + event._waveform_key, stop_after_metadata=False, max_chunks=128 ) log.info( diff --git a/sfm/server.py b/sfm/server.py index 2503602..6263d16 100644 --- a/sfm/server.py +++ b/sfm/server.py @@ -41,6 +41,7 @@ from typing import Optional # FastAPI / Pydantic try: from fastapi import FastAPI, HTTPException, Query + from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import JSONResponse import uvicorn except ImportError: @@ -75,6 +76,15 @@ app = FastAPI( version="0.1.0", ) +# Allow requests from the waveform viewer opened as a local file (file://) +# and from any dev server or terra-view proxy. +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_methods=["GET", "POST"], + allow_headers=["*"], +) + # ── Serialisers ──────────────────────────────────────────────────────────────── # Plain dict helpers — avoids a Pydantic dependency in the library layer.