Conversation
* #noJiraCheck fix: improve tab layout, handle i18n load errors, normalize line endings - Wrap `navbar-tabs` in overflow-hidden container and add `noTruncate` prop to prevent tab truncation - Update `filters-bar` classes from `flex gap-2` to `block space-x-2` for consistent spacing - Add `catchError` fallback in `TranslocoHttpLoader` to gracefully handle missing translation files - Normalize CRLF to LF line endings in `highlights.css` * chore(deps): update docusaurus lockfile with security and minor patches - Remove `@trysound/sax` package (no longer needed as a direct dependency) - Bump `brace-expansion` from 1.1.12 to 1.1.13 - Bump `dompurify` from 3.3.0 to 3.3.3 - Bump `path-to-regexp` from 0.1.12 to 0.1.13 - Bump `picomatch` from 2.3.1 to 2.3.2 - Bump `sax` from 1.4.1 to 1.6.0 (license changed to BlueOak-1.0.0) - Bump `serialize-javascript` from 7.0.4 to 7.0.5 * chore(deps): bump @sinequa/atomic-angular, @sinequa/ui, and Angular devkit packages - Upgrade `@sinequa/atomic-angular` from `^0.4.22` to `^0.4.36` - Upgrade `@sinequa/ui` from `^0.2.12` to `^0.2.16` - Update `@angular-devkit/architect` and related packages to `0.2003.22` - Update `@angular-devkit/core` to `20.3.22` and `picomatch` to `4.0.4` - Reflect lockfile restructuring (deduplication of nested devkit modules) --------- Co-authored-by: olivier.T <otome@chapsvision.com>
* update lib to fix the advanced filters
* ES-28751 #done style(chat-v3): Improve code block reference and pre display
Refactor CSS for code block references to enhance layout and positioning.
The `code-block-reference .card.mb-2` now uses `position: relative`, `display: flex`, and `justify-content: flex-end` instead of `display: contents`. This provides more robust control over the card's internal layout and ensures correct positioning of its header.
The `top` position of the `.card-header` was adjusted for better visual alignment.
Additionally, `pre[class*="language-"]` elements are now set to `width: 100%` to ensure code blocks consistently occupy the full available width, preventing overflow issues and improving readability.
* have preview strategy to redirect for similar documents
* improve theme and label for assistant
* refactor(css): Move dark mode component styles to overrides
Relocates dark mode specific CSS rules for `sq-document-upload` and `sq-saved-chats-v3` dialogs from `src/theme.css` to their respective component override files (`chat-v3.css` and `saved-chat-v3.css`).
This change improves CSS organization and maintainability by ensuring component-specific styles are co-located with their respective component overrides, making it easier to manage and locate styles.
* ES-28692 #done Update @sinequa/atomic to version 0.0.119
This commit updates the @sinequa/atomic package from version 0.0.118 to 0.0.119.
Version 0.0.119 contains a fallback in case the crypto module does not exist in the browser.
* ES-28872 #done Update 'discussion' label to 'Chat with Document'
Updates the 'discussion' translation key across German, English, and French preview i18n files. The label has been changed from "Ask AI" (or equivalent) to "Chat with Document" (or equivalent) to more accurately describe the feature's functionality and improve user understanding.
* properly detect article change for preview
* ES-28890 #done Add new assistant messages and French corrections
Introduces several new translation keys for the assistant feature in German,
English, and French. These new keys provide messages for user prompts,
connection errors, generic chat errors, search warnings, and AI-generated
content disclaimers, enhancing user communication and feedback.
Additionally, corrects minor typos in the French translation for "upload"
(from "Upload" to "Télécharger") and "refresh" (from "Refraîchir" to "Rafraîchir")
to improve linguistic accuracy.
* update atomic libs
* update package lock
* ES-28869 #done Assistant - remove onDestroy hook and standardize error logging (#518)
ES-28869 #done
Standardize error logging and remove onDestroy hook
Refactor error handling to use a standardized 'error' function instead of direct
'console.error' calls within the streaming and init process subscriptions.
This ensures consistent error reporting and better integration with the
application's logging infrastructure.
Additionally, remove the onDestroy hook responsible for resetting
'assistantIdsToAttach' and stopping the chat service connection. This cleanup
logic is now managed inside the Chat component and is no longer required in this component's
lifecycle, simplifying its responsibilities.
* deps(assistant): Update @sinequa/assistant to 3.9.11-dev.3
The `@sinequa/assistant` package has been updated from version `3.9.11` to `3.9.11-dev.3`. This change incorporates the latest development version, providing access to recent features, bug fixes, or internal improvements from the pre-release channel.
* ES-28875 #done ES-28353 #done ES-28818 #done (atomic 🏷️0.0.120, atomic-angular 🏷️0.1.83, ui 🏷️0.1.36) (#520)
* update assistant layout with new aggregation features
* refactor(assistant): Improve layout responsiveness and cleanup NgClass
Removed `NgClass` import and usage from `AssistantLayout` component, simplifying template code. Boolean input bindings were also simplified for clarity.
Adjusted grid column definitions for `md` and `lg` breakpoints in the assistant layout to enhance responsiveness and optimize space utilization.
Renamed the `.scroll-stable` utility class to `.scrollbar-stable` in `styles.css` for consistency and applied it to relevant elements in the assistant layout.
* ES-28751 #done style(chat-v3): Improve code block reference and pre display
Refactor CSS for code block references to enhance layout and positioning.
The `code-block-reference .card.mb-2` now uses `position: relative`, `display: flex`, and `justify-content: flex-end` instead of `display: contents`. This provides more robust control over the card's internal layout and ensures correct positioning of its header.
The `top` position of the `.card-header` was adjusted for better visual alignment.
Additionally, `pre[class*="language-"]` elements are now set to `width: 100%` to ensure code blocks consistently occupy the full available width, preventing overflow issues and improving readability.
* deps(ui-components): Update Sinequa UI component libraries
Updates @sinequa/atomic to 0.0.120, @sinequa/atomic-angular to 0.1.82, and @sinequa/ui to 0.1.36.
This ensures the project utilizes the latest versions of these core UI components, incorporating recent bug fixes, performance enhancements, and new features.
* chore: Update environment config and refine UI styling
Refactor:
- Removed fixed height and custom CSS variable override from the `agg-tree` component in `assistant.layout.ts`. This allows the component to size dynamically and removes unnecessary styling.
- Cleaned up `styles.css` by removing the unused `@import './collapse';` stylesheet.
Chore:
- Updated the `app` identifier from `training-mint` to `mint_rnd` in the development environment configuration (`environment.ts`).
* feat(deps): Update @sinequa/atomic-angular to 0.1.83
Updates the `@sinequa/atomic-angular` package from version `0.1.82` to `0.1.83`. This update ensures the project uses the latest features, bug fixes, and performance improvements from the library.
The `package.json` and `package-lock.json` files have been updated to reflect this dependency change.
* ES-27726 Mint: Cannot turn on highlighting of extracts and entities in the preview at the same time
* Enhance PreviewPage to include query text in selection update
* Update src/app/pages/preview/preview.page.ts
* docs(preview-actions): Add comments to toggle method for clarity
Added inline comments to the `toggle` method within `PreviewActionsComponent`. This improves code readability by explaining the purpose of each step, including determining the signal, updating states, and sending unselect actions to the preview service.
* refactor: Use Angular effect for reactive updates in PreviewPage
Replaced the `afterNextRender` lifecycle hook with an `effect` in the `PreviewPage` component.
This change ensures that the `selectionStore` is reactively updated whenever the `id` input or the `queryParamStore`'s `text` signal changes. `effect` is the appropriate mechanism for reacting to signal dependencies, providing a more robust and reactive update mechanism compared to `afterNextRender`, which only executes once after the initial render.
* update lib
* ES-28966 #done Update @sinequa/atomic-angular to 0.1.86
Updated the `@sinequa/atomic-angular` dependency from version `0.1.84` to `0.1.86`. This update incorporates the latest bug fixes and improvements from the package.
* ES-28974 #done Adjust muted foreground color for improved readability (atomic-angular 🏷️0.1.87) (#527)
* ES-28974 #done style(theme): Adjust muted foreground color for improved readability
Updated the `--muted-foreground` CSS variable to use lighter shades of gray and neutral colors. This change aims to improve the visual balance and readability of muted text elements across different theme contexts.
* chore: update @sinequa/atomic-angular to version 0.1.87
* ES-28973 #done update @sinequa/atomic-angular to version 0.1.88 (#529)
ES-28973 #done update @sinequa/atomic-angular to version 0.1.88 (#529)
* ES-28987 #done feat(deps): update @sinequa/atomic-angular to 0.1.89 (#530)
Updates the `@sinequa/atomic-angular` package from version `0.1.84` to `0.1.89`.
This update brings the project up-to-date with the latest features, bug fixes, and improvements from the `atomic-angular` library.
The `package.json` and `package-lock.json` files have been updated to reflect this dependency change.
* ES-29008 #done Centralize document title management with ApplicationService (atomic-angular 🏷️0.1.90) (#531)
* ES-29008 #done Centralize document title management with ApplicationService
The application's document title is now managed through the `ApplicationService` to ensure consistency and avoid direct DOM manipulation.
This change:
- Replaces direct `document.title` assignments in `PreviewComponent` with calls to `ApplicationService.setTitle` when preview data is loaded.
- Introduces effects in `AssistantLayoutComponent` and `HomeComponent` to reset the application title to their respective page names ('Assistant', 'Home') when side drawers are closed.
This refactoring centralizes title management, improving maintainability and providing a consistent approach across the application.
* update @sinequa/atomic-angular to version 0.1.90 in package.json and package-lock.json
* #noJiraCheck build(deps): Update @sinequa/assistant to 3.10.0-rc1 (#534)
* #noJiraCheck feat(assistant): Update to v3.10.0-rc3 and configure plugins
Updates the `@sinequa/assistant` package to the latest release candidate (`3.10.0-rc3`).
This commit also refactors the application configuration to explicitly provide custom elements and markdown-it plugins for the assistant chat component. This ensures proper rendering of rich content like document references, page references, images, code blocks, and tables within the assistant's responses. The addition of `@types/markdown-it` supports these enhanced markdown parsing capabilities.
* #noJiraCheck refactor(logo): Move content styling to HTML templates
Moves the CSS `content` property for the logo element from component styles directly into the HTML templates using Tailwind CSS's `content-[...]` utility class. This centralizes the logo's content definition within its respective template for improved maintainability.
* ES-29072 #done #noJiraCheck feat(deps): Updates various dependencies within the Docusaurus project (#538)
* #noJiraCheck Update project dependencies
Updating @jsverse/transloco to v8
These updates are part of regular maintenance to ensure the project uses current and supported versions of its tooling and libraries.
* build(deps): Update Docusaurus dependencies and lock file
Updated the Docusaurus project's dependencies in `package-lock.json`.
This includes a significant shift from `@algolia/autocomplete` related
packages to `@ai-sdk` packages, likely for new search or AI integration.
Various other development dependencies, such as `webpack-dev-middleware`,
`memfs`, and `mime-types`, have also been updated to their latest versions.
Additionally, `/src/assets/i18n/custom-elements` was added to `.gitignore`
to prevent committing generated internationalization files.
* ES-29065 #done Mint - Filters "More" button displaying despite not having enough filters (atomic-ui 🏷️0.1.42, atomic-angular 🏷️0.1.93) (#535)
* ES-29065 #done Update Sinequa dependencies and refactor styling imports
Update `@sinequa/atomic-angular` to `0.1.91-dev.2` and `@sinequa/ui` to `0.1.40-dev.2` to leverage the latest features and bug fixes.
Refactor `src/styles.css` to import utilities and datepicker styles directly from the `@sinequa/ui` package, removing redundant local imports and a custom `z-*` utility definition. This streamlines the styling setup and ensures consistency with the Sinequa UI library.
Remove the `ui-tester` route from `src/app/routes.ts` as it is no longer needed.
* chore(deps): Update Sinequa UI and atomic-angular packages
Updates the following Sinequa internal packages to their latest versions:
- `@sinequa/atomic-angular` from `0.1.91-dev.2` to `0.1.93`
- `@sinequa/ui` from `0.1.40-dev.2` to `0.1.42`
Additionally, removes an unnecessary `$event` argument from the `close()` method call in the document upload component's dialog footer for cleaner code.
* chore: Update @sinequa/atomic dependency to v0.0.123
This version removes the time from the log.
Update the @sinequa/atomic package to version 0.0.123. This dependency bump is to incorporate the latest changes from the upstream package, which may include bug fixes, performance enhancements, or new features.
* update atomic angular
* revert to not include filters
* ES-29141 #done fix(deps): Downgrade Transloco to v7.x for compatibility (#540)
Downgraded `@jsverse/transloco` from `8.1.0` to `7.6.1` and `@jsverse/transloco-messageformat` from `8.1.0` to `7.0.1`. This change addresses compatibility issues with the current project setup, as version 8.x introduced breaking changes or incompatibilities that prevented proper functioning. Reverting to the 7.x series ensures stability and correct behavior of the internationalization features.
* ES-28242 #done Prevent visible extract locations in invisible mode
Adds CSS rules to ensure that elements within the `.invisible` context,
specifically `.extractslocations` and `.matchlocations`, are rendered
transparently. This addresses an issue where these elements could appear
as unwanted black squares or other visible artifacts when content is
intended to be hidden. Also refines selection styling for invisible text.
* have sidebar to consider url change to go back properly in history
* use historyGo for preview navbar to properly go back
* chore(deps): update @sinequa/assistant to rel_11.13.0 (#543)
This commit updates the `@sinequa/assistant` package from `^3.10.0-rc3` to the release tag `rel_11.13.0`.
The new tag resolves to version `3.10.0-rc9`, as reflected in the `package-lock.json`. This update is necessary to incorporate the latest changes and fixes from the assistant component and align with the current development release.
* remove unused import
* prevent creating an empty collection
* update lib
* ES-29184 #done feat(assistant): implement suggested action handling with type-based routing (#549)
* ES-29184 #done feat(assistant): implement suggested action handling with type-based routing
Add switch statement to handleSuggestAction to route actions by type (Prefill/Submit), extract submitQuestion and insertText methods for better code organization, and add comprehensive JSDoc documentation for all new and existing methods.
* fix(deps): update @sinequa/atomic-angular to v0.1.96 (#541)
* ES-29222 #done update ngrx/signal store to v20
update to sinequa/atomic-angular v0.2.0 to reflect this changes
* update assistant lib
* update atomic-angular
* atomic-angular 0.2.1
* fix assistant
* update assistant to 3.10.0
* have assistant strict + update atomic angular with olivier fix
* preview dialog base
* have assistant working for preview dialog
* have assistant bold messages properly bold
* have preview header collapsed by default
* have preview dialog sidebar collapsible + remove preview page
* have url opening on title click instead of preview page redirect
* refactor bold
* update lib
* update assistant to 3.10.2
* differenciate for record card if docformatMetadata is for the doctype
* #noJiraCheck style: replace @apply with native CSS for .text-muted class (#548)
Remove redundant color override in chat-v3.css and replace Tailwind @apply directive with light-dark() function using CSS custom properties for better theme support and reduced framework dependency.
* ES-29213 #done Entities navigation (#550)
update @sinequa/atomic-angular to version 0.1.99 and @sinequa/ui to version 0.1.48
* ES-29144 #done mint filters disabled but still clickable with no contents (#551)
update dependencies for @sinequa/atomic-angular and @sinequa/ui to latest versions
* add automatic theme change on system theme change
* remove document title link in the preview drawer
* add feature flags documentation
* update lib (#561)
* add passage highlighting using the chat reference opening
* 🏗️ bump lib, bump angular version to 20.3.15 (#566)
* ES-297272 #done update @sinequa/atomic-angular to v0.2.9 (#565)
* chore: update @sinequa/atomic-angular to v0.2.9
* have preview external link features to properly check its validity
* ES-29092 #done (filters-bar) resolve column name or aliases (atomic 🏷️0.0.124, atomic-angular 🏷️0.2.10 and ui 🏷️0.1.51) (#568)
* ES-29092 #done (filters-bar) resolve column name or aliases
Update
@sinequa/atomic from 0.0.123 to 0.0.124,
@sinequa/atomic-angular from 0.2.7 to 0.2.10, and
@sinequa/ui from 0.1.50 to 0.1.51 to include latest bug fixes and improvements.
* ES-29507 #done manage more filters overflow (atomic-angular 🏷️0.2.10, atomic 🏷️0.1.124) (#570)
* feat: update Sinequa atomic packages to latest versions
@sinequa/atomic from 0.0.123 to 0.0.124
@sinequa/atomic-angular from 0.2.5 to 0.2.10
@sinequa/ui from 0.1.50 to 0.1.51
* chore: update @angular/build and @angular/cli to v20.3.13 (#572)
* chore: update Sinequa packages to latest versions (#573)
- @sinequa/atomic: 0.0.123 → 0.0.124
- @sinequa/atomic-angular: 0.2.7 → 0.2.10
- @sinequa/ui: 0.1.50 → 0.1.51
* ES-29211 #done Chapsvision theme (atomic-angular 🏷️0.3.0, ui 🏷️0.2.0) (#567)
* feat: add brand assets and HankenGrotesk font family
Add HankenGrotesk font variants (Regular, SemiBold, Bold) and white logo SVG to support new brand identity implementation
* feat: customize toast styling with unstyled option and theme classes
Replace richColors with custom styling configuration using unstyled mode and theme-specific CSS classes for success, error, info, and warning toast types
* fix: remove variant="primary" attribute from collection buttons
Removed the variant="primary" attribute from save and create collection buttons to align with updated button styling requirements.
* feat: replace chevron icon with SVG component and improve styling
- Replace FontAwesome chevron-down icon with ChevronRightIcon component
- Update rotation animation from 180deg to 90deg for better UX
- Add text-ai-foreground color class to card header
- Change flex alignment from items-baseline to items-center
- Improve transition classes for smoother SVG animations
* feat(home): refactor to use sinequa/ui tabs component
Home Page:
Replace custom tab implementation with sinequa/ui Tabs, TabsList, TabContent, and Separator components. Remove manual tab selection logic and simplified component structure for better accessibility and consistency.
* feat(assistant): add size="icon" attribute to new discussion button
Adds size="icon" attribute to the new discussion button in assistant layout to ensure proper icon button styling and consistent UI appearance.
* feat(ui): update user menu components to use proper casing and styling
- Change lowercase HTML elements to proper Angular components (menuitem → MenuItem)
- Replace HorizontalDivider with Separator component for consistency
- Add hover states and accent styling to Avatar component
- Improve visual feedback with bg-accent and hover effects
* style: add consistent sizing to sidebar items
Add size-9 aspect-square classes to all sidebar-item components for uniform dimensions and improved visual consistency across search, chats, administration, and help items.
* feat(navbar): add smooth transition to logo margin and adjust grid layout
- Add transition animation to navbar logo margin-left property
- Move transition class from SCSS to HTML for better maintainability
- Adjust grid column widths when drawer is opened for improved spacing
- Update responsive breakpoint grid columns to match new layout
* feat(search): replace FontAwesome star icons with StarIcon component
Replace FontAwesome star icons with the new StarIcon component in saved search popover. Updated button variants from "icon" to "ghost" and size from "xs" to "icon". Removed animation signal and CSS class in favor of built-in StarIcon animation. Simplified confirm button by removing primary variant.
* feat(search): standardize button styles and reorganize imports
- Add fixed height (h-9) to SearchInput component
- Update AI button to use size="xs" and remove redundant height class
- Change search button variant from "icon" to "ghost" and size from "xs" to "icon"
- Move SearchInputFooter import to @sinequa/ui package for better organization
* feat(autocomplete): replace HorizontalDividerComponent with Separator
- Replace HorizontalDividerComponent with Separator component in template
- Update imports to use Separator instead of HorizontalDividerComponent
- Remove variant="primary" attribute from advanced search button
- Clean up duplicate HorizontalDividerComponent import
* feat: improve preview dialog layout with visual enhancements
- Restructure dialog to use DialogContent with proper grid layout
- Replace ngClass with Angular's class binding syntax for better performance
- Add visual separator between sidebar toggle and tabs
- Improve sidebar layout with CSS Grid for better content organization
- Add size="icon" attribute to toggle button for consistent styling
- Enhance responsive behavior with proper height constraints
* refactor(navbar): replace FontAwesome icons with SVG and update component imports
- Replace FontAwesome icons with inline SVG for arrow-left and expand icons
- Change `<i>` tags to `<span>` for better semantic HTML
- Replace `VerticalDividerComponent` with `Separator` component
- Update imports to use `LinkIcon` and `Separator` from UI library
- Temporarily enable expand preview feature for all users
* feat(preview): refactor tabs to use new TabContent structure
- Replace manual tab state management with TabContent components
- Add dedicated content areas for summary, discussion, and preview tabs
- Integrate AssistantComponent and PreviewContentComponent
- Improve tab layout with absolute positioning for better UX
- Add proper imports for new UI components and services
* refactor(preview): replace custom collapse with HTML details element
Replace manual header collapse implementation with native HTML `<details>` element for better accessibility and simpler code. Update chevron icon and remove custom CSS utility imports.
* feat: remove background styling from preview-actions component
Remove bg-muted/90 class from preview-actions to eliminate background opacity styling, maintaining consistent visual appearance with other preview components.
* refactor(preview): simplify component structure and remove assistant features
- Remove assistant-related imports and components (AssistantComponent, TabContent)
- Simplify preview-tabs component by removing tab content logic
- Replace inline gradient styles with Tailwind CSS classes for progress bar
- Remove streaming state management and assistant query handling
- Add bottom margin to main container and update overflow handling
- Clean up unused imports and reduce component complexity
* feat(ui): enhance AI card styling and add Sinequa theme
- Add gradient background and border styling to AI card component
- Introduce new CSS custom properties for button radius and AI border
- Add comprehensive Sinequa theme with light/dark mode support
- Update theme variables for improved visual consistency
* fix: Update AI styling and import paths for consistency
- Change AI card background opacity from 40% to 20% and remove border
- Update AI text color from muted to ai-card-foreground variable
- Add missing .css extensions to all @import statements
- Switch from chapsvision to sinequa theme
- Add new CSS variables for success, warning, info, and error states
- Fix iframe background color syntax from bg-white to bg-[#ffff]
* feat(themes): standardize assistant component CSS variables
Refactor assistant-related CSS variables across chapsvision and sinequa themes to use consistent naming convention with `ast-` prefix and improve dark mode compatibility by using semantic color references instead of hardcoded values.
* feat(home): add full width styling to TabsList component
Add w-full class to TabsList to ensure tabs container spans the full width of its parent container for better layout consistency.
* fix(layout): improve assistant page height calculation and spacing
Replace fixed mt-[65px] with responsive mt-16 and use calc(100vh-4rem) for more precise viewport height calculation in the assistant layout grid container.
* feat: enhance search button styling with hover animations
Update button variants from 'ghost' to 'icon' and add scale hover effect with smooth transitions across search components for improved user interaction feedback
- Update @sinequa/atomic-angular from 0.2.10 to 0.3.0
- Update @sinequa/ui from 0.1.51 to 0.2.0
* move cursor pointer to be more correct
* ES-29677 #done update button styles and remove text-sm class (ui 🏷️0.2.3, atomic-angular 🏷️0.3.3) (#583)
* refactor: update button styles and remove text-sm class
- Changed button `decoration` attribute to `variant="ghost"` for consistent styling
- Removed `text-sm` class from h3 headings in assistant layout and upload component for improved typography hierarchy
* chore: update @sinequa/atomic-angular and @sinequa/ui versions to 0.3.3 and 0.2.3 respectively
* ES-29625 #done manage login flags (atomic 🏷️0.0.128, atomic-angular 🏷️0.3.4) (#576)
* ES-29625 #done manage login flags
update dependencies for @sinequa/atomic and @sinequa/atomic-angular to versions 0.0.128 and 0.3.4 respectively
* ES-29630 #done refactor: replace effect-based suggestions with Angular resource pattern (#579)
ES-29630 #done
This change meant that the fetch suggestion API was always called each time something was clicked.
- Replace effect-driven suggestion fetching with Angular resource for better reactivity
- Add previous suggestions caching to maintain UI state during loading
- Update fetchSuggestions method to accept parameters object
- Reorganize imports and improve code structure
- Remove manual signal updates in favor of resource-based approach
* ES-29622 #done fix background color of the search input (ui 🏷️0.2.3) (#580)
* ES-29622 #done fix background color of the search input
update @sinequa/ui to version 0.2.3
* ES-29692 #done no way to view document is html size is too big (#585)
* ES-29692 #done
feat(preview): simplify preview content component usage
Migrate from manual effect-based validation to Angular's resource API for preview URL validation, improving state management and removing manual signal updates.
Removed unnecessary input binding from the preview-content component in the HTML template. Updated TypeScript imports to streamline dependencies and adjusted the appFeatures initialization to directly use the appStore's general features. This enhances code clarity and reduces complexity in the component.
* feat: Remove APP_FEATURES injection token
The APP_FEATURES injection token has been removed. Its configuration is now directly retrieved from the AppStore's general features.
This change simplifies the application's configuration by centralizing feature settings within the AppStore, reducing the need for a separate injection token.
This commit also updates the documentation to reflect the removal of APP_FEATURES and its related section.
* ES-29569 #done ES-29570 #done Update Docusaurus dependencies to their latest versions (#586)
ES-29569 #done
ES-29570 #done
This commit updates several dependencies within the Docusaurus project to their latest patch versions. This includes:
- js-yaml: Updated from 3.14.1 to 3.14.2 (nested in gray-matter) and 4.1.0 to 4.1.1.
- mdast-util-to-hast: Updated from 13.2.0 to 13.2.1.
- node-forge: Updated from 1.3.1 to 1.3.3.
* ES-28618 #done refactor upload dialog (#578)
ES-28618 #done
- Extract upload functionality into separate UploadDialog component
- Simplify assistant-upload component by removing inline dialog template
- Use DialogService for modal management instead of template reference
* ES-28365 #done update customfulltext styling to differenciate what is generated by ai (#581)
ES-28365 #done
* ES-29297 #done ES-29600 #done issues with "filters" json configuration file (atomic-angular 🏷️0.3.2) (#582)
ES-29297 #done
ES-29600 #done
update @sinequa/atomic-angular version to 0.3.2
* ES-29695 #done Update @sinequa/assistant to version 3.10.4 (#588)
Updated the `@sinequa/assistant` package from `3.10.2` to `3.10.4` to incorporate the latest bug fixes and improvements. This update ensures we are using the most stable version of the library.
* ES-28880 #done overriding user duplicate tab filters (atomic-angular 🏷️0.3.x)
* ES-29690 #done did you mean link with underline
* bump version atomic-angular 0.3.6
* atomic-angular 0.3.6
* update lib
* update lib for chevron update in the document locator
* update lib
* update atomic angular to 0.3.10
* hide chat and summary for preview dialog if no assistant configured for them
* fix preview actions to have proper background and text colors (#594)
* ES-29697 #done feat(user-menu): Dynamically render language and theme options (#590)
Refactor the user menu to dynamically render language and theme selection options.
This change replaces hardcoded menu items with `@for` loops, iterating over `AllLanguages` and `AllThemes` arrays. This makes the user menu more flexible and easier to extend with new languages or themes.
For languages:
- Added `AllLanguages` array with `code`, `label`, and `icon` properties.
- Introduced `NgComponentOutlet` to dynamically render language flag icons.
- Added a checkmark icon next to the currently active language.
For themes:
- Added `AllThemes` array with `name` and `icon` properties.
- Added a checkmark icon next to the currently active theme.
The associated TypeScript file was updated to define `Theme` and `SupportedLanguage` types, and to include the `AllLanguages` and `AllThemes` arrays, as well as the `NgComponentOutlet` import.
* ES-29091 #done mint override user does not work on the assistant view (#589)
* ES-29091 #done feat(assistant): Recreate assistant and saved chats on principal change
This commit introduces logic to recreate the assistant and saved chats components when the `PrincipalStore` updates. This ensures that the components reflect the latest user principal, resolving potential issues where the assistant might use outdated security contexts or configurations.
The `AssistantComponent` now injects `PrincipalStore` and uses an `effect` to trigger the recreation of the `sq-chat-v3` component by updating a `assistantKey` signal. Similarly, the `AssistantLayout` applies the same strategy to `sq-saved-chats-v3`.
* refactor: Update saved chat destructive button hover color
Replaced `var(--color-destructive-hover)` with `oklch(from var(--color-destructive) l c h / 0.75)` for the saved chat destructive button hover state. This change provides a more consistent and accessible hover effect by dynamically deriving the color from the base destructive color using OKLCH.
* ES-28979 #done fix(dependencies): Update @sinequa/assistant (#598)
Updated the `@sinequa/assistant` package from `3.10.4` to `3.10.5` and the `qs` package from `6.14.0` to `6.14.1`. These updates include bug fixes and performance improvements from the respective libraries.
* ES-29877 #done feat: Implement loading saved chats into the assistant query (#597)
This commit introduces functionality to load saved chats from the `sq-saved-chats-v3` component directly into the assistant's query signal.
When a user selects a saved chat, the `handleLoadSavedChat` method is triggered. It fetches the complete chat history, identifies the first user message, and updates the `query` signal with the content of that message. This allows users to easily re-run or continue conversations from their saved chats.
Additionally, the `qs` dependency has been updated to version `6.14.1` in `package-lock.json`.
* update libs
* update ui
* update lib
* #noJiraCheck sync themes management with release/11.14.0 (#601)
* - Replace old logo.svg and logo-blanc.svg with new Sinequa-branded SVGs
- Add logo-sinequa.svg, logo-sinequa-blanc.svg, logo-small.svg, and
logo-small-blanc.svg
- Update theme.css and chapsvision.css to use new logo variables and
URLs
- Adjust sinequa.css to reference new logo variables
- No changes to application logic or styles beyond logo and theme
updates
* feat(search): Add text-foreground class to search input
The search input element now includes the `text-foreground` class. This ensures that the text color within the search input adheres to the application's defined foreground color, improving consistency and readability across different themes.
* ES-28714 #done Add message reference color variable
Adds a new CSS variable `--ast-message-reference-color` to the `chapsvision.css` theme. This variable will be used to define the color for message references within the application, improving theme customization and consistency.
* ES-27605 #done ES-23835 #done Improve zoom functionality and body element detection + support nested iframes for highlighting (#604)
* ES-27605 #done Improve zoom functionality and body element detection
The previous implementation for detecting the `bodyElement` was causing issues with framesets and the zoom functionality.
This commit refactors the `bodyElement` detection logic to correctly identify the body element even when a frameset is present. It now specifically targets the `contentDocument.body` of a frame within a frameset.
Additionally, the zoom-in and zoom-out logic has been updated to consistently use the correctly identified `bodyElement` and retrieve the zoom factor from its inline style, preventing issues with computed styles in certain scenarios.
* ES-23835 #done fix: Support nested iframes for highlighting
This commit modifies the `preview.js` file to add support for nested iframes (frameset) when applying highlights.
Previously, the `styleElement` was always appended to `document.head`, which would not work correctly in a frameset environment. This change introduces a check for `document.body` and if it's a `FRAMESET`, it attempts to find the first `frame` and append the `styleElement` to its `contentDocument.head`.
Additionally, the message posting in `returnMessage` is now also sent to `parent.parent` to ensure messages are relayed correctly in nested iframe scenarios. The `styleElement` is now also removed before being recreated to prevent duplicate style elements.
* ES-29892 #done fix: Update Angular CLI and dependencies (#607)
Updated the Angular CLI from version 20.3.13 to 20.3.14. This commit also updates associated Angular DevKit packages (`architect`, `core`, `schematics`) and `@modelcontextprotocol/sdk` to their latest versions, resolving potential compatibility issues and incorporating the latest features and bug fixes.
* ES-29908 #done fix: Update dependencies in package-lock.json (#608)
This commit updates several dependencies within `docusaurus/package-lock.json`.
The `body-parser` dependency has been updated from `1.20.3` to `1.20.4`, and `express` from `4.21.2` to `4.22.1`.
Additionally, various sub-dependencies of `body-parser` have been updated to their latest patch or minor versions.
These updates ensure that the project benefits from the latest bug fixes, security patches, and performance improvements in these packages, maintaining the stability and security of the Docusaurus application.
* ES-29956 #done feat(search): Update `allowEmptySearch` based on query parameters
The `allowEmptySearch` computed property has been refactored into a signal.
An effect has been introduced to dynamically update the `allowEmptySearch` signal's value based on changes in `queryParamsStore.allowEmptySearchWithFilters()` and the static `appStore.allowEmptySearch()` configuration. This ensures that the search component correctly handles empty search states, especially when advanced filters are applied.
* ES-29889 #done Update @sinequa/atomic-angular to 0.3.15 (#603)
* ES-29091 #done feat(assistant): Simplify principal-based assistant recreation
This PR fixes the issue of saved chats not being rendered in the Assistant component on "overriding user" mode.
Removes the manual recreation logic for the assistant component based on principal changes. This was handled via an explicit `assistantKey` signal and a `for` loop in the template.
Instead, the AssistantComponent will be recreated by its parent component (`assistant.layout.ts`) using a `ngIf` directive based on the `principalKey` signal. This is a more idiomatic Angular approach for conditional component rendering and recreation.
The following dependencies are no longer needed:
- `ChangeDetectorRef`
- `PrincipalStore` (no longer directly injected in AssistantComponent)
* ES-29992 #done feat(navbar): Navigate to last stored path on search
The search functionality in the navbar now navigates to the last stored path in the query params store, falling back to `/search` if no path is stored. This enhances user experience by returning users to their previous context after a search.
* Update src/app/components/search/search.component.ts
Co-authored-by: Leibfried <gleibfried.ext@chapsvision.com>
* Update search.component.ts
* deps: update @sinequa/atomic-angular to 0.3.18
Updates the `@sinequa/atomic-angular` package from version `0.3.15-dev.1` to `0.3.18`. This brings in the latest features, bug fixes, and performance improvements from the updated dependency.
* feat: Update @sinequa/atomic-angular to version 0.3.18
This commit updates the `@sinequa/atomic-angular` package to version `0.3.18`.
This update is necessary to incorporate the latest features, bug fixes, and improvements from the `atomic-angular` library into the project.
The `package.json` and `package-lock.json` files have been updated to reflect this dependency change.
* fix(deps): Update @angular and @sinequa/atomic-angular dependencies
This commit updates the following dependencies to their latest versions:
- `@angular/compiler` from `20.3.15` to `20.3.16`
- `@angular/core` from `20.3.15` to `20.3.16`
- `@sinequa/atomic-angular` from `0.3.15` to `0.3.18`
These updates bring in the latest bug fixes and improvements from the respective libraries.
* ES-29956 #done feat(search): Allow empty search with filters
A new effect has been added to the Home component to automatically trigger a search when filters are applied, even if the search input text is empty.
Additionally, the empty search warning now uses the custom warn function from @sinequa/atomic for consistent logging.
* update libs
* ES-29690 #done feat: Implement spelling correction mode in search all component
This commit introduces the ability to control spelling correction mode from the URL in the search all component.
- **Added `SpellingCorrectionMode` type:** Imported `SpellingCorrectionMode` from `@sinequa/atomic` to allow specifying the correction behavior.
- **Added `c` property to `QueryParamsProps` and input:** The `QueryParamsProps` interface and `SearchAllComponent` now include a `c` property (representing `correctionMode`) to handle this new parameter.
- **Updated query construction:** The `correctionMode` from the input is now included when constructing the query for the `injectInfiniteQuery`.
- **Integrated with `queryParamsStore`:** The `spellingCorrectionMode` is now patched into the `queryParamsStore` from the URL, and conversely, it is updated in the URL based on the `queryParamsStore` state.
- **Included in `currentKeys` for query retriggering:** The `spellingCorrectionMode` is now part of the `currentKeys` used to determine when to retrigger the search query, ensuring changes in this parameter are reflected in the search results.
This change allows users to specify and persist the desired spelling correction mode via the URL, improving search functionality and user experience.
* deps: bump Sinequa Atomic versions
Updated `@sinequa/atomic` to `0.0.132` and `@sinequa/atomic-angular` to `0.3.20-dev.1`. This ensures we are using the latest versions of these Sinequa packages, bringing in any new features, bug fixes, or performance improvements.
* ES-S9692 #done enhance preview loading, and improve styling
This commit includes several updates and improvements:
- **Dependency Updates**:
- Updated `@sinequa/atomic-angular` from `0.3.20` to `0.3.20-dev.2`.
- **Preview Component Enhancements**:
- Modified the `preview-content` component to display a loading spinner while `previewDataResource` or `previewValidationResource` are loading.
- The iframe and navigation/actions are now displayed only when `previewValidationResource` has a value and `previewUrl()` is available.
- The "previewUnavailable" message is shown if `previewDataResource` has no value, or if `previewValidationResource` has no value but a `previewUrl()` exists.
- **Internationalization**:
- Added `user-profile` to the `.gitignore` file for translation assets.
* chore: update @sinequa/atomic-angular to version 0.3.22 in package.json and package-lock.json
* #noJiraCheck feat(docusaurus): Upgrade Docusaurus and related dependencies to 3.9.0
Updated Docusaurus core, preset-classic, theme-mermaid, module-type-aliases, and types to version 3.9.0.
This upgrade pulls in various transitive dependency updates as reflected in the `package-lock.json`, including:
- `@tailwindcss/oxide-wasm32-wasi` and its dependencies
- `npm-registry-fetch` to 19.1.1 and its sub-dependencies like `@npmcli/redact`, `make-fetch-happen`, `minipass-fetch`, `npm-package-arg`, and `proc-log`.
The update aligns the project with the latest Docusaurus features and bug fixes, and ensures compatibility with updated Node.js versions as specified in the `npm-registry-fetch` engine requirements.
* feat: update markdown linting and changelog documentation
- Add tabs and tabitem to allowed HTML elements in markdownlint config
- Remove outdated CSS variable tip from filter-button documentation
- Restructure changelog with semantic versioning and detailed release notes for v11.13.0
- Update package dependencies and add migration notes
* chore: update changelog for release 11.13.0 with new features, changes, and fixes
* have documents refresh on removing one from a collection
* chore: update @sinequa/atomic-angular and @sinequa/ui to latest dev versions
* docs: mark drawer and pager components as deprecated
Mark `DrawerStackComponent`, `DrawerComponent`, and `Pager` component as deprecated in documentation. Add deprecation warnings with migration guidance. Rename drawer.md to drawer.component.md for consistency. Update SearchService deprecation notice with recommended alternatives.
* update lib
* chore: upgrade @sinequa dependencies to latest dev versions
- @sinequa/atomic-angular: 0.3.26-dev.1 → 0.3.27-dev.1
- @sinequa/ui: 0.2.5-dev.1 → 0.2.5-dev.2
* feat: reorganize imports, improve animations, and enhance error handling
This commit reorganizes module imports for consistency, replaces `provideAnimations()` with `provideNoopAnimations()` for better performance, updates several import paths to use relative paths from a config directory, sets fixed width for toast notifications, removes unnecessary blank lines, and adds error handling to the chat initialization method.
* feat: add configurable app layout with feature flag
This commit introduces a new layout variant by adding conditional logic to switch between the original AppComponent and a new App2Component based on a `newLayout` feature flag. The corresponding configuration is also conditionally applied. This enables A/B testing or gradual rollout of the new layout design.
* shared components + new components
This folder is now accessible from the previous app and the newer
* Add the new app that will replace the previous one.
* feat: refactor chat and theme styles with improved color and layout support
- Restructure message content styles with user/assistant-specific classes
- Add message action button hover effects and sizing adjustments
- Reorganize saved chat date styling for better scoping
- Remove backdrop color filters and update dialog backdrop syntax
- Replace hardcoded colors with CSS variables for tooltip components
- Convert color values to rgb/rgba format for consistency
- Comment out deprecated text size variables in chapsvision theme
- Update logo URLs and add color-scheme declaration
* feat: move document-type-registry to registry folder
Move the document-type-registry module to a more accessible location in the registry folder and update the import path accordingly. This improves the module's discoverability and follows better project structure conventions.
* feat: clean up deprecated code and add bookmarks component
- Remove commented-out subscription code from record card component
- Add deprecation notice to search component
- Implement new bookmarks widget component with template and logic
* chore(deps): upgrade Angular CLI and Sinequa packages
chore: upgrade Angular CLI to 20.3.15 and update dependencies
This commit updates multiple dependencies including Angular CLI from 20.3.14 to 20.3.15, along with related @angular-devkit packages. It also upgrades @sinequa/atomic-angular to 0.3.27-dev.2 and @sinequa/ui to 0.2.5-dev.3, plus pacote from 21.0.0 to 21.0.4. The Node engine requirement is also updated to support ^20.17.0 || >=22.9.0.
* feat: refactor advanced search to use drawer component
Remove sheet-based advanced filters from autocomplete template and migrate to DrawerStackService for better separation of concerns. Update imports and component dependencies accordingly.
* feat: refactor imports and remove deprecated drawer component
- Reorganize import statements with path aliases (@components, @config, @registry)
- Remove deprecated DRAWER_COMPONENT token and DrawerPreviewComponent
- Rename search components (Search2 → Search, SearchLayout2 → SearchLayout)
- Rename assistant directory (assistant2 → assistant)
- Remove unused DrawerStackService injection
- Consolidate import grouping for better code organization
* feat: reorganize imports and update app component styling
- Consolidate imports in app.config.ts using path aliases (@config)
- Correct relative import path for document-type-registry
- Add host binding with bg-sidebar class to AppComponent
* refactor: rename sidebar2 and user-menu2 directories
Rename `sidebar2` to `sidebar` and `user-menu2` to `user-menu` to remove numerical suffixes. Update import paths accordingly and add visual separator in user menu.
* feat(i18n): add user menu translation for new UI layout option
Add "tryNewLayout" translation string to user menu section across all supported languages (English, German, and French). This enables the new UI layout feature to be properly localized for international users.
* feat: add new UI layout option to user menu
Add conditional menu item to enable new UI layout with feature flag. Includes separator styling adjustments, AppStore injection for feature detection, and bootstrapNewApp handler. Sort imports alphabetically for consistency.
* feat: remove legacy app2 layout implementation
Remove unused app2 layout components and configuration, along with the feature flag that controlled layout switching. Simplify bootstrap to use only the current AppComponent.
* refactor: update sidebar import path from sidebar2 to sidebar
Updated import statements across multiple layout files to reference the correct sidebar component path. Changed `@components/sidebar2/sidebar` to `@components/sidebar/sidebar` in assistant, home, search, and widgets layout modules.
* refactor: simplify imports and improve sidebar menu structure
- Consolidate multi-line imports into single line for @sinequa/ui
- Add SidebarMenuActionComponent to imports and declarations
- Refactor conditional template logic using @else if syntax
- Add sidebar menu action button with external link icon for better UX
- Improve code formatting and indentation consistency
* chore: upgrade @sinequa/ui to 0.2.5-dev.4
Update @sinequa/ui dependency from version 0.2.5-dev.3 to 0.2.5-dev.4 in both package.json and package-lock.json files to pull in the latest development fixes and improvements.
* chore: upgrade @sinequa packages to stable versions
- @sinequa/atomic-angular: 0.3.27-dev.2 → 0.3.28
- @sinequa/ui: 0.2.5-dev.4 → 0.2.6
Update package.json and package-lock.json to use stable releases of Sinequa UI packages, removing dev version constraints.
* chore(deps): upgrade browserslist and related dependencies
This commit updates multiple npm dependencies in the docusaurus package-lock.json file to their latest versions, including browserslist (4.27.0 → 4.28.1), caniuse-lite, electron-to-chromium, enhanced-resolve, es-module-lexer, terser-webpack-plugin, and update-browserslist-db to ensure compatibility and receive the latest bug fixes and improvements.
* feat: bump version to 11.13.0
Update package version from 0.0.0 to 11.13.0 for the sinequa-mint project release.
* update lib
* update package lock
* chore: update responsive design for various components
* update lib
* deps: upgrade @sinequa/assistant to 3.10.10
Upgrade @sinequa/assistant from 3.10.5 to 3.10.10 which adds zod as a bundled dependency and peer dependency for schema validation support.
* update package lock after install
* chore: remove @angular-eslint/schematics and update dependencies
chore(deps): remove unused @angular-eslint/schematics dependency and update @angular-devkit packages from 0.2003.13 to 0.2003.18, @angular-devkit/core from 20.3.13 to 20.3.18, and ajv from 8.17.1 to 8.18.0 in package-lock.json
* chore(deps): add cryptography-related dependencies to package-lock.json
This commit updates the package-lock.json file to include newly added cryptography and ASN.1 related dependencies (@noble/hashes, @peculiar/asn1-* packages, asn1js, and others) that are required for enhanced security features in the Docusaurus project.
* ES-30527 #done upgrade @sinequa/atomic-angular from 0.4.0 to 0.4.10
- Bump `@sinequa/atomic-angular` to v0.4.10 in both `package.json` and `package-lock.json`
- Update `getState(principalStore)` usage in both `user-menu` components to remove the now-unnecessary `.principal` property access, aligning with the updated store state shape introduced in the new version
* chore(deps): bump @sinequa/atomic-angular and related dependencies
- Upgrade `@sinequa/atomic-angular` from `0.4.10` to `0.4.17`
- Update `@hono/node-server` from `1.19.9` to `1.19.11`
- Update `express-rate-limit` from `8.2.1` to `8.3.1` (with `ip-address` bumped to `10.1.0`, removing its nested override)
- Update `hono` from `4.12.3` to `4.12.7`
- Update `immutable` from `5.1.4` to `5.1.5`
- Update `tar` from `7.5.9` to `7.5.11`
* update atomic angular
* ES-30512 #done feat(assistant): recreate assistant on principal change and refactor store access
- Wrap `sq-chat-v3` and settings template in an `@for` loop keyed by `assistantKey` signal to force component recreation when the principal changes
- Inject `PrincipalStore` and add an `effect` that increments `assistantKey` whenever the principal store state updates, ensuring the assistant always reflects the latest principal
- Replace `getState(selectionStore)` destructuring with direct signal access `selectionStore.assistantIdsToAttach()` for consistency and reactivity
* ES-30940 #done bump @sinequa/assistant to 3.10.11
and Angular to 20.3.18
* ES-30878 #done feat(autocomplete) suggest values returning no document
- `@sinequa/atomic`: 0.0.137 → 0.0.139
- `@sinequa/atomic-angular`: 0.4.19 → 0.4.23
- `@sinequa/ui`: 0.2.6 → 0.2.12
* #noJiraCheck feat(styles): extract animations and utilities into dedicated CSS files
Refactor global styles by splitting `animations.css` and `utilities.css`
into their own files, reducing the size of the main stylesheet. Also
marks legacy layout classes and `DrawerPreview` as deprecated (removal
planned for v11.15.0), and adds `#gradient-name` and `.heading-4` base
styles.
* ES-30924 #done fix(search): improve tabs and filters display
- Wrap navbar-tabs in a bordered container with noTruncate to prevent ellipsis truncation
- Fix filters-bar layout from flex to block to avoid overflow issues
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* style: simplify navbar-tabs wrapper div styling in search-all
Remove border styling and inline `max-width` from the `navbar-tabs` wrapper div, replacing with Tailwind's `max-w-full` utility class. Also removes a leftover commented-out `<navbar-tabs>` line.
* style: remove hardcoded bg-sage-50 background from navbar-tabs in search-all
* fix(i18n): handle missing translation file gracefully
Add error handling to the Transloco HTTP loader so that a failed translation file request returns an empty object instead of throwing an error. This prevents the app from breaking when a translation file is missing or unavailable.
* chore(deps): upgrade @sinequa/atomic-angular and @sinequa/ui to stable releases
- Bump @sinequa/atomic-angular from ^0.4.32-dev.1 to ^0.4.36
- Bump @sinequa/ui from ^0.2.14-dev.1 to ^0.2.16
- Update transitive dependencies (Angular DevKit, picomatch, etc.)
---------
Co-authored-by: Guillaume Leibfried <guillaume.leibfried@sinequa.com>
Co-authored-by: Olivier.T <otome@chapsvision.com>
Co-authored-by: Leibfried <gleibfried.ext@chapsvision.com>
Co-authored-by: Soukaina ABOUZINE <sabouzine.ext@chapsvision.com>
Co-authored-by: ThatOneBaldGuy <ljuillet@chapsvision.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Update src/app/pages/preview/preview.page.ts
* docs(preview-actions): Add comments to toggle method for clarity
Added inline comments to the `toggle` method within `PreviewActionsComponent`. This improves code readability by explaining the purpose of each step, including determining the signal, updating states, and sending unselect actions to the preview service.
* refactor: Use Angular effect for reactive updates in PreviewPage
Replaced the `afterNextRender` lifecycle hook with an `effect` in the `PreviewPage` component.
This change ensures that the `selectionStore` is reactively updated whenever the `id` input or the `queryParamStore`'s `text` signal changes. `effect` is the appropriate mechanism for reacting to signal dependencies, providing a more robust and reactive update mechanism compared to `afterNextRender`, which only executes once after the initial render.
* update lib
* ES-28966 #done Update @sinequa/atomic-angular to 0.1.86
Updated the `@sinequa/atomic-angular` dependency from version `0.1.84` to `0.1.86`. This update incorporates the latest bug fixes and improvements from the package.
* ES-28974 #done Adjust muted foreground color for improved readability (atomic-angular 🏷️0.1.87) (#527)
* ES-28974 #done style(theme): Adjust muted foreground color for improved readability
Updated the `--muted-foreground` CSS variable to use lighter shades of gray and neutral colors. This change aims to improve the visual balance and readability of muted text elements across different theme contexts.
* chore: update @sinequa/atomic-angular to version 0.1.87
* ES-28973 #done update @sinequa/atomic-angular to version 0.1.88 (#529)
ES-28973 #done update @sinequa/atomic-angular to version 0.1.88 (#529)
* ES-28987 #done feat(deps): update @sinequa/atomic-angular to 0.1.89 (#530)
Updates the `@sinequa/atomic-angular` package from version `0.1.84` to `0.1.89`.
This update brings the project up-to-date with the latest features, bug fixes, and improvements from the `atomic-angular` library.
The `package.json` and `package-lock.json` files have been updated to reflect this dependency change.
* ES-29008 #done Centralize document title management with ApplicationService (atomic-angular 🏷️0.1.90) (#531)
* ES-29008 #done Centralize document title management with ApplicationService
The application's document title is now managed through the `ApplicationService` to ensure consistency and avoid direct DOM manipulation.
This change:
- Replaces direct `document.title` assignments in `PreviewComponent` with calls to `ApplicationService.setTitle` when preview data is loaded.
- Introduces effects in `AssistantLayoutComponent` and `HomeComponent` to reset the application title to their respective page names ('Assistant', 'Home') when side drawers are closed.
This refactoring centralizes title management, improving maintainability and providing a consistent approach across the application.
* update @sinequa/atomic-angular to version 0.1.90 in package.json and package-lock.json
* #noJiraCheck build(deps): Update @sinequa/assistant to 3.10.0-rc1 (#534)
* #noJiraCheck feat(assistant): Update to v3.10.0-rc3 and configure plugins
Updates the `@sinequa/assistant` package to the latest release candidate (`3.10.0-rc3`).
This commit also refactors the application configuration to explicitly provide custom elements and markdown-it plugins for the assistant chat component. This ensures proper rendering of rich content like document references, page references, images, code blocks, and tables within the assistant's responses. The addition of `@types/markdown-it` supports these enhanced markdown parsing capabilities.
* #noJiraCheck refactor(logo): Move content styling to HTML templates
Moves the CSS `content` property for the logo element from component styles directly into the HTML templates using Tailwind CSS's `content-[...]` utility class. This centralizes the logo's content definition within its respective template for improved maintainability.
* ES-29072 #done #noJiraCheck feat(deps): Updates various dependencies within the Docusaurus project (#538)
* #noJiraCheck Update project dependencies
Updating @jsverse/transloco to v8
These updates are part of regular maintenance to ensure the project uses current and supported versions of its tooling and libraries.
* build(deps): Update Docusaurus dependencies and lock file
Updated the Docusaurus project's dependencies in `package-lock.json`.
This includes a significant shift from `@algolia/autocomplete` related
packages to `@ai-sdk` packages, likely for new search or AI integration.
Various other development dependencies, such as `webpack-dev-middleware`,
`memfs`, and `mime-types`, have also been updated to their latest versions.
Additionally, `/src/assets/i18n/custom-elements` was added to `.gitignore`
to prevent committing generated internationalization files.
* ES-29065 #done Mint - Filters "More" button displaying despite not having enough filters (atomic-ui 🏷️0.1.42, atomic-angular 🏷️0.1.93) (#535)
* ES-29065 #done Update Sinequa dependencies and refactor styling imports
Update `@sinequa/atomic-angular` to `0.1.91-dev.2` and `@sinequa/ui` to `0.1.40-dev.2` to leverage the latest features and bug fixes.
Refactor `src/styles.css` to import utilities and datepicker styles directly from the `@sinequa/ui` package, removing redundant local imports and a custom `z-*` utility definition. This streamlines the styling setup and ensures consistency with the Sinequa UI library.
Remove the `ui-tester` route from `src/app/routes.ts` as it is no longer needed.
* chore(deps): Update Sinequa UI and atomic-angular packages
Updates the following Sinequa internal packages to their latest versions:
- `@sinequa/atomic-angular` from `0.1.91-dev.2` to `0.1.93`
- `@sinequa/ui` from `0.1.40-dev.2` to `0.1.42`
Additionally, removes an unnecessary `$event` argument from the `close()` method call in the document upload component's dialog footer for cleaner code.
* chore: Update @sinequa/atomic dependency to v0.0.123
This version removes the time from the log.
Update the @sinequa/atomic package to version 0.0.123. This dependency bump is to incorporate the latest changes from the upstream package, which may include bug fixes, performance enhancements, or new features.
* update atomic angular
* revert to not include filters
* ES-29141 #done fix(deps): Downgrade Transloco to v7.x for compatibility (#540)
Downgraded `@jsverse/transloco` from `8.1.0` to `7.6.1` and `@jsverse/transloco-messageformat` from `8.1.0` to `7.0.1`. This change addresses compatibility issues with the current project setup, as version 8.x introduced breaking changes or incompatibilities that prevented proper functioning. Reverting to the 7.x series ensures stability and correct behavior of the internationalization features.
* ES-28242 #done Prevent visible extract locations in invisible mode
Adds CSS rules to ensure that elements within the `.invisible` context,
specifically `.extractslocations` and `.matchlocations`, are rendered
transparently. This addresses an issue where these elements could appear
as unwanted black squares or other visible artifacts when content is
intended to be hidden. Also refines selection styling for invisible text.
* have sidebar to consider url change to go back properly in history
* use historyGo for preview navbar to properly go back
* chore(deps): update @sinequa/assistant to rel_11.13.0 (#543)
This commit updates the `@sinequa/assistant` package from `^3.10.0-rc3` to the release tag `rel_11.13.0`.
The new tag resolves to version `3.10.0-rc9`, as reflected in the `package-lock.json`. This update is necessary to incorporate the latest changes and fixes from the assistant component and align with the current development release.
* remove unused import
* prevent creating an empty collection
* update lib
* ES-29184 #done feat(assistant): implement suggested action handling with type-based routing (#549)
* ES-29184 #done feat(assistant): implement suggested action handling with type-based routing
Add switch statement to handleSuggestAction to route actions by type (Prefill/Submit), extract submitQuestion and insertText methods for better code organization, and add comprehensive JSDoc documentation for all new and existing methods.
* fix(deps): update @sinequa/atomic-angular to v0.1.96 (#541)
* ES-29222 #done update ngrx/signal store to v20
update to sinequa/atomic-angular v0.2.0 to reflect this changes
* update assistant lib
* update atomic-angular
* atomic-angular 0.2.1
* fix assistant
* update assistant to 3.10.0
* have assistant strict + update atomic angular with olivier fix
* preview dialog base
* have assistant working for preview dialog
* have assistant bold messages properly bold
* have preview header collapsed by default
* have preview dialog sidebar collapsible + remove preview page
* have url opening on title click instead of preview page redirect
* refactor bold
* update lib
* update assistant to 3.10.2
* differenciate for record card if docformatMetadata is for the doctype
* #noJiraCheck style: replace @apply with native CSS for .text-muted class (#548)
Remove redundant color override in chat-v3.css and replace Tailwind @apply directive with light-dark() function using CSS custom properties for better theme support and reduced framework dependency.
* ES-29213 #done Entities navigation (#550)
update @sinequa/atomic-angular to version 0.1.99 and @sinequa/ui to version 0.1.48
* ES-29144 #done mint filters disabled but still clickable with no contents (#551)
update dependencies for @sinequa/atomic-angular and @sinequa/ui to latest versions
* add automatic theme change on system theme change
* remove document title link in the preview drawer
* add feature flags documentation
* update lib (#561)
* add passage highlighting using the chat reference opening
* 🏗️ bump lib, bump angular version to 20.3.15 (#566)
* ES-297272 #done update @sinequa/atomic-angular to v0.2.9 (#565)
* chore: update @sinequa/atomic-angular to v0.2.9
* have preview external link features to properly check its validity
* ES-29092 #done (filters-bar) resolve column name or aliases (atomic 🏷️0.0.124, atomic-angular 🏷️0.2.10 and ui 🏷️0.1.51) (#568)
* ES-29092 #done (filters-bar) resolve column name or aliases
Update
@sinequa/atomic from 0.0.123 to 0.0.124,
@sinequa/atomic-angular from 0.2.7 to 0.2.10, and
@sinequa/ui from 0.1.50 to 0.1.51 to include latest bug fixes and improvements.
* ES-29507 #done manage more filters overflow (atomic-angular 🏷️0.2.10, atomic 🏷️0.1.124) (#570)
* feat: update Sinequa atomic packages to latest versions
@sinequa/atomic from 0.0.123 to 0.0.124
@sinequa/atomic-angular from 0.2.5 to 0.2.10
@sinequa/ui from 0.1.50 to 0.1.51
* chore: update @angular/build and @angular/cli to v20.3.13 (#572)
* chore: update Sinequa packages to latest versions (#573)
- @sinequa/atomic: 0.0.123 → 0.0.124
- @sinequa/atomic-angular: 0.2.7 → 0.2.10
- @sinequa/ui: 0.1.50 → 0.1.51
* ES-29211 #done Chapsvision theme (atomic-angular 🏷️0.3.0, ui 🏷️0.2.0) (#567)
* feat: add brand assets and HankenGrotesk font family
Add HankenGrotesk font variants (Regular, SemiBold, Bold) and white logo SVG to support new brand identity implementation
* feat: customize toast styling with unstyled option and theme classes
Replace richColors with custom styling configuration using unstyled mode and theme-specific CSS classes for success, error, info, and warning toast types
* fix: remove variant="primary" attribute from collection buttons
Removed the variant="primary" attribute from save and create collection buttons to align with updated button styling requirements.
* feat: replace chevron icon with SVG component and improve styling
- Replace FontAwesome chevron-down icon with ChevronRightIcon component
- Update rotation animation from 180deg to 90deg for better UX
- Add text-ai-foreground color class to card header
- Change flex alignment from items-baseline to items-center
- Improve transition classes for smoother SVG animations
* feat(home): refactor to use sinequa/ui tabs component
Home Page:
Replace custom tab implementation with sinequa/ui Tabs, TabsList, TabContent, and Separator components. Remove manual tab selection logic and simplified component structure for better accessibility and consistency.
* feat(assistant): add size="icon" attribute to new discussion button
Adds size="icon" attribute to the new discussion button in assistant layout to ensure proper icon button styling and consistent UI appearance.
* feat(ui): update user menu components to use proper casing and styling
- Change lowercase HTML elements to proper Angular components (menuitem → MenuItem)
- Replace HorizontalDivider with Separator component for consistency
- Add hover states and accent styling to Avatar component
- Improve visual feedback with bg-accent and hover effects
* style: add consistent sizing to sidebar items
Add size-9 aspect-square classes to all sidebar-item components for uniform dimensions and improved visual consistency across search, chats, administration, and help items.
* feat(navbar): add smooth transition to logo margin and adjust grid layout
- Add transition animation to navbar logo margin-left property
- Move transition class from SCSS to HTML for better maintainability
- Adjust grid column widths when drawer is opened for improved spacing
- Update responsive breakpoint grid columns to match new layout
* feat(search): replace FontAwesome star icons with StarIcon component
Replace FontAwesome star icons with the new StarIcon component in saved search popover. Updated button variants from "icon" to "ghost" and size from "xs" to "icon". Removed animation signal and CSS class in favor of built-in StarIcon animation. Simplified confirm button by removing primary variant.
* feat(search): standardize button styles and reorganize imports
- Add fixed height (h-9) to SearchInput component
- Update AI button to use size="xs" and remove redundant height class
- Change search button variant from "icon" to "ghost" and size from "xs" to "icon"
- Move SearchInputFooter import to @sinequa/ui package for better organization
* feat(autocomplete): replace HorizontalDividerComponent with Separator
- Replace HorizontalDividerComponent with Separator component in template
- Update imports to use Separator instead of HorizontalDividerComponent
- Remove variant="primary" attribute from advanced search button
- Clean up duplicate HorizontalDividerComponent import
* feat: improve preview dialog layout with visual enhancements
- Restructure dialog to use DialogContent with proper grid layout
- Replace ngClass with Angular's class binding syntax for better performance
- Add visual separator between sidebar toggle and tabs
- Improve sidebar layout with CSS Grid for better content organization
- Add size="icon" attribute to toggle button for consistent styling
- Enhance responsive behavior with proper height constraints
* refactor(navbar): replace FontAwesome icons with SVG and update component imports
- Replace FontAwesome icons with inline SVG for arrow-left and expand icons
- Change `<i>` tags to `<span>` for better semantic HTML
- Replace `VerticalDividerComponent` with `Separator` component
- Update imports to use `LinkIcon` and `Separator` from UI library
- Temporarily enable expand preview feature for all users
* feat(preview): refactor tabs to use new TabContent structure
- Replace manual tab state management with TabContent components
- Add dedicated content areas for summary, discussion, and preview tabs
- Integrate AssistantComponent and PreviewContentComponent
- Improve tab layout with absolute positioning for better UX
- Add proper imports for new UI components and services
* refactor(preview): replace custom collapse with HTML details element
Replace manual header collapse implementation with native HTML `<details>` element for better accessibility and simpler code. Update chevron icon and remove custom CSS utility imports.
* feat: remove background styling from preview-actions component
Remove bg-muted/90 class from preview-actions to eliminate background opacity styling, maintaining consistent visual appearance with other preview components.
* refactor(preview): simplify component structure and remove assistant features
- Remove assistant-related imports and components (AssistantComponent, TabContent)
- Simplify preview-tabs component by removing tab content logic
- Replace inline gradient styles with Tailwind CSS classes for progress bar
- Remove streaming state management and assistant query handling
- Add bottom margin to main container and update overflow handling
- Clean up unused imports and reduce component complexity
* feat(ui): enhance AI card styling and add Sinequa theme
- Add gradient background and border styling to AI card component
- Introduce new CSS custom properties for button radius and AI border
- Add comprehensive Sinequa theme with light/dark mode support
- Update theme variables for improved visual consistency
* fix: Update AI styling and import paths for consistency
- Change AI card background opacity from 40% to 20% and remove border
- Update AI text color from muted to ai-card-foreground variable
- Add missing .css extensions to all @import statements
- Switch from chapsvision to sinequa theme
- Add new CSS variables for success, warning, info, and error states
- Fix iframe background color syntax from bg-white to bg-[#ffff]
* feat(themes): standardize assistant component CSS variables
Refactor assistant-related CSS variables across chapsvision and sinequa themes to use consistent naming convention with `ast-` prefix and improve dark mode compatibility by using semantic color references instead of hardcoded values.
* feat(home): add full width styling to TabsList component
Add w-full class to TabsList to ensure tabs container spans the full width of its parent container for better layout consistency.
* fix(layout): improve assistant page height calculation and spacing
Replace fixed mt-[65px] with responsive mt-16 and use calc(100vh-4rem) for more precise viewport height calculation in the assistant layout grid container.
* feat: enhance search button styling with hover animations
Update button variants from 'ghost' to 'icon' and add scale hover effect with smooth transitions across search components for improved user interaction feedback
- Update @sinequa/atomic-angular from 0.2.10 to 0.3.0
- Update @sinequa/ui from 0.1.51 to 0.2.0
* move cursor pointer to be more correct
* ES-29677 #done update button styles and remove text-sm class (ui 🏷️0.2.3, atomic-angular 🏷️0.3.3) (#583)
* refactor: update button styles and remove text-sm class
- Changed button `decoration` attribute to `variant="ghost"` for consistent styling
- Removed `text-sm` class from h3 headings in assistant layout and upload component for improved typography hierarchy
* chore: update @sinequa/atomic-angular and @sinequa/ui versions to 0.3.3 and 0.2.3 respectively
* ES-29625 #done manage login flags (atomic 🏷️0.0.128, atomic-angular 🏷️0.3.4) (#576)
* ES-29625 #done manage login flags
update dependencies for @sinequa/atomic and @sinequa/atomic-angular to versions 0.0.128 and 0.3.4 respectively
* ES-29630 #done refactor: replace effect-based suggestions with Angular resource pattern (#579)
ES-29630 #done
This change meant that the fetch suggestion API was always called each time something was clicked.
- Replace effect-driven suggestion fetching with Angular resource for better reactivity
- Add previous suggestions caching to maintain UI state during loading
- Update fetchSuggestions method to accept parameters object
- Reorganize imports and improve code structure
- Remove manual signal updates in favor of resource-based approach
* ES-29622 #done fix background color of the search input (ui 🏷️0.2.3) (#580)
* ES-29622 #done fix background color of the search input
update @sinequa/ui to version 0.2.3
* ES-29692 #done no way to view document is html size is too big (#585)
* ES-29692 #done
feat(preview): simplify preview content component usage
Migrate from manual effect-based validation to Angular's resource API for preview URL validation, improving state management and removing manual signal updates.
Removed unnecessary input binding from the preview-content component in the HTML template. Updated TypeScript imports to streamline dependencies and adjusted the appFeatures initialization to directly use the appStore's general features. This enhances code clarity and reduces complexity in the component.
* feat: Remove APP_FEATURES injection token
The APP_FEATURES injection token has been removed. Its configuration is now directly retrieved from the AppStore's general features.
This change simplifies the application's configuration by centralizing feature settings within the AppStore, reducing the need for a separate injection token.
This commit also updates the documentation to reflect the removal of APP_FEATURES and its related section.
* ES-29569 #done ES-29570 #done Update Docusaurus dependencies to their latest versions (#586)
ES-29569 #done
ES-29570 #done
This commit updates several dependencies within the Docusaurus project to their latest patch versions. This includes:
- js-yaml: Updated from 3.14.1 to 3.14.2 (nested in gray-matter) and 4.1.0 to 4.1.1.
- mdast-util-to-hast: Updated from 13.2.0 to 13.2.1.
- node-forge: Updated from 1.3.1 to 1.3.3.
* ES-28618 #done refactor upload dialog (#578)
ES-28618 #done
- Extract upload functionality into separate UploadDialog component
- Simplify assistant-upload component by removing inline dialog template
- Use DialogService for modal management instead of template reference
* ES-28365 #done update customfulltext styling to differenciate what is generated by ai (#581)
ES-28365 #done
* ES-29297 #done ES-29600 #done issues with "filters" json configuration file (atomic-angular 🏷️0.3.2) (#582)
ES-29297 #done
ES-29600 #done
update @sinequa/atomic-angular version to 0.3.2
* ES-29695 #done Update @sinequa/assistant to version 3.10.4 (#588)
Updated the `@sinequa/assistant` package from `3.10.2` to `3.10.4` to incorporate the latest bug fixes and improvements. This update ensures we are using the most stable version of the library.
* ES-28880 #done overriding user duplicate tab filters (atomic-angular 🏷️0.3.x)
* ES-29690 #done did you mean link with underline
* bump version atomic-angular 0.3.6
* atomic-angular 0.3.6
* update lib
* update lib for chevron update in the document locator
* update lib
* update atomic angular to 0.3.10
* hide chat and summary for preview dialog if no assistant configured for them
* fix preview actions to have proper background and text colors (#594)
* ES-29697 #done feat(user-menu): Dynamically render language and theme options (#590)
Refactor the user menu to dynamically render language and theme selection options.
This change replaces hardcoded menu items with `@for` loops, iterating over `AllLanguages` and `AllThemes` arrays. This makes the user menu more flexible and easier to extend with new languages or themes.
For languages:
- Added `AllLanguages` array with `code`, `label`, and `icon` properties.
- Introduced `NgComponentOutlet` to dynamically render language flag icons.
- Added a checkmark icon next to the currently active language.
For themes:
- Added `AllThemes` array with `name` and `icon` properties.
- Added a checkmark icon next to the currently active theme.
The associated TypeScript file was updated to define `Theme` and `SupportedLanguage` types, and to include the `AllLanguages` and `AllThemes` arrays, as well as the `NgComponentOutlet` import.
* ES-29091 #done mint override user does not work on the assistant view (#589)
* ES-29091 #done feat(assistant): Recreate assistant and saved chats on principal change
This commit introduces logic to recreate the assistant and saved chats components when the `PrincipalStore` updates. This ensures that the components reflect the latest user principal, resolving potential issues where the assistant might use outdated security contexts or configurations.
The `AssistantComponent` now injects `PrincipalStore` and uses an `effect` to trigger the recreation of the `sq-chat-v3` component by updating a `assistantKey` signal. Similarly, the `AssistantLayout` applies the same strategy to `sq-saved-chats-v3`.
* refactor: Update saved chat destructive button hover color
Replaced `var(--color-destructive-hover)` with `oklch(from var(--color-destructive) l c h / 0.75)` for the saved chat destructive button hover state. This change provides a more consistent and accessible hover effect by dynamically deriving the color from the base destructive color using OKLCH.
* ES-28979 #done fix(dependencies): Update @sinequa/assistant (#598)
Updated the `@sinequa/assistant` package from `3.10.4` to `3.10.5` and the `qs` package from `6.14.0` to `6.14.1`. These updates include bug fixes and performance improvements from the respective libraries.
* ES-29877 #done feat: Implement loading saved chats into the assistant query (#597)
This commit introduces functionality to load saved chats from the `sq-saved-chats-v3` component directly into the assistant's query signal.
When a user selects a saved chat, the `handleLoadSavedChat` method is triggered. It fetches the complete chat history, identifies the first user message, and updates the `query` signal with the content of that message. This allows users to easily re-run or continue conversations from their saved chats.
Additionally, the `qs` dependency has been updated to version `6.14.1` in `package-lock.json`.
* update libs
* update ui
* update lib
* #noJiraCheck sync themes management with release/11.14.0 (#601)
* - Replace old logo.svg and logo-blanc.svg with new Sinequa-branded SVGs
- Add logo-sinequa.svg, logo-sinequa-blanc.svg, logo-small.svg, and
logo-small-blanc.svg
- Update theme.css and chapsvision.css to use new logo variables and
URLs
- Adjust sinequa.css to reference new logo variables
- No changes to application logic or styles beyond logo and theme
updates
* feat(search): Add text-foreground class to search input
The search input element now includes the `text-foreground` class. This ensures that the text color within the search input adheres to the application's defined foreground color, improving consistency and readability across different themes.
* ES-28714 #done Add message reference color variable
Adds a new CSS variable `--ast-message-reference-color` to the `chapsvision.css` theme. This variable will be used to define the color for message references within the application, improving theme customization and consistency.
* ES-27605 #done ES-23835 #done Improve zoom functionality and body element detection + support nested iframes for highlighting (#604)
* ES-27605 #done Improve zoom functionality and body element detection
The previous implementation for detecting the `bodyElement` was causing issues with framesets and the zoom functionality.
This commit refactors the `bodyElement` detection logic to correctly identify the body element even when a frameset is present. It now specifically targets the `contentDocument.body` of a frame within a frameset.
Additionally, the zoom-in and zoom-out logic has been updated to consistently use the correctly identified `bodyElement` and retrieve the zoom factor from its inline style, preventing issues with computed styles in certain scenarios.
* ES-23835 #done fix: Support nested iframes for highlighting
This commit modifies the `preview.js` file to add support for nested iframes (frameset) when applying highlights.
Previously, the `styleElement` was always appended to `document.head`, which would not work correctly in a frameset environment. This change introduces a check for `document.body` and if it's a `FRAMESET`, it attempts to find the first `frame` and append the `styleElement` to its `contentDocument.head`.
Additionally, the message posting in `returnMessage` is now also sent to `parent.parent` to ensure messages are relayed correctly in nested iframe scenarios. The `styleElement` is now also removed before being recreated to prevent duplicate style elements.
* ES-29892 #done fix: Update Angular CLI and dependencies (#607)
Updated the Angular CLI from version 20.3.13 to 20.3.14. This commit also updates associated Angular DevKit packages (`architect`, `core`, `schematics`) and `@modelcontextprotocol/sdk` to their latest versions, resolving potential compatibility issues and incorporating the latest features and bug fixes.
* ES-29908 #done fix: Update dependencies in package-lock.json (#608)
This commit updates several dependencies within `docusaurus/package-lock.json`.
The `body-parser` dependency has been updated from `1.20.3` to `1.20.4`, and `express` from `4.21.2` to `4.22.1`.
Additionally, various sub-dependencies of `body-parser` have been updated to their latest patch or minor versions.
These updates ensure that the project benefits from the latest bug fixes, security patches, and performance improvements in these packages, maintaining the stability and security of the Docusaurus application.
* ES-29956 #done feat(search): Update `allowEmptySearch` based on query parameters
The `allowEmptySearch` computed property has been refactored into a signal.
An effect has been introduced to dynamically update the `allowEmptySearch` signal's value based on changes in `queryParamsStore.allowEmptySearchWithFilters()` and the static `appStore.allowEmptySearch()` configuration. This ensures that the search component correctly handles empty search states, especially when advanced filters are applied.
* ES-29889 #done Update @sinequa/atomic-angular to 0.3.15 (#603)
* ES-29091 #done feat(assistant): Simplify principal-based assistant recreation
This PR fixes the issue of saved chats not being rendered in the Assistant component on "overriding user" mode.
Removes the manual recreation logic for the assistant component based on principal changes. This was handled via an explicit `assistantKey` signal and a `for` loop in the template.
Instead, the AssistantComponent will be recreated by its parent component (`assistant.layout.ts`) using a `ngIf` directive based on the `principalKey` signal. This is a more idiomatic Angular approach for conditional component rendering and recreation.
The following dependencies are no longer needed:
- `ChangeDetectorRef`
- `PrincipalStore` (no longer directly injected in AssistantComponent)
* ES-29992 #done feat(navbar): Navigate to last stored path on search
The search functionality in the navbar now navigates to the last stored path in the query params store, falling back to `/search` if no path is stored. This enhances user experience by returning users to their previous context after a search.
* Update src/app/components/search/search.component.ts
Co-authored-by: Leibfried <gleibfried.ext@chapsvision.com>
* Update search.component.ts
* deps: update @sinequa/atomic-angular to 0.3.18
Updates the `@sinequa/atomic-angular` package from version `0.3.15-dev.1` to `0.3.18`. This brings in the latest features, bug fixes, and performance improvements from the updated dependency.
* feat: Update @sinequa/atomic-angular to version 0.3.18
This commit updates the `@sinequa/atomic-angular` package to version `0.3.18`.
This update is necessary to incorporate the latest features, bug fixes, and improvements from the `atomic-angular` library into the project.
The `package.json` and `package-lock.json` files have been updated to reflect this dependency change.
* fix(deps): Update @angular and @sinequa/atomic-angular dependencies
This commit updates the following dependencies to their latest versions:
- `@angular/compiler` from `20.3.15` to `20.3.16`
- `@angular/core` from `20.3.15` to `20.3.16`
- `@sinequa/atomic-angular` from `0.3.15` to `0.3.18`
These updates bring in the latest bug fixes and improvements from the respective libraries.
* ES-29956 #done feat(search): Allow empty search with filters
A new effect has been added to the Home component to automatically trigger a search when filters are applied, even if the search input text is empty.
Additionally, the empty search warning now uses the custom warn function from @sinequa/atomic for consistent logging.
* update libs
* ES-29690 #done feat: Implement spelling correction mode in search all component
This commit introduces the ability to control spelling correction mode from the URL in the search all component.
- **Added `SpellingCorrectionMode` type:** Imported `SpellingCorrectionMode` from `@sinequa/atomic` to allow specifying the correction behavior.
- **Added `c` property to `QueryParamsProps` and input:** The `QueryParamsProps` interface and `SearchAllComponent` now include a `c` property (representing `correctionMode`) to handle this new parameter.
- **Updated query construction:** The `correctionMode` from the input is now included when constructing the query for the `injectInfiniteQuery`.
- **Integrated with `queryParamsStore`:** The `spellingCorrectionMode` is now patched into the `queryParamsStore` from the URL, and conversely, it is updated in the URL based on the `queryParamsStore` state.
- **Included in `currentKeys` for query retriggering:** The `spellingCorrectionMode` is now part of the `currentKeys` used to determine when to retrigger the search query, ensuring changes in this parameter are reflected in the search results.
This change allows users to specify and persist the desired spelling correction mode via the URL, improving search functionality and user experience.
* deps: bump Sinequa Atomic versions
Updated `@sinequa/atomic` to `0.0.132` and `@sinequa/atomic-angular` to `0.3.20-dev.1`. This ensures we are using the latest versions of these Sinequa packages, bringing in any new features, bug fixes, or performance improvements.
* ES-S9692 #done enhance preview loading, and improve styling
This commit includes several updates and improvements:
- **Dependency Updates**:
- Updated `@sinequa/atomic-angular` from `0.3.20` to `0.3.20-dev.2`.
- **Preview Component Enhancements**:
- Modified the `preview-content` component to display a loading spinner while `previewDataResource` or `previewValidationResource` are loading.
- The iframe and navigation/actions are now displayed only when `previewValidationResource` has a value and `previewUrl()` is available.
- The "previewUnavailable" message is shown if `previewDataResource` has no value, or if `previewValidationResource` has no value but a `previewUrl()` exists.
- **Internationalization**:
- Added `user-profile` to the `.gitignore` file for translation assets.
* chore: update @sinequa/atomic-angular to version 0.3.22 in package.json and package-lock.json
* #noJiraCheck feat(docusaurus): Upgrade Docusaurus and related dependencies to 3.9.0
Updated Docusaurus core, preset-classic, theme-mermaid, module-type-aliases, and types to version 3.9.0.
This upgrade pulls in various transitive dependency updates as reflected in the `package-lock.json`, including:
- `@tailwindcss/oxide-wasm32-wasi` and its dependencies
- `npm-registry-fetch` to 19.1.1 and its sub-dependencies like `@npmcli/redact`, `make-fetch-happen`, `minipass-fetch`, `npm-package-arg`, and `proc-log`.
The update aligns the project with the latest Docusaurus features and bug fixes, and ensures compatibility with updated Node.js versions as specified in the `npm-registry-fetch` engine requirements.
* feat: update markdown linting and changelog documentation
- Add tabs and tabitem to allowed HTML elements in markdownlint config
- Remove outdated CSS variable tip from filter-button documentation
- Restructure changelog with semantic versioning and detailed release notes for v11.13.0
- Update package dependencies and add migration notes
* chore: update changelog for release 11.13.0 with new features, changes, and fixes
* have documents refresh on removing one from a collection
* chore: update @sinequa/atomic-angular and @sinequa/ui to latest dev versions
* docs: mark drawer and pager components as deprecated
Mark `DrawerStackComponent`, `DrawerComponent`, and `Pager` component as deprecated in documentation. Add deprecation warnings with migration guidance. Rename drawer.md to drawer.component.md for consistency. Update SearchService deprecation notice with recommended alternatives.
* update lib
* chore: upgrade @sinequa dependencies to latest dev versions
- @sinequa/atomic-angular: 0.3.26-dev.1 → 0.3.27-dev.1
- @sinequa/ui: 0.2.5-dev.1 → 0.2.5-dev.2
* feat: reorganize imports, improve animations, and enhance error handling
This commit reorganizes module imports for consistency, replaces `provideAnimations()` with `provideNoopAnimations()` for better performance, updates several import paths to use relative paths from a config directory, sets fixed width for toast notifications, removes unnecessary blank lines, and adds error handling to the chat initialization method.
* feat: add configurable app layout with feature flag
This commit introduces a new layout variant by adding conditional logic to switch between the original AppComponent and a new App2Component based on a `newLayout` feature flag. The corresponding configuration is also conditionally applied. This enables A/B testing or gradual rollout of the new layout design.
* shared components + new components
This folder is now accessible from the previous app and the newer
* Add the new app that will replace the previous one.
* feat: refactor chat and theme styles with improved color and layout support
- Restructure message content styles with user/assistant-specific classes
- Add message action button hover effects and sizing adjustments
- Reorganize saved chat date styling for better scoping
- Remove backdrop color filters and update dialog backdrop syntax
- Replace hardcoded colors with CSS variables for tooltip components
- Convert color values to rgb/rgba format for consistency
- Comment out deprecated text size variables in chapsvision theme
- Update logo URLs and add color-scheme declaration
* feat: move document-type-registry to registry folder
Move the document-type-registry module to a more accessible location in the registry folder and update the import path accordingly. This improves the module's discoverability and follows better project structure conventions.
* feat: clean up deprecated code and add bookmarks component
- Remove commented-out subscription code from record card component
- Add deprecation notice to search component
- Implement new bookmarks widget component with template and logic
* chore(deps): upgrade Angular CLI and Sinequa packages
chore: upgrade Angular CLI to 20.3.15 and update dependencies
This commit updates multiple dependencies including Angular CLI from 20.3.14 to 20.3.15, along with related @Angular-devkit packages. It also upgrades @sinequa/atomic-angular to 0.3.27-dev.2 and @sinequa/ui to 0.2.5-dev.3, plus pacote from 21.0.0 to 21.0.4. The Node engine requirement is also updated to support ^20.17.0 || >=22.9.0.
* feat: refactor advanced search to use drawer component
Remove sheet-based advanced filters from autocomplete template and migrate to DrawerStackService for better separation of concerns. Update imports and component dependencies accordingly.
* feat: refactor imports and remove deprecated drawer component
- Reorganize import statements with path aliases (@components, @config, @registry)
- Remove deprecated DRAWER_COMPONENT token and DrawerPreviewComponent
- Rename search components (Search2 → Search, SearchLayout2 → SearchLayout)
- Rename assistant directory (assistant2 → assistant)
- Remove unused DrawerStackService injection
- Consolidate import grouping for better code organization
* feat: reorganize imports and update app component styling
- Consolidate imports in app.config.ts using path aliases (@config)
- Correct relative import path for document-type-registry
- Add host binding with bg-sidebar class to AppComponent
* refactor: rename sidebar2 and user-menu2 directories
Rename `sidebar2` to `sidebar` and `user-menu2` to `user-menu` to remove numerical suffixes. Update import paths accordingly and add visual separator in user menu.
* feat(i18n): add user menu translation for new UI layout option
Add "tryNewLayout" translation string to user menu section across all supported languages (English, German, and French). This enables the new UI layout feature to be properly localized for international users.
* feat: add new UI layout option to user menu
Add conditional menu item to enable new UI layout with feature flag. Includes separator styling adjustments, AppStore injection for feature detection, and bootstrapNewApp handler. Sort imports alphabetically for consistency.
* feat: remove legacy app2 layout implementation
Remove unused app2 layout components and configuration, along with the feature flag that controlled layout switching. Simplify bootstrap to use only the current AppComponent.
* refactor: update sidebar import path from sidebar2 to sidebar
Updated import statements across multiple layout files to reference the correct sidebar component path. Changed `@components/sidebar2/sidebar` to `@components/sidebar/sidebar` in assistant, home, search, and widgets layout modules.
* refactor: simplify imports and improve sidebar menu structure
- Consolidate multi-line imports into single line for @sinequa/ui
- Add SidebarMenuActionComponent to imports and declarations
- Refactor conditional template logic using @else if syntax
- Add sidebar menu action button with external link icon for better UX
- Improve code formatting and indentation consistency
* chore: upgrade @sinequa/ui to 0.2.5-dev.4
Update @sinequa/ui dependency from version 0.2.5-dev.3 to 0.2.5-dev.4 in both package.json and package-lock.json files to pull in the latest development fixes and improvements.
* chore: upgrade @sinequa packages to stable versions
- @sinequa/atomic-angular: 0.3.27-dev.2 → 0.3.28
- @sinequa/ui: 0.2.5-dev.4 → 0.2.6
Update package.json and package-lock.json to use stable releases of Sinequa UI packages, removing dev version constraints.
* chore(deps): upgrade browserslist and related dependencies
This commit updates multiple npm dependencies in the docusaurus package-lock.json file to their latest versions, including browserslist (4.27.0 → 4.28.1), caniuse-lite, electron-to-chromium, enhanced-resolve, es-module-lexer, terser-webpack-plugin, and update-browserslist-db to ensure compatibility and receive the latest bug fixes and improvements.
* feat: bump version to 11.13.0
Update package version from 0.0.0 to 11.13.0 for the sinequa-mint project release.
* update lib
* update package lock
* chore: update responsive design for various components
* update lib
* deps: upgrade @sinequa/assistant to 3.10.10
Upgrade @sinequa/assistant from 3.10.5 to 3.10.10 which adds zod as a bundled dependency and peer dependency for schema validation support.
* update package lock after install
* chore: remove @angular-eslint/schematics and update dependencies
chore(deps): remove unused @angular-eslint/schematics dependency and update @Angular-devkit packages from 0.2003.13 to 0.2003.18, @angular-devkit/core from 20.3.13 to 20.3.18, and ajv from 8.17.1 to 8.18.0 in package-lock.json
* chore(deps): add cryptography-related dependencies to package-lock.json
This commit updates the package-lock.json file to include newly added cryptography and ASN.1 related dependencies (@noble/hashes, @peculiar/asn1-* packages, asn1js, and others) that are required for enhanced security features in the Docusaurus project.
* ES-30527 #done upgrade @sinequa/atomic-angular from 0.4.0 to 0.4.10
- Bump `@sinequa/atomic-angular` to v0.4.10 in both `package.json` and `package-lock.json`
- Update `getState(principalStore)` usage in both `user-menu` components to remove the now-unnecessary `.principal` property access, aligning with the updated store state shape introduced in the new version
* chore(deps): bump @sinequa/atomic-angular and related dependencies
- Upgrade `@sinequa/atomic-angular` from `0.4.10` to `0.4.17`
- Update `@hono/node-server` from `1.19.9` to `1.19.11`
- Update `express-rate-limit` from `8.2.1` to `8.3.1` (with `ip-address` bumped to `10.1.0`, removing its nested override)
- Update `hono` from `4.12.3` to `4.12.7`
- Update `immutable` from `5.1.4` to `5.1.5`
- Update `tar` from `7.5.9` to `7.5.11`
* update atomic angular
* ES-30512 #done feat(assistant): recreate assistant on principal change and refactor store access
- Wrap `sq-chat-v3` and settings template in an `@for` loop keyed by `assistantKey` signal to force component recreation when the principal changes
- Inject `PrincipalStore` and add an `effect` that increments `assistantKey` whenever the principal store state updates, ensuring the assistant always reflects the latest principal
- Replace `getState(selectionStore)` destructuring with direct signal access `selectionStore.assistantIdsToAttach()` for consistency and reactivity
* ES-30940 #done bump @sinequa/assistant to 3.10.11
and Angular to 20.3.18
* ES-30878 #done feat(autocomplete) suggest values returning no document
- `@sinequa/atomic`: 0.0.137 → 0.0.139
- `@sinequa/atomic-angular`: 0.4.19 → 0.4.23
- `@sinequa/ui`: 0.2.6 → 0.2.12
* #noJiraCheck feat(styles): extract animations and utilities into dedicated CSS files
Refactor global styles by splitting `animations.css` and `utilities.css`
into their own files, reducing the size of the main stylesheet. Also
marks legacy layout classes and `DrawerPreview` as deprecated (removal
planned for v11.15.0), and adds `#gradient-name` and `.heading-4` base
styles.
* ES-30924 #done fix(search): improve tabs and filters display
- Wrap navbar-tabs in a bordered container with noTruncate to prevent ellipsis truncation
- Fix filters-bar layout from flex to block to avoid overflow issues
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* style: simplify navbar-tabs wrapper div styling in search-all
Remove border styling and inline `max-width` from the `navbar-tabs` wrapper div, replacing with Tailwind's `max-w-full` utility class. Also removes a leftover commented-out `<navbar-tabs>` line.
* style: remove hardcoded bg-sage-50 background from navbar-tabs in search-all
* fix(i18n): handle missing translation file gracefully
Add error handling to the Transloco HTTP loader so that a failed translation file request returns an empty object instead of throwing an error. This prevents the app from breaking when a translation file is missing or unavailable.
* chore(deps): upgrade @sinequa/atomic-angular and @sinequa/ui to stable releases
- Bump @sinequa/atomic-angular from ^0.4.32-dev.1 to ^0.4.36
- Bump @sinequa/ui from ^0.2.14-dev.1 to ^0.2.16
- Update transitive dependencies (Angular DevKit, picomatch, etc.)
* feat(router): implement custom route reuse strategy to maintain assistant state across page changes
* refactor(routing): use route data flag for reuse strategy instead of hardcoded path
* docs: add Custom Route Reuse Strategy documentation page
* chore(docs): update docusaurus package-lock.json dependencies
- Remove unused AI SDK packages (@ai-sdk/gateway, provider, provider-utils, react)
- Upgrade Algolia packages (e.g. abtesting 1.8.0 → 1.16.1, client-common 5.42.0 → 5.50.1)
- Update lodash 4.17.23 → 4.18.1 and other transitive dependencies
- Refresh lockfile with latest resolved versions and integrity hashes
* ES-31393 #done chore(deps): update @sinequa/atomic, @sinequa/atomic-angular, and @sinequa/ui to latest versions
Do not notify when the user is not authenticated.
* ES-31479 #done chore(deps): bump @sinequa/assistant from 3.10.11 to 3.10.12
Update @sinequa/assistant to 3.10.12 and sync transitive dependency
updates for @hono/node-server (1.19.11→1.19.14) and hono (4.12.7→4.12.12).
* ES-31539 #done fix: newChat() initialization
the newChat() call with an isAssistantReady() check to avoid calling it before the assistant is initialized.
* ES-31592 #done fix(preview): remove font-size scroll anchor and fix scroll propagation
Remove the visible paragraph tracking logic used to maintain scroll
position during font-size changes, as it was fragile and unnecessary.
Add `container: 'nearest'` to `scrollIntoView` options to prevent
scroll propagation to the parent application body when navigating
through the preview, avoiding unwanted scroll-to-top side effects.
* ES-31048 #done fix: update @sinequa/atomic-angular to version 1.0.2
* ES-29744 #done Update `@sinequa/atomic-angular` from 1.0.2 to 1.0.3
Also updates transitive lockfile entries for `hono`
(4.12.12 → 4.12.15) and `postcss` (8.5.8 → 8.5.12).
* update assistant to 3.10.12
* ES-31656 #done feat(user-menu): handle redirect URL returned by logout
Update `handleLogout` in both app and shared `UserMenuComponent` to use the `redirectUrl` resolved by `logout()`. If a redirect URL is provided, navigate directly via `window.location.href`; otherwise fall back to the Angular router's `/logout` route.
* chore: update @sinequa/atomic and @sinequa/atomic-angular to versions 1.1.0 and 1.0.4 respectively
---------
Co-authored-by: Olivier.T <otome@chapsvision.com>
Co-authored-by: ThatOneBaldGuy <ljuillet@chapsvision.com>
Co-authored-by: soukaina-abouzine <sabouzine.ext@chapsvision.com>
Co-authored-by: Guillaume Leibfried <guillaume.leibfried@sinequa.com>
Co-authored-by: Leibfried <gleibfried.ext@chapsvision.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: AzureAD\MahdiJALOULI <mjalouli.ext@chapsvision.com>
Co-authored-by: Khoa DO TRINH <kdotrinh@chapsvision.com>
- Replace all 836 resolved URLs from https://npm.sinequa.com to https://registry.npmjs.org in package-lock.json, as the Sinequa registry was causing installation failures - Update integrity hashes for @sinequa/assistant@3.10.13 and @sinequa/atomic@1.1.0 whose npmjs tarballs differ from the Sinequa registry ones (same versions, identical dependency metadata) - Validated with a clean npm ci: 836 packages installed from npmjs, all integrity checks pass, lockfile untouched by the install Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
#noJiraCheck chore: use npmjs registry instead of npm.sinequa.com in lockfile
Resolved conflicts in favor of release/11.14.0 (HEAD), which already contains all functional fixes from 11.13.0 (CustomReuseStrategy / OnRouteAttached, logout redirect handling, home route, newChat guard, provideAssistant refactor) plus its own evolution. Most conflicts were oxfmt formatting churn (double quotes / object expansion / import order). - package.json / package-lock.json (+ docusaurus): kept 11.14.0 versions - CODEOWNERS: kept 11.14.0 (commented-out, consistent with dev/11) - Dropped the 5 legacy color themes (green/orange/teal/violet/yellow) re-added by 11.13.0; 11.14.0 intentionally removed them (commit 9f0e1a0) in favor of the token-based theme system. Net change vs 11.14.0: a deprecation notice added to the drawer doc. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
Merge
release/11.13.0intorelease/11.14.0. Branches are protected, so the merge is delivered through this intermediate branch.Conflict resolution
All conflicts were resolved in favor of
release/11.14.0(HEAD), which already contains every functional fix from 11.13.0 and evolved further:CustomReuseStrategy/OnRouteAttachedwiringredirectUrl)homeroutenewChat()guardprovideAssistant()refactor (replaces the old inline Flow / chat imports)Most conflicts were pure
oxfmtformatting churn (double quotes, object expansion, import ordering).Decisions
dev/11).green,orange,teal,violet,yellow): dropped. 11.14.0 intentionally removed them (commit9f0e1a06) in favor of the token-based theme system; 11.13.0 still shipped them. Confirmed with the maintainer.Net change vs
release/11.14.0Only a deprecation notice added to the drawer component doc. Everything else from 11.13.0 was already present in 11.14.0.
🤖 Generated with Claude Code