Skip to content

Release#151

Open
gwitko wants to merge 2 commits into
masterfrom
dev
Open

Release#151
gwitko wants to merge 2 commits into
masterfrom
dev

Conversation

@gwitko

@gwitko gwitko commented Jul 24, 2026

Copy link
Copy Markdown
Owner

No description provided.

DrMulungu and others added 2 commits July 24, 2026 10:32
Horizon, Iceberg, Sonokai, Zenburn, Carbonfox, and Poimandres, using each
scheme's canonical upstream colors, selectable from the appearance sheet.
Every palette ships full dark terminal ANSI colors plus the shared light
terminal fallback.

Co-authored-by: Grzegorz Witkowski <gwitko@proton.me>
Co-authored-by: DrMulungu <182373227+DrMulungu@users.noreply.github.com>
* feat: upload phone files over SFTP from the terminal key row

Add an Upload key to the terminal keyboard bar: pick one or more phone
files (photos, videos, documents) with the native picker, stream them to
the active SSH host over SFTP, and insert the shell-quoted remote paths
into the terminal without executing anything.

Uploads land in an app-managed directory — ~/.conduit/uploads/<date>/ by
default, configurable per machine (absolute or ~/-relative) in the host
form. Directories are created as needed, picked filenames are sanitized
to a single path segment with control characters stripped, collisions
get a compact time suffix before the extension, and transfers stream
chunk-by-chunk through the existing SftpSession.write path with live
progress and cancellation (cancel closes the batch session).

Every uploaded file is recorded in a per-host manifest
(conduit.upload_manifest.v1, defensive parsing). The new per-machine
'Delete my uploads after' setting (never/7/30/90 days) removes only
manifest-listed files past the cutoff during later uploads — never
arbitrary directories or files Conduit didn't write.

Path insertion quotes each path for POSIX shells (spaces, quotes,
parentheses, dollar signs, newlines) and joins multiple files with
spaces. Insertion never submits, so the user can compose text around
the paths. The key ships in the default layout and rides the unseen
built-ins migration; local-shell sessions explain that uploads need an
SSH machine. New SavedHost fields ride backup export/import via the
existing host serialization.

* fix: record partial upload batches in the manifest; safer cancel

Review follow-ups: files that reached the server are now recorded in
the per-host manifest even when a later file fails or the batch is
cancelled mid-write, so automatic cleanup can always manage them.
Cleanup of expired earlier uploads now runs only after a fully
successful batch — failed or cancelled batches never delete anything.
Cancelling during connect no longer creates remote directories, and a
manifest write failure no longer misreports a successful upload as
failed.

---------

Co-authored-by: Grzegorz Witkowski <gwitko@proton.me>
Co-authored-by: DrMulungu <182373227+DrMulungu@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants