ab9f49970d
feat(desktop): polish desktop shell and shared WebUI surfaces ( #4195 )
...
* feat(desktop): add native host scaffold
* feat(webui): track turns and usage in gateway
* feat(webui): polish desktop chat experience
* feat(apps): add ArcGIS and Joplin logos
* feat(desktop): polish shell and shared surfaces
* fix(webui): avoid preview chips for glob references
* test: align CI expectations for token fallback
* feat(webui): preview prompt rail entries
* feat(webui): add prompt navigator drawer
* style(webui): refine prompt navigator placement
* style(webui): align prompt navigator with header actions
* style(webui): simplify prompt navigator header
* refactor(webui): clean thread resource refresh
* feat(desktop): add native reply notifications
* fix(webui): preserve desktop restart and replay state
* fix(desktop): harden gateway proxy startup
* fix(web): fall back when readability is unavailable
* fix(desktop): hide window instead of closing on macos
* fix(webui): unify desktop header actions
* fix(webui): simplify prompt history rows
* fix(desktop): log notification delivery failures
* chore(desktop): clean source package artifacts
* fix(cron): support one-time relative reminders
* fix(webui): reveal scroll button in place
* Revert "fix(cron): support one-time relative reminders"
This reverts commit 4c4661da120a3c7283e0768412bae48604e7390b.
* refactor(webui): extract token usage heatmap
* docs(desktop): clarify contributor guides
---------
Co-authored-by: chengyongru <2755839590@qq.com >
2026-06-06 19:49:33 +08:00
chengyongru and Xubin Ren
c77ca16d91
fix: preserve uv pip update reinstall semantics
...
Maintainer edit: the uv fallback for CLI app updates now keeps the force-reinstall behavior from the python -m pip path by using uv pip install --reinstall, with unit coverage for the generated argv.
2026-06-04 19:41:51 +08:00
axelray-dev and Xubin Ren
c2e9064b35
fix: remove unsupported -y flag from uv pip uninstall fallback
...
uv pip uninstall does not support the -y (assume-yes) flag. Remove it
from the uv fallback argv while keeping it for the python -m pip
uninstall path.
Reported-by: chengyongru
2026-06-04 19:41:51 +08:00
axelray-dev and Xubin Ren
a37e58a29e
fix(cli): fall back to uv pip when pip is unavailable
...
When nanobot is installed via uv tool install, sys.executable points to
a Python that does not have pip available as a module. _pip_install_argv
and _pip_uninstall_argv always used [sys.executable, -m, pip, ...]
which fails in that environment.
Add _pip_available() helper that checks importlib.util.find_spec('pip').
When pip is not available and uv is on PATH, fall back to:
uv pip install --python <sys.executable> ...
uv pip uninstall --python <sys.executable> -y ...
If neither pip nor uv is available, raise CliAppError.
Fixes #4158
2026-06-04 19:41:51 +08:00
Xubin Ren
57563b671f
fix(apps): recover stale npm installs
2026-05-29 17:26:58 +08:00
Xubin Ren
d7bc1bcfb5
fix(apps): use registry logos
2026-05-29 17:26:58 +08:00
Xubin Ren
c1357e86de
feat(apps): add extension registry source
2026-05-29 17:26:58 +08:00
Xubin Ren and GitHub
3a420136bb
feat(webui): add project workspaces and access controls ( #4007 )
...
* feat(webui): add project workspaces and access controls
* feat(webui): add project workspaces and access controls
* refactor(tools): centralize workspace access resolution
* refactor(webui): remove unused workspace host state
* fix(webui): hide estimated file edit label
* fix(webui): clarify file edit deletion feedback
* fix(webui): label deleted file activity
* fix(webui): flatten file edit activity rows
* fix(core): remove path-only patch deletion
* fix(core): keep apply patch non-destructive
* refactor(webui): trim workspace host plumbing
* fix(tools): register exec with tools config
2026-05-29 03:42:53 +08:00
Xubin Ren and GitHub
418cb23da2
feat(apps): unify CLI apps and MCP ( #3991 )
...
* refactor(cli): load bundled apps from catalog
* feat(plugins): unify CLI and MCP settings
* feat(plugins): add settings category filter
* style(plugins): refine settings catalog
* refactor(cli): load nanobot apps from repo catalog
* feat(store): add capability store entry
* feat(apps): rename capability store
* fix(apps): verify clean app removal
* fix(apps): keep main sidebar on apps view
* feat(apps): add shared app manifest protocol
* fix(apps): dismiss app status message
* refactor(apps): move CLI adapter under apps
* refactor(apps): drop legacy cli apps package
2026-05-25 20:07:02 +08:00