Commit Graph

552 Commits

Author SHA1 Message Date
Christian Visintin 97a2240cf7 fix: correct typos in BadSytax and theme_provider log messages 2026-02-28 13:50:56 +00:00
Christian Visintin 4fdaf82314 fix: replace assert! calls in UI activities with graceful error handling 2026-02-28 13:50:31 +00:00
Christian Visintin be237c39a6 fix: replace panics reachable from user input with proper error handling 2026-02-28 13:48:30 +00:00
Christian Visintin a252caa66b refactor: FileTransferActivity pane-agnostic dispatch (#386)
Comprehensive design for incremental refactoring of the 13k-line
FileTransferActivity god-struct using a unified Pane abstraction.
Detailed step-by-step plan covering 6 phases: split monoliths,
error handling, Pane struct, action dedup, session split, view reorg.
Extract 26 popup components from the monolithic 1,868-line popups.rs
into 20 individual files under popups/. Each file contains one or two
related components with their own imports. The popups.rs module file
now contains only module declarations and re-exports.
Replace 8 panic!() calls with error!() logging and early returns/fallthrough.
These panics documented invariants (e.g. "this tab can't do X") but would crash
the app if somehow triggered. Error logging is safer and more resilient.
Replace raw FileExplorer fields in Browser with Pane structs that bundle
the explorer and connected state. Move host_bridge_connected and
remote_connected from FileTransferActivity into the panes. Add navigation
API (fs_pane, opposite_pane, is_find_tab) for future unification tasks.
Rename private get_selected_file to get_selected_file_by_id and add three
new unified methods (get_selected_entries, get_selected_file, is_selected_one)
that dispatch based on self.browser.tab(). Old per-tab methods are kept for
now until their callers are migrated in subsequent tasks.
Collapse _local_/_remote_ action method pairs (mkdir, delete, symlink,
chmod, rename, copy) into unified methods that branch internally on
is_local_tab(). This halves the number of action methods and simplifies
the update.rs dispatch logic. Also unifies ShowFileInfoPopup and
ShowChmodPopup dispatching to use get_selected_entries().
Move `host_bridge` and `client` filesystem fields from FileTransferActivity
into the Pane struct, enabling tab-agnostic dispatch via `fs_pane()`/
`fs_pane_mut()`. This eliminates most `is_local_tab()` branching across
15+ action files.
Key changes:
- Add `fs: Box<dyn HostBridge>` to Pane, remove from FileTransferActivity
- Replace per-side method pairs with unified pane-dispatched methods
- Unify navigation (changedir, reload, scan, file_exists, has_file_changed)
- Replace 147-line popup if/else chain with data-driven priority table
- Replace assert!/panic!/unreachable! with proper error handling
- Fix typo "filetransfer_activiy" across ~29 files
- Add unit tests for Pane

Net result: -473 lines, single code path for most file operations.
2026-02-27 21:58:31 +01:00
Christian Visintin a0b357cf8c feat: Added <CTRL+S> keybinding to get the total size of selected paths. (#367)
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
* feat: Added `<CTRL+S>` keybinding to get the total size of selected paths.

closes #297
2025-11-09 21:14:42 +01:00
Christian Visintin 75943f2b93 feat: Changed file overwrite behaviour (#366)
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Now the user can choose for each file whether to overwrite, skip or overwrite all/skip all.

closes #335
2025-11-09 19:00:17 +01:00
Christian Visintin f4156a5059 feat: Import bookmarks from ssh config with a CLI command (#364)
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
* feat: Import bookmarks from ssh config with a CLI command

Use import-ssh-hosts to import all the possible hosts by the configured ssh config or the default one on your machine

closes #331
2025-11-08 15:32:52 +01:00
Christian Visintin 4bebec369f fix: Issues with update checks (#363)
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Removed error popup message if failed to check for updates.
Prevent long timeouts when checking for updates if the network is down or the DNS is not working.

closes #354
2025-10-02 21:27:51 +02:00
Christian Visintin 05c8613279 fix: Report a message while calculating total size of files to transfer. (#362)
* fix: Report a message while calculating total size of files to transfer.

Currently, in case of huge transfers the app may look frozen while calculating the transfer size. We should at least report to the user we are actually doing something.

closes #361

* ci: windows runner
2025-10-02 20:58:26 +02:00
moshyfawn 0287e7706a fix: typo in file open error message (#349)
Install.sh / build (push) Has been cancelled
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Close inactive issues / close-issues (push) Has been cancelled
2025-06-13 22:50:06 +02:00
veeso 3ce3ffee3d fix: larger file info popup 2025-06-10 14:26:36 +02:00
Christian Visintin c0b32a1847 feat: Replaced the Exec popup with a fully functional terminal emulator (#348)
Linux / build (push) Waiting to run
MacOS / build (push) Waiting to run
Windows / build (push) Waiting to run
* feat: Replaced the `Exec` popup with a fully functional terminal emulator

closes #340

* fix: colors and fmt for terminal

* feat: Handle exit and cd on terminal

* fix: Fmt pah
2025-06-10 13:17:20 +02:00
veeso 783da22ca2 feat: **Updated dependencies** and updated the Rust edition to 2024 2025-06-08 18:00:42 +02:00
Christian Visintin ec75ae1486 feat: 132 queuing transfers (#332)
the logic of selecting files has been extended!
From now on selecting file will put the files into a transfer queue, which is shown on the bottom panel.
When a file is selected the file is added to the queue with a destination path, which is the **current other explorer path at the moment of selection.
It is possible to navigate to the transfer queue by using `P` and pressing `ENTER` on a file will remove it from the transfer queue.Other commands will work as well on the transfer queue, like `COPY`, `MOVE`, `DELETE`, `RENAME`.

closes #132
2025-03-23 14:36:13 +01:00
veeso 806793421e fix(bookmarks): Local directory path is not switching to what's specified in the bookmark
closes #316
2025-03-22 13:25:29 +01:00
veeso cdf303a847 fix: fixed a crash when the local directory specified in the auth form does not exist
fix #319
2025-03-15 16:46:57 +01:00
veeso dd35fe825c fix(ui): fixed input mask on host bridge on local dir up
if you go up on local dir when localhost is selected it panics

fix #327
2025-03-15 14:24:24 +01:00
veeso b0f314837e build(deps): updated dependencies and edition to 2024 2025-03-15 14:15:45 +01:00
haruna b7d75a2749 fix: clippy error 2025-01-05 22:52:45 +09:00
veeso e45c3d5b4e fix: gg rust 1.82 for introducing a nice breaking change in config which was not mentioned in changelog
Install.sh / build (push) Has been cancelled
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
2024-10-21 11:09:50 +02:00
veeso 69f821baef fix: cfg unix forbidden in rust .82
Install.sh / build (push) Waiting to run
Linux / build (push) Waiting to run
MacOS / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-10-21 10:32:50 +02:00
veeso 79c33095fc fix: tiny ui issue 2024-10-14 16:00:15 +02:00
Christian Visintin 3cde067339 feat: Show .. directory before all the others in the explorer to navigate to the parent dir (#301) 2024-10-14 11:28:02 +02:00
Christian Visintin 7eb913ec7b fix: tuirealm 2.x (#299) 2024-10-14 09:55:52 +02:00
Christian Visintin 79c31c2d84 fix: Use uzers instead of the dead package users which has several vulnerabilities (#295) 2024-10-07 17:40:35 +02:00
Christian Visintin aab266a661 285 feature request multi host (#293) 2024-10-07 16:27:45 +02:00
Christian Visintin 3f01be3baa 280 feature request go to path auto completion (#287) 2024-10-03 17:11:25 +02:00
Christian Visintin fc68e2621b feat: it is now possible to cancel find command; show find progress (#284) 2024-10-03 11:31:16 +02:00
Christian Visintin b2a8a3041c 249 feature request better search results (#282)
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
* feat: issue 249 - fuzzy search replaced the old find explorer

* fix: forgot to upload file

* fix: removed debug
2024-10-02 17:45:48 +02:00
veeso c507d54700 fix: popup texts
Linux / build (push) Waiting to run
MacOS / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-10-02 12:59:53 +02:00
veeso 31c5ad7534 fix: issue 277 Fix a bug in the configuration page, which caused being stuck if the added SSH key was empty 2024-10-02 12:44:35 +02:00
veeso 14ac10547c fix: don't clear screen after terminating termscp 2024-10-02 12:34:00 +02:00
Christian Visintin ae1638ee17 feat: Pods and container explorer for Kube protocol (#281) 2024-10-02 12:24:46 +02:00
veeso 17719ea370 feat: init 0.15 2024-09-30 12:06:03 +02:00
Christian Visintin f757336d75 feat: kube protocol support (#267) 2024-07-17 11:59:30 +02:00
Christian Visintin 631f09b9a8 feat: issue 256 - filter files (#266) 2024-07-15 15:08:22 +02:00
Christian Visintin f3b84c97e1 feat: ALT+A to deselect all files (#263)
Coverage / build (push) Waiting to run
Linux / build (push) Waiting to run
MacOS / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-07-08 15:56:20 +02:00
Christian Visintin b5b3aeb645 fix: Jump to next entry after select (#262) 2024-07-08 15:26:27 +02:00
veeso 88cdae79a8 fix: lint 2024-07-08 14:48:03 +02:00
veeso 44051ec718 feat: termscp 0.13.0 2024-03-02 19:28:01 +01:00
Christian Visintin c7469b8594 feat: WebDAV support (#235) 2024-03-02 19:23:27 +01:00
Christian Visintin 679a829744 233 feature request subcommands (#234) 2024-03-01 10:01:25 +01:00
veeso ea9dd03f55 Revert "feat: tui-realm 1.9"
This reverts commit cfbecc049d.
2023-10-06 09:13:57 +02:00
veeso 19992402e2 fix: panic if the terminal screen is too small 2023-10-01 16:18:11 +02:00
Christian Visintin 20c3e22572 [BUG] - termscp not respecting port in ssh config (#216) 2023-10-01 16:12:43 +02:00
veeso d3c2c084db fix: fmt 2023-08-23 10:11:13 +02:00
veeso cfbecc049d feat: tui-realm 1.9 2023-08-23 09:18:09 +02:00
Christian Visintin 9de171fb83 added cfg smb-windows to be able to disable SMB on windows (#210)
* added cfg smb-windows to be able to disable SMB on windows

* lint
2023-08-20 10:24:34 +02:00
Christian Visintin ca005cbecd save local file paths in bookmark (#204)
* fix: renamed Bookmark 'directory' to 'remote_path' (keep name in file)

* feat: local_path as file transfer parameter and in bookmark
2023-07-06 16:05:22 +02:00
Christian Visintin ee28d34f29 fix: don't update path breadcrumb if enter/scan dir failed (#203) 2023-07-06 14:55:53 +02:00