Skip to content

Commit 8a93069

Browse files
authored
Merge pull request #170 from Zarestia-Dev/Code-improvements
Code improvements
2 parents e890306 + 94e14c6 commit 8a93069

586 files changed

Lines changed: 50494 additions & 41047 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release-headless.yml

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: 'Release Headless'
1+
name: "Release Headless"
22

33
on:
44
workflow_dispatch:
@@ -11,26 +11,26 @@ jobs:
1111
fail-fast: false
1212
matrix:
1313
include:
14-
- platform: 'ubuntu-22.04'
15-
args: '--target x86_64-unknown-linux-gnu'
16-
arch: 'x86_64'
17-
type: 'x86_64'
18-
assetPattern: '[name]_[ver]_[arch][ext]'
19-
- platform: 'ubuntu-22.04-arm'
20-
args: '--target aarch64-unknown-linux-gnu'
21-
arch: 'aarch64'
22-
type: 'aarch64'
23-
assetPattern: '[name]_[ver]_[arch][ext]'
24-
- platform: 'windows-latest'
25-
args: '--target x86_64-pc-windows-msvc'
26-
arch: 'x86_64'
27-
type: 'x86_64'
28-
assetPattern: '[name]_[ver]_[arch][ext]'
29-
- platform: 'windows-latest'
30-
args: '--target aarch64-pc-windows-msvc'
31-
arch: 'aarch64'
32-
type: 'aarch64'
33-
assetPattern: '[name]_[ver]_[arch][ext]'
14+
- platform: "ubuntu-22.04"
15+
args: "--target x86_64-unknown-linux-gnu"
16+
arch: "x86_64"
17+
type: "x86_64"
18+
assetPattern: "[name]_[ver]_[arch][ext]"
19+
- platform: "ubuntu-22.04-arm"
20+
args: "--target aarch64-unknown-linux-gnu"
21+
arch: "aarch64"
22+
type: "aarch64"
23+
assetPattern: "[name]_[ver]_[arch][ext]"
24+
- platform: "windows-latest"
25+
args: "--target x86_64-pc-windows-msvc"
26+
arch: "x86_64"
27+
type: "x86_64"
28+
assetPattern: "[name]_[ver]_[arch][ext]"
29+
- platform: "windows-latest"
30+
args: "--target aarch64-pc-windows-msvc"
31+
arch: "aarch64"
32+
type: "aarch64"
33+
assetPattern: "[name]_[ver]_[arch][ext]"
3434

3535
runs-on: ${{ matrix.platform }}
3636
steps:
@@ -46,7 +46,7 @@ jobs:
4646
uses: actions/setup-node@v4
4747
with:
4848
node-version: lts/*
49-
cache: 'npm'
49+
cache: "npm"
5050

5151
- name: Install Rust stable (windows only)
5252
uses: dtolnay/rust-toolchain@stable
@@ -63,7 +63,7 @@ jobs:
6363
- name: Rust cache
6464
uses: swatinem/rust-cache@v2
6565
with:
66-
workspaces: './src-tauri -> target'
66+
workspaces: "./src-tauri -> target"
6767
key: headless-${{ runner.os }}-${{ matrix.arch }}
6868

6969
- name: Install frontend dependencies
@@ -77,11 +77,11 @@ jobs:
7777
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
7878
with:
7979
tagName: headless-v__VERSION__
80-
releaseName: 'RClone Manager Headless v__VERSION__'
81-
releaseBody: 'RClone Manager Headless v__VERSION__'
80+
releaseName: "RClone Manager Headless v__VERSION__"
81+
releaseBody: "RClone Manager Headless v__VERSION__"
8282
releaseDraft: true
8383
prerelease: false
8484
args: >-
8585
--config src-tauri/tauri.conf.headless.json
86-
--features web-server,updater
86+
--features web-server,updater,tray
8787
${{ matrix.args }}

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,46 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
66

7+
## [v0.2.4] - 2026-04-14
8+
### Added
9+
- Detailed Remote Card variant added. Its can be enabled from layout editor.
10+
- **Nautilus**: Added external OS drag-into-app file upload support. Users can now drag files and folders from their OS file manager directly into the Nautilus file browser. Folder structure is preserved with recursive directory creation. Supports both Tauri desktop and headless HTTP modes.
11+
- **Tray**: Added "Open File Browser" menu item in tray. It will open the file browser in a new window.
12+
- **Language**: Added Simplified Chinese language support. (Thanks to @why25!)
13+
- **Nautilus**: Added "spring-loaded folder" behavior. Dragging an item and hovering over a folder, breadcrumb, tab, or sidebar item for 1sec will automatically open/navigate to it.
14+
- Readd the Json Editor for rclone fields. (Now it is optional with toggle button. Not like before v0.1.5). This one more user friendly. Now you can add or edit the custom flags from there too.
15+
- Legacy config directories for docker users.
16+
- **Core**: Added support for generic Rclone Environment Variables. Users can now specify arbitrary environment variables (e.g., `RCLONE_NO_UPDATE_MODTIME=true`) directly in the UI. This provides a flexible solution for FUSE compatibility and other rclone-specific configurations.
17+
- **Remote Config**: Show direct OAuth URL in remote creation/editing flows with a compact copy button; preserve the OAuth helper URL during remote configuration so users can open or copy the link.
18+
- **Security**: Added support for `RCLONE_MANAGER_SECRET`, `RCLONE_MANAGER_SECRET_PATH`, and `RCLONE_MANAGER_SECRET_FILE` environment variables for managing `rcman` encrypted credentials. These serve as fallbacks when the OS keyring is unavailable or malfunctioning. If no secret is provided via environment variables and the keyring is inaccessible, credentials will be stored in-memory and lost upon application restart.
19+
- **Job Detail**: Introduced a job detail view modal, allowing users to inspect granular operation details directly by selecting a job from the list in the General tab.
20+
- **Settings**: Added `max_upload_batch_size` setting to the General tab. This setting controls the maximum size of a batch of files uploaded from the local computer in a single request. Only available on headless mode.
21+
- **Translation**: Added missing rclone provider translations.
22+
23+
### Changed
24+
- **Nautilus**: Replaced Angular CDK drag-and-drop with native HTML5 Drag and Drop API for file and folder operations. This provides a more responsive, system-native feel. (Note: CDK remains active for tab reordering).
25+
- **Nautilus**: Improved split view drag UX. The active pane now automatically switches when hovering over the other panel during a drag operation.
26+
- Small design changes across the app.
27+
- Package-manager builds (Flatpak, deb, rpm, Arch, portable, container) no longer hide the Updates tab. The app still checks for new versions and notifies you.
28+
- **Nautilus**: Nautilus file browser now supports multiple windows. You can open multiple Nautilus windows for different remotes or paths. Each window is independent and has its own state but they share the same app instance and configuration. You can open a new Nautilus window from the tray menu, right-clicking a folder or remote to open on new window, or dragging a tab to the desktop to open it in a new window.
29+
30+
### Fixed
31+
- **Nautilus**: Prevented invalid drag-and-drop operations, such as dropping a file into its current directory or dropping a folder onto itself.
32+
- **Nautilus**: Prevented spring-opening a folder that is currently being dragged.
33+
- **Tray**: Fully feature-gated tray implementation; `tray` code is excluded. Preventing tray-related imports/logic in Docker builds where tray is not needed.
34+
- Buggy and non-performant AppImage release files are fixed. Now they works properly on all Linux distributions.
35+
- **Mount**: Fixed a bug that prevented mounting multiple profiles or instances of the same remote at different mount points.
36+
- **Serve**: Fixed a UI issue where the listening address appeared as "undefined" for default profiles.
37+
- **Core**: Removed restrictive duplicate checks in mount and serve operations to allow running multiple instances with unique configurations (e.g., different profiles or ports).
38+
- **File Viewer**: Fixed the download functionality in headless web mode by implementing browser-native downloads. Remote files can now be downloaded to the local computer in both desktop and web environments.
39+
- **Core**: Bunch of scheduler tasks fixes.
40+
- **Core**: Fixed the issue where the app was not able to update rclone and app on headless mode.
41+
- **FileSystem**: Fixed a bug in headless mode where selecting a local directory or file would return a relative path instead of an absolute one.
42+
43+
### Know Issues
44+
- Tauri asset protocols has a bug that causes media streaming to not work properly on linux webview2gtk. So this mean videos and music files not gonna work on linux systems. But it works on headless systems. Track https://github.com/tauri-apps/tauri/issues/3725 for updates on this issue.
45+
46+
747
## [v0.2.3] - 2026-03-17
848

949
### Warning

Dockerfile

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
# RCLONE_MANAGER_PORT — Listen port (default: 8080)
1313
# RCLONE_MANAGER_USER — Basic auth username
1414
# RCLONE_MANAGER_PASS — Basic auth password
15+
# RCLONE_MANAGER_SECRET — Master password for rcman encrypted credentials
16+
# RCLONE_MANAGER_SECRET_PATH — If file exists and SECRET is unset, treat as password file (Docker secret). Otherwise, custom path for encrypted credential store.
17+
# RCLONE_MANAGER_SECRET_FILE — Explicit password file path for rcman encrypted credentials
1518
# RCLONE_MANAGER_TLS_CERT / RCLONE_MANAGER_TLS_KEY — TLS certificate paths
1619
#
1720
# Volumes:
@@ -29,7 +32,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2932
build-essential \
3033
curl \
3134
fuse3 \
32-
libayatana-appindicator3-dev \
3335
libdbus-1-dev \
3436
libgtk-3-dev \
3537
libjavascriptcoregtk-4.1-dev \
@@ -51,11 +53,12 @@ RUN npm ci
5153

5254
# Copy project source and build headless binary
5355
COPY . .
56+
RUN rm -rf src-tauri/capabilities || true
5457
RUN npm run tauri build -- \
5558
--config src-tauri/tauri.conf.headless.json \
5659
--config '{"bundle":{"createUpdaterArtifacts":false}}' \
57-
--features web-server,updater \
58-
--no-bundle
60+
--features container \
61+
--no-bundle -- --no-default-features
5962

6063
# -----------------------------------------------------------------------------
6164
# Stage 2: Runtime
@@ -76,7 +79,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
7679
dbus-x11 \
7780
fuse3 \
7881
gosu \
79-
libayatana-appindicator3-1 \
8082
libgtk-3-0 \
8183
libwebkit2gtk-4.1-0 \
8284
openssl \
@@ -115,6 +117,8 @@ COPY --from=builder \
115117
["/app/src-tauri/target/release/i18n", "/usr/lib/RClone Manager Headless/i18n/"]
116118

117119
# Copy and setup the runtime entrypoint script
120+
# Moving this to the end ensures that changes to entrypoint.sh don't invalidate
121+
# the heavy compilation layers above.
118122
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
119123
RUN chmod +x /usr/local/bin/entrypoint.sh
120124

@@ -139,8 +143,10 @@ ENV DISPLAY=:99 \
139143
XDG_DATA_HOME=/home/rclone-manager/.local/share \
140144
XDG_CONFIG_HOME=/home/rclone-manager/.config \
141145
RCLONE_CONFIG=/config/rclone.conf \
142-
RCLONE_MANAGER_DATA_DIR=/data \
143-
RCLONE_MANAGER_CACHE_DIR=/data/cache
146+
RCLONE_MANAGER_LOG_DIR=/data/logs \
147+
RCLONE_MANAGER_CACHE_DIR=/data/cache \
148+
RCLONE_MANAGER_SECRET=${RCLONE_MANAGER_SECRET:-} \
149+
RCLONE_MANAGER_SECRET_PATH=${RCLONE_MANAGER_SECRET_PATH:-}
144150

145151
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
146152
CMD []

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ Install RClone Manager from your favorite package manager or download directly.
107107
108108
### macOS
109109

110-
| Repository | Version | Install Command |
111-
| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
112-
| **Homebrew** | ![Pending](https://img.shields.io/badge/Pending-gray?style=flat) | _Coming Soon_ |
113-
| **Direct Download** | [![Latest Release](https://img.shields.io/github/v/release/Zarestia-Dev/rclone-manager?style=flat&label=&color=2ec27e)](https://github.com/Zarestia-Dev/rclone-manager/releases/latest) | <a href="https://github.com/Zarestia-Dev/rclone-manager/releases/latest"><img src="https://img.shields.io/badge/Download-3584e4?style=flat&logo=github" alt="Download"></a> |
110+
| Repository | Version | Install Command |
111+
| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |
112+
| **Homebrew** | [![Brew](https://img.shields.io/badge/Brew-Zarestia--Dev-3584e4?style=flat&logo=homebrew)](https://github.com/Zarestia-Dev/homebrew-zarestia) | `brew tap Zarestia-Dev/zarestia` <br> `brew install --cask rclone-manager` |
113+
| **Direct Download** | [![Latest Release](https://img.shields.io/github/v/release/Zarestia-Dev/rclone-manager?style=flat&label=&color=2ec27e)](https://github.com/Zarestia-Dev/rclone-manager/releases/latest) | [Download DMG](https://github.com/Zarestia-Dev/rclone-manager/releases) |
114114

115115
> 📚 **Detailed Guide:** [Wiki: Installation - macOS](https://hakanismail.info/zarestia/rclone-manager/docs/installation-macos)
116116
> _Important: Read this for the "App is Damaged" fix and macFUSE setup._

README.tr-TR.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,10 @@ Favori paket yöneticinizden yükleyin veya doğrudan indirin.
115115
116116
### macOS
117117

118-
| Depo | Sürüm | Kurulum Komutu |
119-
| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
120-
| **Homebrew** | ![Beklemede](https://img.shields.io/badge/Beklemede-gray?style=flat) | _Yakında_ |
121-
| **Doğrudan İndirme** | [![Son Sürüm](https://img.shields.io/github/v/release/Zarestia-Dev/rclone-manager?style=flat&label=&color=2ec27e)](https://github.com/Zarestia-Dev/rclone-manager/releases/latest) | <a href="https://github.com/Zarestia-Dev/rclone-manager/releases/latest"><img src="https://img.shields.io/badge/İndir-3584e4?style=flat&logo=github" alt="İndir"></a> |
118+
| Depo | Sürüm | Kurulum Komutu |
119+
| :------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |
120+
| **Homebrew** | [![Brew](https://img.shields.io/badge/Brew-Zarestia--Dev-3584e4?style=flat&logo=homebrew)](https://github.com/Zarestia-Dev/homebrew-zarestia) | `brew tap Zarestia-Dev/zarestia` <br> `brew install --cask rclone-manager` |
121+
| **Doğrudan İndirme** | [![Son Sürüm](https://img.shields.io/github/v/release/Zarestia-Dev/rclone-manager?style=flat&label=&color=2ec27e)](https://github.com/Zarestia-Dev/rclone-manager/releases/latest) | [DMG İndir](https://github.com/Zarestia-Dev/rclone-manager/releases) |
122122

123123
> 📚 **Detaylı Kılavuz:** [Wiki: Kurulum - macOS](https://hakanismail.info/zarestia/rclone-manager/docs/installation-macos)
124124
> _Önemli: "Uygulama Hasarlı" düzeltmesi ve macFUSE kurulumu için bunu okuyun._

angular.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,12 @@
4949
"polyfills": [],
5050
"tsConfig": "tsconfig.app.json",
5151
"assets": ["src/assets", "src/favicon.ico"],
52-
"styles": ["src/custom-theme.scss"]
52+
"styles": ["src/custom-theme.scss"],
53+
"allowedCommonJsDependencies": [
54+
"cronstrue",
55+
"cronstrue/locales/tr",
56+
"cronstrue/locales/es"
57+
]
5358
},
5459
"configurations": {
5560
"production": {

assets/dark-ui.png

-4.78 KB
Loading

assets/desktop-ui.png

-5.15 KB
Loading

assets/general-home.png

-11.1 KB
Loading

assets/general-remote.png

-4.79 KB
Loading

0 commit comments

Comments
 (0)