Commit graph

34 commits

Author SHA1 Message Date
abdo
e018ea94b6 Merge branch 'master' of https://github.com/ankitects/anki into tagtree 2021-01-15 01:12:01 +03:00
abdo
ee3c019804 Remove Default impl of Tag 2021-01-14 07:04:55 +03:00
Damien Elmes
633034b24d add local sync server frontend 2021-01-13 11:42:00 +10:00
Damien Elmes
fbd91b22f5 tidy up UTC offset handling/timing calculations
- use the TimestampSecs newtype instead of raw i64s
- use FixedOffset instead of a minutes_west offset
- check localOffset each time the timing is calculated, and set it
if it's stale - even for v1.
- check for and fix missing rollover when calculating timing
- stop explicitly passing localOffset in the sync/start call
2021-01-12 21:32:56 +10:00
Damien Elmes
31f941267c move sync JSON into separate file; add enum wrapper 2021-01-12 18:47:08 +10:00
Damien Elmes
09dfa9ced6 allow normal sync tests to run offline 2021-01-12 18:47:08 +10:00
Damien Elmes
f6c1a91674 use '<=' when merging UnchunkableChanges
Prevents current tests from failing when testing locally, due the current
second not changing between syncs.
2021-01-12 18:47:08 +10:00
abdo
b276ce3dd5 Hierarchical tags 2021-01-09 17:10:13 +03:00
Damien Elmes
a834df60ce rename some card+note fields in backend 2020-09-01 10:24:38 +10:00
Damien Elmes
ccfa989c62 move unbury/unsuspend routines into backend 2020-09-01 10:24:38 +10:00
Damien Elmes
4662a9fe1a check if we need to unbury at the start of the sync process
https://forums.ankiweb.net/t/bug-buried-cards-in-filtered-decks-not-being-unburied-next-day/2541/24
2020-08-28 21:09:07 +10:00
Damien Elmes
7bcec00ef4 fix some clippy lints 2020-08-26 19:02:56 +10:00
Damien Elmes
06e00be985 specify I/O timeout
We need to be a bit conservative here due to buffer bloat - in the
upload case on a slow link, it can appear that no I/O is happening
when a buffer is draining.
2020-08-26 18:30:51 +10:00
Damien Elmes
b363aaf401 handle some instances of floats when an integer is expected during sync 2020-08-03 17:47:15 +10:00
Damien Elmes
710127d490 fix moves into/out of a filtered deck not syncing
the mtime comparison should have only been done if the object in the
local collection was also pending
2020-07-31 15:39:30 +10:00
Damien Elmes
26fc6609a7 move revlog out of sync code, and add enums
and remove type=4, which does not appear to be used
2020-06-16 16:31:36 +10:00
Damien Elmes
4a69b55a90 add note/card removal to backend 2020-06-04 18:21:04 +10:00
Damien Elmes
519b8c3425 ensure sync indicator updates after download 2020-06-02 15:10:41 +10:00
Damien Elmes
35ee106503 fix full download on Windows 2020-06-02 15:06:23 +10:00
Damien Elmes
4d7e23111e change sync label to indicate sync state
- blue for normal sync, red for full sync required
- refactor status fetching code so we don't hold a collection lock
during the network request, which slows things down
- fix sync spinner restarting when returning to deck list
2020-06-02 13:23:01 +10:00
Damien Elmes
2147f75bc5 add some syncing tests - please see alpha2 notes before syncing 2020-06-01 19:44:25 +10:00
Damien Elmes
4917cabeb9 handle missing counts in sanity check 2020-06-01 19:38:41 +10:00
Damien Elmes
403ac2715c if both sides empty, allow either 2020-06-01 18:11:43 +10:00
Damien Elmes
d8b907e4e8 tell AnkiWeb to abort on interrupt 2020-06-01 13:57:10 +10:00
Damien Elmes
c6f0710ce7 report normal sync progress
Also:
- provide a way for the progress handler to skip the throttling so that
we can ensure progress is updated at the end of a stage
- show 'checking' at the end of full sync
2020-06-01 13:57:10 +10:00
Damien Elmes
529152aef6 rework usn handling in sync 2020-06-01 13:57:10 +10:00
Damien Elmes
5102255ff9 add due counts to sanity check 2020-06-01 13:57:10 +10:00
Damien Elmes
0e5b7da62a login/full up/full down plugged in 2020-06-01 13:57:10 +10:00
Damien Elmes
ee6d7f82e7 rework progress handling
- client now polls status instead of backend pushing it
- supports multiple threads
- update throttling happens in one place
2020-06-01 13:57:10 +10:00
Damien Elmes
b254b1f722 another snapshot of sync work
progress handler is going to need to be reworked to function across
threads
2020-06-01 13:57:10 +10:00
Damien Elmes
e4b43b8773 make sure we invalidate cache after direct update 2020-06-01 13:57:10 +10:00
Damien Elmes
f10d0ee0cb more syncing work
no checks yet
2020-06-01 13:57:10 +10:00
Damien Elmes
529e89f48e full upload/download HTTP code 2020-06-01 13:57:10 +10:00
Damien Elmes
4fcb10bfa9 start on HTTP client for syncing 2020-06-01 13:57:10 +10:00