You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
/embed and /embed-upload report success when storage fails (silent data loss) #305
POST /local/embed and POST /embed-upload return {"status": true} / HTTP 200 even when the embedding/insertion step failed and nothing was persisted — silent data loss.
Root cause
store_data_in_vector_db always returns a dict, with an "error" key on failure:
# embed_local_fileifresult: # a failure dict is still truthyreturn {"status": True, ...}
# embed_file_uploadifnotresult: # a failure dict is never falsyraiseHTTPException(500, ...)
So a failure dict passes both checks and the endpoints report success. (POST /embed already inspects "error" and is not affected.)
Impact
The client (e.g. LibreChat) marks the file as successfully indexed, but later queries return nothing — confusing, silent data loss with no error surfaced.
Fix
Inspect the result for an "error" key (or a falsy value) in both endpoints and raise HTTP 500 with the error detail, matching what /embed already does. PR to follow.
changed the title [-]C:/Program Files/Git/local/embed and /embed-upload report success when storage fails (silent data loss)[/-][+]/embed and /embed-upload report success when storage fails (silent data loss)[/+]on Jun 16, 2026
Activity
[-]C:/Program Files/Git/local/embed and /embed-upload report success when storage fails (silent data loss)[/-][+]/embed and /embed-upload report success when storage fails (silent data loss)[/+]