Commit graph

115 commits

Author SHA1 Message Date
Alessandro
55474443c9 Stabilize document artifact affordances
Make file creation opt-in through document_artifact, move document file cards to final responses, and keep the tool payload as a quiet execution record.

Deduplicate response cards by file identity, refresh open Desktop canvas sessions after saved edits, and harden document_artifact edit input normalization for common append/update shapes.

Update prompts, skills, styles, and regression coverage for response-only file actions and explicit-only canvas opening.
2026-05-12 06:59:22 +02:00
Alessandro
36c2e3d6b8 Refine settings accordion and API examples modal
- Replace the two-step settings nav with a sticky accordion that tracks active sections
- Restyle the settings rail with opacity-based active state and hash-aware opening
- Reinitialize and clean up API example Ace editors across modal reopen cycles
- Preserve modal html classes and center settings loading/error states across the full modal body
2026-05-07 19:41:23 +02:00
Alessandro
022b6f031f Split live surfaces out of modals
Introduce the shared surfaces frontend service and stylesheet so Browser and Desktop can register docked or floating live UI without special cases in modals.js. Update Browser and right-canvas integration to preserve active viewers across canvas/modal switches and avoid creating blank tabs unless explicitly requested.
2026-05-07 00:14:31 +02:00
Alessandro
f9175ed00b Stabilize Browser modal switching
Keep Browser modal activation passive when switching from Desktop by reusing existing Browser sessions instead of creating a blank tab on viewer subscribe.

Add a Focus mode control to the Browser modal header matching Desktop's fullscreen/restore behavior.

Cover the passive subscribe path and Browser modal focus button in regression tests.
2026-05-05 14:34:42 +02:00
Alessandro
3e07099d56 Improve canvas and modal surface controls
Remove the fixed right-canvas width limits so the panel can shrink to zero and grow across the available workspace.

Add Browser/Desktop surface-switch buttons to modal headers using the same registered surface metadata as the canvas controls, while preserving modal-mode preference and dock-to-canvas behavior.

Add regression coverage for the unlimited canvas sizing and modal surface switcher controls.
2026-05-05 11:39:46 +02:00
Alessandro
677a0c1e64 Bridge desktop URLs into Browser
Register the Agent Zero Browser as the Desktop URL handler, queue URL intents from the Xfce environment, and route them into Browser on the opposite canvas/modal surface. Also make floating Browser and Desktop modals pass outside clicks through while preserving interaction inside the modal window.
2026-05-03 00:57:56 +02:00
Alessandro
a1c12e9247 Refine settings and remote access UX
Restyle Settings and standard modals around a streamlined left-rail layout, clearer section hierarchy, advanced settings disclosures, and stronger update states.

Add persistent update visibility with quieter once-daily update notifications, plus Remote Link and Space Agent actions in the canvas rail. Refresh the tunnel experience as a normal Remote Link modal with clearer copy, QR/mobile affordances, and safer state handling.
2026-04-27 02:48:23 +02:00
Alessandro
10e8f5d01a canvas + browser CSS polish 2026-04-27 00:16:58 +02:00
Alessandro
c9f1bd21ca Add universal right canvas shell 2026-04-26 12:56:51 +02:00
Alessandro
2000ba74a3 ui: redesign email, Telegram, and WhatsApp settings
Redesign the three messaging integration panels with a clearer, more guided
setup flow and polished user experience.

- simplify the email panel by surfacing the essentials first, moving
  advanced scheduling behind Advanced, and making connection checks more
  visible
- redesign Telegram and WhatsApp as step-based setup flows with clearer
  status states, safer access warnings, richer test feedback, and more
  responsive layouts
- add shared plugin-settings wizard footer support, extract WhatsApp state
  into its own store, and align test-connection messages with the new UX

ux: ease Email connector setup and refresh copy

- Redesign the Email connector settings around a guided first-run flow with a clearer empty state, provider presets, and much friendlier copy
- Move server, routing, and scheduling power-user controls into an `Advanced` section while keeping the existing config model compatible
- Improve connection-test messaging, add Exchange inbound validation, and refresh the dashboard Email card copy while keeping the card visible
- Verify the updated setup flow in the browser on desktop and mobile

update and simplify x-data based on established frontend patterns

Update 10_discovery_cards.py

further polishing and first-draft no-click model for email and telegram

update whatsapp

Update telegram-config-store.js
2026-04-11 01:40:24 +02:00
Alessandro
0061b3a511 feat: add built-in plugin discovery cards to the welcome screen
Add the always-enabled `_discovery` plugin to turn the welcome screen into a discovery surface for the Plugin Hub and A0 integrations.

Includes a hero card plus Telegram, Email, and WhatsApp feature cards, with persistent dismiss/restore state, CTA routing to plugin config screens, and self-contained placeholder artwork. Implemented entirely through the existing WebUI extension mechanism with no core welcome-screen changes.

stores cleanup

layout polish and onboarding integration

Move feature card titles beside thumbnails for better space efficiency
and visibility. Restructure card markup and styles to support a fluid
grid layout and horizontal alignment.

Integrate discovery cards into the final onboarding step via a new
'onboarding-success-end' extension point, ensuring new users see
extension opportunities immediately after setup.

Hide discovery cards on the dashboard while the missing API key
onboarding banner is visible to reduce UI noise and user confusion during initial config.

update discovery card initialization and loading logic

Enhance the discovery store to fetch cards from the API, improving the dynamic loading of discovery cards based on user context. This change optimizes the user experience by ensuring relevant cards are displayed immediately after onboarding and when modals are closed.

And on top of that, there's a proper backend for these new cards.
2026-03-31 19:59:16 +02:00
Alessandro
39dfcbcb27 expand agent responses in ALL mode
When detail mode is ALL (expanded), set data-detail-mode on #chat-history in applyModeSteps, so long messages are not collapsed with "Show more / Show less" buttons.
2026-03-25 14:28:23 +01:00
Alessandro
6b8a6d959a improve Plugin Hub cards and plugin info
Surface repository metadata for installed custom plugins and add quick actions from the plugin info modal to open plugin files or jump back into the Plugin Hub. Refresh Plugin Hub card/status styling and modal spacing.
2026-03-21 13:01:44 +01:00
Alessandro
661ec6b548 update plugin_scan message and styling 2026-03-18 17:08:38 +01:00
frdel
1b89a0d359 Add tool request validation and plugin change notifications
Introduce validate_tool_request() extensible method in agent.py to validate tool request structure (dict with tool_name string and tool_args dict fields) before processing. Add after_plugin_change() helper in helpers/plugins.py that clears cache and sends a frontend reload notification (throttled to display_time interval) with a reload button. Update plugin installer install/delete flows to call after_plugin_change(). Extend notification
2026-03-10 13:08:48 +01:00
Alessandro
ae62cfc1ca marketplace polish; add confirm-dialog extension hook and plugin_scan marketplace note
Add a generic JS extension point for the shared confirm dialog so plugins can
augment the warning body and footer without hardcoding scanner logic in the
installer.

- webui/js/confirmDialog.js: call callJsExtensions('confirm_dialog_after_render')
  with dialog/body/footer nodes and optional extensionContext; defer show until
  extensions run; add isClosed guard and Enter key handling for extension buttons.
- plugins/plugin_installer: pass extensionContext only from installFromIndex()
  (kind: marketplace_plugin_install_warning, gitUrl, etc.); ZIP/Git install
  flows unchanged.
- plugins/plugin_scan: new extension confirm_dialog_after_render that, for
  marketplace install warnings, appends recommendation text and a "Scan with A0"
  button that closes the dialog and opens the scanner modal with the repo URL.
- webui/css/modals.css: margin for .confirm-dialog-extension-note.
- docs: document confirm_dialog_after_render and when to use JS hooks vs HTML
  breakpoints (AGENTS.plugins.md, developer/plugins.md).
2026-03-09 11:41:10 +01:00
Alessandro
870351280a fix padding in basic modals style
- Updated margin in memory-dashboard.html for better layout consistency.
- Modified padding in scheduler-modal.html to enhance visual spacing.
- Simplified padding in modals.css for a cleaner modal appearance.
- Removed unnecessary margin-top in settings.css to streamline styling.
2026-03-08 16:27:10 +01:00
Jan Tomášek
5950320e54
Merge pull request #1134 from 3clyp50/plugin4 2026-02-26 13:38:22 +01:00
Alessandro
3b4f4cea9b polish full-screen-input toolbar css 2026-02-26 12:09:18 +01:00
Alessandro
92168a1b04 css polish and modal close fix
When you close a modal, the DOM element is physically removed from the document tree, which is what triggers x-destroy. Using Alpine's $dispatch('event'), the event fires from the detached element and cannot bubble up to the window where our x-on:plugin-modal-closed.window listener is waiting to refresh the list of plugins.

To fix this so it works 100% of the time, I've bypassed the bubbling entirely by explicitly dispatching the event directly on the window object using native JS inside the x-destroy directive.

Now, the moment the modal closes the listener catches it, and the list refreshes automatically, showing the "Advanced" button right away, so you can go back to the Advanced toggling modal to do edits without having to refresh.
2026-02-26 10:54:09 +01:00
frdel
52e1cce003 fix subordinate grouping, layout alignments 2026-02-08 11:31:13 +01:00
frdel
fd06f51ee0 polish skills import, bugfixes 2026-02-06 13:41:56 +01:00
frdel
fe46f045fe message rendering polishing 2026-02-04 08:47:06 +01:00
keyboardstaff
360379f603 git projects - basic implementation 2026-02-02 23:23:19 -08:00
3clyp50
817c580b36 no-scrollbar utility class
single scrollbar in modals
2026-02-01 20:28:23 +01:00
3clyp50
a01d3c75e5 file browser polishing 2026-01-31 16:51:58 +01:00
frdel
40c7c22156 ui: autoscroll polish, image preview sizes reduces 2026-01-31 13:41:06 +01:00
frdel
020822adfd ui: message queue polishing, scrollbars unified 2026-01-31 12:13:10 +01:00
frdel
84b867116b ui: process group metrics polishing, group completion bugfix 2026-01-31 11:22:37 +01:00
frdel
0094aff20f fixing scrolling, markdown, subordinates 2026-01-30 15:21:54 +01:00
frdel
06abffa012 GEN step info improved, smooth rendering disabled 2026-01-30 13:14:44 +01:00
frdel
22d914affe Merge branch 'pr/967' into development 2026-01-29 21:44:00 +01:00
3clyp50
4f2a8c25ef error msgs rework 2026-01-29 21:40:13 +01:00
frdel
25ed7714b0 smooth response rendering 2026-01-29 21:27:00 +01:00
3clyp50
3805cc4439 collapsible responses rework 2026-01-29 12:50:28 +01:00
3clyp50
d912caae61 collapsible responses rework 2026-01-29 09:35:21 +01:00
frdel
dd717dc8cc UI fixes, cleanups 2026-01-28 15:53:54 +01:00
frdel
5fdc0bdef4 thoughts alignment in kvps 2026-01-28 11:18:23 +01:00
3clyp50
700d0041cf collapsible standalone msgs 2026-01-27 14:39:32 +01:00
frdel
f63df9f4eb chat rendering refactor - work in progress 2026-01-25 19:12:34 +01:00
frdel
c4846e7e9d continued log+rendering refactor 2026-01-23 22:08:19 +01:00
frdel
fa12cd50e2 fix code break in tables, remove folder restriction in image_get 2026-01-22 10:02:16 +01:00
frdel
060f631f3e user message attachments progress 2026-01-21 16:47:57 +01:00
3clyp50
bcee4768c9 action buttons redesign (detail-copy-speak) 2026-01-21 14:56:03 +01:00
frdel
af99187053 fix user massage wrapping, attachments design 2026-01-21 14:34:21 +01:00
frdel
cc834d3b36 images, image viewer 2026-01-21 14:02:15 +01:00
frdel
e53db344b7 attachments, errors 2026-01-21 12:02:47 +01:00
3clyp50
f95db44a51 error redesign
error css fixes

css cleanup

copy btn in errors
2026-01-20 16:28:09 +01:00
3clyp50
61f431ae3a flat style for msg attachments 2026-01-20 11:49:47 +01:00
3clyp50
8d01a9c58d chat-width settings in prefs 2026-01-19 06:01:33 +01:00