Abdullah Atta
baa06ebd6e
core: add collection to hold all item<->item references
2023-01-05 22:01:01 +05:00
Abdullah Atta
a8f1fbf6a1
core: add collection for reminders
2023-01-05 22:01:01 +05:00
Abdullah Atta
62b93fa5b3
core: fix Cannot read property 'hash' of undefined
2022-10-26 15:16:25 +05:00
Abdullah Atta
e1fc116994
core: improve content conflict detection using proper HTML diffing ( #1183 )
...
Since HTML is a tree-like language it is futile to compare it character
for character. `html1 === html2` is almost always false. This commit
introduces a simple diffing algorithm that only checks the text inside
the html + a few other attributes to decide whether the 2 HTMLs are
actually different or not. This is obviously not foolproof and it will
ignore everything aesthetic (b, em, strong tags etc.). This is actually
desireable because in our case only the text difference should
warrant a conflict. Everything else can easily be brought back.
Similarly, this also ignores whitespace differences surrouding the
tags.
All in all it'll provide a more reliable alternative to MD5 hashing the
2 HTMLs.
2022-10-13 19:22:32 +05:00
Abdullah Atta
f3fa7fe744
core: update core version to 5.8
2022-10-13 19:18:52 +05:00
Abdullah Atta
c09715d053
core: make item migration fall through all db versions
...
this was not exactly a bug but it can cause a lot of unintended
behaviour. Previously, you'd have to manually specify which version the
item migration should jump to. This was buggy and poorly designed.
This change makes the item iterate over all the db migrations one by one
automatically.
For example:
An item at version 5.2 will go through:
- 5.3
- 5.4
- and so on
2022-10-13 19:18:52 +05:00
Abdullah Atta
7c99c3acb9
core: add migrations for notebooks & settings ( #1020 )
2022-09-21 11:47:09 +05:00
Abdullah Atta
6c613c6f1e
Merge branch 'move-pins-out'
2022-09-21 10:45:58 +05:00
Ammar Ahmed
e5e965415d
feat: realtime & auto sync for all users ( #944 )
2022-09-20 18:33:55 +05:00
Abdullah Atta
ac7aad93b3
core: shorcuts -> shortcuts
2022-09-07 14:13:26 +05:00
Abdullah Atta
1e99d7732c
core: add new collection for shortcuts
2022-09-07 12:47:02 +05:00
Abdullah Atta
d81f5dba65
refactor: migrate to theme-ui from rebass
2022-08-31 07:26:27 +05:00
Abdullah Atta
c317774c8a
docs: add license header
2022-08-30 16:17:04 +05:00
thecodrr
cf9bad7db8
fix: content type being set to "content" during sync
...
this bug broke export/publishing & basically
everything that depends on content type
to function.
2022-08-06 10:45:15 +05:00
thecodrr
5b96009875
fix: merge settings with conflict expectation
2022-07-20 19:55:00 +05:00
thecodrr
32d4cfa594
feat: disable interruptible syncing
2022-07-20 07:19:48 +05:00
thecodrr
530a1cc625
feat: add log messages all over the place
2022-07-19 11:16:46 +05:00
thecodrr
4e34f33f1d
fix: expect merge conflicts in notebooks
2022-07-13 12:21:00 +05:00
thecodrr
3f54f36d50
feat: migrate from tiny -> tiptap
2022-07-07 13:17:55 +05:00
thecodrr
2cbe8dffd8
feat: make sync more resilient
2022-03-30 20:45:16 +05:00
thecodrr
4135028137
feat: improve sync over websockets
2022-03-30 15:52:48 +05:00
thecodrr
aa764e6cc8
fix: merge deleted attachments directly
2022-03-16 22:12:41 +05:00
thecodrr
9fe100f09f
fix: add null checks
2022-03-11 15:06:21 +05:00
thecodrr
f78e56fdcb
feat: add full support for localOnly items
2022-03-11 12:40:42 +05:00
thecodrr
1d283c73f4
fix: improve content conflict resolution
...
this fixes the "undefined is not a function" error originated from
SparkMD5. Basically, sometimes the remote content or local content is
an object — an invalid state. So we need to check for that.
(fixes streetwriters/notesnook#371 )
2022-02-25 15:27:00 +05:00
thecodrr
23fac959f4
fix: get remoteItem id from decrypted data
2022-01-12 23:51:21 +05:00
thecodrr
6c6e5a7676
fix: throw error if decrypted data is undefined
2022-01-03 14:54:23 +05:00
thecodrr
c16bfd31e3
fix: cannot read property dateResolved of undefined
2022-01-01 20:58:56 +05:00
thecodrr
43bb3d2785
fix: throw proper error if local db version is lower than required
2021-12-31 11:50:21 +05:00
thecodrr
d52cb6a82e
fix: keep local content if resolved
2021-12-31 10:45:10 +05:00
thecodrr
edd9dc5de2
fix: notes not merging on sync
2021-12-29 09:34:20 +05:00
thecodrr
06828ac35c
feat: dateEdited -> dateModified
2021-12-20 14:37:06 +05:00
thecodrr
2e00ba2e8a
refactor: seperate note add & merging
2021-12-20 09:28:17 +05:00
thecodrr
2cc5ec74c2
fix: images are not attached on note publish
2021-12-01 20:18:14 +05:00
thecodrr
64535cc61c
fix: repair all notebook references on sync/backup
2021-11-12 11:47:03 +05:00
thecodrr
e608eaaedf
fix: repair notebook references in notes on sync
2021-11-12 10:32:25 +05:00
thecodrr
b139623420
feat: remove trash from merger & backup
2021-11-12 09:38:11 +05:00
thecodrr
011a99d322
fix: improve syncing & merge conflict detection
2021-10-27 10:53:36 +05:00
thecodrr
41fd0042dc
fix: merge everything serially always
2021-10-26 12:14:37 +05:00
thecodrr
51794e001e
feat: add 3-layer-encryption for attachments
2021-10-25 11:35:00 +05:00
thecodrr
69defdb367
feat: handle attachments merge conflict
2021-10-23 11:41:17 +05:00
thecodrr
6b619e5d3d
feat: add upload/download cancellation support
2021-09-29 09:53:50 +05:00
thecodrr
7d16b8f388
feat: refactors and add support for upload/download progress
2021-09-26 11:47:13 +05:00
thecodrr
1c51824b33
feat: add attachments support
2021-09-20 12:10:36 +05:00
thecodrr
14fed3e8bb
fix: use dateResolved to prevent recursive merge conflicts
2021-08-10 11:59:56 +05:00
thecodrr
bbf05064e4
feat: allow overwriting date edited of note content
2021-07-25 11:31:44 +05:00
thecodrr
7679b19fae
refactor: minor refactor
2021-07-06 20:56:54 +05:00
thecodrr
1113c5cfcd
fix: exception when mergin locked notes
2021-06-17 10:41:50 +05:00
thecodrr
3a5fd2ea65
fix: check and handle undefined data during sync merge
2021-06-03 09:18:18 +05:00
thecodrr
d28e29a09f
fix: undefined remote.data during conflict
2021-04-19 10:05:47 +05:00