Commit graph

33 commits

Author SHA1 Message Date
Alessandro
d1827e6c66 Refactor: use user locale for time displays
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Add user-configurable timezone and 12/24-hour preferences, then wire them through settings, runtime snapshots, scheduler payloads, wait handling, notifications, backups, memory, plugin metadata, and frontend formatters.

Keep UTC as the boundary for absolute instants while serializing user-facing dates in the configured or browser-resolved timezone. Preserve scheduler wall-clock inputs in the selected timezone, propagate TZ into desktop/runtime process environments, and restart active desktop sessions when the runtime timezone changes.

Cover the risky paths with timezone regression tests for settings normalization, auto and fixed timezone resolution, scheduler round-trips, memory timestamp conversion, and desktop timezone sync.
2026-05-21 15:26:00 +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
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
frdel
0bbc657dd3 fix: apply btn-field class to disabled update buttons in self-update modal
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
2026-03-31 15:29:51 +02:00
frdel
b94d4b79ae refactor: comprehensive UI server restructuring and self-update enhancements
- Extract UI server setup into UiServerRuntime class with modular initialization
- Move environment configuration, route registration, and transport handlers to helpers/ui_server.py
- Add released_at timestamp tracking for git tags and branch heads across update system
- Implement get_current_major_main_latest_info to find latest same-major version on main branch
- Add major_upgrade_versions and main_branch_latest fields to update info payload
- Remove
2026-03-31 15:20:57 +02:00
frdel
0bca80a49f Extract installed_target_matches_request helper for update skip check and use describe field for exact version matching
Add installed_target_matches_request helper to check if requested update target matches current installation. Replace short_tag comparison with describe field to ensure exact commit match - prevents skipping updates when current version is ahead of requested tag (e.g. v1.11-12-ge9d9c93d vs v1.11). Return false for "latest" selector tags to force update check. Add test coverage
2026-03-26 13:16:02 +01:00
frdel
e9d9c93d13 Add restart state management and error handling to self-update overlay
Add resetRestartState helper to clear restart status/detail text. Set initial "Preparing update" state in scheduleUpdate before API call. Make restart warning toast non-blocking (catch errors without await). Distinguish restart request errors from connection errors in restartAndReload - only clear overlay for actual HTTP failures, not expected connection drops. Reset restart state and remove overlay on restart request failure or
2026-03-26 13:10:25 +01:00
frdel
8078693e41 Use peeled commit refs (^{commit}) for tag resolution in self-update manager
Replace direct tag refs with peeled commit refs (refs/tags/{tag}^{commit}) in git rev-parse and merge-base operations to ensure resolution to commit objects rather than annotated tag objects. Extract get_tag_commit_ref helper for consistent ref formatting. Update fetch_release_refs to check peeled ref in ancestry validation. Add test coverage for peeled commit resolution in explicit tag selection and fetch operations. Update
2026-03-26 12:54:54 +01:00
frdel
2a47410e17 Add display_version field to repo version info for non-release commits
Add display_version to get_repo_version_info output that shows tag+commits (e.g. "v1.11+9") for development builds. Update self-update UI to prefer display_version over short_tag for current version display. Add describe field to modal when it differs from short_tag. Add test coverage for display_version generation on non-main branches.
2026-03-26 12:47:07 +01:00
frdel
ffa6ac5433 Replace hardcoded SUPPORTED_BRANCHES with dynamic branch discovery from remote repository
- Add _get_remote_branch_names helper to fetch available branches via git ls-remote with caching
- Add _get_local_origin_branch_names fallback for offline scenarios
- Add get_available_branch_values and get_available_branches to expose filtered branch list
- Add _is_excluded_self_update_branch helper to filter out HEAD, PR branches
- Add _sort_branch_names to deduplicate and sort branches with main first
- Add
2026-03-26 11:30:17 +01:00
frdel
c1d709726e Add current branch latest version display to self-update modal with collapsible last attempt section
- Add get_current_branch_latest_info helper to fetch and format latest version info for current branch
- Add _format_branch_head_version helper to format version display (tag only for main, tag+commits for other branches)
- Include current_branch_latest in get_update_info response
- Replace single current version card with two-column grid showing current and latest versions
- Move last attempt status
2026-03-26 11:09:22 +01:00
frdel
192d6e2cae Add latest selector option to self-update with branch head resolution for testing/development and newest tag resolution for main
- Add LATEST_SELECTOR_TAG constant and is_latest_selector_tag helper to identify "latest" selection
- Add split_describe_version helper to parse git describe output into tag and commit count
- Replace fetch_release_refs with resolve_requested_target that handles both specific tags and "latest" resolution
- For main branch, resolve "latest" to newest reachable release tag
- For testing/development branches
2026-03-26 10:44:12 +01:00
frdel
68ad5aca46 Remove return URL persistence from self-update flow
Replace sessionStorage-based return URL tracking with simple page reload after backend restart. Remove getSavedReturnUrl, saveReturnUrl helper methods and SELF_UPDATE_RETURN_URL_KEY constant. Update tests to verify removal of URL persistence code.
2026-03-26 09:35:42 +01:00
frdel
27829350ae Add ready branch to Docker workflow and refactor self-update to use preloaded version selector
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
- Add ready branch to Docker publish workflow alongside testing and main
- Replace tag search/autocomplete UI with standard select element preloaded with current major version tags
- Add get_selector_tag_options helper that filters tags to current major line and returns list of higher major versions available
- Show attention banner with Docker update guide link when newer major versions exist on selected
2026-03-26 08:45:23 +01:00
Alessandro
a2567b4af3 update API examples for projects usage 2026-03-25 21:39:27 +01:00
frdel
c4e2d9c5d5 Update API endpoint URL and refactor self-update modal handling with extension hooks
- Change update check API endpoint from api.agent-zero.ai to tapi.agent-zero.ai
- Move self-update modal opening logic from inline handler to store method
- Add openModal method to self-update store for centralized modal management
- Import self-update store in backup settings component
- Replace closeModal window method call with imported closeModal function
- Add SELF_UPDATE_MODAL_PATH constant for consistent
2026-03-25 18:39:30 +01:00
frdel
f7d68d3410 Add backend disconnect detection and button type attributes to self-update modal
- Add observedBackendUnavailable flag to track backend state transitions
- Update restart flow to wait for backend disconnect before reload
- Add intermediate restart states: "Restarting backend" and "Update in progress"
- Change health check logic to require backend unavailability before reload
- Handle restart request errors with proper HTTP status validation
- Add type="button" to all modal footer buttons to prevent form submission
2026-03-24 21:15:28 +01:00
frdel
78ea2040a9 Add tag existence validation to self-update system
- Add tag verification in schedule_update before accepting update requests
- Check if selected tag exists on target branch via get_available_tags
- Add tagExistenceWarning computed property to display branch-specific errors
- Add tagExistenceChecked state flag to track validation status
- Implement onTagBlur handler to validate tag on input blur
- Add frontend validation in scheduleUpdate before API submission
- Change tag dropdown clicks from @
2026-03-24 21:09:38 +01:00
frdel
ded0f480c8 Simplify version tag format from vX.Y.Z to vX.Y, enforce v1.0 minimum
- Change version tag format from `v{epoch}.{major}.{minor}.{rest}` to `v{major}.{minor}`
- Raise minimum selector version from v0.9.9 to v1.0
- Update tag parsing to require exactly two version segments
- Add numeric sorting for version tags (e.g., v1.10 > v1.9)
- Update major version compatibility check to compare first number only
- Improve validation messages: "vX.Y.Z" → "vX.Y", add "v1.0 or newer" requirement
- Clear default
2026-03-24 20:59:20 +01:00
frdel
75b8085b65 Add unzip to Docker base packages, refactor API key handling, improve self-update system
- Add unzip package to Docker base installation
- Remove deprecated missing API key banner extension
- Refactor API key management: clear drafts on init, track dirty state, allow empty string saves
- Add version filtering to self-update: enforce minimum v0.9.9, validate tag format
- Improve self-update UI: convert howto to Bootstrap collapse, fix branch selector reactivity, group tag suggestions
- Fix settings
2026-03-24 17:17:19 +01:00
frdel
e680256b29 Refactor API key handling and update system improvements
- Refactor API key management: move from global env-only to per-model config with dotenv fallback
- Add API key placeholder masking and reveal functionality in WebUI
- Consolidate API key validation logic into `has_provider_api_key()` helper
- Improve update system: add branch filtering for tags, simplify backup naming
- Add branch detection to version info and default to current branch for updates
- Extract configure model settings link to constant
2026-03-24 14:41:46 +01:00
frdel
94edfeaf8d Update system prototype 2026-03-24 13:49:12 +01:00
frdel
3918133cbf plugins - frontend PoC 2026-02-16 20:01:25 +01:00
frdel
181135f58a Settings polishing, logout button 2026-02-05 22:02:49 +01:00
frdel
8318b6c718 Merge branch 'pr/842' into development 2026-01-30 16:31:20 +01:00
3clyp50
78e6f74a21 refactor settings frontend for new data structure
Updated the settings UI to work with the new backend format that separates settings values from additional metadata.

- Settings components now read from the new structure (settings + additional)
- Removed legacy field-based rendering in favor of direct value binding
- Root passwd masking
- Added knowledge subdirectory selector support
- Enhanced backend `convert_out()`: now ensures current values are always present in dropdown options, preventing UI glitches
- Cleaned up old conversion functions marked for removal
2025-12-26 04:59:10 +01:00
Alessandro
b823fcfb5d refactor settings and scheduler
- Simplified task detail opening logic by integrating it into the `settingsModalStore`
- Updated the visibility condition for the task detail view in `scheduler-task-detail.html` to rely solely on the selected task state

rm attributes from components

simplify task display logic

settings components init

scheduler componentize

- Removed the inline scheduler settings script from `index.html` and replaced it with a new component structure in `scheduler-settings.html`, `scheduler-task-editor.html`, `scheduler-task-list.html`, and `scheduler-task-detail.html`.
- Introduced a dedicated `scheduler-store.js` to manage state and logic for the scheduler, enhancing maintainability and separation of concerns.
- Updated the `index.js` to remove the now obsolete `openTaskDetail` function, integrating task detail handling within the new store.
- Removed the deprecated `scheduler.js` file, consolidating functionality into the new component architecture.

settings modal store rename

- Replaced all instances of `$store.settingsModalStore` with `$store.settingsStore` across various settings components.

scheduler tab content x-if
2025-12-22 05:05:36 +01:00
linuztx
10bc874f05 refactor: migrate user data to usr/ + update frontend paths 2025-12-12 10:11:12 +08:00
deci
d1be7f2531 #84 - Projects support in MCP, A2A, API 2025-12-10 16:05:53 -06:00
frdel
04a50df6fc 0.9.4 polishing 2025-08-07 22:41:55 +02:00
frdel
b11e5d746f API endpoints merge + Ace editor 2025-08-07 15:04:21 +02:00
Rafael Uzarowski
d84d24b3be
feat: A2A Client/Server Implementation 2025-07-31 17:06:09 +02:00
Rafael Uzarowski
e74dabb40a
feat: External API Endpoints 2025-07-27 14:40:36 +02:00