Skip to content

More convergence fixes on conccurent filesystem edits - #226

Merged
marius-cristian merged 6 commits into
mainfrom
verify-swap-stamps
Oct 2, 2026
Merged

marius-cristian merged 6 commits into
mainfrom
verify-swap-stamps

Conversation

@marius-cristian

Copy link
Copy Markdown
Member

No description provided.

Overall now we pull less data if there were conflits durign edits
It is block aware and handles edge cases that could lose data
or edge cases that could trigger a full file pull

Before roughly for 1 MiB change it would trigger a 65 MiB pull,
now it is 16 MiB (just the block that changed).

If there is a conflict, on each side, then 2 blocks are pulled.

For example author superseded a commit, with the pre-fetching
(2,3,4 blocks), would pull before 176 MiB, and now only 32 MiB.

Now we also make judgment calls on per-chunk base, not on a full
file. We keep track of the base of the chunk, the conflicts and
we make sure sidecars from different versions are unrusted.

We announce the base of each version of each file chunk.

We have also discovered and fixed the following bugs:
- a stale sidecare reloaded over a live state overwriting bytes
- if link dropped at close and fill failed, was never ran
- Windows live-mount check does not fail
@marius-cristian
marius-cristian merged commit 5a155b3 into main Oct 2, 2026
8 checks passed
@marius-cristian
marius-cristian deleted the verify-swap-stamps branch October 2, 2026 06:14
marius-cristian added a commit that referenced this pull request Oct 8, 2026
Everything on main after v0.4.8 (c9f2c97) up to 43ce034, 61 commits, in one
commit, so that the code after 0.4.8 enters the history once, under
AGPL-3.0-only. Their messages follow, oldest first, each with its old
short hash and date.

5ab341c 2026-09-15 Fix lint

1d1d2ff 2026-09-15 Update to 0.4.8

afb22eb 2026-09-16 Fix more bugs affecting connection establishment

2474dfb 2026-09-16 More testing around the connection leg anomalyes

7ccf6f8 2026-09-16 Autoconnect and connection improvements

3ca60e5 2026-09-19 WIP: Fix web to desktop and relay fixes

e4765b9 2026-09-25 Update the fixes from KeibiDrop Web from @ac999

64b57be 2026-09-25 Add gate presence for peers, add server keepalive and guard file lk

    We apply the presence gate only to peers who declare a cipher in
    the handshale, older desktop apps lose their heartbeat after a
    disconnect.
    gRPC servers ping idle clients every 45s.
    AddFile, AddFileAS and PullFile read the session under kd.mu.

    Update Cargo.lock vulnerable packages

a4acc07 2026-09-25 Small update on potential no-fuse ui click bug

161b1dd 2026-09-25 Merge pull request #221 from KeibiSoft/more_connection_bug_fixes

    More connection bug fixes and up to date with web version

a912f3e 2026-09-27 Add more niceties in terms of quality of life

e6c1fc9 2026-09-27 Extra tests of observed "jitters" and fixes

ae5a440 2026-09-27 Fix edge case when connecting and disconencting fast

    Also as part of this PR it fixes some bugs around .Trash folders

e9988c7 2026-09-27 Add a README comparison

950fdb4 2026-09-27 Merge pull request #222 from KeibiSoft/more_niceties

    More niceties, mostly in terms of edge case bugs
    Also as part of this PR it fixes some bugs around .Trash folders

ecd272e 2026-09-27 Fix race

52ecb9e 2026-09-30 Bring Android up to date

839c5d6 2026-09-30 Add one more small fix

927b3c0 2026-09-30 Merge pull request #223 from KeibiSoft/more_battle_hardening

    Bring Android up to date

18263f3 2026-09-30 Add scripts for contact sync check

aa2b5a9 2026-10-01 I hate scanners almost as much as I hate my own code mistakes

    Random scanners that hit the idle KD daemon grew the socket buffer
    Now we exterminate them on sight and the buffer stays 0

9ec2f12 2026-10-01 Merge pull request #224 from KeibiSoft/fix/inbound-scanner-filter

    I hate scanners almost as much as I hate code bugs

e05ed32 2026-10-01 Keep both versions when save swapping a non-read version

6cfa7e9 2026-10-01 Merge pull request #225 from KeibiSoft/fix/swap-save-base

    Keep both versions when save swapping a non-read version

7b571fa 2026-10-01 More convergence fixes on conccurent filesystem edits

afd7df9 2026-10-01 Add test and extra scripts used for testin

3754e85 2026-10-01 More block convergence fix/ investigation

5dba30b 2026-10-02 Looks better

d2c6131 2026-10-02 Test cleanup

793cd15 2026-10-02 Finish the saga started yesterday

    Overall now we pull less data if there were conflits durign edits
    It is block aware and handles edge cases that could lose data
    or edge cases that could trigger a full file pull

    Before roughly for 1 MiB change it would trigger a 65 MiB pull,
    now it is 16 MiB (just the block that changed).

    If there is a conflict, on each side, then 2 blocks are pulled.

    For example author superseded a commit, with the pre-fetching
    (2,3,4 blocks), would pull before 176 MiB, and now only 32 MiB.

    Now we also make judgment calls on per-chunk base, not on a full
    file. We keep track of the base of the chunk, the conflicts and
    we make sure sidecars from different versions are unrusted.

    We announce the base of each version of each file chunk.

    We have also discovered and fixed the following bugs:
    - a stale sidecare reloaded over a live state overwriting bytes
    - if link dropped at close and fill failed, was never ran
    - Windows live-mount check does not fail

5a155b3 2026-10-02 Merge pull request #226 from KeibiSoft/verify-swap-stamps

    Overall now we pull less data if there were conflits durign edits
    It is block aware and handles edge cases that could lose data
    or edge cases that could trigger a full file pull

    Before roughly for 1 MiB change it would trigger a 65 MiB pull,
    now it is 16 MiB (just the block that changed).

    If there is a conflict, on each side, then 2 blocks are pulled.

    For example author superseded a commit, with the pre-fetching
    (2,3,4 blocks), would pull before 176 MiB, and now only 32 MiB.

    Now we also make judgment calls on per-chunk base, not on a full
    file. We keep track of the base of the chunk, the conflicts and
    we make sure sidecars from different versions are unrusted.

    We announce the base of each version of each file chunk.

    We have also discovered and fixed the following bugs:
    - a stale sidecare reloaded over a live state overwriting bytes
    - if link dropped at close and fill failed, was never ran
    - Windows live-mount check does not fail

287d03a 2026-10-02 Fix dependabot from benchmarking scripts

ca91b02 2026-10-02 Merge pull request #227 from KeibiSoft/fix_dependabot

    Fix dependabot from benchmarking scripts

a318320 2026-10-02 Fix nil pointer in read stream

688b316 2026-10-03 Merge pull request #228 from KeibiSoft/fix_nil_pointer

    Fix nil pointer in read stream

8da9d58 2026-10-04 Try to auto refresh file explorers when files arrive

5df922c 2026-10-04 Fix bugs that got discovered

    They are mostly  platform specific from this PR
    but there was a no-session nil pointer on OpenEx that crashed
    on main

8072eef 2026-10-04 Identified some long running issue on windows

    couldnt fixt it yet

611c70c 2026-10-05 Extra tunning of the tests

f9af7d3 2026-10-05 Address race condition on unmounting

e21a056 2026-10-05 Merge pull request #232 from KeibiSoft/try_fix_more_issues

    Try to refresh window managers when new files appear

063aa3a 2026-10-05 Skip .fsevents folder from sync

18ad6a9 2026-10-05 Update UI to match Mila design

75642f1 2026-10-06 Continue design

e209ae2 2026-10-06 Tentative fixes of small issues when running tests via live work

    Mostly between windows, web and mac

    Most of the fixes are in terms of log spam,
    default paths and sane configuration defaults

8007fc1 2026-10-06 Merge pull request #235 from KeibiSoft/fix_bugs_from_external_round_of_testing

    Tentative fixes of small issues when running tests via live work

c0c058c 2026-10-07 Merge branch 'main' into update_design

66b81f3 2026-10-07 WIP in updating the Design pixel perfect

54a1651 2026-10-07 More UI updates in terms of cool design

c42e5d4 2026-10-07 UI had too huge cpu usage, now we do batches for large files

    and also less render cycles for unchanged things

72d140d 2026-10-07 Add DIR svg for directories in no-fuse mode

    This makes it easy to spot that you can go inside it

11839c0 2026-10-07 Fix the resilience and better icons for no-fuse files

daaffe1 2026-10-07 CHANGE LICENSE TO AGPL-v3

    Update in terms of UI/UX

1698a54 2026-10-08 Fix unmount issue

8b08d75 2026-10-08 Update SBOM

5386b9d 2026-10-08 Update design, and fix LAN mode bugs

127ce8c 2026-10-08 Slight adjustments to the FUSE screen of UI

9ad12f7 2026-10-08 Add styling for gettin relay credits

dfb0384 2026-10-08 Move the tokens service in a separate pkg

0b0d910 2026-10-08 Update paid priority relay package

43ce034 2026-10-08 Merge pull request #236 from KeibiSoft/update_design

    Update design - This is a major change, the license also changed to AGPL-v3

Co-authored-by: Andrei Cristian <44598788+ac999@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.

1 participant