feat(chat): replace built-in chat with LibreChat SSO integration
Replaces the custom chat page with an external LibreChat instance that shares Keycloak SSO for seamless auto-login. Removes Tools and Knowledge Base pages as these are now handled by LibreChat's built-in capabilities. - Add LibreChat service to docker-compose with Ollama backend config - Add Keycloak OIDC client (certifai-librechat) with prompt=none for silent SSO - Create librechat.yaml with CERTifAI branding, Ollama endpoint, and custom page title/logo - Change sidebar Chat link to external URL (opens LibreChat in new tab) - Remove chat page, tools page, knowledge base page and all related components (chat_sidebar, chat_bubble, chat_input_bar, etc.) - Remove tool_card, file_row components and tool/knowledge models - Remove chat_stream SSE handler (no longer needed) - Clean up i18n files: remove chat, tools, knowledge sections - Dashboard article summarization via Ollama remains intact Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -174,8 +174,8 @@ pub fn t(locale: Locale, key: &str) -> String {
|
||||
///
|
||||
/// ```
|
||||
/// use dashboard::i18n::{tw, Locale};
|
||||
/// let text = tw(Locale::En, "chat.minutes_ago", &[("n", "5")]);
|
||||
/// assert_eq!(text, "5m ago");
|
||||
/// let text = tw(Locale::En, "common.up_to_seats", &[("n", "5")]);
|
||||
/// assert_eq!(text, "Up to 5 seats");
|
||||
/// ```
|
||||
pub fn tw(locale: Locale, key: &str, vars: &[(&str, &str)]) -> String {
|
||||
let mut result = t(locale, key);
|
||||
@@ -221,8 +221,8 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn variable_substitution() {
|
||||
let result = tw(Locale::En, "chat.minutes_ago", &[("n", "5")]);
|
||||
assert_eq!(result, "5m ago");
|
||||
let result = tw(Locale::En, "common.up_to_seats", &[("n", "5")]);
|
||||
assert_eq!(result, "Up to 5 seats");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user