Aditya Tawade
8eeef84b8a
Enter Key for Quick Login ( #513 )
2026-01-15 02:03:04 -06:00
LukeGus
dc88ae5e8b
feat: added quick connection system (ad-hoc)
2026-01-15 02:02:48 -06:00
LukeGus
cb478477e9
feat: add copy password button and fixed new line carriage issues and backend crash for auth key
2026-01-15 01:40:02 -06:00
LukeGus
b7bd1e50b3
feat: fix sudo password dialog ui, add totp/pass reset limiting, and refreshed users screen when auth is outdated
2026-01-14 18:14:51 -06:00
ZacharyZcR
230ab2f737
fix: add sudo support for listFiles and improve permission error handling ( #512 )
...
* feat: add sudo support for file manager operations
* fix: add sudo support for listFiles and improve permission error handling
---------
Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com >
2026-01-14 17:54:27 -06:00
ZacharyZcR
042bf255ef
feat: add sudo support for file manager operations ( #509 )
2026-01-14 14:54:20 -06:00
ZacharyZcR
f7e99b5af5
feat: add toggle for password reset feature in admin settings ( #508 )
2026-01-14 14:49:38 -06:00
LukeGus
8fa093ae60
feat: re-added missing users.ts route from merge
2026-01-14 14:48:58 -06:00
LukeGus
dd62b77c79
feat: added sidebar management and improved some host manager UI/UX
2026-01-14 01:23:58 -06:00
LukeGus
264682c5ad
feat: added close button on tab dropdown
2026-01-14 00:26:55 -06:00
LukeGus
7210381f17
feat: added toggle for command pallete
2026-01-13 23:57:21 -06:00
LukeGus
c0f4f1d74b
feat: update credential editor to use submitting system and add health monitor
2026-01-13 23:48:58 -06:00
LukeGus
f957959a86
feat: update readme
2026-01-13 01:17:48 -06:00
LukeGus
a54dbe5b46
feat: update readme
2026-01-13 01:09:59 -06:00
Luke Gustafson
ac1cf82bba
New Crowdin updates ( #506 )
...
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Afrikaans)
* New translations en.json (Arabic)
* New translations en.json (Catalan)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Hungarian)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Korean)
* New translations en.json (Dutch)
* New translations en.json (Norwegian)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Russian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Swedish)
* New translations en.json (Turkish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (English)
* New translations en.json (Vietnamese)
* New translations en.json (German)
* New translations en.json (Norwegian)
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Arabic)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (Greek)
* New translations en.json (Finnish)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Dutch)
* New translations en.json (Norwegian)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Russian)
* New translations en.json (Swedish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Finnish)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Bulgarian)
* New translations en.json (Indonesian)
* New translations en.json (Hindi)
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Afrikaans)
* New translations en.json (Arabic)
* New translations en.json (Catalan)
* New translations en.json (Czech)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Hungarian)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Korean)
* New translations en.json (Dutch)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Russian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Turkish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Vietnamese)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Bulgarian)
* New translations en.json (Indonesian)
* New translations en.json (Hindi)
* New translations en.json (Bengali)
* New translations en.json (Thai)
2026-01-13 00:55:19 -06:00
LukeGus
de556e3911
feat: remove locales
2026-01-13 00:55:10 -06:00
LukeGus
9be6b945c8
feat: add crowdin i18n
2026-01-13 00:39:35 -06:00
Luke Gustafson
1aebbee21e
New Crowdin updates ( #505 )
...
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Afrikaans)
* New translations en.json (Arabic)
* New translations en.json (Catalan)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Hungarian)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Korean)
* New translations en.json (Dutch)
* New translations en.json (Norwegian)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Russian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Swedish)
* New translations en.json (Turkish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (English)
* New translations en.json (Vietnamese)
* New translations en.json (German)
* New translations en.json (Norwegian)
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Arabic)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (Greek)
* New translations en.json (Finnish)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Dutch)
* New translations en.json (Norwegian)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Russian)
* New translations en.json (Swedish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Finnish)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Bulgarian)
* New translations en.json (Indonesian)
* New translations en.json (Hindi)
2026-01-13 00:09:26 -06:00
ZacharyZcR
80c09aef7d
feat: add option to disable update checker ( #502 )
...
* feat: add option to disable update checker
Add a new setting in User Profile > Settings to disable automatic
update checking on startup and dashboard.
- Adds 'Disable Update Check' toggle in profile settings
- Skips GitHub API calls when disabled (reduces network requests)
- Works for both web app and Electron client
Fixes Termix-SSH/Support#410
* feat: remove locales
---------
Co-authored-by: LukeGus <bugattiguy527@gmail.com >
2026-01-13 00:02:23 -06:00
Luke Gustafson
115a1fd7f0
New Crowdin updates ( #504 )
...
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Afrikaans)
* New translations en.json (Arabic)
* New translations en.json (Catalan)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Hungarian)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Korean)
* New translations en.json (Dutch)
* New translations en.json (Norwegian)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Russian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Swedish)
* New translations en.json (Turkish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (English)
* New translations en.json (Vietnamese)
* New translations en.json (German)
* New translations en.json (Norwegian)
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Arabic)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (Greek)
* New translations en.json (Finnish)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Dutch)
* New translations en.json (Norwegian)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Russian)
* New translations en.json (Swedish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Finnish)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
2026-01-12 23:59:17 -06:00
LukeGus
a1c260ad22
Merge remote-tracking branch 'origin/dev-1.10.1' into dev-1.10.1
2026-01-12 23:58:52 -06:00
LukeGus
18aa4f4877
feat: remove locales
2026-01-12 23:58:45 -06:00
ZacharyZcR
8fc038e59b
feat: add Ctrl+Alt key remapping for browser-blocked shortcuts ( #501 )
...
Browsers intercept Ctrl+W/T/N/Q, making them unusable in terminal.
This adds Ctrl+Alt+<key> as an alternative that sends Ctrl+<key>.
- Ctrl+Alt+W → Ctrl+W (nano search, delete word)
- Ctrl+Alt+T → Ctrl+T (transpose chars)
- Ctrl+Alt+N → Ctrl+N (next line)
- Ctrl+Alt+Q → Ctrl+Q (XON flow control)
Fixes Termix-SSH/Support#407
2026-01-12 23:58:13 -06:00
ZacharyZcR
aea87be4d3
feat: support URL routes to open terminal directly ( #156 ) ( #503 )
...
* fix: resolve merge conflict artifacts in dev-1.10.1
- Fix missing closing tags in AppView.tsx NetworkGraphView
- Fix incomplete catch blocks in server-stats.ts and db/index.ts
- Fix missing closing brace in en.json ports section
- Fix HostManagerApp.tsx import path
- Fix stats-widgets.ts type definition
- Fix schema.ts networkTopology table definition
- Add type annotations in user-data-import.ts
* feat: support URL routes to open terminal directly (#156 )
- Add /terminal/{hostNameOrId} route for new format
- Keep /hosts/{id}/terminal for backward compatibility
- Smart detection: numeric IDs for ID lookup, otherwise name lookup
- Clean URL after opening to prevent duplicate on refresh
- Show toast error when host not found
---------
Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com >
2026-01-12 23:57:09 -06:00
LukeGus
7caa32b364
feat: remove locales
2026-01-12 23:41:28 -06:00
LukeGus
868ac39b71
feat: add workflow/config to auto generate openapi json
2026-01-12 19:28:25 -06:00
LukeGus
8ae8520c44
feat: fix network stats merge and add openapi jsdocs comments
2026-01-12 19:12:08 -06:00
Luke Gustafson
8ce4c6f364
Merge pull request #478 from SteveJos/feature/add-network-graph
...
Feature request: Network graph
2026-01-12 03:06:02 -05:00
Luke Gustafson
a9a1a4b3d5
Merge branch 'dev-1.10.1' into feature/add-network-graph
2026-01-12 03:05:50 -05:00
ZacharyZcR
2e3f7e10c7
feat: add listening ports widget for server stats ( #483 )
...
Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com >
2026-01-12 01:46:05 -06:00
Luke Gustafson
d821373b15
New Crowdin updates ( #472 )
...
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Afrikaans)
* New translations en.json (Arabic)
* New translations en.json (Catalan)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Hungarian)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Korean)
* New translations en.json (Dutch)
* New translations en.json (Norwegian)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Russian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Swedish)
* New translations en.json (Turkish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (English)
* New translations en.json (Vietnamese)
* New translations en.json (German)
2026-01-12 01:41:46 -06:00
Nunzio Marfè
816172d67b
Feature: PWA ( #479 )
...
* feat: add PWA support with offline capabilities
- Add web app manifest with icons and theme configuration
- Add service worker with cache-first strategy for static assets
- Add useServiceWorker hook for SW registration
- Add PWA meta tags and Apple-specific tags to index.html
- Update vite.config.ts for optimal asset caching
* Update package-lock.json
2026-01-12 01:36:03 -06:00
ZacharyZcR
ceff07c685
feat: add firewall status widget for server stats ( #484 )
2026-01-12 01:31:21 -06:00
ZacharyZcR
1eb28dec8b
fix: skip existing hosts and credentials during JSON import ( #485 )
...
Added duplicate detection for SSH hosts (by ip+port+username) and
credentials (by name) during import. Existing items are now skipped
by default, or updated if replaceExisting option is enabled.
This matches the existing behavior of importDismissedAlerts.
Fixes #389
2026-01-12 01:31:04 -06:00
ZacharyZcR
2b6361cbb6
fix: nginx permission denied on restricted kernels ( #486 )
2026-01-12 01:30:51 -06:00
ZacharyZcR
e6870f962a
fix: delete all related data when removing user ( #487 )
2026-01-12 01:30:40 -06:00
ZacharyZcR
99b0181c45
fix: set default lineHeight to 1.0 for TUI apps compatibility ( #488 )
2026-01-12 01:30:27 -06:00
ZacharyZcR
58945288e0
fix: add shell creation timeout and improve error handling ( #489 )
2026-01-12 01:30:13 -06:00
ZacharyZcR
afb66a1098
fix: prevent session reset when updating host properties ( #490 )
2026-01-12 01:30:01 -06:00
ZacharyZcR
5f080be4ee
fix: use correct MIME types for image preview ( #491 )
2026-01-12 01:29:35 -06:00
ZacharyZcR
4648549e74
fix: owner should not be marked as shared when host is shared to their role ( #492 )
2026-01-12 01:29:24 -06:00
ZacharyZcR
f5d948aa45
feat: add Docker container healthcheck ( #493 )
2026-01-12 01:29:02 -06:00
ZacharyZcR
81d506afba
fix: restore SSH connection timeout to 120s for 2FA authentication ( #494 )
...
The timeout was reduced from 120s to 30s in v1.10, causing 2FA login
failures. Users with keyboard-interactive authentication (TOTP/2FA)
need sufficient time to enter their verification codes before the
SSH connection times out.
Fixes #404
2026-01-12 01:28:38 -06:00
ZacharyZcR
4150faa558
fix: use SFTP readdir for file listing to support non-Linux systems ( #495 )
...
The file manager now uses SFTP readdir as the primary method for
listing files, with ls -la as a fallback. This enables compatibility
with MikroTik RouterOS and other non-Linux systems that don't have
standard shell commands.
Fixes #317
2026-01-12 01:28:17 -06:00
ZacharyZcR
7ecfb4d685
fix: prevent long container names from overflowing card ( #496 )
...
Added min-w-0 to CardTitle to allow text truncation in flexbox.
Without this, flex items have min-width: auto which prevents
the truncate class from working properly.
Fixes #411
2026-01-12 01:27:58 -06:00
LukeGus
614f2f84ec
fix: update readme
2026-01-12 00:29:14 -06:00
LukeGus
af63fe1b7b
Merge remote-tracking branch 'origin/dev-1.10.1' into dev-1.10.1
2026-01-12 00:22:09 -06:00
LukeGus
4896b71b01
fix: remove top tech
2026-01-12 00:21:59 -06:00
Nunzio Marfè
69f3f88ae5
Handle enter button ( #481 )
...
* Update Crowdin configuration file
* Update Crowdin configuration file
* Update Linux Portable section with AUR link (#474 )
* fix: file manager incorrectly decoding/encoding when editing files (#476 )
* fix: electron build errors and skip macos job
* fix: testflight submit failure
* fix: made submit job match build type
* fix: resolve Vite build warnings for mixed static/dynamic imports (#473 )
* Update Crowdin configuration file
* Update Crowdin configuration file
* fix: resolve Vite build warnings for mixed static/dynamic imports
- Convert all dynamic imports of main-axios.ts to static imports (10 files)
- Convert all dynamic imports of sonner to static imports (4 files)
- Add manual chunking configuration to vite.config.ts for better bundle splitting
- react-vendor: React and React DOM
- ui-vendor: Radix UI, lucide-react, clsx, tailwind-merge
- monaco: Monaco Editor
- codemirror: CodeMirror and related packages
- Increase chunkSizeWarningLimit to 1000kB
This resolves Vite warnings about mixed import strategies preventing
proper code-splitting.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
---------
Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com >
Co-authored-by: Termix CI <ci@termix.dev >
Co-authored-by: Claude <noreply@anthropic.com >
* fix: file manager incorrectly decoding/encoding when editing files (made base64/utf8 dependent)
---------
Co-authored-by: Jefferson Nunn <89030989+jeffersonwarrior@users.noreply.github.com >
Co-authored-by: Termix CI <ci@termix.dev >
Co-authored-by: Claude <noreply@anthropic.com >
* fix: build error on docker (#477 )
* fix: electron build errors and skip macos job
* fix: testflight submit failure
* fix: made submit job match build type
* fix: resolve Vite build warnings for mixed static/dynamic imports (#473 )
* Update Crowdin configuration file
* Update Crowdin configuration file
* fix: resolve Vite build warnings for mixed static/dynamic imports
- Convert all dynamic imports of main-axios.ts to static imports (10 files)
- Convert all dynamic imports of sonner to static imports (4 files)
- Add manual chunking configuration to vite.config.ts for better bundle splitting
- react-vendor: React and React DOM
- ui-vendor: Radix UI, lucide-react, clsx, tailwind-merge
- monaco: Monaco Editor
- codemirror: CodeMirror and related packages
- Increase chunkSizeWarningLimit to 1000kB
This resolves Vite warnings about mixed import strategies preventing
proper code-splitting.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
---------
Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com >
Co-authored-by: Termix CI <ci@termix.dev >
Co-authored-by: Claude <noreply@anthropic.com >
* fix: file manager incorrectly decoding/encoding when editing files (made base64/utf8 dependent)
* fix: build error on docker
---------
Co-authored-by: Jefferson Nunn <89030989+jeffersonwarrior@users.noreply.github.com >
Co-authored-by: Termix CI <ci@termix.dev >
Co-authored-by: Claude <noreply@anthropic.com >
* Increase max old space size for npm builds
* Increase Node.js memory limit in Dockerfile
* Remove NODE_OPTIONS from build commands in Dockerfile
* Change runner to blacksmith-4vcpu-ubuntu-2404
* fix: build error on docker
* Add handle on enter button;
---------
Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com >
Co-authored-by: Gaylord Julien <g.j@mailbox.org >
Co-authored-by: Jefferson Nunn <89030989+jeffersonwarrior@users.noreply.github.com >
Co-authored-by: Termix CI <ci@termix.dev >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: LukeGus <bugattiguy527@gmail.com >
2026-01-04 10:29:11 -05:00
LukeGus
d632f2b91f
fix: build error on docker
2026-01-02 01:52:25 -06:00