🧭 fix: Correct Subpath Routing for SSE and Favorites Endpoints (#11339)

Co-authored-by: Artyom Bogachenco <a.bogachenko@easyreport.ai>
This commit is contained in:
Artyom Bogachenko 2026-01-13 18:53:14 +03:00 committed by GitHub
parent 2a50c372ef
commit 5617bf71be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 13 additions and 7 deletions

View file

@ -1,5 +1,5 @@
import { useMutation } from '@tanstack/react-query';
import { request } from 'librechat-data-provider';
import { apiBaseUrl, request } from 'librechat-data-provider';
export interface AbortStreamParams {
/** The stream ID to abort (if known) */
@ -23,7 +23,10 @@ export interface AbortStreamResponse {
*/
export const abortStream = async (params: AbortStreamParams): Promise<AbortStreamResponse> => {
console.log('[abortStream] Calling abort endpoint with params:', params);
const result = (await request.post('/api/agents/chat/abort', params)) as AbortStreamResponse;
const result = (await request.post(
`${apiBaseUrl()}/api/agents/chat/abort`,
params,
)) as AbortStreamResponse;
console.log('[abortStream] Abort response:', result);
return result;
};

View file

@ -1,5 +1,5 @@
import { useEffect, useMemo, useState } from 'react';
import { QueryKeys, request, dataService } from 'librechat-data-provider';
import { apiBaseUrl, QueryKeys, request, dataService } from 'librechat-data-provider';
import { useQuery, useQueries, useQueryClient } from '@tanstack/react-query';
import type { Agents, TConversation } from 'librechat-data-provider';
import { updateConvoInAllQueries } from '~/utils';
@ -16,7 +16,9 @@ export interface StreamStatusResponse {
export const streamStatusQueryKey = (conversationId: string) => ['streamStatus', conversationId];
export const fetchStreamStatus = async (conversationId: string): Promise<StreamStatusResponse> => {
return request.get<StreamStatusResponse>(`/api/agents/chat/status/${conversationId}`);
return request.get<StreamStatusResponse>(
`${apiBaseUrl()}/api/agents/chat/status/${conversationId}`,
);
};
export function useStreamStatus(conversationId: string | undefined, enabled = true) {

View file

@ -4,6 +4,7 @@ import { SSE } from 'sse.js';
import { useSetRecoilState } from 'recoil';
import { useQueryClient } from '@tanstack/react-query';
import {
apiBaseUrl,
request,
Constants,
QueryKeys,
@ -144,7 +145,7 @@ export default function useResumableSSE(
let { userMessage } = currentSubmission;
let textIndex: number | null = null;
const baseUrl = `/api/agents/chat/stream/${encodeURIComponent(currentStreamId)}`;
const baseUrl = `${apiBaseUrl()}/api/agents/chat/stream/${encodeURIComponent(currentStreamId)}`;
const url = isResume ? `${baseUrl}?resume=true` : baseUrl;
console.log('[ResumableSSE] Subscribing to stream:', url, { isResume });

View file

@ -32,11 +32,11 @@ export type FavoriteItem = {
};
export function getFavorites(): Promise<FavoriteItem[]> {
return request.get('/api/user/settings/favorites');
return request.get(`${endpoints.apiBaseUrl()}/api/user/settings/favorites`);
}
export function updateFavorites(favorites: FavoriteItem[]): Promise<FavoriteItem[]> {
return request.post('/api/user/settings/favorites', { favorites });
return request.post(`${endpoints.apiBaseUrl()}/api/user/settings/favorites`, { favorites });
}
export function getSharedMessages(shareId: string): Promise<t.TSharedMessagesResponse> {