dguiducci
e71990347d
inbox: improve pending items display and live updates
Nightly Build / build (push) Successful in 6m54s
2026-07-22 20:58:04 +01:00
dguiducci
c11702c3d3
tool card UI redesign: semantic icons, inline diff persistence, tool detail page, MCP-friendly titles
Nightly Build / build (push) Successful in 6m38s
2026-07-21 23:39:41 +01:00
dguiducci
79a62c0b93
Add update.sh, release-channel tagging, mobile settings page
...
Nightly Build / build (push) Successful in 6m28s
install.sh / install-nightly.sh:
- Write .release-channel file ('release' or 'nightly') for future updates
- install.sh also writes .release-version (for update --check)
update.sh (new):
- Reads .release-channel to determine which channel to pull from
- Release: checks releases/LATEST vs .release-version, skips if current
- Nightly: always downloads latest
- Stops service before extraction, restarts after
- Rebuilds Python venv on update
ci/package.sh:
- Include update.sh in distribution tarball
Web / mobile:
- Add settings-page component for mobile
- Wire settings page into mobile-app navigation
- Chat page: load current user (/api/auth/me) for sender identity
- Full mobile.css redesign
- i18n: add mobile settings strings (en/fr/it)
2026-07-20 22:31:41 +01:00
dguiducci
fb3eeeeec6
Refactor: remove desktop/Tauri bundle, add i18n, CI/CD pipeline
...
Nightly Build / build (push) Failing after 6s
- Remove desktop (Tauri) bundle: docs/desktop.md, icons/, tauri.conf.json,
src/desktop/mod.rs, gen/schemas/
- Remove build.rs (no longer needed)
- Add i18n system (crates/core-api, plugin-mobile-connector, web)
- Refactor config system (src/config.rs, boot_format.rs)
- Add mobile connector features (app, router, device pairing)
- Plugin system improvements (skald-core)
- Update dependencies (Cargo.lock, Cargo.toml)
- CI/CD: Gitea Actions workflows (nightly + release), package.sh,
verify-version.sh, builds.skaldagent.net config
2026-07-19 22:35:06 +01:00
dguiducci
ba911ae8cb
feat(plugins): plugin pages, per-user config, capabilities gate, mobile/telegram refactors
...
- Plugin HTTP routes + web pages (plugin-page-host, plugin-catalog, plugin-detail)
- Plugin access grants + per-user config (DB tables + API + frontend forms)
- Capabilities-based guard (caps.rs) replacing role-id checks
- Mobile connector: message routing, payload types, router refactor
- Telegram bot: auth flow, event handling improvements
- Honcho plugin: substantial rework
- Sidebar: plugin pages integration, role-driven visibility
- i18n: new strings for plugins, connectors, capabilities
- Remove unused mascot asset
2026-07-19 20:47:09 +01:00
dguiducci
126886e309
Major rebranding, i18n, dashboard, shared folders, role capabilities
...
- Rebrand: new app/agent icons, SKALD.md, warm "paper" CSS palette
(terracotta accent, --radius tokens, WCAG contrast, reduced-motion),
updated favicon, tray icon, skaldkonur asset
- i18n: backend crate (i18n.rs, locale column, ui_locale config),
frontend library (web/lib/i18n.js, I18nMixin, t(key)),
translation files (web/i18n/), every component wired
- Dashboard: <dashboard-page> replaces old home-page content;
<app-copilot> becomes the landing page (full/dock layout modes)
- Shared folders: API endpoints (shared_folders.rs), frontend page,
can_write membership, container mount topology, user_fs routing
- Role capabilities: new db table & authorization seam (data not enums),
roles.attrs JSON for ui_mode / interface select
- Setup: skald-setup prompts for language + password, sets ui_locale
- General: components migrated to CSS variables, Lit conventions cleanup,
connectors/catalog/marketplace/approval refactoring
2026-07-18 21:38:42 +01:00
dguiducci
e6c4e202a4
feat(mcp): OAuth per-user connectors (§15) — providers, PKCE copy-paste flow, env credential delivery
...
- oauth_providers registry table (per-provider client creds) + db/oauth_providers.rs
- mcp/oauth.rs: authorization-code + PKCE S256, RAM-only TTL'd flow store, copy-paste consent
- mcp/install.rs + verify.rs: connector file install + manifest verification
- activate persists a pending row (needs_oauth); /mcp/oauth/start + /complete exchange code for refresh token
- credential delivery via env var on docker exec (google_authorized_user JSON), never on disk
- mcp_catalog/mcp_user_servers: additive OAuth columns (ensure_column), catalog_name/oauth_provider/deliver_json bare TEXT snapshots
- frontend: connector-detail.js (OAuth login panel), shared/connector-common.js, connectors.js admin Sign-in providers modal
- API: /mcp/providers (admin OAuth creds), /mcp/oauth/start|complete
- .gitignore: add /homes/ (instance data), /connectors/, /reset.sh; drop stale /secrets/
2026-07-17 21:47:51 +01:00
dguiducci
38494a85a9
First Version
2026-07-10 15:02:09 +01:00