Abdullah Atta
e3a818378d
core: userId is not mandatory when sending bug report
2023-06-17 13:36:01 +05:00
ammarahm-ed
0f2acb2801
core: Init DB instance without platform APIs
2023-06-17 13:36:01 +05:00
Abdullah Atta
5374f2b56c
web: migrate to vitejs from webpack ( #2715 )
2023-06-12 11:49:37 +05:00
Abdullah Atta
ab29a01649
core: allow changing marketing emails consent settings
2023-06-05 18:21:07 +05:00
Abdullah Atta
7f5d5fcb82
core: simplify default notebook object
2023-06-05 15:29:10 +05:00
ammarahm-ed
58f7a206d9
mobile: add settings
2023-06-05 15:29:10 +05:00
Abdullah Atta
2bd0f1a304
web: allow users to view their billing history
2023-05-08 15:25:20 +05:00
Abdullah Atta
7f873f240e
web: allow requesting refunds from settings
2023-05-08 15:25:20 +05:00
Abdullah Atta
5738f48360
core: expire session if key is not found
2023-05-06 15:27:58 +05:00
Abdullah Atta
21c8960146
web: fix "Unauthorized" error on subscription cancel
2023-04-26 11:39:48 +05:00
Ammar Ahmed
9b7af87611
mobile: fix db initialization in background ( #2322 )
...
* core: init collections separately
* mobile: fix db init in background
* mobile: don't call db.init on logout
* mobile: improve db init in app/share extension
* mobile: cleanup
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com >
2023-04-15 23:23:04 +05:00
ammarahm-ed
cc58351731
core: fix notes marked as local only get deleted
...
on sync
2023-04-07 22:40:10 +05:00
Abdullah Atta
9d2bacdc5f
web: replace fixed 7 days with trash cleanup interval
2023-03-21 08:06:34 +05:00
Abdullah Atta
be957d058f
core: add basic subscription handling
2023-03-20 12:53:20 +05:00
ammarahm-ed
a07c8b9e11
core: add trash cleanup duration settings
2023-03-17 22:07:19 +05:00
Abdullah Atta
3674594832
core: do a healthcheck before logging out user on session revoke
2023-03-17 17:03:00 +05:00
Abdullah Atta
8385bd41ea
core: do not connect sse or run sync if user is logged out
2023-01-19 10:57:27 +05:00
Abdullah Atta
a62ca2aada
core: add checks when accessing a note using this._db.notes.note
2023-01-17 12:25:23 +05:00
Abdullah Atta
c5489e3c4a
core: fix double refresh token requests on page refresh
2023-01-16 13:49:05 +05:00
Abdullah Atta
9116a24392
global: update license year to 2023
2023-01-16 13:48:28 +05:00
Abdullah Atta
15ed1b498a
core: use 15s timeout for remote sync
2023-01-13 17:18:44 +05:00
Abdullah Atta
d5793e9e4e
core: gracefully handle case where syncing device gets disconnected
2023-01-13 15:57:33 +05:00
Abdullah Atta
961b953f5a
web: refresh app on sync merge conflict
2023-01-13 14:45:45 +05:00
Abdullah Atta
b3c4dbb910
core: send sync aborted event on out-of-stack sync errors
2023-01-13 14:34:29 +05:00
Abdullah Atta
4ed378bc9c
core: fix unintended merge conflicts
2023-01-13 14:32:13 +05:00
Abdullah Atta
9f832ce25d
core: re-enable legacy login flow
2023-01-09 18:58:30 +05:00
Abdullah Atta
b439571e17
core: add support for changing account email
2023-01-09 16:20:26 +05:00
Abdullah Atta
4fe2f91175
core: throw error if refresh token is not found
2023-01-07 12:48:34 +05:00
Abdullah Atta
d0ddaeba73
core: don't save empty token response
2023-01-06 17:44:07 +05:00
Abdullah Atta
06ad68975f
core: fix Cannot read properties of undefined (reading 'slice')
2023-01-06 17:44:07 +05:00
Abdullah Atta
22871d8baf
core: use the new login flow in all tests
2023-01-06 17:44:07 +05:00
Abdullah Atta
8c87d00102
core: use access_token from response instead of via errors
...
This is more in line with how auth works:
1. You send a request with credentials
2. The server responds with an access_token
The only difference in this approach is that the client
cannot decide which scopes it wants.
2023-01-06 17:44:07 +05:00
Abdullah Atta
12d1b3fcc9
core: impl new 3-step authentication flow (& deprecate old one)
2023-01-06 17:44:07 +05:00
ammarahm-ed
7ac8b478ed
core: make resolve function sync
2023-01-05 22:01:01 +05:00
ammarahm-ed
946fd3fc1d
core: add reminders lookup
2023-01-05 22:01:01 +05:00
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
088235a46d
web: add support for disabling sync & auto sync
2023-01-03 21:46:11 +05:00
Abdullah Atta
f1a2afd9d6
core: do not sync vault key alone
...
this caused a sync loop because vault key is always synced regardless of
whether it has changed or not.
2022-12-02 11:24:56 +05:00
Abdullah Atta
0c0dff3b28
core: fix "Cannot send data if connection is not in "Connected" state"
2022-11-23 12:19:12 +05:00
Abdullah Atta
3ab6c4646c
core: use mutex to establish only 1 connection at a time
2022-11-23 12:19:12 +05:00
Abdullah Atta
8f5ebe315e
core: use client given compression module
2022-11-11 17:01:01 +05:00
Abdullah Atta
349cd27650
core: refactor collector to do everything in 1 step
...
This will speed up the sync slightly since we aren't iterating over all
items twice. It also simplifies the code a bit.
2022-11-10 14:38:32 +05:00
Abdullah Atta
62b93fa5b3
core: fix Cannot read property 'hash' of undefined
2022-10-26 15:16:25 +05:00
Abdullah Atta
7b458a56b2
core: revert "make sync hub connection more reliable"
2022-10-26 08:51:18 +05:00
Abdullah Atta
e25d4a3039
global: update qclone to 1.2.0
2022-10-19 12:10:31 +05:00
Abdullah Atta
0b971bda38
core: minor refactors
2022-10-17 22:46:43 +05:00
Abdullah Atta
73b09847b8
core: make sync hub connection more reliable
2022-10-17 22:46:31 +05:00
Abdullah Atta
577d50b512
core: move index migrations to main database migrations
...
this is better design wise as we won't have to keep checking if the
indices have been migrated or not. We'll just check the database version
and do the appropriate migrations based on that.
2022-10-17 22:36:53 +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