Commit History
-
feat: add PRO badge and credits modal for HuggingChat (#2048)
Unverified signature* feat: add PRO badge and credits modal for HuggingChat - Add isPro field to User type and persist from OAuth login - Fetch fresh isPro status from HuggingFace public API on page load - Display "Get PRO" button for non-PRO users in sidebar - Display "PRO" badge for PRO users in sidebar - Update SubscribeModal to show "Purchase Credits" for PRO users - Add IconPro component for gradient sparkle icon * feat: improve SubscribeModal UI for PRO users - Use IconDazzled with yellow-orange-red gradient for "Out of Credits" - Use IconPro with pink-green-yellow gradient for "Upgrade Required" - Update credits message to mention HF services and Inference Providersb9a2152
-
Update Logo.svelte
666db36
-
MCP (#1981)
Unverified signature* Update ServerCard.svelte feat(mcp): add Model Context Protocol integration with tool support Improve MCP tools caching and server selection logic Replaces single-entry MCP tools cache with a multi-keyed cache based on server configuration, improving cache accuracy for different server sets. Refactors server selection logic in runMcpFlow to better handle custom server lists and selected server names. Removes MCP flow from generate.ts, streamlining text generation logic. * Add OAuth authentication for MCP servers Introduces browser-based OAuth flow for MCP servers, including new auth helpers, localStorage management, and UI actions for authentication and sign-out. Server cards now support authentication, and enabled servers include persisted auth headers for API requests. Adds callback handler and route for OAuth completion. * Add server authentication status and UI indicators Introduces an 'authRequired' property to MCPServer and health check responses to indicate when authenti…e67ab0e
-
Refactor IconMoon and clean up migration imports
Added support for custom class names to the IconMoon Svelte component for improved styling flexibility. Removed unused migration imports from routines/index.ts to clean up the codebase.08b3174 -
Update IconMoon.svelte
c6fbac6
-
HuggingChat 2026 (#1875)
Unverified signature* refactor: remove tokenizer-related functionality and dependencies - Removed tokenizer dependencies from package.json. - Deleted TokensCounter component and its usages across the application. - Updated model configurations to exclude tokenizer properties. - Refactored model processing logic to support only OpenAI-compatible endpoints. - Adjusted API responses to omit tokenizer information. - Cleaned up related utility functions and imports. * Remove web search functionality and related components - Deleted endpoints for various web search APIs (serpApi, serpStack, serper, webLocal, youApi). - Removed generateQuery function and its usage in search. - Eliminated web search related types and interfaces from the codebase. - Updated Assistant and Conversation types to remove references to web search and embedding models. - Cleaned up related utility functions and message updates for web search. - Adjusted API routes and components to reflect the removal of web search features. - Updated…4331e77
-
refactor: new API & universal load functions (pt. 2) (#1847)
Unverified signature* feat(API): refactor API with Elysia * feat: initial elysia setup * feat: replace conv/[id] load function with universal * fix: delete v1 catchall * wip * fix: response type * fix: add cors * feat: more routes in tools & assistants * refacto: use normal svelte fetch in `/assistant/[assistantId]` * refacto: use normal svelte fetch in `conversation/[id]` * feat: use universal load function for `tools/[toolId]` * wip: removing more server load function stuff * feat: more routes to universal load functions * feat: more routes to universal * refactor: move tools loading to API endpoint * refactor(api): implement tools search API endpoint and move load function * fix: types on tool search * refactor: update assistant route and remove redundant page load function * refactor(api): move assistants page load function to api call * refactor(settings): remove waterfall loading * refactor: main load function * fix: types * feat: improve fetchJSON to handle empty responses * …7d7a53f -
Revert "refactor: new API & universal load functions (#1743)"
This reverts commit 7961ae74d12cc62461929d92aca0adac48b72d9a.91e839b -
refactor: new API & universal load functions (#1743)
Unverified signature* feat(API): refactor API with Elysia * feat: initial elysia setup * feat: replace conv/[id] load function with universal * fix: delete v1 catchall * wip * fix: response type * fix: add cors * feat: more routes in tools & assistants * refacto: use normal svelte fetch in `/assistant/[assistantId]` * refacto: use normal svelte fetch in `conversation/[id]` * feat: use universal load function for `tools/[toolId]` * wip: removing more server load function stuff * feat: more routes to universal load functions * feat: more routes to universal * refactor: move tools loading to API endpoint * refactor(api): implement tools search API endpoint and move load function * fix: types on tool search * refactor: update assistant route and remove redundant page load function * refactor(api): move assistants page load function to api call * refactor(settings): remove waterfall loading * refactor: main load function * fix: types * feat: improve fetchJSON to handle empty responses * …35a395c
-
feat: allow storing env variable in DB (#1802)
Unverified signature* feat(config): wip, make config controllable from DB, public side for now * fix: build * feat(config): add config manager env var toggle * wip: make backend config use config manager * fix: typechecks * fix: circular import * refactor: init hook sveltekit * fix: disable config manager during tests * refactor: use enum for semaphore, move delete from auto after 60s to separate `deleteAt` field * feat: config manager checks for updates on requests * fix: config script exit * fix: remove top-level awaits * fix: script await * feat: filter config keys based on public environment variables for more security * fix: change import to type for public environment variables31daf3d
-
feat: preload logo
4afcab2
-
chores(svelte): migrate `$app/stores` to `$app/state` (#1693)
Unverified signaturee1f5db2
-
chores(svelte): migration to svelte 5 (#1685)
Unverified signature* chores(svelte): migration to svelte 5 * chores(svelte5): remove preventDefault & stopPropagation legacy handlers * chores(deps): version bumps * fix: closing modal works properly * fix: messagte loading reactivity * fix: loading indicator * fix: conversation list reactivity * fix: bug on tool logo rendering * fix: infinite loading circular dep * feat: hide new chat button on new chats * fix: move apply directive to main.css * fix: remove legacy syntax in `TokensCounter.svelte` * fix: replace legacy `run` with Svelte 5 `$effect` in NavMenu * fix: replace legacy `run` with Svelte 5 `$effect` in ScrollToPreviousBtn * fix: migrate `settings/[modelId]` page to Svelte 5 syntax * fix: replace legacy `run` with Svelte 5 `$effect` in ToolUpdate component * fix: migrate ToolEdit component to Svelte 5 syntax * fix: simplify login required handling in ChatInput21b8785
-
Capture screen like similar to Claude (#1604)
Unverified signature* feat: capture screen * feat: make it work with latest tool UI * fix: add screenshot icon * Update src/lib/components/icons/iconScreenshot.svelte Co-authored-by: Victor Muštar <victor.mustar@gmail.com> * fix: capitalization * fix: stop tracks in finally block * fix: revert chatwindow changes that shouldnt be there * fix: tooltip classes --------- Co-authored-by: Nathan Sarrazin <sarrazin.nathan@gmail.com> Co-authored-by: Victor Muštar <victor.mustar@gmail.com>b5ae72d
-
feat: new tool UI (#1630)
Unverified signature* feat: new tool UI * wip community tools support * fix: community tools support * fix: line heights * fix: MIME types * fix: remove debug logs * fix: make sure file upload is always last * fix: always enable document parser when a pdf is present in the conversation * fix: use correct icon for document upload * fix: make sure community tools use their custom icons correctly * feat: add button to browse community tools * tweak buttons * add some tooltips * fix: bug in file upload tooltips * fix: lint --------- Co-authored-by: Victor Mustar <victor.mustar@gmail.com>74ed6b2
-
Function calling (#996)
Unverified signature* Initial work on function calling * wip * Add websearch as a tool * lint * smol * Move tools to their own files * directly answer check * Add text2img tool * group tool calls together * show retry even if no message * fix trailing urls * Add image popup * format * wip * clean-up * better loading indicator * text colors * extra example to summarize * switch default model * Add fetchUrl tool * wip * Add latest gradio * fix types * version bump sharp * Basic tools menu * working menu * fix menu positioning * deps fix * add deps * cleanup * more cleanup * cleanup * package cleanups * moar cleanup * ui update * Update ChatMessage.svelte * upgrade gradio dep * lint * refactor and pass results to cohere * feat: code interpreter tool * fix: add e2b dependency * feat: working TGI endpoint with tool results * feat: allow image model to expand to 90dvw * fix: dont block on title gen * bump sharp * misc cleanup * fix url fetcher, adjust tool typing *…faa93d9
-
Move vars to dynamic, add metrics (#1085)
Unverified signature* Add healthcheck route * Add prom client with basic metrics * wip: serve metrics on a different port * exclude server from tsconfig * latest * refacto(all): use class & singleton * refacto(all): use class & singleton * refacto(all): add request logs * Make all the env vars dynamic (#1092) * Add truncate to task model (#1090) * retry text area height (#1091) * Make all the env vars dynamic * only check for db at runtime * remove secret from build step * improve dockerfile * Wrap db in singleton * add .env.local to dockerignore * changes to dockerfile * lint * aborted generations * move collections build check * Use a single dockerfile * lint * fixes * lint * don't return db during building * remove dev --------- Co-authored-by: Victor Muštar <victor.mustar@gmail.com> * refacto(all): update default metrics port * fix recursion error * add version check * revert vite preview * Move request logs to debug level and add an env var to filter by log level in d…0e5ff83
-
Add websearch controls for assistants (#812)
Unverified signature* remove query modifiers from generateQuery * Add backend for assistant RAG * Add front-end for updating RAG assistant * enable web parser to return plaintext directly for matching headers * Update websearch flow for handling assistant rag preferences * Add our old blocklist to .env.template * Enable websearch to run on messages depending on assistant requirements * reorganized imports * Rename vars * use projection * Add environment variable for assistant rag * fix assistant rag on runwebsearch * fix styling if rag is disabled * make sure we always omit credentials when fetching web pages * Add new checks for SSRF, with a new env var `ENABLE_LOCAL_FETCH` * Use DNS to check if the links are local or not * Add a websearch indicator * Add more tags to parser * Add indicators * Display RAG options in settings view * ui * fix rag detection * bit more spacing * fix button position in assistant form * wording (mainly) * reduce number of tags * Bump max URLs from 3 t…3d58f23
-
fix shifted layout (#836)
Unverified signaturecaa6468
-
Mobile navs: bigger buttons and hide new? (#720)
Unverified signature* bigger buttons and hide new * icon updateaac3c77 -
Web search: UI update (#749)
Unverified signature* wip * ui * font-size * leading * smaller * move icon and remove loading props * rm inline svg * rm animation7027ad5
-
add logo (#518)
Unverified signature2bf8000
-
loader dots fix
f2ab645
-
Added ChatUI branding & put theming behind an env variable (#298)
Unverified signature* Moved all huggingchat branding behind an env variable * Refactored branding to use multiple env variables * pr review * prettier * move the ethics modal behind the flag PUBLIC_APP_DISCLAIMER * inline chat ui logo so it would take the color * flex-nonefaafb92
-
Add initial support for web browsing (#237)
Unverified signature* basic poc for web search * * Hide feature when serpapi_key is not defined * handle error case where serpapi failed * only use user queries for generating the query * Update src/lib/buildPrompt.ts Co-authored-by: Eliott C. <coyotte508@gmail.com> * Update src/routes/+layout.server.ts Co-authored-by: Eliott C. <coyotte508@gmail.com> * refactored getQueryFromPrompt * add jsdom to package.json * begin work on fetching webpage content * Update .env Co-authored-by: Eliott C. <coyotte508@gmail.com> * prettier fix * Add feature for scraping webpages * refactored search functionality - now gets triggered from a separate endpoint - results are stored in db - results can be displayed in their own endpoint * Added a stream to send updates from backend on web-search endpoint * made stream more reliable * Add front-end to web search feature * made sure the web results button appears on newly posted messages * close modal when message is done generating * removed log statements *…6c72ede
-
Login flow (#193)
Adrien Denat +2: Eliott C., victor Unverified signature* replace EthicsModal by LoginModal and start binding auth logic * start implementing login modal + give a try to @auth/sveltekit using Github oauth as a test * start custom auth implementation instead of auth.js for consistency with moon-landing * fetch user data from provider * add migration from anonymous to user + bind frontend * add missing auth secret + only migrate conversations for pre-existing users * remove email scope as it's not needed Co-authored-by: Eliott C. <coyotte508@gmail.com> * no need to define .well-known path Co-authored-by: Eliott C. <coyotte508@gmail.com> * use env var for hf hub website url * move sessionId to signature on csrf token exchange * remove ethic modal check and set default settings on new users * anonymous users can read only + modal on write tries * refresh session cookie when existing user signin again rather than use the old one * allow users to keep using the app without loging-in if env var is not present * typo * handle deni…40f346c
-
Models selector (#164)

Adrien Denat +3: victor, julien-c, coyotte508 Unverified signatureCo-authored-by: Victor Mustar <victor.mustar@gmail.com> Co-authored-by: Julien Chaumond <julien@huggingface.co> Co-authored-by: coyotte508 <coyotte508@gmail.com>4489403
-
👷 Add CI to check types (#161)
Eliott CUnverified signature5c8753b
-
Toast errors (#91)
Unverified signatureCo-authored-by: Julien Chaumond <julien@huggingface.co> Co-authored-by: Adrien Denat <oi@adriendenat.com>0e9a5e8
-
Prettier update (#54)
Unverified signature* Update .prettierrc * prettify everthing prettify everything1d04bf7 -
UI tweaks (#53)
Unverified signature* logo * add some icons * size tweaks * layoutbf62263 -
add loading icon + pending state when assistant message is pending (#48)
Adrien Denat +1: Eliott C.Unverified signature* add loading icon + pending state when assistant message is pending * remove dead code Co-authored-by: Eliott C. <coyotte508@gmail.com> * add loading to messages if a token takes a while to come * add dom utils --------- Co-authored-by: Eliott C. <coyotte508@gmail.com>a8a1357
-
auto-formatting (#45)
Unverified signature8baa596 -
Syntax highlighting + copy to clipboard button (#30)
Adrien Denat +1: Eliott CUnverified signature* add highlight.js for syntax highlighting + add CodeBlock and CopyToClipboard components * use clipboard.js for CopyToClipboard button + add Tooltip component * do not include Tailwind classes in template since it can't parse them * remove hack to strip model messages "endoftext" for now since it breaks code blocks * move styles.css to /styles/main.css * fix import + remove unused component * auto detect language if not returned by model * remove clipboard.js dependency and use native API * rename icons with Icon prefix --------- Co-authored-by: Eliott C <coyotte508@gmail.com>fd8a2ca
-
Chat snap scroll bottom (#10)
Adrien DenatUnverified signature* only snap scroll to bottom if user didn't scroll up * add scroll to bottom button when user scrolls up in the chat * remove unecessary export * rename scrollToBottom action to snapScrollToBottom + remove anim for now as it's stuttering34ff433
-
Introduction: design update (#7)
Unverified signature* intro design update * casing * color742f467