Commit graph

1929 commits

Author SHA1 Message Date
Damien Elmes
f94a129f5e Pull in FSRS fix for pretrain 2023-12-28 18:15:44 +10:00
RumovZ
54b21bdeaa Cloze notetype merges (#2912)
* Abort when trying to match notetypes of different kinds

* Skip merging templates if target is cloze
2023-12-28 18:01:23 +10:00
RumovZ
9bebe2d72d Fix new cards from parent decks being gathered (#2907)
Fixes #2906.
2023-12-24 20:04:28 +10:00
Jarrett Ye
9af073cd0e Update to FSRS-4.5 (#2901) 2023-12-22 16:17:40 +10:00
Damien Elmes
08a7b3ccab Update FSRS
We're on the commit prior to
https://github.com/open-spaced-repetition/fsrs-rs/pull/141, as that is
going to require work that will need to wait until after 23.12
2023-12-22 14:02:39 +10:00
Damien Elmes
2a173fdca9 Force memory state recompute when cards moved into different deck 2023-12-22 14:02:39 +10:00
RumovZ
1ad343c22a Log existing notes during CSV import (#2898) 2023-12-22 14:01:35 +10:00
Damien Elmes
e5fa4791a7 Use seconds instead of minutes for preview delay
Since this is not compatible with older clients, preview_delay has been
brought back so the configured value will still sync.
2023-12-21 11:02:29 +10:00
Damien Elmes
3b3d9444b8 Calculate elapsed days for intraday learning cards
https://forums.ankiweb.net/t/anki-23-12-beta/37771/109
2023-12-13 10:18:29 +10:00
Damien Elmes
701e0b7e60 Fix error generating parameters when a parameter is 0 2023-12-12 12:33:32 +10:00
Damien Elmes
9c3cf6af57 Ensure cloze numbers sort in order
https://forums.ankiweb.net/t/anki-23-12-beta/37771/103
2023-12-12 09:51:42 +10:00
Damien Elmes
935f50cfff Don't use SM2 memory state when cards are manually introduced
https://github.com/open-spaced-repetition/fsrs4anki/issues/540#issuecomment-1848833376
2023-12-12 09:40:31 +10:00
Damien Elmes
f4acaa17cd Update FSRS for new default weights 2023-12-08 13:54:31 +10:00
Damien Elmes
629ff330a2 Allow user to configure hard/good buttons when rescheduling off
Closes #2858
2023-12-08 11:04:34 +10:00
Damien Elmes
cdacb9a489 Hide position when card not new
https://forums.ankiweb.net/t/position-info-is-shown-even-when-the-card-is-not-new/38087
2023-12-08 10:06:14 +10:00
Damien Elmes
a1c2009c0e Treat cards with no reps like new cards
https://github.com/open-spaced-repetition/fsrs4anki/issues/540#issuecomment-1837780217
2023-12-07 14:56:39 +10:00
Damien Elmes
75681810b0 Update to latest fsrs-rs
The extra entries in Cargo.lock and licenses.json are mostly spurious,
and caused by https://github.com/tracel-ai/burn/pull/1025#issuecomment-1842006690
2023-12-07 14:13:58 +10:00
Gustaf-C
908f77ca53 Include elapsed_secs in learning card state (#2862)
* Include elapsed_time in learning card state

* Suggested updates, elapsed_time -> elapsed_secs

* Remove outdated comment
2023-12-06 16:40:22 +10:00
Jarrett Ye
f968cad2a6 Fix/keep two decimals for stability (#2873)
* Fix/keep two decimals

* update test
2023-12-06 10:08:52 +10:00
Abdo
95af26a056 Do not add a fallback field reference if front side contains conditionals (#2859)
* Do not add a fallback field ref if front contains conditionals

* Ensure field reference when there are only conditionals
2023-12-06 10:06:28 +10:00
Jarrett Ye
c54ae4bee1 skip revlog with time = 0 when calc recall cost (#2870)
* skip revlog with time = 0 when calc recall cost

* Update retention.rs
2023-12-05 13:08:34 +10:00
Damien Elmes
7d8ca4f86d Catch NaNs in FSRS weights
Users pasting in weights from the old scheduler were leaving the outer
square brackets in, causing the first and last numbers to be parsed as
NaN.
2023-12-04 16:19:22 +10:00
Shawn M Moore
996216c736 Remember endpoint we authenticated against in returned SyncAuth (#2864)
* Include endpoint we authed against in response

* Add self to contributors
2023-12-04 15:05:29 +10:00
Abdo
5e06a131f6 Show actual due date of learning cards in Card Info (#2865) 2023-12-04 15:04:22 +10:00
Damien Elmes
a52309a9aa Fix relative overdueness order error in filtered deck
https://forums.ankiweb.net/t/anki-23-12-beta/37771/21
2023-12-01 14:54:33 +10:00
Damien Elmes
6ac44aa9ef Fix sorting by due column in notes mode
https://forums.ankiweb.net/t/anki-23-12-beta/37771/20
2023-12-01 14:50:41 +10:00
Damien Elmes
9537646604 Rework error dialog
- Hide traceback
- Include full add-on info in 'copy debug info' button, like about
screen
- Link to troubleshooting page
- Use non-modal pop-up in the common case, to avoid potential conflicts
with other modals.

Closes #2830
2023-11-29 10:25:32 +10:00
Damien Elmes
cb39d40f9f Remove some v3 checks 2023-11-28 14:06:49 +10:00
Damien Elmes
910d864ee7 Update to Rust 1.74, and update most Rust deps
hyper has been held back, as neither reqwest nor axum support 1.0 yet
2023-11-27 13:34:42 +10:00
Damien Elmes
ff3cdaa4cf Suppress manual revlog entry if the previous entry was also manual
Means we lose some detail in the history, but should reduce the
collection bloat caused by a user experimenting with reschedule multiple
times in a short period, when they don't restore from backup afterwards.

https://forums.ankiweb.net/t/possible-syncing-limitation-by-fsrs-manual-scheduling-data-accumulation/37610
2023-11-27 11:24:31 +10:00
Damien Elmes
aea95ee9ae Switch FSRS reschedule to a global option; don't persist
A global is easier to use in conjunction with the 'optimize all' action.
The value is no longer persisted, as doing so makes it too easy for users
to generate a lot of revlog entries when playing with different FSRS
weights/retention settings, such as in https://forums.ankiweb.net/t/possible-syncing-limitation-by-fsrs-manual-scheduling-data-accumulation/37610
2023-11-27 11:24:31 +10:00
Damien Elmes
1021502377 Add option to calculate all weights at once 2023-11-27 11:24:31 +10:00
Damien Elmes
91d2822358 Update to latest FSRS 2023-11-27 11:24:31 +10:00
Jarrett Ye
e88866acc3 don't convert from sm2 when ivl = 0 (#2849) 2023-11-26 13:14:31 +10:00
Abdo
b5f1c6a53c Fix sorting of due timestamps in the browser (#2840)
* Fix sorting of due timestamps in the browser

* Fix due sorting in notes mode

* Drop initial ctype sorting

* Fix new card positions being treated as due days
2023-11-24 18:31:14 +10:00
Jarrett Ye
dcd729374d ignore filtered revlog in time of last review (#2845)
* ignore filtered revlog in time of last review

* fmt SQL
2023-11-24 15:52:00 +10:00
Damien Elmes
a64624a3d6 Use note order when previewing
https://forums.ankiweb.net/t/card-in-disorder/37534/2
2023-11-24 15:01:14 +10:00
Mani
b8d9e77984 fixes: remove unfinished shapes, remove selectable and make shapes remain inside canvas (#2809)
* remove unfinished polygon and remove selectable for shapes in polygon mode

* make group and polygon position remain inside canvas area

* click through transparent area in grouped object

* add some shortcuts for basic usages

* tools button icon in center & switch mode border

* fix load svg image

* basic rtl support, panzoom have issues in rtl mode

* better zoom option both in ltr and rtl

* handle zoom event in mask editor

* add h button to handle toggle mask

* add more mime type

* use capital M (shift+m) for toggle mask

* allow io shortcuts in mask editor only

* make other shapes also remain in canvas bound area

* better zoom implementation, zoom from center
add zoom to resize event listener

* add a border to corner to handle blend of control

* add refresh button to go to  selection menu

* add tooltip to shortcuts and also add shortcut for other tools

* make opacity remain in same state when toggled on

* opacity for group/ungroup objects

* update shortcuts implementation
2023-11-24 14:06:40 +10:00
Damien Elmes
89fe5f710c Include next_day timestamp in revlog export 2023-11-23 14:46:48 +10:00
Damien Elmes
d4b5d85ea7 Add remove_dir_all() 2023-11-22 17:41:45 +10:00
Damien Elmes
70900e91d0 Add a method for exporting revlogs in binary 2023-11-22 11:57:40 +10:00
Damien Elmes
e6a7a8ff4a When training with the whole collection, include deleted card history 2023-11-22 10:53:08 +10:00
Damien Elmes
c97205a535 Fix FSRS retrievability sorting issues
- We must use interval, not stability to infer days_elapsed
- We must use original due date in a filtered deck
- Use retrievability in filtered deck sorting, not just regular sorting
2023-11-20 13:59:45 +10:00
Damien Elmes
2da97e4720 Fix cards showing up due in the past in a filtered deck
Caused by using due instead of original_due when card was in learning.
I think the original goal of that code was to ignore the learning timestamp
and show the next review date instead, but it's both simpler and more
intuitive to show the learning date instead.
2023-11-20 10:52:13 +10:00
Damien Elmes
353d1ac003 Ignore invalid I/O notetypes when deciding whether to add
https://forums.ankiweb.net/t/can-t-add-new-cards/37155
2023-11-15 13:32:02 +10:00
Abdo
fc5b38567b Fix filtered deck ordering of intraday learning cards and reviews (#2828)
* Fix filtered deck ordering of intraday learning cards and reviews

* Handle rollover correctly
2023-11-14 15:08:36 +10:00
Abdo
7c2007ccad Persist FSRS weights search in preset (#2827) 2023-11-14 11:47:08 +10:00
RumovZ
134793835f Allow applying limits of inactive parents (#2824)
* Allow applying limits of inactive parents

* Tweak label/help text (dae)
2023-11-13 14:30:19 +10:00
RumovZ
cf28ec1437 Allow im-/exporting with or without deck configs (#2804)
* Allow im-/exporting with or without deck configs

Closes #2777.

* Enable webengine remote debugging in launch.json

* Reset deck limits and counts based on scheduling

Also:
- Fix `deck.common` not being reset.
- Apply all logic only depending on the source collection in the
gathering stage.
- Skip checking for scheduling and only act based on whether the call
wants scheduling. Preservation of filtered decks also depends on all
original decks being included.
- Fix check_ids() not covering revlog.

* Fix importing legacy filtered decks w/o scheduling

* Disable 'include deck options' by default, and fix tab order (dae)

* deck options > deck presets (dae)
2023-11-13 13:54:41 +10:00
Damien Elmes
e5153fde78 Fix some build steps being re-run a second time unnecessarily 2023-11-13 13:35:54 +10:00