Bry/split panel tiny twak#25967
Merged
rijkvanzanten merged 3 commits intorijk/split-panelfrom Oct 14, 2025
Merged
Conversation
AlexGaillard
added a commit
that referenced
this pull request
Dec 9, 2025
* Install vue split panel * Recreate private-view * Persist size * Setup headerbar * Add collapse expand * Add resize handle * Remove tw cruft * Hack in right sidebar * Fix right sidebar expand/collapse * Fix content spacing * Tweak scrolling containers, fix header shadow * Remove margins * Make nav responsive * Nav toggles, remove latency * Finish basic responsiveness * Bry/split panel tiny twak (#25967) * really missed the e in that branch name * all the small thi..buttons --------- Co-authored-by: Rijk van Zanten <[email protected]> * Style expand button * Tweak sizing of icons * Reduce search input sizing * Remove margin from children * Tweak header bar layout * Remove page icons * Tweak responsive breakpoints * Add support for icons * Tweak spacing * they're back but as props this time (#25987) * Fix z-index * Header Bar to V Drawer Header Bar (#25988) * they're back but as props this time * rename to v-drawer header * refactor to match private-view-header-bar pattern * remove small header and header shadow props on private view * Drop small prop from v-drawer-header * Remove primary action item --------- Co-authored-by: Rijk van Zanten <[email protected]> * Added `directus_comments` and `directus_extensions` to websocket subscriptions (#25464) * utilize system data for registering system module subscriptions * add changeset * update changeset wording --------- Co-authored-by: Rijk van Zanten <[email protected]> Co-authored-by: Nitwel <[email protected]> * Speed up dialogs a bit * Add top padding in collections * Re-add support for custom header border * Slow down tooltips * Responsiveness for header bar * Recreate lockfile * Add changeset * Run formatter * Fix linter warnings * Add encryption support to special flags (#26096) * Warn on secret values shorter than 32 bytes * Warn on byte instead of string length * Add encrypt/decrypt logic * Add encrypt special flag support * Rework encryption to use version envelope * Format * Pass accountability to payload service * Return decrypted value to system calls * Fix tampered test * Add basic AI settings (#26097) * Add ai settings * Run formatter * Add heading and notice * Feat/refactor mcp (#26098) * Refactor MCP into AI folder * Run formatter * Format translation * Add dirname definitions * Add ai/chat endpoint (#26104) * Setup AI SDK endpoint * Add tests * Fix test quirks * Implement tool support in chat endpoint (#26116) * Add ai chat tool usage * Gen in some tests * Add json schema validation * Update api/src/ai/chat/utils/chat-request-tool-to-ai-sdk-tool.ts Co-authored-by: Copilot <[email protected]> * Refactor DRY --------- Co-authored-by: Copilot <[email protected]> * Regen pnpmlock * Update changeset to include themes pkg * Feat/ai system prompt (#26124) * Add system prompt setting * Load middleware setting * Add translatoins * Allow passing systemprompt to createuimessages * Pass system prompt from ai settings * AI -> Add base layer AI UI components (#26115) * components * add ai sidebar to item route * rough in ai model selector * rough - ai-input * mock message * add reka-ui * move to ai folder * ai sdk vue * model selector refactor * shrink padding * quick cleanup * shorten model list * install rest of ai sdk * ai message parts * refactor text area * ai store * update sidebar * fix deps mismatch * delete step * update models to long form (again) * refactor to pinia store * remove tools stuff for now * add openai reasoning detailed * Update app/src/ai/components/ai-sidebar-detail.vue Co-authored-by: Copilot <[email protected]> * fix whitespace * fix em up * make max width 600 px * fix sidebar scroll * fix packages * fix reka-ui * cleanup message list * cleanup message * cleanup margins and unused css vars * start reasoning open and then close when done * refactor message list animation * add reasoning translations * refactor out scss * remove progress bar * model selector * ai sidebar detail * fix styling of message text * refactor out variants in favor of simple role basis * fix extra space * remove unneeded variant * refactor side prop * replace spread with backwards loop * fixes 1 * Move reka to devDependencies * Logical properties * Run stylelint * convert to rem * back to pickles * Clean up multi-line tracking * Use transition variables * Use lodash throttle * Use v-bind for css var * Use $t instead of usei18n * computed * textarea magic * Only show models from configured providers * message tool translation * Use transition vars * Use vars for transition * fix dupe * remove opacity * refactor reasonign * add back empty tools array * Refactor AI model selector dropdown to use transitions instead of keyframe animations (#26122) * Initial plan * Refactor dropdown animation to use transitions instead of keyframes Co-authored-by: rijkvanzanten <[email protected]> * Update app/src/ai/components/ai-model-selector.vue * Update app/src/ai/components/ai-model-selector.vue --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> Co-authored-by: Rijk van Zanten <[email protected]> * fix animation * refactor model selector to use vmenu * New Crowdin updates (#25908) * New translations en-us.yaml (Russian) * New translations en-us.yaml (Russian) * New translations en-us.yaml (Czech) * New translations en-us.yaml (Russian) * New translations en-us.yaml (Arabic) * New translations en-us.yaml (Lithuanian) * New translations en-us.yaml (Portuguese) * New translations en-us.yaml (Albanian) * Update source file en-US.yaml * New translations en-us.yaml (Persian) * New translations en-us.yaml (Persian) * New translations en-us.yaml (Korean) * New translations en-us.yaml (Turkish) * New translations en-us.yaml (French) * New translations en-us.yaml (Turkish) * New translations en-us.yaml (Turkish) * New translations en-us.yaml (French) * New translations en-us.yaml (French, Canada) * Update source file en-US.yaml * New translations en-us.yaml (Korean) * Update source file en-US.yaml * New translations en-us.yaml (Persian) * New translations en-us.yaml (Persian) * New translations en-us.yaml (Persian) * Update source file en-US.yaml * New translations en-us.yaml (Russian) * New translations en-us.yaml (Czech) * New translations en-us.yaml (Romanian) * New translations en-us.yaml (French) * New translations en-us.yaml (Spanish) * New translations en-us.yaml (Arabic) * New translations en-us.yaml (Bulgarian) * New translations en-us.yaml (Catalan) * New translations en-us.yaml (Danish) * New translations en-us.yaml (German) * New translations en-us.yaml (Greek) * New translations en-us.yaml (Finnish) * New translations en-us.yaml (Hebrew) * New translations en-us.yaml (Hungarian) * New translations en-us.yaml (Italian) * New translations en-us.yaml (Japanese) * New translations en-us.yaml (Georgian) * New translations en-us.yaml (Korean) * New translations en-us.yaml (Lithuanian) * New translations en-us.yaml (Mongolian) * New translations en-us.yaml (Dutch) * New translations en-us.yaml (Polish) * New translations en-us.yaml (Portuguese) * New translations en-us.yaml (Slovak) * New translations en-us.yaml (Slovenian) * New translations en-us.yaml (Albanian) * New translations en-us.yaml (Swedish) * New translations en-us.yaml (Turkish) * New translations en-us.yaml (Ukrainian) * New translations en-us.yaml (Chinese Simplified) * New translations en-us.yaml (Chinese Traditional) * New translations en-us.yaml (Vietnamese) * New translations en-us.yaml (Icelandic) * New translations en-us.yaml (Portuguese, Brazilian) * New translations en-us.yaml (Indonesian) * New translations en-us.yaml (Persian) * New translations en-us.yaml (Spanish, Chile) * New translations en-us.yaml (Spanish, Mexico) * New translations en-us.yaml (Marathi) * New translations en-us.yaml (Thai) * New translations en-us.yaml (Croatian) * New translations en-us.yaml (Estonian) * New translations en-us.yaml (Azerbaijani) * New translations en-us.yaml (English, Canada) * New translations en-us.yaml (English, United Kingdom) * New translations en-us.yaml (French, Canada) * New translations en-us.yaml (Esperanto) * New translations en-us.yaml (Bosnian) * New translations en-us.yaml (Nepali) * New translations en-us.yaml (Kurmanji (Kurdish)) * New translations en-us.yaml (Sorani (Kurdish)) * New translations en-us.yaml (Spanish, Latin America) * Update source file en-US.yaml * New translations en-us.yaml (Persian) * New translations en-us.yaml (Russian) * New translations en-us.yaml (Czech) * New translations en-us.yaml (Romanian) * New translations en-us.yaml (French) * New translations en-us.yaml (Spanish) * New translations en-us.yaml (Afrikaans) * New translations en-us.yaml (Arabic) * New translations en-us.yaml (Bulgarian) * New translations en-us.yaml (Catalan) * New translations en-us.yaml (Danish) * New translations en-us.yaml (German) * New translations en-us.yaml (Greek) * New translations en-us.yaml (Finnish) * New translations en-us.yaml (Hebrew) * New translations en-us.yaml (Hungarian) * New translations en-us.yaml (Italian) * New translations en-us.yaml (Japanese) * New translations en-us.yaml (Georgian) * New translations en-us.yaml (Korean) * New translations en-us.yaml (Lithuanian) * New translations en-us.yaml (Mongolian) * New translations en-us.yaml (Dutch) * New translations en-us.yaml (Norwegian) * New translations en-us.yaml (Polish) * New translations en-us.yaml (Portuguese) * New translations en-us.yaml (Slovak) * New translations en-us.yaml (Slovenian) * New translations en-us.yaml (Albanian) * New translations en-us.yaml (Serbian (Cyrillic)) * New translations en-us.yaml (Swedish) * New translations en-us.yaml (Turkish) * New translations en-us.yaml (Ukrainian) * New translations en-us.yaml (Chinese Simplified) * New translations en-us.yaml (Chinese Traditional) * New translations en-us.yaml (Vietnamese) * New translations en-us.yaml (Icelandic) * New translations en-us.yaml (Portuguese, Brazilian) * New translations en-us.yaml (Indonesian) * New translations en-us.yaml (Persian) * New translations en-us.yaml (Spanish, Chile) * New translations en-us.yaml (Spanish, Mexico) * New translations en-us.yaml (Marathi) * New translations en-us.yaml (Thai) * New translations en-us.yaml (Croatian) * New translations en-us.yaml (Estonian) * New translations en-us.yaml (Malay) * New translations en-us.yaml (English, Canada) * New translations en-us.yaml (English, United Kingdom) * New translations en-us.yaml (French, Canada) * New translations en-us.yaml (Esperanto) * New translations en-us.yaml (Breton) * New translations en-us.yaml (Bosnian) * New translations en-us.yaml (Serbian (Latin)) * New translations en-us.yaml (Nepali) * New translations en-us.yaml (Kurmanji (Kurdish)) * New translations en-us.yaml (Sorani (Kurdish)) * New translations en-us.yaml (Spanish, Latin America) * Update source file en-US.yaml * Fix broken tests --------- Co-authored-by: Alex Gaillard <[email protected]> * Release 11.13.0 (#26114) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update changeset to include themes pkg * refactor message list scrolling * Rerender based on parts hash * Remove unused imports * Allow more models * cleanup tool markup * cleanup more * fix resizing * Remove unused import * Apply suggestion from @rijkvanzanten --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Rijk van Zanten <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> Co-authored-by: Alex Gaillard <[email protected]> Co-authored-by: ian <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Delete .github/CODEOWNERS * Fix layout display dependant on item count request (#26045) * Fix itemCount dep for item display * add changeset * Update app/src/layouts/cards/cards.vue Co-authored-by: Alex Gaillard <[email protected]> * Update app/src/layouts/tabular/tabular.vue Co-authored-by: Alex Gaillard <[email protected]> * add pagination skeleton loader * only display skeleton if items are at least page limit * Prefer 3 skeletons over 1 * fix skeleton loader tests --------- Co-authored-by: Alex Gaillard <[email protected]> * Add loading indicator when saving setup forms (#26130) * Add loading indicator when saving * Rename instance to project for consistency * Add loading indicator when launching * Rename remaining instances * Add changeset * Remove invalid label * Remove accepted terms (#26135) * Remove accepted_terms * Add changeset --------- Co-authored-by: Alex Gaillard <[email protected]> * Add Error Handling (#26138) * error handling * retry vs regenerate * Update app/src/ai/components/ai-conversation.vue Co-authored-by: Copilot <[email protected]> * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Update app/src/ai/components/ai-conversation.vue Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Add `defineTool` composable (#26140) * Don't send system prompt if it's empty * Remove unnecessary functions * Support dynamic tool registratoin * Create defineTool composable * Define form tools * Add tests * Update app/src/components/v-form/v-form.vue Co-authored-by: Copilot <[email protected]> * Update app/src/components/v-form/composables/use-input-schema.ts Co-authored-by: Copilot <[email protected]> * Update app/src/components/v-form/v-form.vue Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Add reset button (#26141) * Tweak sidebar min size * Move model selector out of chat input * Tweak spacing * Make it less button-y * Reduce hackiness * Add reset method * Add section subheader * Use reset * Reduce sidebar detail padding * Move ctx to bottom start * AI -> Reasoning message cleanup (#26145) * cleanup reasoning * fix fontsize * Only show reasoning summary once exists --------- Co-authored-by: Rijk van Zanten <[email protected]> * AI -> Improve rendering of messages (#26144) * cleanup message structure * fix mounting / unmount using id instead of hash * Tweak loading state * Tweak delays * Remove needless hash --------- Co-authored-by: Rijk van Zanten <[email protected]> * AI -> Add logos for model selector (#26142) * add logos to model selector * refactor * Update app/src/ai/components/logos/anthropic.vue Co-authored-by: Copilot <[email protected]> * Update app/src/ai/components/logos/openai.vue Co-authored-by: Copilot <[email protected]> * final answer * swap claude logo * Render divider in selector --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Rijk van Zanten <[email protected]> * Tweak spacing * AI -> Submit and Stop Button (#26150) * wip * refactor * handle reasoning errors on stop * hide messages without text * still show reasoning if streaming but no text * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Redo the sidebar (#26149) * [WIP] Remove info sidebar detail * [WIP] Style new accordion * Render ai sidebar detail at bottom * Add expand animation * Sidebar collapse/expand * Various tweaks and fixes * Fix transition states * Fix active state on navigate * Update app/src/modules/files/components/file-info-sidebar-detail.vue Co-authored-by: Copilot <[email protected]> * AI -> Submit and Stop Button (#26150) * wip * refactor * handle reasoning errors on stop * hide messages without text * still show reasoning if streaming but no text * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Re-add support for badge, fix other comments * Fix z-indexing * Persist ai chat active state * Move aiChat active state to ai store * Remove notes * Remove bak * fix revisions overflow * Resolve comment * Bump +1 boop * Add units to rotate 0 * Remove unused placement prop --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Bryant Gillespie <[email protected]> * Fix font size of layout options * Hack in empty state (#26151) * Add support for local tool display names * Fix server tools not being called * Add tooltip * Fix absolute positioned elements in scrolling container * AI -> Cleanup Tool Messages (#26163) * cleanup tool message part * match text message padding * drop content to 280px * Fix horizontal overflw * Update app/src/components/v-drawer.vue Co-authored-by: Copilot <[email protected]> * Update app/src/views/private/components/sidebar-detail.vue Co-authored-by: Bryant Gillespie <[email protected]> * Update app/src/components/v-drawer.vue Co-authored-by: Bryant Gillespie <[email protected]> * Remove old file * Update app/src/components/v-drawer.vue Co-authored-by: Bryant Gillespie <[email protected]> * Re-add activity link * Use hyphens for template ref * No small * Remove unused class * Only show sections when sidebar open * Only show notifications preview when bar is expanded * Expand sidebar on activity click * Please formatter, forgive my sins * Fix duplicate attributes * AI -> Chat Flow Improvements (#26185) * store chat open in local storage for refreshes * fix autoscrolling * move input to store and fix submission with enter * add meta j keyboard shortcut to open close ai chat * measure no longer needed * Fix button jumping on scroll * Replace watcher with event hook * Capture shortcut globally, add tooltip --------- Co-authored-by: Rijk van Zanten <[email protected]> * fix items prompt for ai tools (#26183) * Tweak scrolling behavior (#26211) * AI -> Fix failed tool calls (#26179) * add helper to ensure input in failed tool calls * use helper -- don't validate the tools themselves * fix reasoning message issues * add test suite * update chat controller tests * thanks copilot * Fix merge conflict whoopsies (#26214) * AI → Limit context usage (#26202) * Use : instead of / for model ids * Refactor to use full model definition * Calculate usage * Remove pro * Show context usage progress indicator * Remove unused package * Don't show context usage * Limit messages we're sending * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Remove unused comment * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * fix schemas for dates --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: bryantgillespie <[email protected]> * AI -> Message Styling (#26198) * store chat open in local storage for refreshes * fix autoscrolling * move input to store and fix submission with enter * add meta j keyboard shortcut to open close ai chat * measure no longer needed * increase message gap * cleanup message tool styling * fix padding and scrollbar on chat * refactor ai-message component to improve structure and styling; updated gap variable and added role prop to AiMessageText * message styling * add css animation on hover when not expanded * fix height transition * fix trailing space * add todo list focus * fix border radius for user messages * fix duped * remove unneeded watch * fix import order * animate text and icons only * Update app/src/ai/components/parts/ai-message-tool.vue Co-authored-by: Copilot <[email protected]> * Tweak spacing for loading indicator * Resolve translation comment * Magic is magic * Enough magic * Remove unused stuff * Resolve hardcoded reused msg height * Run formatter --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Rijk van Zanten <[email protected]> * Re-add notifications * AI -> Persist session using local storage (#26199) * persist current session * Use sessionstorage instead --------- Co-authored-by: Rijk van Zanten <[email protected]> * Run formatter * Tie AI access to app access (#26251) * Allow divider to overlap sticky headings in main (#26252) * Some Fixes for Split Panel (#26254) * use container queries for form * wip * back to percent * unwrap preview * fix type * unneeded setter * remove unneded function * cleaner compueted * its either 100 or 0 * Add changeset * Run formatter * Fix stylelint warning * Fix API typing of sanitizeQuery * AI → Refresh stores on system tool calls (#26253) * Refresh schema on system tool calls * Refactor relations store to setup * Add item refresh to all layouts * Add item refresh on detail view * Refresh fields on collection changes * AI → Re-enable notifications (#26250) * Render notifications outside of sidebar * Use absolute in split container * Fix animation * Render link to activity in notifications drawer * Add AI Chat sidebar ✨ (#26261) * Initial plan * Refactor test to use typed mockNext instead of inline vi.fn() for RequestHandler calls Co-authored-by: rijkvanzanten <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> * Happy now? * Resolve test issue * Make sure left/right panel close icons RTL * Resolve test issues * AI → Add soft-default for system prompt (#26268) * Add soft-default for system prompt * Update test to account for default value * update system prompt --------- Co-authored-by: bryantgillespie <[email protected]> Co-authored-by: Bryant Gillespie <[email protected]> * AI -> Tool Approval Functionality (#26265) * Refactor to tool card for approvals and web search tool (later) * update to ai sdk beta for tool approvals * add settings menu * adust padding for settings menu * update store * add approvals to chat request * stronger types * update controller * update send automatically when * run formatter * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * remove assets from translations for now * refactor approval options * tool card disabled * add icons to map as well * remove casting * fix double scroll bar * Apply suggestion from @Copilot Co-authored-by: Copilot <[email protected]> * Fix typing of stream call * Add enter key for translate shortcut * Translate keyboard shortcuts * Remove keyboard shortcuts * Use css vars * Use translated tool names --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Rijk van Zanten <[email protected]> * AI -> Hide when No Providers / Not Configured (#26269) * add beta * move header * add no provider empty states * translations --------- Co-authored-by: Rijk van Zanten <[email protected]> * Nudge nudge * I'm sorry. * Update .changeset/small-doodles-join.md Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/settings/routes/flows/components/logs-sidebar-detail.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-resize-handle.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/components/layout-sidebar-detail.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/components/sidebar-detail.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/settings/routes/marketplace/routes/registry/registry.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/settings/routes/system-logs/logs.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/settings/routes/system-logs/logs.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/interfaces/_system/system-owner/system-owner.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/components/skip-menu.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/components/v-form/composables/use-input-schema.ts Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/components/v-form/composables/use-input-schema.ts Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/ai/components/parts/ai-message-text.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/visual/components/editing-layer.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/visual/components/editing-layer.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/components/v-drawer-header.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/components/v-drawer-header.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-header-bar.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/components/notifications-drawer.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * search input: match header button height and refine styles with CSS variables (#26308) * add BREAKPOINTS constant and update private-view-root.vue to demonstrate example usage (#26310) * AI → Resolve review comments (#26290) * Add a smidge of padding * Add a pinch of flex * Stir in the drawing spacing * Re-add missing drawer close on mobile * Fix z-index of header bar * Tweak stacking order of search input * Resolve shadow showing up on nav on mobile * Only show tooltip when sidebar is closed * Drop shortcut * Nudge cancel button size and positioning * Make drawer buttons smaller * Fix input height in sidebar * Drop unused dependency * Change translation key * Add in type label tweaks * Tweak drawer title styling * Stick header bar at 0 * Tweak skeleton loader * Allow inline size to shrink * Fix missing import * Don't inherit attrs on private view * Collapse right sidebar when making window small * fix appearance * Tweak sizing of right rail * Don't deactivate on unmount * Fix right sidebar alignment * sidebar is closed and you try to open it by resizing while the preview split-panel is open * Re-add non-editable * Tweak revision styling * 💅 f l o r i a n * Refactor v-form ai usage to composable * Tweak spacing * Update import * Rename description to llmDescription * Use prop shorthands * Don't use flow sidebar detail in translations * Don't use unused prop * Move vars to top * Add comment * Remove unused ref * Drop navbar/sidebar from app store * Revert version menu * button type * Remove fullscreen * Use private view header bar actions * Fix custom icons not scaling * Remove unused css * Use class instead of id Don't you forget about the ˚₊‧꒰ა best practices ໒꒱ ‧₊˚ * Update input-hash component to conditionally set input type and autocomplete attributes based on masked state * revert fields user change * remove todos * Update app/src/components/v-drawer-header.vue Co-authored-by: Copilot <[email protected]> * Pass direction to split panel * Update split panel * Revert "Rename description to llmDescription" This reverts commit 162a6d5. * Solve name confusion with just comments * Update app/src/components/v-form/composables/use-ai-tools.ts Co-authored-by: Copilot <[email protected]> * Update app/src/components/v-drawer-header.vue Co-authored-by: Copilot <[email protected]> * Run formatter/linter --------- Co-authored-by: bryantgillespie <[email protected]> Co-authored-by: Copilot <[email protected]> * AI ← Spacing & responsive refinements (#26309) * introduce --form-column-min-width var * move container-type: inline-size to the form-grid mixin * set inline-size container query to 556px * adjust sidebar content padding to match sidebar toggle buttons * refine the project name padding so it optically matches the contents of the navigation bar * set --content-padding and --content-padding-bottom vars globally * refine spacing of item form * add top padding to content components * remove top margin in favor of added top padding * Tweak spacing a bit more --------- Co-authored-by: Rijk van Zanten <[email protected]> * Prettier doesn't agree sadly * Add changeset for stores package * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/ai/components/ai-sidebar-detail.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Remove unused file * Icon sizes * Align drawer header with other header * Fix descender overflow * Re-add tooltip * AI ← Drawer & Header (#26317) * add Esc hint to cancel tooltip for consistency with the cancel button outside the drawer * adjust alignment of drawer cancel button to match header bar icons * prevent extra padding-right of forms in the drawer * ensure that title styles are applied to the drawer header * prevent the title text from being cut off in the header bar and the drawer header * Update app/src/views/private/private-view/components/private-view-header-bar.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * fix private view main * update docs link and system prompt help text * formatter * fix stylelint comments * AI -> Add Back Scroll Shadows but Better (#26313) * add scroll shadows to scroll container in private view * Update app/src/styles/themes/_dark.scss Co-authored-by: Copilot <[email protected]> * Update app/src/views/private/private-view/components/private-view.vue Co-authored-by: Copilot <[email protected]> * set to false instead of undefined --------- Co-authored-by: Copilot <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * render only split panel * Fix calendar/map view * fix header border mismatch for color match theme * Fix button size in field detail * Fix more drawer button sizes * borders are back * Fix map / calendar not resizing on sidebar size change * Run formatter * fix layout bottom * fix calendar * fizx tests * update test snapshot * use internal BREAKPOINTS const and remove redundant use of useBreakpoints (#26329) * fix form type imports * Update app/src/views/private/private-view/components/private-view-header-bar.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/components/v-drawer-header.vue Co-authored-by: Florian C. Wachmann <[email protected]> * enforce map view shadows and fix initialization issue * remove unused line * fix border for color match themne * Tweak default * Revert input-hash changes, use new autocomplete prop * oops missed the import * AI ← Live Preview (#26330) * prevent iframe from loading when live preview is not active * add default live preview size as snap point so that we can easily resize to the default size * ensure that the live preview panel border only appears when not displayed at full width (mobile) * Run formatter * Add changeset * fix search input for mobile (#26331) * prevent submissions when pending tool call * AI ← Improve input focusing (#26334) * Focus on textarea when clicking within ai-input * Use text cursor * Fix cursor when disabled * fix max-width issue of search input on mobile (#26339) * AI ← A11y adjustments for Skip Menu and headline elements (#26337) * refactor SkipMenu usage so it appears next to its section * refactor SkipMenu keys to match section ID naming * ensure that sections accessed via the skip menu expand properly if they are collapsed * adjust the SkipMenu min-width to match the sidebar min-width * update tests * fix focus styles for headline elements * adjust positioning for mobile skip menu inside module navigation * add dynamic id binding to module navigation content for improved accessibility * Update app/src/views/private/components/skip-menu.vue Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * fix line-height in type-title mixin (#26341) * AI <- Hot Last Minute Quick Fixes (#26332) * close inline nav on route change * fix activator warnings * Update app/src/views/private/private-view/stores/nav-bar.ts Co-authored-by: Florian C. Wachmann <[email protected]> * pull in sidebar store --------- Co-authored-by: Florian C. Wachmann <[email protected]> * AI Chat <- Clears Messages and Settings on Sign Out (#26342) * clear messages and settings on signout * Add test coverage for AI store dehydrate function (#26343) * Initial plan * Add test coverage for dehydrate function in AI store Co-authored-by: rijkvanzanten <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> * Update .changeset/short-lamps-hunt.md Co-authored-by: Florian C. Wachmann <[email protected]> * Add AI Telemetry (#26347) * Add AI-related fields to telemetry * Include AI-related fields in tests * Use AI suggestion --------- Co-authored-by: Bryant Gillespie <[email protected]> Co-authored-by: daedalus <[email protected]> Co-authored-by: Nitwel <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> Co-authored-by: Alex Gaillard <[email protected]> Co-authored-by: ian <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gerard Lamusse <[email protected]> Co-authored-by: bryantgillespie <[email protected]> Co-authored-by: Florian C. Wachmann <[email protected]> Co-authored-by: Connor Winston <[email protected]>
gaetansenn
pushed a commit
that referenced
this pull request
Dec 9, 2025
* Install vue split panel * Recreate private-view * Persist size * Setup headerbar * Add collapse expand * Add resize handle * Remove tw cruft * Hack in right sidebar * Fix right sidebar expand/collapse * Fix content spacing * Tweak scrolling containers, fix header shadow * Remove margins * Make nav responsive * Nav toggles, remove latency * Finish basic responsiveness * Bry/split panel tiny twak (#25967) * really missed the e in that branch name * all the small thi..buttons --------- Co-authored-by: Rijk van Zanten <[email protected]> * Style expand button * Tweak sizing of icons * Reduce search input sizing * Remove margin from children * Tweak header bar layout * Remove page icons * Tweak responsive breakpoints * Add support for icons * Tweak spacing * they're back but as props this time (#25987) * Fix z-index * Header Bar to V Drawer Header Bar (#25988) * they're back but as props this time * rename to v-drawer header * refactor to match private-view-header-bar pattern * remove small header and header shadow props on private view * Drop small prop from v-drawer-header * Remove primary action item --------- Co-authored-by: Rijk van Zanten <[email protected]> * Added `directus_comments` and `directus_extensions` to websocket subscriptions (#25464) * utilize system data for registering system module subscriptions * add changeset * update changeset wording --------- Co-authored-by: Rijk van Zanten <[email protected]> Co-authored-by: Nitwel <[email protected]> * Speed up dialogs a bit * Add top padding in collections * Re-add support for custom header border * Slow down tooltips * Responsiveness for header bar * Recreate lockfile * Add changeset * Run formatter * Fix linter warnings * Add encryption support to special flags (#26096) * Warn on secret values shorter than 32 bytes * Warn on byte instead of string length * Add encrypt/decrypt logic * Add encrypt special flag support * Rework encryption to use version envelope * Format * Pass accountability to payload service * Return decrypted value to system calls * Fix tampered test * Add basic AI settings (#26097) * Add ai settings * Run formatter * Add heading and notice * Feat/refactor mcp (#26098) * Refactor MCP into AI folder * Run formatter * Format translation * Add dirname definitions * Add ai/chat endpoint (#26104) * Setup AI SDK endpoint * Add tests * Fix test quirks * Implement tool support in chat endpoint (#26116) * Add ai chat tool usage * Gen in some tests * Add json schema validation * Update api/src/ai/chat/utils/chat-request-tool-to-ai-sdk-tool.ts Co-authored-by: Copilot <[email protected]> * Refactor DRY --------- Co-authored-by: Copilot <[email protected]> * Regen pnpmlock * Update changeset to include themes pkg * Feat/ai system prompt (#26124) * Add system prompt setting * Load middleware setting * Add translatoins * Allow passing systemprompt to createuimessages * Pass system prompt from ai settings * AI -> Add base layer AI UI components (#26115) * components * add ai sidebar to item route * rough in ai model selector * rough - ai-input * mock message * add reka-ui * move to ai folder * ai sdk vue * model selector refactor * shrink padding * quick cleanup * shorten model list * install rest of ai sdk * ai message parts * refactor text area * ai store * update sidebar * fix deps mismatch * delete step * update models to long form (again) * refactor to pinia store * remove tools stuff for now * add openai reasoning detailed * Update app/src/ai/components/ai-sidebar-detail.vue Co-authored-by: Copilot <[email protected]> * fix whitespace * fix em up * make max width 600 px * fix sidebar scroll * fix packages * fix reka-ui * cleanup message list * cleanup message * cleanup margins and unused css vars * start reasoning open and then close when done * refactor message list animation * add reasoning translations * refactor out scss * remove progress bar * model selector * ai sidebar detail * fix styling of message text * refactor out variants in favor of simple role basis * fix extra space * remove unneeded variant * refactor side prop * replace spread with backwards loop * fixes 1 * Move reka to devDependencies * Logical properties * Run stylelint * convert to rem * back to pickles * Clean up multi-line tracking * Use transition variables * Use lodash throttle * Use v-bind for css var * Use $t instead of usei18n * computed * textarea magic * Only show models from configured providers * message tool translation * Use transition vars * Use vars for transition * fix dupe * remove opacity * refactor reasonign * add back empty tools array * Refactor AI model selector dropdown to use transitions instead of keyframe animations (#26122) * Initial plan * Refactor dropdown animation to use transitions instead of keyframes Co-authored-by: rijkvanzanten <[email protected]> * Update app/src/ai/components/ai-model-selector.vue * Update app/src/ai/components/ai-model-selector.vue --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> Co-authored-by: Rijk van Zanten <[email protected]> * fix animation * refactor model selector to use vmenu * New Crowdin updates (#25908) * New translations en-us.yaml (Russian) * New translations en-us.yaml (Russian) * New translations en-us.yaml (Czech) * New translations en-us.yaml (Russian) * New translations en-us.yaml (Arabic) * New translations en-us.yaml (Lithuanian) * New translations en-us.yaml (Portuguese) * New translations en-us.yaml (Albanian) * Update source file en-US.yaml * New translations en-us.yaml (Persian) * New translations en-us.yaml (Persian) * New translations en-us.yaml (Korean) * New translations en-us.yaml (Turkish) * New translations en-us.yaml (French) * New translations en-us.yaml (Turkish) * New translations en-us.yaml (Turkish) * New translations en-us.yaml (French) * New translations en-us.yaml (French, Canada) * Update source file en-US.yaml * New translations en-us.yaml (Korean) * Update source file en-US.yaml * New translations en-us.yaml (Persian) * New translations en-us.yaml (Persian) * New translations en-us.yaml (Persian) * Update source file en-US.yaml * New translations en-us.yaml (Russian) * New translations en-us.yaml (Czech) * New translations en-us.yaml (Romanian) * New translations en-us.yaml (French) * New translations en-us.yaml (Spanish) * New translations en-us.yaml (Arabic) * New translations en-us.yaml (Bulgarian) * New translations en-us.yaml (Catalan) * New translations en-us.yaml (Danish) * New translations en-us.yaml (German) * New translations en-us.yaml (Greek) * New translations en-us.yaml (Finnish) * New translations en-us.yaml (Hebrew) * New translations en-us.yaml (Hungarian) * New translations en-us.yaml (Italian) * New translations en-us.yaml (Japanese) * New translations en-us.yaml (Georgian) * New translations en-us.yaml (Korean) * New translations en-us.yaml (Lithuanian) * New translations en-us.yaml (Mongolian) * New translations en-us.yaml (Dutch) * New translations en-us.yaml (Polish) * New translations en-us.yaml (Portuguese) * New translations en-us.yaml (Slovak) * New translations en-us.yaml (Slovenian) * New translations en-us.yaml (Albanian) * New translations en-us.yaml (Swedish) * New translations en-us.yaml (Turkish) * New translations en-us.yaml (Ukrainian) * New translations en-us.yaml (Chinese Simplified) * New translations en-us.yaml (Chinese Traditional) * New translations en-us.yaml (Vietnamese) * New translations en-us.yaml (Icelandic) * New translations en-us.yaml (Portuguese, Brazilian) * New translations en-us.yaml (Indonesian) * New translations en-us.yaml (Persian) * New translations en-us.yaml (Spanish, Chile) * New translations en-us.yaml (Spanish, Mexico) * New translations en-us.yaml (Marathi) * New translations en-us.yaml (Thai) * New translations en-us.yaml (Croatian) * New translations en-us.yaml (Estonian) * New translations en-us.yaml (Azerbaijani) * New translations en-us.yaml (English, Canada) * New translations en-us.yaml (English, United Kingdom) * New translations en-us.yaml (French, Canada) * New translations en-us.yaml (Esperanto) * New translations en-us.yaml (Bosnian) * New translations en-us.yaml (Nepali) * New translations en-us.yaml (Kurmanji (Kurdish)) * New translations en-us.yaml (Sorani (Kurdish)) * New translations en-us.yaml (Spanish, Latin America) * Update source file en-US.yaml * New translations en-us.yaml (Persian) * New translations en-us.yaml (Russian) * New translations en-us.yaml (Czech) * New translations en-us.yaml (Romanian) * New translations en-us.yaml (French) * New translations en-us.yaml (Spanish) * New translations en-us.yaml (Afrikaans) * New translations en-us.yaml (Arabic) * New translations en-us.yaml (Bulgarian) * New translations en-us.yaml (Catalan) * New translations en-us.yaml (Danish) * New translations en-us.yaml (German) * New translations en-us.yaml (Greek) * New translations en-us.yaml (Finnish) * New translations en-us.yaml (Hebrew) * New translations en-us.yaml (Hungarian) * New translations en-us.yaml (Italian) * New translations en-us.yaml (Japanese) * New translations en-us.yaml (Georgian) * New translations en-us.yaml (Korean) * New translations en-us.yaml (Lithuanian) * New translations en-us.yaml (Mongolian) * New translations en-us.yaml (Dutch) * New translations en-us.yaml (Norwegian) * New translations en-us.yaml (Polish) * New translations en-us.yaml (Portuguese) * New translations en-us.yaml (Slovak) * New translations en-us.yaml (Slovenian) * New translations en-us.yaml (Albanian) * New translations en-us.yaml (Serbian (Cyrillic)) * New translations en-us.yaml (Swedish) * New translations en-us.yaml (Turkish) * New translations en-us.yaml (Ukrainian) * New translations en-us.yaml (Chinese Simplified) * New translations en-us.yaml (Chinese Traditional) * New translations en-us.yaml (Vietnamese) * New translations en-us.yaml (Icelandic) * New translations en-us.yaml (Portuguese, Brazilian) * New translations en-us.yaml (Indonesian) * New translations en-us.yaml (Persian) * New translations en-us.yaml (Spanish, Chile) * New translations en-us.yaml (Spanish, Mexico) * New translations en-us.yaml (Marathi) * New translations en-us.yaml (Thai) * New translations en-us.yaml (Croatian) * New translations en-us.yaml (Estonian) * New translations en-us.yaml (Malay) * New translations en-us.yaml (English, Canada) * New translations en-us.yaml (English, United Kingdom) * New translations en-us.yaml (French, Canada) * New translations en-us.yaml (Esperanto) * New translations en-us.yaml (Breton) * New translations en-us.yaml (Bosnian) * New translations en-us.yaml (Serbian (Latin)) * New translations en-us.yaml (Nepali) * New translations en-us.yaml (Kurmanji (Kurdish)) * New translations en-us.yaml (Sorani (Kurdish)) * New translations en-us.yaml (Spanish, Latin America) * Update source file en-US.yaml * Fix broken tests --------- Co-authored-by: Alex Gaillard <[email protected]> * Release 11.13.0 (#26114) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update changeset to include themes pkg * refactor message list scrolling * Rerender based on parts hash * Remove unused imports * Allow more models * cleanup tool markup * cleanup more * fix resizing * Remove unused import * Apply suggestion from @rijkvanzanten --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Rijk van Zanten <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> Co-authored-by: Alex Gaillard <[email protected]> Co-authored-by: ian <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Delete .github/CODEOWNERS * Fix layout display dependant on item count request (#26045) * Fix itemCount dep for item display * add changeset * Update app/src/layouts/cards/cards.vue Co-authored-by: Alex Gaillard <[email protected]> * Update app/src/layouts/tabular/tabular.vue Co-authored-by: Alex Gaillard <[email protected]> * add pagination skeleton loader * only display skeleton if items are at least page limit * Prefer 3 skeletons over 1 * fix skeleton loader tests --------- Co-authored-by: Alex Gaillard <[email protected]> * Add loading indicator when saving setup forms (#26130) * Add loading indicator when saving * Rename instance to project for consistency * Add loading indicator when launching * Rename remaining instances * Add changeset * Remove invalid label * Remove accepted terms (#26135) * Remove accepted_terms * Add changeset --------- Co-authored-by: Alex Gaillard <[email protected]> * Add Error Handling (#26138) * error handling * retry vs regenerate * Update app/src/ai/components/ai-conversation.vue Co-authored-by: Copilot <[email protected]> * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Update app/src/ai/components/ai-conversation.vue Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Add `defineTool` composable (#26140) * Don't send system prompt if it's empty * Remove unnecessary functions * Support dynamic tool registratoin * Create defineTool composable * Define form tools * Add tests * Update app/src/components/v-form/v-form.vue Co-authored-by: Copilot <[email protected]> * Update app/src/components/v-form/composables/use-input-schema.ts Co-authored-by: Copilot <[email protected]> * Update app/src/components/v-form/v-form.vue Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Add reset button (#26141) * Tweak sidebar min size * Move model selector out of chat input * Tweak spacing * Make it less button-y * Reduce hackiness * Add reset method * Add section subheader * Use reset * Reduce sidebar detail padding * Move ctx to bottom start * AI -> Reasoning message cleanup (#26145) * cleanup reasoning * fix fontsize * Only show reasoning summary once exists --------- Co-authored-by: Rijk van Zanten <[email protected]> * AI -> Improve rendering of messages (#26144) * cleanup message structure * fix mounting / unmount using id instead of hash * Tweak loading state * Tweak delays * Remove needless hash --------- Co-authored-by: Rijk van Zanten <[email protected]> * AI -> Add logos for model selector (#26142) * add logos to model selector * refactor * Update app/src/ai/components/logos/anthropic.vue Co-authored-by: Copilot <[email protected]> * Update app/src/ai/components/logos/openai.vue Co-authored-by: Copilot <[email protected]> * final answer * swap claude logo * Render divider in selector --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Rijk van Zanten <[email protected]> * Tweak spacing * AI -> Submit and Stop Button (#26150) * wip * refactor * handle reasoning errors on stop * hide messages without text * still show reasoning if streaming but no text * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Redo the sidebar (#26149) * [WIP] Remove info sidebar detail * [WIP] Style new accordion * Render ai sidebar detail at bottom * Add expand animation * Sidebar collapse/expand * Various tweaks and fixes * Fix transition states * Fix active state on navigate * Update app/src/modules/files/components/file-info-sidebar-detail.vue Co-authored-by: Copilot <[email protected]> * AI -> Submit and Stop Button (#26150) * wip * refactor * handle reasoning errors on stop * hide messages without text * still show reasoning if streaming but no text * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * Re-add support for badge, fix other comments * Fix z-indexing * Persist ai chat active state * Move aiChat active state to ai store * Remove notes * Remove bak * fix revisions overflow * Resolve comment * Bump +1 boop * Add units to rotate 0 * Remove unused placement prop --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Bryant Gillespie <[email protected]> * Fix font size of layout options * Hack in empty state (#26151) * Add support for local tool display names * Fix server tools not being called * Add tooltip * Fix absolute positioned elements in scrolling container * AI -> Cleanup Tool Messages (#26163) * cleanup tool message part * match text message padding * drop content to 280px * Fix horizontal overflw * Update app/src/components/v-drawer.vue Co-authored-by: Copilot <[email protected]> * Update app/src/views/private/components/sidebar-detail.vue Co-authored-by: Bryant Gillespie <[email protected]> * Update app/src/components/v-drawer.vue Co-authored-by: Bryant Gillespie <[email protected]> * Remove old file * Update app/src/components/v-drawer.vue Co-authored-by: Bryant Gillespie <[email protected]> * Re-add activity link * Use hyphens for template ref * No small * Remove unused class * Only show sections when sidebar open * Only show notifications preview when bar is expanded * Expand sidebar on activity click * Please formatter, forgive my sins * Fix duplicate attributes * AI -> Chat Flow Improvements (#26185) * store chat open in local storage for refreshes * fix autoscrolling * move input to store and fix submission with enter * add meta j keyboard shortcut to open close ai chat * measure no longer needed * Fix button jumping on scroll * Replace watcher with event hook * Capture shortcut globally, add tooltip --------- Co-authored-by: Rijk van Zanten <[email protected]> * fix items prompt for ai tools (#26183) * Tweak scrolling behavior (#26211) * AI -> Fix failed tool calls (#26179) * add helper to ensure input in failed tool calls * use helper -- don't validate the tools themselves * fix reasoning message issues * add test suite * update chat controller tests * thanks copilot * Fix merge conflict whoopsies (#26214) * AI → Limit context usage (#26202) * Use : instead of / for model ids * Refactor to use full model definition * Calculate usage * Remove pro * Show context usage progress indicator * Remove unused package * Don't show context usage * Limit messages we're sending * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Remove unused comment * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * fix schemas for dates --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: bryantgillespie <[email protected]> * AI -> Message Styling (#26198) * store chat open in local storage for refreshes * fix autoscrolling * move input to store and fix submission with enter * add meta j keyboard shortcut to open close ai chat * measure no longer needed * increase message gap * cleanup message tool styling * fix padding and scrollbar on chat * refactor ai-message component to improve structure and styling; updated gap variable and added role prop to AiMessageText * message styling * add css animation on hover when not expanded * fix height transition * fix trailing space * add todo list focus * fix border radius for user messages * fix duped * remove unneeded watch * fix import order * animate text and icons only * Update app/src/ai/components/parts/ai-message-tool.vue Co-authored-by: Copilot <[email protected]> * Tweak spacing for loading indicator * Resolve translation comment * Magic is magic * Enough magic * Remove unused stuff * Resolve hardcoded reused msg height * Run formatter --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Rijk van Zanten <[email protected]> * Re-add notifications * AI -> Persist session using local storage (#26199) * persist current session * Use sessionstorage instead --------- Co-authored-by: Rijk van Zanten <[email protected]> * Run formatter * Tie AI access to app access (#26251) * Allow divider to overlap sticky headings in main (#26252) * Some Fixes for Split Panel (#26254) * use container queries for form * wip * back to percent * unwrap preview * fix type * unneeded setter * remove unneded function * cleaner compueted * its either 100 or 0 * Add changeset * Run formatter * Fix stylelint warning * Fix API typing of sanitizeQuery * AI → Refresh stores on system tool calls (#26253) * Refresh schema on system tool calls * Refactor relations store to setup * Add item refresh to all layouts * Add item refresh on detail view * Refresh fields on collection changes * AI → Re-enable notifications (#26250) * Render notifications outside of sidebar * Use absolute in split container * Fix animation * Render link to activity in notifications drawer * Add AI Chat sidebar ✨ (#26261) * Initial plan * Refactor test to use typed mockNext instead of inline vi.fn() for RequestHandler calls Co-authored-by: rijkvanzanten <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> * Happy now? * Resolve test issue * Make sure left/right panel close icons RTL * Resolve test issues * AI → Add soft-default for system prompt (#26268) * Add soft-default for system prompt * Update test to account for default value * update system prompt --------- Co-authored-by: bryantgillespie <[email protected]> Co-authored-by: Bryant Gillespie <[email protected]> * AI -> Tool Approval Functionality (#26265) * Refactor to tool card for approvals and web search tool (later) * update to ai sdk beta for tool approvals * add settings menu * adust padding for settings menu * update store * add approvals to chat request * stronger types * update controller * update send automatically when * run formatter * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * Update app/src/ai/stores/use-ai.ts Co-authored-by: Copilot <[email protected]> * remove assets from translations for now * refactor approval options * tool card disabled * add icons to map as well * remove casting * fix double scroll bar * Apply suggestion from @Copilot Co-authored-by: Copilot <[email protected]> * Fix typing of stream call * Add enter key for translate shortcut * Translate keyboard shortcuts * Remove keyboard shortcuts * Use css vars * Use translated tool names --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Rijk van Zanten <[email protected]> * AI -> Hide when No Providers / Not Configured (#26269) * add beta * move header * add no provider empty states * translations --------- Co-authored-by: Rijk van Zanten <[email protected]> * Nudge nudge * I'm sorry. * Update .changeset/small-doodles-join.md Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/settings/routes/flows/components/logs-sidebar-detail.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-resize-handle.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/components/layout-sidebar-detail.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/components/sidebar-detail.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/settings/routes/marketplace/routes/registry/registry.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/settings/routes/system-logs/logs.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/settings/routes/system-logs/logs.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/interfaces/_system/system-owner/system-owner.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/components/skip-menu.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/components/v-form/composables/use-input-schema.ts Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/components/v-form/composables/use-input-schema.ts Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/ai/components/parts/ai-message-text.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/visual/components/editing-layer.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/visual/components/editing-layer.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/components/v-drawer-header.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/components/v-drawer-header.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-header-bar.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/components/notifications-drawer.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * search input: match header button height and refine styles with CSS variables (#26308) * add BREAKPOINTS constant and update private-view-root.vue to demonstrate example usage (#26310) * AI → Resolve review comments (#26290) * Add a smidge of padding * Add a pinch of flex * Stir in the drawing spacing * Re-add missing drawer close on mobile * Fix z-index of header bar * Tweak stacking order of search input * Resolve shadow showing up on nav on mobile * Only show tooltip when sidebar is closed * Drop shortcut * Nudge cancel button size and positioning * Make drawer buttons smaller * Fix input height in sidebar * Drop unused dependency * Change translation key * Add in type label tweaks * Tweak drawer title styling * Stick header bar at 0 * Tweak skeleton loader * Allow inline size to shrink * Fix missing import * Don't inherit attrs on private view * Collapse right sidebar when making window small * fix appearance * Tweak sizing of right rail * Don't deactivate on unmount * Fix right sidebar alignment * sidebar is closed and you try to open it by resizing while the preview split-panel is open * Re-add non-editable * Tweak revision styling * 💅 f l o r i a n * Refactor v-form ai usage to composable * Tweak spacing * Update import * Rename description to llmDescription * Use prop shorthands * Don't use flow sidebar detail in translations * Don't use unused prop * Move vars to top * Add comment * Remove unused ref * Drop navbar/sidebar from app store * Revert version menu * button type * Remove fullscreen * Use private view header bar actions * Fix custom icons not scaling * Remove unused css * Use class instead of id Don't you forget about the ˚₊‧꒰ა best practices ໒꒱ ‧₊˚ * Update input-hash component to conditionally set input type and autocomplete attributes based on masked state * revert fields user change * remove todos * Update app/src/components/v-drawer-header.vue Co-authored-by: Copilot <[email protected]> * Pass direction to split panel * Update split panel * Revert "Rename description to llmDescription" This reverts commit 162a6d5. * Solve name confusion with just comments * Update app/src/components/v-form/composables/use-ai-tools.ts Co-authored-by: Copilot <[email protected]> * Update app/src/components/v-drawer-header.vue Co-authored-by: Copilot <[email protected]> * Run formatter/linter --------- Co-authored-by: bryantgillespie <[email protected]> Co-authored-by: Copilot <[email protected]> * AI ← Spacing & responsive refinements (#26309) * introduce --form-column-min-width var * move container-type: inline-size to the form-grid mixin * set inline-size container query to 556px * adjust sidebar content padding to match sidebar toggle buttons * refine the project name padding so it optically matches the contents of the navigation bar * set --content-padding and --content-padding-bottom vars globally * refine spacing of item form * add top padding to content components * remove top margin in favor of added top padding * Tweak spacing a bit more --------- Co-authored-by: Rijk van Zanten <[email protected]> * Prettier doesn't agree sadly * Add changeset for stores package * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/ai/components/ai-sidebar-detail.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Remove unused file * Icon sizes * Align drawer header with other header * Fix descender overflow * Re-add tooltip * AI ← Drawer & Header (#26317) * add Esc hint to cancel tooltip for consistency with the cancel button outside the drawer * adjust alignment of drawer cancel button to match header bar icons * prevent extra padding-right of forms in the drawer * ensure that title styles are applied to the drawer header * prevent the title text from being cut off in the header bar and the drawer header * Update app/src/views/private/private-view/components/private-view-header-bar.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/views/private/private-view/components/private-view-main.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * fix private view main * update docs link and system prompt help text * formatter * fix stylelint comments * AI -> Add Back Scroll Shadows but Better (#26313) * add scroll shadows to scroll container in private view * Update app/src/styles/themes/_dark.scss Co-authored-by: Copilot <[email protected]> * Update app/src/views/private/private-view/components/private-view.vue Co-authored-by: Copilot <[email protected]> * set to false instead of undefined --------- Co-authored-by: Copilot <[email protected]> * Update app/src/modules/content/routes/item.vue Co-authored-by: Florian C. Wachmann <[email protected]> * render only split panel * Fix calendar/map view * fix header border mismatch for color match theme * Fix button size in field detail * Fix more drawer button sizes * borders are back * Fix map / calendar not resizing on sidebar size change * Run formatter * fix layout bottom * fix calendar * fizx tests * update test snapshot * use internal BREAKPOINTS const and remove redundant use of useBreakpoints (#26329) * fix form type imports * Update app/src/views/private/private-view/components/private-view-header-bar.vue Co-authored-by: Florian C. Wachmann <[email protected]> * Update app/src/components/v-drawer-header.vue Co-authored-by: Florian C. Wachmann <[email protected]> * enforce map view shadows and fix initialization issue * remove unused line * fix border for color match themne * Tweak default * Revert input-hash changes, use new autocomplete prop * oops missed the import * AI ← Live Preview (#26330) * prevent iframe from loading when live preview is not active * add default live preview size as snap point so that we can easily resize to the default size * ensure that the live preview panel border only appears when not displayed at full width (mobile) * Run formatter * Add changeset * fix search input for mobile (#26331) * prevent submissions when pending tool call * AI ← Improve input focusing (#26334) * Focus on textarea when clicking within ai-input * Use text cursor * Fix cursor when disabled * fix max-width issue of search input on mobile (#26339) * AI ← A11y adjustments for Skip Menu and headline elements (#26337) * refactor SkipMenu usage so it appears next to its section * refactor SkipMenu keys to match section ID naming * ensure that sections accessed via the skip menu expand properly if they are collapsed * adjust the SkipMenu min-width to match the sidebar min-width * update tests * fix focus styles for headline elements * adjust positioning for mobile skip menu inside module navigation * add dynamic id binding to module navigation content for improved accessibility * Update app/src/views/private/components/skip-menu.vue Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]> * fix line-height in type-title mixin (#26341) * AI <- Hot Last Minute Quick Fixes (#26332) * close inline nav on route change * fix activator warnings * Update app/src/views/private/private-view/stores/nav-bar.ts Co-authored-by: Florian C. Wachmann <[email protected]> * pull in sidebar store --------- Co-authored-by: Florian C. Wachmann <[email protected]> * AI Chat <- Clears Messages and Settings on Sign Out (#26342) * clear messages and settings on signout * Add test coverage for AI store dehydrate function (#26343) * Initial plan * Add test coverage for dehydrate function in AI store Co-authored-by: rijkvanzanten <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> * Update .changeset/short-lamps-hunt.md Co-authored-by: Florian C. Wachmann <[email protected]> * Add AI Telemetry (#26347) * Add AI-related fields to telemetry * Include AI-related fields in tests * Use AI suggestion --------- Co-authored-by: Bryant Gillespie <[email protected]> Co-authored-by: daedalus <[email protected]> Co-authored-by: Nitwel <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: rijkvanzanten <[email protected]> Co-authored-by: Alex Gaillard <[email protected]> Co-authored-by: ian <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gerard Lamusse <[email protected]> Co-authored-by: bryantgillespie <[email protected]> Co-authored-by: Florian C. Wachmann <[email protected]> Co-authored-by: Connor Winston <[email protected]>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Scope
What's changed:
Shrink all the butons