Christian Visintin
9f3df1a79a
style: linter
2026-04-19 01:54:46 +05:30
Christian Visintin
fe424107e9
build: removed hostname, use whoami instead
...
whoami provides `hostname` function, so we don't need the hostname dependency, since whoami is also being used for getting the username
closes #398
2026-04-19 01:54:46 +05:30
Christian Visintin
d97535894c
fix: replace recursive byte-counting with entry-based transfer progress ( #395 )
...
* fix: replace recursive byte-counting with entry-based transfer progress
Replace the expensive recursive `get_total_transfer_size` pre-calculation
with a lightweight entry-based counter (`TransferProgress`) for the
overall progress bar. This avoids deep `list_dir` traversals before
transfers begin, which could cause FTP idle-timeout disconnections on
large directory trees.
The per-file byte-level progress bar (`ProgressStates`) remains
unchanged. Bytes are still tracked via `TransferStates::add_bytes` for
notification threshold logic.
Closes #384
2026-04-19 01:54:46 +05:30
Christian Visintin
4d65e48b3c
fix: replace magic-crypt with aes-gcm for bookmark encryption
...
magic-crypt has known vulnerabilities. Replace it with aes-gcm for new
encryption (authenticated, with random nonces) while keeping a legacy
AES-128-CBC decryption path to transparently handle existing bookmarks.
2026-04-19 01:54:46 +05:30
Christian Visintin
0d24662b3d
refactor: migrate from mod.rs to named module files
2026-04-19 01:54:46 +05:30
Christian Visintin
bc14b049c0
chore: add centralized lint configuration to Cargo.toml
2026-04-19 01:54:46 +05:30
Christian Visintin
d32c588f15
refactor: replace lazy_static with std::sync::LazyLock
2026-04-19 01:54:46 +05:30
Christian Visintin
60e86aff2a
perf: use sort_by_cached_key to avoid repeated lowercase allocations in file sorting
2026-04-19 01:54:46 +05:30
Christian Visintin
5f83a1468c
fix: correct typos in BadSytax and theme_provider log messages
2026-04-19 01:54:46 +05:30
Christian Visintin
5758a12c3b
fix: replace assert! calls in UI activities with graceful error handling
2026-04-19 01:54:46 +05:30
Christian Visintin
49a74d02ea
fix: replace panics reachable from user input with proper error handling
2026-04-19 01:54:46 +05:30
Christian Visintin
f6d35f1eea
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-04-19 01:54:46 +05:30
Christian Visintin
3fb61a76fe
chore: funding
MacOS / build (push) Has been cancelled
Deploy static content to Pages / deploy (push) Has been cancelled
Windows / build (push) Has been cancelled
codeberg-mirror / mirror (push) Has been cancelled
Install.sh / build (macos-latest) (push) Has been cancelled
Install.sh / build (ubuntu-latest) (push) Has been cancelled
Linux / build (push) Has been cancelled
Close inactive issues / close-issues (push) Has been cancelled
2026-02-24 12:33:58 +01:00
Christian Visintin
ff4452c971
chore: WTF CTRL SAVE DOESNT FUCKING WORK
2026-02-09 10:27:21 +01:00
Christian Visintin
fd1d8a0e26
chore: Install with apt if installed
2026-02-09 10:25:57 +01:00
Christian Visintin
b0d6da8e23
chore: Copilot is so dumb
2026-02-09 10:12:54 +01:00
Christian Visintin
4ca0865fe3
chore: Use apt to install termscp on debian base to prevent broken deps
2026-02-09 10:12:04 +01:00
Christian Visintin
b8115362f8
ci: Codeberg mirroring
2026-01-30 14:57:03 +01:00
Christian Visintin
155f747563
docs: date
2025-12-20 17:12:50 +01:00
Christian Visintin
b04976bde3
fix: Updated dependencies to allow build on NetBSD
...
closes #371
2025-12-20 16:33:50 +01:00
veeso
5f7a0d8a46
fix: install.sh deb name
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-12-02 14:27:34 +01:00
veeso
694232564a
fix: install.sh deb name
2025-12-02 14:25:55 +01:00
veeso
54b674ad43
ci: windows artifact name
Deploy static content to Pages / deploy (push) Has been cancelled
Windows / build (push) Has been cancelled
Install.sh / build (push) Has been cancelled
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Close inactive issues / close-issues (push) Has been cancelled
2025-11-11 12:34:36 +01:00
veeso
c32822037e
ci: deploy site
2025-11-11 12:21:05 +01:00
veeso
abb5c212c5
feat: Merge branch '0.19.0'
2025-11-11 12:19:21 +01:00
veeso
e9b54a227b
chore: CHANGELOG date
2025-11-11 09:42:21 +01:00
veeso
befc32198a
ci: debian fix
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
2025-11-10 17:25:29 +01:00
veeso
7e5103ff7e
ci: Debian
2025-11-10 17:06:44 +01:00
veeso
2cb600083e
docs: Release date
2025-11-10 16:44:24 +01:00
Christian Visintin
47d23673e6
ci: Build artifacts for Windows x86_64 and Ubuntu x86_64 ( #368 )
2025-11-10 16:43:25 +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
veeso
085ab721f9
build: remotefs-ssh 0.7.1
...
This version fixes compatibility with hosts which don't use bash/sh as the default shell.
closes #365
2025-11-09 17:38:50 +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
veeso
205d2813ad
perf: Migrated to libssh.org on Linux and MacOS for better ssh agent support.
...
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
closes #337
2025-09-20 18:13:20 +02:00
veeso
86660a0cc9
fix: SMB support for MacOS with vendored build of libsmbclient.
...
closes #334
2025-09-20 18:07:26 +02:00
veeso
05830db206
docs: User manual and get started links
Install.sh / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Linux / build (push) Has been cancelled
Close inactive issues / close-issues (push) Has been cancelled
2025-09-16 10:36:17 +02:00
veeso
3c79e812eb
build: 0.19 deps
2025-09-06 16:40:01 +02:00
veeso
67a14c2725
fix: lock
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
2025-06-10 21:20:04 +02:00
veeso
df03c5c1bf
feat: 0.18
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
2025-06-10 14:29:02 +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
Christian Visintin and Lucas Czekaj
81ae0035c3
Fix SSH auth with id keys ( #347 )
...
I fixed the id_rsa/id_ed25519 SSH auth issue on Mac and now termscp should respect the key-based authentication, just like the regular ssh user@hostname, without the need for any ssh agents.
---
Co-authored-by: Lucas Czekaj <lukasz@czekaj.us >
2025-06-08 18:34:59 +02:00
veeso
783da22ca2
feat: **Updated dependencies** and updated the Rust edition to 2024
2025-06-08 18:00:42 +02:00
veeso
8715c2b6f9
chore: CODE_OF_CONDUCT update
Install.sh / build (push) Has been cancelled
2025-05-10 19:23:06 +02:00
veeso
98a748dccc
style: catppuccin themes
Install.sh / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Linux / build (push) Has been cancelled
2025-04-15 12:24:08 +02:00
Christian Visintin
bef031a414
Update website.yml
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
2025-03-23 22:01:18 +01:00
veeso
ce0e953182
chore: site
2025-03-23 18:13:05 +01:00
veeso
9a5caf75c3
build: so apparently native-tls vendored tries to build openssl on windows, wtf guys?
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
2025-03-23 18:07:20 +01:00
veeso
446f4a3a32
build: build docker for x86
2025-03-23 16:43:51 +01:00
veeso
da75912d26
docs: version
Linux / build (push) Waiting to run
MacOS / build (push) Waiting to run
Windows / build (push) Waiting to run
2025-03-23 15:59:50 +01:00
veeso
4ed23c2a18
build: aws-s3 0.4.2
2025-03-23 15:58:25 +01:00
Christian Visintin
23ae334bef
ci(build): build vendored smb and refactor platform deps ( #333 )
2025-03-23 15:57:54 +01: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
368570592f
feat(cli): added --wno-keyring flag to disable keyring
...
Linux / build (push) Waiting to run
MacOS / build (push) Waiting to run
Windows / build (push) Waiting to run
closes #308
2025-03-22 13:44:02 +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
1f377b242d
fix(log): add suppaftp/pavao/kube to allowed logs
...
Windows / build (push) Has been cancelled
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
fix #330
2025-03-17 18:59:47 +01:00
veeso
a4906b129a
docs: veeso.me instead of veeso.dev
Linux / build (push) Waiting to run
MacOS / build (push) Waiting to run
Windows / build (push) Waiting to run
2025-03-17 09:31:44 +01:00
veeso
5c6e8925ad
test(remotefs_builder): check result, build doesn't panic anymore
2025-03-17 09:30:33 +01:00
veeso
a18eff689d
fix(aws-s3): updated remotefs-aws-s3 to 0.4.1
...
Linux / build (push) Waiting to run
MacOS / build (push) Waiting to run
Windows / build (push) Waiting to run
should fix #329
2025-03-16 20:06:35 +01:00
veeso
274742d6d9
build: bump to ssh2-config 0.4 and remotefs 0.6 to have support for Include in config files
...
Linux / build (push) Waiting to run
MacOS / build (push) Waiting to run
Windows / build (push) Waiting to run
fix #309
2025-03-15 20:04:21 +01:00
veeso
cdebcbd4dc
fix: the return value of --version should be 0
...
fix #317
2025-03-15 16:54:36 +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
5c4a971aca
docs(CONTRIBUTING): docs(CONTRIBUTING): mistakes
...
fix #318
2025-03-15 14:19:18 +01:00
veeso
7522b4d0ff
chore(changelog): changelog
2025-03-15 14:16:18 +01:00
veeso
b0f314837e
build(deps): updated dependencies and edition to 2024
2025-03-15 14:15:45 +01:00
Christian Visintin
8a9ba7745a
Merge pull request #325 from eggplants/fix-clippy-error
...
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
fix: clippy error
2025-01-06 12:53:13 +01:00
Christian Visintin
fe0d9b0aa6
Update stale.yml
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Install.sh / build (push) Has been cancelled
Linux / build (push) Has been cancelled
2024-12-28 13:22:03 +01:00
veeso
7dba691ccc
fix: isolated-tests for localhost
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-11-13 17:06:34 +01:00
veeso
099e2154ba
fix: unused import isolated tests
2024-11-13 15:57:49 +01:00
veeso
f2efb25ad7
fix: 0.16.1
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-11-12 12:34:26 +01: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
Christian Visintin
11559d0962
Merge pull request #302 from veeso/0.16
...
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
0.16
2024-10-14 16:36:36 +02:00
veeso
79c33095fc
fix: tiny ui issue
2024-10-14 16:00:15 +02:00
veeso
0ec6bcbcef
fix: 0.16
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
Linux / build (push) Has been cancelled
2024-10-14 11:40:45 +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
c05ef32270
fix: issue 292 New version alert was not displayed due to a semver regex issue. ( #300 )
2024-10-14 10:43:47 +02:00
Christian Visintin
7eb913ec7b
fix: tuirealm 2.x ( #299 )
2024-10-14 09:55:52 +02:00
veeso
4e63093d25
fix: users from lock
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled
2024-10-07 17:50:15 +02:00
Christian Visintin
e5d50698d2
fix: vergen ( #296 )
2024-10-07 17:49: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
veeso
a4c9acb49f
feat: version 0.16
2024-10-05 17:41:40 +02:00
veeso
6205c7f3c5
fix: include build.rs
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-03 17:57:49 +02:00
veeso
e4af014013
fix: readme
2024-10-03 17:56:51 +02:00
Christian Visintin
c9f649f40f
Merge pull request #288 from veeso/0.15
2024-10-03 17:55:50 +02:00
veeso
1f27ca2607
fix: ci
2024-10-03 17:36:44 +02:00
veeso
a1288c7480
fix: github ci is stable and reliable (one worker broken each 2 weeks)
2024-10-03 17:28:29 +02:00
veeso
4bfec52ba5
fix: set date
2024-10-03 17:12: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
8e2ffeabce
fix: isolated-tests feature to run tests for releasing on distributions which run in isolated environments ( #286 )
...
* fix: `isolated-tests` feature to run tests for releasing on distributions which run in isolated environments
* fix: cond
2024-10-03 12:17:03 +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