Commit Graph

26 Commits

Author SHA1 Message Date
UNITRONIX bc70224ce6 fix(updates): unblock install button when Go can be bootstrapped
Preflight no longer blocks panel updates when the console can install a vendored Go toolchain automatically. Add proactive preflight banners, i18n, and clearer install UX in Settings.

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-23 22:24:25 +02:00
UNITRONIX 52f2b9a61f feat(ui): use horizontal Settings tabs for full-width content
Replace the vertical Settings sub-nav with a sticky horizontal top tab bar so forms use the full content width. Refs #362

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-10 22:24:08 +02:00
UNITRONIX 8297eaf48f fix(ui): light theme Client Config contrast and mask public key (Fixes #319) 2026-07-29 19:33:59 +02:00
UNITRONIX 6b368c8330 Add update log features and enhance update wizard UI
- Introduced new localization strings for update logs across multiple languages.
- Redesigned the update progress modal to an update wizard format, improving layout and user interaction.
- Added functionality for log expansion, copying, and countdown display during updates.
- Enhanced CSS styles for better visual hierarchy and responsiveness in the update wizard.
2026-06-30 22:23:18 +02:00
UNITRONIX cff7176ac1 feat(i18n): add UI and confirmation messages for multiple languages
Enhanced localization files for various languages (ar, cs, da, de, en, es, fi, hi, hu, id, it, ja, ko, nb, nl, pl, pt) by adding new UI elements and confirmation prompts. This update improves user experience by providing consistent messaging across different languages for settings search, connection strategies, and user authentication options.
2026-06-20 23:56:00 +02:00
UNITRONIX 7116c96c83 feat(branding): implement background image library and selection functionality
Added a new API endpoint to list uploaded background images, enhancing the branding settings page with a background image library. Implemented UI components for selecting and displaying background images, including improved handling of background size and position. Updated tests to validate the new functionality and ensure proper integration with existing branding features.
2026-06-20 20:11:39 +02:00
UNITRONIX 4d41b85fc0 feat(branding): enhance branding UI with new hero section and improved styles
Added a new branding hero section to the settings page, featuring a visually appealing layout with a kicker, title, and description. Updated styles for various branding components, including buttons and toolbars, to improve aesthetics and responsiveness. Enhanced background selectors and notifications for better user experience during branding updates.
2026-06-20 19:55:03 +02:00
UNITRONIX 6bcfd46fe7 feat(appearance): implement dynamic appearance loading and settings search functionality
Added functions to load and apply appearance settings dynamically based on user configuration. Introduced a search feature in the settings UI to filter through settings sections. Enhanced the branding readability alert to provide feedback on potential readability issues. Updated the backend to support a versioned appearance model and improved the branding API to include appearance data.
2026-06-20 19:42:17 +02:00
UNITRONIX ebb29492bd feat(upload): improve background upload interaction and status synchronization
Enhanced the background image upload functionality by adding click event listeners to labels for easier file selection. Introduced a new function to synchronize existing upload statuses, ensuring the UI reflects the current state of background uploads. Updated CSS for logo file input to improve accessibility and visibility during uploads.
2026-06-18 20:57:09 +02:00
UNITRONIX 5d69acba28 feat(upload): add upload status indicators for background images
Implemented a new upload status UI for background images, including progress indicators and error handling. Added CSS styles for upload status messages and integrated them into the settings view. Enhanced JavaScript functions to update the UI based on upload progress and completion, improving user feedback during the upload process.
2026-06-18 20:49:29 +02:00
UNITRONIX 44ed9feebd feat: add glass surface feature with customizable options
- Introduced a new glass surface effect for cards, modals, and forms, enhancing the UI with a frosted glass appearance.
- Added localization strings for the glass surface feature in multiple languages.
- Implemented settings for enabling/disabling the glass effect, adjusting color, blur, and opacity through the settings interface.
- Updated CSS variables to support the new glass surface styling.
2026-06-14 11:14:47 +02:00
UNITRONIX b9f60752b1 feat: enhance branding and appearance settings
- Added a modular studio layout with a live preview panel, autosave, server-side appearance profiles, and a built-in theme gallery.
- Expanded Google Fonts picker and enabled custom font uploads (woff2/ttf).
- Updated the appearance tab for real-time changes without full page reloads and introduced a read-only mode for users without edit permissions.
- Improved localization by updating language files with new strings for branding and appearance features.
2026-06-14 10:47:15 +02:00
UNITRONIX 72427da6af feat: enhance updates tab with Windows 11 design
- Redesigned the updates tab to adopt a Windows 11-inspired layout, improving user experience.
- Added a hero section for update status with dynamic messaging based on update state.
- Implemented new CSS styles for better visual consistency and responsiveness.
- Updated JavaScript functions to manage update status rendering and alerts effectively.
- Enhanced localization support by adding new language strings for the updates section.
2026-06-14 10:31:13 +02:00
UNITRONIX e067a5a865 fix(update): disable in-app updates for Docker GHCR deployments (#158)
The panel updater assumed a native install with Go source on disk. In
Compose/GHCR mode it now uses the embedded image commit, clears stale
binary markers, and directs operators to pull new container images instead.
2026-06-06 14:09:57 +02:00
UNITRONIX 5b361c7579 feat(settings): add Advanced tab for allowlisted config file editing
Let server.config admins edit .env, blocklist, and systemd units from the
panel with backups on save and service restart via the existing updater.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 02:55:38 +02:00
UNITRONIX 4c1a9d5e88 fix(security): patch vulnerable deps + add Go server rebuild flow
Bump golang.org/x/crypto to v0.52.0 and x/sys to v0.45.0 in betterdesk-server, x/sys to v0.45.0 in betterdesk-agent, and aiohttp to >=3.10.11 in the rest-webhook bridge. Validated clean via govulncheck.

Add an explicit Go server rebuild path to the in-app updater so security/library updates actually reach the running binary: updateService now marks the server binary stale when the source changed but a non-critical rebuild/deploy step failed, exposes getServerBinaryStatus() and rebuildServerBinary(), and surfaces a warning banner plus a Rebuild button in the settings update panel. New REST endpoints GET/POST /api/settings/updates/server-binary/{status,rebuild} guarded by server.config permission. i18n keys added across all locales.

This commit was made possible thanks to Insolve.
2026-05-31 06:37:02 +02:00
UNITRONIX bc7dc42f89 Fix browser update restart confirmation 2026-05-19 02:35:32 +02:00
UNITRONIX 323e2f1398 feat(updates): auto-install Go toolchain + modal-based update UX
- updateService: enhanced checkGoAvailable() to scan well-known paths
  (/usr/local/go, /snap, vendored data/go-toolchain, /usr/lib/go-1.x)
  and return absolute binary path so spawned exec works without PATH.
- New installGoToolchain(): dynamically fetches go.dev/dl/?mode=json,
  picks newest stable >= 1.23.0 for current OS/arch, downloads archive,
  verifies SHA-256 from manifest, extracts to data/go-toolchain/.
- buildGoServer() now uses absolute go path, 600s timeout.
- New 'install-go' update strategy + auto-fallback in 'auto' mode:
  when host has neither Go nor a prebuilt release, the toolchain is
  installed automatically and compilation proceeds.
- New POST /api/settings/updates/install-go endpoint for explicit
  install (audit-logged, server.config permission gated).
- Settings UI: third 'Auto-install Go and compile' radio. Update
  checkbox is no longer disabled when Go is missing — auto-install
  is always offered as a fallback.
- installUpdate() rewritten as Modal-based phased dialog:
  Confirmation -> Backup -> Console -> Server -> Restart -> Done.
  Live phase icons (pending/active/done/error/skipped), progress bar,
  log pane, completion modal with reload CTA, auto-reload after
  successful console restart.
- New i18n keys (EN+PL): strategy_install_go, auto_strategy,
  toolchain_*, modal_*, phase_*, confirm_*, etc.
- New CSS (.update-progress-modal, .update-phase, .update-progress-log).
2026-04-26 01:07:32 +02:00
UNITRONIX c7f03bbe6f settings: backup retention + delete + size display (#116)
- updateService: getDirectorySize, deleteBackup, pruneBackups; auto-prune
  in createPreUpdateBackup using DB setting backup_retention_count or env
  BACKUP_RETENTION_COUNT
- settings.routes: DELETE /api/settings/updates/backups/:name,
  POST /api/settings/updates/backups/prune,
  GET/PUT /api/settings/backup/retention
- settings.ejs: retention input + 'Apply now' button + total size summary
- settings.js: render size per backup, delete button, retention controls
- pages.css: backup-retention-row + update-backup-actions styles
- lang/en + pl: 11 new keys (delete, retention, prune, total_size)
2026-04-26 00:52:52 +02:00
UNITRONIX 86582d84cb Add font picker, text-logo and TLS fixes
Add typography support and a text-based logo option plus several TLS/connectivity improvements. Introduces a new font service (web-nodejs/services/fontService.js) to search, download and serve Google Fonts for self-hosting, new API routes for font management, and client-side font picker UI/logic (settings.js) with CSS (pages.css, main.css) and i18n entries (en/pl/zh). BrandingService now supports logo text/accent and font heading/body and includes generated font CSS. Views (login/sidebar) updated to render text logos and a new theme (themes/insolve.json) added. Server and TLS updates: API server now prefers TLS on the API port when valid certs exist, and dual-mode listener in tls.go adds a short peek timeout to avoid deadlocks with RustDesk clients.
2026-04-11 02:24:14 +02:00
UNITRONIX 611ae655b1 feat(update): rewrite self-update system — commit-SHA based detection
- Replace release-based check (always 404) with commit-SHA tracking
- Track deployed state via data/.update_sha file
- Detect changes across all components (console, server, agent, scripts)
- Show recent commits, component breakdown, and file counts
- Auto-update console + script files, manual badge for Go server
- Pre-update backup with SHA-tracked restore
- Support npm install when package.json changes
- Service restart for console (auto) and Go server (on demand)
- 15 new i18n keys in EN/PL/ZH for update UI
- CSS for commit list, component rows, rebuild warning
2026-04-07 00:37:03 +02:00
UNITRONIX dd0889e3d6 Add SessionManager; update docs, i18n & CI
Introduce a SessionManager for relay-based remote sessions in the Tauri MGMT client: new SessionCommand API, start/stop/session input routing, clipboard/recording/quality controls, and notification read/dismiss state. Wire AppState with new mutexes and show main window on startup. CI: add SBOM generation (anchore) and Trivy vulnerability scan steps. Misc: change console Docker DB path, large README/CHANGELOG updates (chat E2E, unattended access/WOL, i18n expansion, CDAP/SDK docs), and many web-nodejs assets/locales/routes/views/services and server-side changes.
2026-04-05 13:42:07 +02:00
UNITRONIX e855f5786d Add Go server and security audit; update web console
Add a new betterdesk-server Go codebase (server, api, auth, db, relay, signal, metrics, audit, ratelimit, proto, tools, tests) and related deployment/migration scripts. Add a comprehensive SECURITY_AUDIT_2026-03-01 report and .gitattributes; update copilot-instructions (ALL-IN-ONE v2.4.0), README, VERSION, Dockerfiles, scripts, docker-compose and entrypoint. Large updates to web-nodejs (translations, routes, services, frontend assets and middleware) and numerous new utilities; remove legacy Flask web files and archive hbbs-patch-v2 artifacts. Prepares repository for PostgreSQL support, DB migration tooling and the new Go server as the production backend.
2026-03-02 00:43:04 +01:00
UNITRONIX 6ccf7c6130 Add Docker migration and branding UI
Introduce an interactive Docker migration flow and branding/theme support. Adds automatic/manual RustDesk-to-BetterDesk migration logic and menu option (betterdesk-docker.sh), plus a full migration guide (docs/DOCKER_MIGRATION.md) and README updates. Switches project license references to AGPL-3.0 and updates LICENSE locations for hbbs patches. Web console enhancements: new branding service and default theme, i18n middleware now injects branding, extended translations (en/pl), settings UI/JS and CSS for branding/theming, and login JS updated to include CSRF token. Also includes various view/template updates to surface branding across the UI.
2026-02-22 15:22:44 +01:00
UNITRONIX 12d195ff78 Release v2.3.0: Node.js console & security
Bump to v2.3.0 and switch to Node.js web console as the primary console (Flask deprecated). Add comprehensive security and feature updates: CSRF protection, session-fixation prevention, timing-safe auth, WebSocket auth, TOTP 2FA, operator/admin roles, address-book sync, desktop connect (URI handler), and SSL certificate configuration in installers. Introduce a dedicated RustDesk Client API (WAN port 21121) and related web-nodejs middleware, routes, views, protos, and client JS (rdclient) plus vendor libs. Add developer tooling and scripts (dev_modules), update hbbs-patch-v2 Rust sources, README and changelog/docs, and ignore Node.js artifacts in .gitignore.
2026-02-22 03:44:00 +01:00
UNITRONIX 32e29723e4 Add Node.js web console and update to v2.2.0
Introduce a new Node.js-based web console (Express + EJS + better-sqlite3) under web-nodejs/ and add installer support to choose between Node.js and the legacy Flask console. Update interactive ALL-IN-ONE installers (betterdesk.sh, betterdesk.ps1) with flags/options for --nodejs/--flask, automatic Node.js installation, migration logic, enhanced service handling and diagnostics. Bump VERSION to 2.2.0 and update README and project docs (.github/copilot-instructions.md) to reflect the new console, usage examples, and Docker/docs changes. Many new web-nodejs files and supporting middleware/services/routes/views/static assets were added to support the new console.
2026-02-17 10:59:46 +01:00