Commit Graph
50 Commits
Author SHA1 Message Date
nvrl 50d2acdaba Merge pull request #20 from emptyname-org/feature/files-thumbnails-statusbar
feat(gui): add file thumbnails and a browser status bar
2026-08-21 22:44:58 +02:00
emptyname 53caf63ad4 Fix thumbnail lifecycle failures 2026-08-21 12:32:31 +01:00
nvrl e88903d5ff chore(branding) added branding, best practice to repo 2026-08-21 04:09:58 +02:00
emptyname b0f9513915 feat(gui): show file thumbnails and browser status bar 2026-08-18 13:06:36 +01:00
nvrl 8bd9481902 fix(ui) improved ux 2026-08-18 12:50:49 +02:00
nvrl b2d5870834 fix(ui) improved ux 2026-08-18 12:06:28 +02:00
nvrl 6e3d2c335e improved search prompt 2026-08-12 16:15:27 +02:00
nvrl 14b6df7bce fix(prompt) cached file open instead of actualy files 2026-08-11 14:22:13 +02:00
nvrl a5e03ad8da persistent entity cache, streaming batche 2026-08-10 15:22:04 +02:00
nvrl 2336ad9e87 added album to photos, renamed gallery view 2026-07-31 20:31:25 +02:00
nvrl d988236bfa wired new locations into gui, fuse acceptance with new permission based mounts 2026-07-31 19:37:12 +02:00
nvrlandClaude Opus 5 bca0fe34bc fix(fuse,core): key conflict detection on revision id, stop transient-name seals (B69, B70)
B69 — spurious `(sync-conflict)` copies came from `(mtime, size)` being used as a
revision identity. The server re-stamps a sealed revision with its own commit
time, so the drain diverted a write into a conflict copy of its own base; and
`plan_file` classified a no-baseline (local, remote) pair as `Conflict`, forking
every pre-existing file on first reconcile.

- `Baseline` carries `revision_id` (from the SDK's new `active_revision_id`),
  captured at write-open and preserved across supersede/rebaseline.
  `revision_changed` trusts the id and only falls back to `(mtime, size)` for
  old sidecars.
- Planner gains `FilePlan::AdoptBaseline`: equal-size no-baseline pairs are
  recorded, not conflicted. Divergent sizes stay a real conflict.
- New `sweep.rs` (`pdfs-conflict-sweep`, 5-min cadence) removes conflict copies
  proven identical by size + `content_sha1` and surfaces divergent ones once as
  an `ActivityKind::Conflict` entry. Never removes what it cannot prove.

B70 — browsers downloading into an on-demand mount had their in-flight temps
sealed as canonical revisions, exiling the finished file to a conflict copy.
`syncignore::is_transient_name` now recognises download/scratch temps, and the
on-demand `release`/`rename` paths hold them (`set_create_hold`) instead of
sealing until the name is finalized.

Workspace deps bumped to proton-sdk/proton-drive-rs 0.2.2 (registry, no patch).

Live validation against a real account still pending for both.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V8P42asymU158CPnhjRwri
2026-07-25 15:24:31 +02:00
nvrl ea56818a80 prompt refactor 2026-07-22 11:27:57 +02:00
nvrl 39ab4aae48 prompt refactor 2026-07-22 09:50:42 +02:00
nvrl 2275004f79 impplemented fallocate 2026-07-21 22:39:35 +02:00
nvrl 914ff2b5ae added ioctl handler 2026-07-21 16:42:41 +02:00
nvrl a3d9d05777 added settings for this device + quota in settings 2026-07-20 23:08:23 +02:00
nvrl bf625bf8d9 added functionality to open shared files with you + fixed bug where mid transfer the SIGTERM signal can corrupt the mount 2026-07-20 22:30:16 +02:00
nvrl f0fbd0775c fixed long getattr load times with ls -l 2026-07-20 13:37:59 +02:00
nvrl b2b0fe7b99 fixed return key not opening file 2026-07-19 23:39:24 +02:00
nvrl cb67d97b0f added webgtk recaptcha 2026-07-19 23:24:18 +02:00
nvrl 532628456e fix(fuse): keep inode stable across rename
relocate() called forget(), dropping the node's by_uid mapping, so
the re-enumeration assigned a fresh inode. The kernel had already
carried the renamed dentry onto the old one and holds it for the
entry TTL, so lookup/getattr/opendir resolved to an inode entries
no longer held and returned ENOENT — while readdir walked children
and reported the new inode. A renamed directory listed in its
parent but could not be entered until the TTL expired.

Rewrite the node in place and invalidate both parents' listings
instead. Also stops the moved node's DB row being deleted and
recreated on every move, which the B1 data-loss fix worked around
2026-07-19 19:30:05 +02:00
nvrl 717521195c fixed long file names 2026-07-19 15:57:36 +02:00
nvrl a90cf83ff5 fixed some bugs 2026-07-18 19:24:11 +02:00
nvrl 7766628098 refactor, fixed monolithic 2026-07-18 18:33:14 +02:00
nvrl d58dc46708 added parking_lot mutex 2026-07-18 12:24:28 +02:00
nvrl 38aca3cd48 video streaming 2026-07-18 12:08:34 +02:00
nvrl c555315998 improved ui + prompt 2026-07-17 23:34:46 +02:00
nvrl 50c96cbbf4 implemented real offline structure, with online drain 2026-07-17 12:39:03 +02:00
nvrl 68e07ed426 implemented offline scaffold 2026-07-17 10:23:24 +02:00
nvrl bb9804498c added new folder icon, fixed db size (max log size), progress bars 2026-07-16 18:13:48 +02:00
nvrl a38d0371ec implemented shared files, folder uploads, caching 2026-07-16 01:18:03 +02:00
nvrl cc744d56c7 added photos thumbnail caching + bigger photos 2026-07-15 01:00:43 +02:00
nvrl c52d829a43 added trash 2026-07-14 14:55:54 +02:00
nvrl 30039c43d7 updated photos gallery 2026-07-14 12:40:33 +02:00
nvrl dacacf51bb added local file search to prompt 2026-07-13 02:33:18 +02:00
nvrl 8f28f5fd22 improvements to the photos gallery 2026-07-13 02:15:08 +02:00
nvrl 924e07e85f updated prompt design 2026-07-10 16:03:31 +02:00
nvrl d131d3dca8 implemented proton drive prompt 2026-07-01 00:21:42 +02:00
nvrl 5766bc4ed1 transfer ui 2026-07-01 00:02:35 +02:00
nvrl 56abe3fe14 added settings + non blocking ui actions 2026-06-30 18:38:38 +02:00
nvrl 2812e0c893 clippy + pkgbuild 2026-06-30 17:41:52 +02:00
nvrl 03dd8d8496 implemented database for search 2026-06-30 17:35:18 +02:00
nvrl cc2f370670 lazy 2fa 2026-06-30 06:01:36 +02:00
nvrl b3e8e8ab96 performance fixes 2026-06-30 05:56:21 +02:00
nvrl 8e8d42ad3b updated ux 2026-06-30 05:50:20 +02:00
nvrl 99e80a7206 implemented robust fuse mount 2026-06-30 05:43:14 +02:00
nvrl f31633cb3a fmt 2026-06-30 04:58:40 +02:00
nvrl 86fa8aef03 updated app name + fixed missing icon in pkgbuild 2026-06-30 04:58:03 +02:00
nvrl 862740c4ee init 2026-06-30 03:27:13 +02:00