Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
f92c60b
feat: add tenant Langfuse config section
dustinhealy Jul 1, 2026
3467224
feat: branded Langfuse connection renderer with test + masked secret
dustinhealy Jul 1, 2026
a7b8efc
fix: render Langfuse section via custom renderer and read saved values
dustinhealy Jul 4, 2026
fb8112e
fix: drop em dash from saved-secret placeholder
dustinhealy Jul 4, 2026
4f8d91d
feat: show loading state on Langfuse test connection button
dustinhealy Jul 4, 2026
4185253
fix: align Langfuse enable toggle with standard ConfigRow layout
dustinhealy Jul 4, 2026
57af28e
test: cover Langfuse config renderer states and connection test
dustinhealy Jul 4, 2026
b68e6b1
fix(langfuse): align connection UI with LibreChat API
upman Jul 10, 2026
9002566
fix(langfuse): gate admin settings on fanout
upman Jul 10, 2026
59b623f
fix(langfuse): allow section-scoped config admins
upman Jul 10, 2026
11f7ffd
fix(langfuse): reflect connection in configured state
upman Jul 10, 2026
de45d2e
fix(langfuse): simplify export enablement controls
upman Jul 10, 2026
40f5fe0
fix(langfuse): preserve schema on startup config failure
upman Jul 10, 2026
50dcad1
fix(langfuse): invalidate stale verification results
upman Jul 10, 2026
97dda73
fix(langfuse): preserve drafts across connection refresh
upman Jul 10, 2026
68fb01d
test(langfuse): protect save and enable behavior
upman Jul 10, 2026
84f8d8f
fix(langfuse): retry transient verification failures
upman Jul 10, 2026
dc3d115
fix(ui): rename Langfuse connection setting
upman Jul 14, 2026
21ec9ef
🛂 fix: Skip Langfuse connection verification for read-only viewers
dustinhealy Aug 4, 2026
baf0537
🛂 fix: Show read-only Langfuse connections as unverified, not unconfi…
dustinhealy Aug 4, 2026
5889449
🛂 fix: Keep a de-allowlisted Langfuse destination selectable
dustinhealy Aug 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion src/components/configuration/ConfigPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ import {
resetBaseConfigFn,
baseConfigOptions,
saveBaseConfigFn,
getLangfuseConnectionFn,
LANGFUSE_CONNECTION_QUERY_KEY,
} from '@/server';
import {
flattenObject,
Expand All @@ -38,6 +40,7 @@ import {
buildSavePayload,
mergeIndexedArrayEdits,
partitionScopeResetPaths,
withLangfuseConfiguredPath,
} from './utils';
import { validateMcpCrossField } from './sections/McpServersRenderer';
import { ScopeSelector, ScopeTriggerButton } from './ScopeSelector';
Expand Down Expand Up @@ -303,7 +306,23 @@ export function ConfigPage({ initialTab, highlightField, initialScope }: t.Confi
return Array.from(mapSecretPreviewPaths(scopeChangedPaths, schemaPathSet));
}, [scopeChangedPaths, schemaPathSet]);

const activeConfiguredPaths = isEditingScope ? scopeConfiguredPaths : configuredPaths;
const { data: langfuseConnection } = useQuery({
queryKey: LANGFUSE_CONNECTION_QUERY_KEY,
queryFn: () => getLangfuseConnectionFn(),
enabled:
!isEditingScope &&
Comment thread
upman marked this conversation as resolved.
schemaTree.some((section) => section.key === 'langfuse') &&
sectionPermissions.langfuse?.canEdit === true,
retry: false,
refetchOnWindowFocus: false,
});

const baseConfiguredPaths = useMemo(
() => withLangfuseConfiguredPath(configuredPaths, langfuseConnection?.configured === true),
[configuredPaths, langfuseConnection?.configured],
);
Comment thread
dustinhealy marked this conversation as resolved.

const activeConfiguredPaths = isEditingScope ? scopeConfiguredPaths : baseConfiguredPaths;

const tabConfiguredCounts = useMemo(() => {
if (activeConfiguredPaths.size === 0) return {};
Expand Down
5 changes: 5 additions & 0 deletions src/components/configuration/configMeta.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,11 @@ export const SECTION_META: Record<
descriptionKey: 'com_config_section_messageFilter_desc',
tab: 'features',
},
langfuse: {
titleKey: 'com_config_section_langfuse',
descriptionKey: 'com_config_section_langfuse_desc',
tab: 'features',
},

fileConfig: {
titleKey: 'com_config_section_file_config',
Expand Down
Loading