This commit is contained in:
vorotamoroz
2026-03-02 09:36:43 +00:00
parent 7419d0d2a1
commit 4cbb833e9d
5 changed files with 69 additions and 71 deletions

View File

@@ -1,7 +1,7 @@
{
"id": "obsidian-livesync",
"name": "Self-hosted LiveSync",
"version": "0.25.47",
"version": "0.25.48",
"minAppVersion": "0.9.12",
"description": "Community implementation of self-hosted livesync. Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.",
"author": "vorotamoroz",

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "obsidian-livesync",
"version": "0.25.47",
"version": "0.25.48",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "obsidian-livesync",
"version": "0.25.47",
"version": "0.25.48",
"license": "MIT",
"dependencies": {
"@aws-sdk/client-s3": "^3.808.0",

View File

@@ -1,6 +1,6 @@
{
"name": "obsidian-livesync",
"version": "0.25.47",
"version": "0.25.48",
"description": "Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.",
"main": "main.js",
"type": "module",

View File

@@ -3,6 +3,18 @@ Since 19th July, 2025 (beta1 in 0.25.0-beta1, 13th July, 2025)
The head note of 0.25 is now in [updates_old.md](https://github.com/vrtmrz/obsidian-livesync/blob/main/updates_old.md). Because 0.25 got a lot of updates, thankfully, compatibility is kept and we do not need breaking changes! In other words, when get enough stabled. The next version will be v1.0.0. Even though it my hope.
## 0.25.48
2nd March, 2026
No behavioural changes except unidentified faults. Please report if you find any unexpected behaviour after this update.
### Refactored
- Many storage-related functions have been refactored for better maintainability and testability.
- Now all platform-specific logics are supplied as adapters, and the core logic has become platform-agnostic.
- Quite a number of tests have been added for the core logic, and the platform-specific logics are also tested with mocked adapters.
## 0.25.47
27th February, 2026
@@ -205,72 +217,5 @@ However, this is not a minor refactoring, so please be careful. Let me know if y
- Fixed an issue where indexedDB would not close correctly on some environments, causing unexpected errors during database operations.
## 0.25.37
15th January, 2026
Thank you for your patience until my return!
This release contains minor changes discovered and fixed during test implementation.
There are no changes affecting usage.
### Refactored
- Logging system has been slightly refactored to improve maintainability.
- Some import statements have been unified.
## 0.25.36
25th December, 2025
### Improved
- Now the garbage collector (V3) has been implemented. (Beta)
- This garbage collector ensures that all devices are synchronised to the latest progress to prevent inconsistencies.
- In other words, it makes sure that no new conflicts would have arisen.
- This feature requires additional information (via node information), but it should be more reliable.
- This feature requires all devices have v0.25.36 or later.
- After the garbage collector runs, the database size may be reduced (Compaction will be run automatically after GC).
- We should have an administrative privilege on the remote database to run this garbage collector.
- Now the plug-in and device information is stored in the remote database.
- This information is used for the garbage collector (V3).
- Some additional features may be added in the future using this information.
## 0.25.35
24th December, 2025
Sorry for a small release! I would like to keep things moving along like this if possible. After all, the holidays seem to be starting soon. I will be doubled by my business until the 27th though, indeed.
### Fixed
- Now the conflict resolution dialogue shows correctly which device only has older APIs (#764).
## 0.25.34
10th December, 2025
### Behaviour change
- The plug-in automatically fetches the missing chunks even if `Fetch chunks on demand` is disabled.
- This change is to avoid loss of data when receiving a bulk of revisions.
- This can be prevented by enabling `Use Only Local Chunks` in the settings.
- Storage application now saved during each event and restored on startup.
- Synchronisation result application is also now saved during each event and restored on startup.
- These may avoid some unexpected loss of data when the editor crashes.
### Fixed
- Now the plug-in waits for the application of pended batch changes before the synchronisation starts.
- This may avoid some unexpected loss or unexpected conflicts.
Plug-in sends custom headers correctly when RequestAPI is used.
- No longer causing unexpected chunk creation during `Reset synchronisation on This Device` with bucket sync.
### Refactored
- Synchronisation result application process has been refactored.
- Storage application process has been refactored.
- Please report if you find any unexpected behaviour after this update. A bit of large refactoring.
Full notes are in
[updates_old.md](https://github.com/vrtmrz/obsidian-livesync/blob/main/updates_old.md).

View File

@@ -3,6 +3,59 @@ Since 19th July, 2025 (beta1 in 0.25.0-beta1, 13th July, 2025)
The head note of 0.25 is now in [updates_old.md](https://github.com/vrtmrz/obsidian-livesync/blob/main/updates_old.md). Because 0.25 got a lot of updates, thankfully, compatibility is kept and we do not need breaking changes! In other words, when get enough stabled. The next version will be v1.0.0. Even though it my hope.
## 0.25.48
2nd March, 2026
No behavioural changes except unidentified faults. Please report if you find any unexpected behaviour after this update.
### Refactored
- Many storage-related functions have been refactored for better maintainability and testability.
- Now all platform-specific logics are supplied as adapters, and the core logic has become platform-agnostic.
- Quite a number of tests have been added for the core logic, and the platform-specific logics are also tested with mocked adapters.
## 0.25.47
27th February, 2026
Phew, the financial year is still not over yet, but I have got some time to work on the plug-in again!
### Fixed and refactored
- Fixed the inexplicable behaviour when retrieving chunks from the network.
- The chunk manager has been layered to be responsible for its own areas and duties. e.g., `DatabaseWriteLayer`, `DatabaseReadLayer`, `NetworkLayer`, `CacheLayer`, and `ArrivalWaitLayer`.
- All layers have been tested now!
- `LayeredChunkManager` has been implemented to manage these layers. Also tested.
- `EntryManager` has been mostly rewritten and also tested.
- Now we can configure `Never warn` for remote storage size notification again.
### Tests
- The following test has been added:
- `ConflictManager`.
## 0.25.46
26th February, 2026
### Fixed
- Unexpected errors no longer occurred when the plug-in was unloaded.
- Hidden File Sync now respects selectors.
- Registering protocol-handlers now works safely without causing unexpected errors.
### Refactored
- `ModuleCheckRemoteSize` has been ported to a serviceFeature, and tests have also been added.
- Some unnecessary things have been removed.
- LiveSyncManagers has now explicit dependencies.
- LiveSyncLocalDB is now responsible for LiveSyncManagers, not accepting the managers as dependencies.
- This is to avoid circular dependencies and clarify the ownership of the managers.
- ChangeManager has been refactored. This had a potential issue, so something had been fixed, possibly.
- Some tests have been ported from Deno's test runner to Vitest to accumulate coverage.
## 0.25.45
25th February, 2026