Commit graph

11332 commits

Author SHA1 Message Date
a.r
15352603bc template_filters: make {{type:}} forwards compatible (#3525)
Make Anki treat {{type:unknown:field}} field replacements as {{type:field}} instead of {{field}}.

The previous behavior was seriously inconvenient for several reasons, including:

* Updated client aren't all released at the same time, causing an unavoidable mismatch period. Now it causes the least friction.
* Devs couldn't readily test new in-dev variants without breaking/inconveniencing their own mobile experience.
* Some users will have (potentially perpetually) outdated Anki clients and likely complain, wasting both dev & deck creator time.

This way users always get to type and especially: The front side will always render as intended.
2024-10-26 19:58:52 +10:00
Ben Nguyen
4572f63cba Enable strict_optional for aqt/importing.py (#3527)
* Enable strict_optional

* Fix mypy errors
2024-10-26 19:56:34 +10:00
Damien Elmes
0cf5179ff0 Fix another non reactive property warning
I waited for the PR check to pass first, but it failed to catch this,
presumably as newly-added files don't trigger the existing checks to
re-run.
2024-10-26 19:48:48 +10:00
Jarrett Ye
85075d129f Feat/add a toggle in the simulator to display time or review count (#3523)
Co-authored-by: Damien Elmes <dae@users.noreply.github.com>
2024-10-26 19:42:57 +10:00
Jarrett Ye
85c1c3bc35 Fix/set default easyDaysPercentages when switch preset (#3526) 2024-10-26 19:38:37 +10:00
Jarrett Ye
688c6d4d1b export revlogs where the rating is between 1 and 4 for research (#3524) 2024-10-26 19:38:17 +10:00
Jarrett Ye
6762addef8 Update to FSRS-rs v1.3.5 (FSRS-5 model update) && keep three decimals for stability (#3520)
* Update to FSRS-rs v1.3.5 (FSRS-5 model update)

* keep three decimals for stability

fix https://forums.ankiweb.net/t/fsrs-5-1d-scheduling-and-learning-steps/50242/122?u=l.m.sherlock
2024-10-26 19:36:27 +10:00
Ben Nguyen
33704468f3 Enable strict_optional for aqt/preferences.py (#3519)
* Enable strict_optional for aqt/preferences.py

* Fix mypy errors
2024-10-26 19:33:53 +10:00
Jarrett Ye
542b0e4768 Fix/skip suspended cards in graphs context retrievability (#3518)
* skip suspended cards in GraphsContext retrievability

* avoid i32 overflow

* avoid u32 overflow
2024-10-26 19:09:20 +10:00
user1823
1f180a0d2d Fix calculation of daily load (#3516)
* Fix calculation of daily load

* Daily load in reviews/day
2024-10-26 19:05:01 +10:00
Damien Elmes
d3da6db1d5 Revert "Fix ease button alignment (#3474)" (#3522)
This reverts commit 332fae40ca.
2024-10-26 18:50:02 +10:00
Damien Elmes
ea86130ad6 Update vitest and unpin vite 2024-10-26 18:41:59 +10:00
Damien Elmes
3d5ef238a7 Force cookie update for CVE
Sveltekit won't update until 3.0

https://github.com/sveltejs/kit/pull/12768
2024-10-26 18:27:10 +10:00
Damien Elmes
db58798db4 Update to stable Svelte 5 release (#3513)
* Update to stable Svelte 5 release

This causes a bunch of warnings to be omitted:

ts/routes/graphs/RangeBox.svelte:52:18
Warn: Properties of objects and arrays are not reactive unless in runes mode. Changes to this property will not cause the reactive statement to update (svelte)
                break;
            case RevlogRange.All:
                $days = 0;

They are triggered on enum references, and it appears to be a bug.
May need to report it to Svelte?

* Deps update

* Silence spurious errors + fix a real one

https://github.com/sveltejs/svelte/issues/13811
2024-10-26 18:21:45 +10:00
Damien Elmes
87bf51fbb6 werkzeug CVE 2024-10-26 18:06:27 +10:00
Damien Elmes
2c31bfc159 Add missing translation
https://forums.ankiweb.net/t/translation-not-working-for-days-to-simulate/50992/2
2024-10-22 23:58:24 +10:00
Damien Elmes
b74032929f Fix error when exporting from empty cards screen
https://forums.ankiweb.net/t/bug-copy-debug-info-button-crashes-anki-24-04-and-24-06-3/50852
2024-10-22 23:24:27 +10:00
Damien Elmes
cd2d78912a Update translations 2024-10-21 18:48:37 +10:00
Damien Elmes
0a9990ed77 Rename remaining 'weights' references to 'params' 2024-10-21 18:13:23 +10:00
Damien Elmes
74330c5b34 Use separate field to store FSRS params
Will allow the user to keep using old params with older clients
2024-10-21 18:13:23 +10:00
Jarrett Ye
a3df7fe658 Create a new kind of revlog entry for reschedule cards on change (#3508)
* create a new kind of revlog entry for Reschedule cards on change

* add comments

* exclude the rescheduled case in reviews graph
2024-10-21 16:47:01 +10:00
Damien Elmes
4334ab1ba9 Bump Rust deps
Primarily for prost, which had incompatible changes
2024-10-21 15:34:04 +10:00
sorata
e21c9404d9 change sort order name (#3510) 2024-10-21 15:20:45 +10:00
Jarrett Ye
f20e5b0e6a Feat/Estimated Total Knowledge By Note & Daily Load (#3507)
* Feat/Estimated Total Knowledge By Note & Daily Load

* Update rslib/src/stats/graphs/retrievability.rs

* Update rslib/src/stats/graphs/future_due.rs
2024-10-21 15:19:42 +10:00
Jarrett Ye
75ba49af76 Feat/option to enable FSRS short-term scheduler when (re)learning steps run out && speed up features based on simulation (#3505)
* Update to FSRS-rs v1.3.2

* add fsrs_short_term_with_steps_enabled to config

* ./ninja fix:minilints

* fix defaults_for_testing

* if current parameters are invalid, skip comparison

fix #3498

* fix redundant_field_names

* cargo clippy --fix

* Update to FSRS-rs v1.3.3

* Update to FSRS-rs v1.3.4

* Avoid an extra config lookup on each card answer (dae)
2024-10-21 15:09:07 +10:00
Jarrett Ye
8635b87610 Feat/export dataset for research (#3511)
* Feat/export dataset for research

* add comment

Co-authored-by: Damien Elmes <dae@users.noreply.github.com>

* target_path is required

* format

* improve efficiency to look up parent_id

* move `use` down
2024-10-18 18:57:06 +10:00
Damien Elmes
c74086fb95 Revert "NF: Improve typing of AnkiWebView action (#3475)" (#3504)
This reverts commit 5610436c88.
2024-10-16 03:02:22 +10:00
Han Yeong-woo
1346671f07 Fully switch to File::set_times() from utime crate (#3503)
* Fully switch to File::set_times() from utime crate

* Switch to open_file()

Future me will end up wondering why we're explicitly declaring read=true

* Fix failing on windows

* Minor tidy-up (dae)

* Fix comment typo
2024-10-16 02:35:37 +10:00
Taylor Obyen
332fae40ca Fix ease button alignment (#3474)
* Fix ease button alignment

* Make CSS not 'hacky'
2024-10-16 01:46:55 +10:00
Jarrett Ye
8f26129c74 Fix/only let FSRS take over short-term schedule when steps are empty (#3496) 2024-10-16 01:16:47 +10:00
Ben Nguyen
cb9bac7280 Enable strict_optional for aqt/editor.py (#3500)
* Enable strict_optional for aqt/editor.py

* Fix mypy errors in EditorWebView class

* Fix mypy errors in Editor class

* DRY

* Match same short circuiting behavior

* Convention
2024-10-16 01:08:24 +10:00
Hikaru Y.
da367a9499 Fix 'Discard changes' dialog appearing even when no changes are made (#3495)
* Fix 'Discard changes' dialog appearing even when no changes are made

https://forums.ankiweb.net/t/anki-24-10-beta/49989/166

* Fix geometry of deck options window not being saved

evt.accept() does not seem to trigger reject().
2024-10-16 00:47:33 +10:00
Cy Pokhrel
4c60e381c4 Fix editor loses focus when toggling list if list item empty (#3483)
* fix editor loses focus when toggling list if list item empty

* fix CONTRIBUTORS
2024-10-16 00:38:35 +10:00
Damien Elmes
719f50db96 Revert "Fully switch to File::set_times() from utime crate (#3501)" (#3502)
This reverts commit 74a40da2a8.
2024-10-16 00:35:26 +10:00
Han Yeong-woo
74a40da2a8 Fully switch to File::set_times() from utime crate (#3501)
* Fully switch to File::set_times() from utime crate
 
* Switch to open_file() (dae)

Future me will end up wondering why we're explicitly declaring read=true
2024-10-16 00:31:17 +10:00
Damien Elmes
f68959d155 Update Rust deps
- Primarily for the latest RUSTSEC on pyo3
- utime has been pinned, as they've introduced a deprecation warning
without a solution being available for folder mtimes
2024-10-15 23:00:45 +10:00
Damien Elmes
654ce95dbe Partially switch to File::set_times() from utime crate 2024-10-15 23:00:38 +10:00
Damien Elmes
d494d1ff1c Fix UI hanging when update check stalls
https://forums.ankiweb.net/t/anki-24-10-beta/49989/222
2024-10-15 21:32:46 +10:00
Damien Elmes
6146dcc390 Revert "When updating all FSRS parameters at once, exclude suspended cards"
https://forums.ankiweb.net/t/memory-state-of-suspended-cards/50460/6

This reverts commit 69f8d9713f.
2024-10-12 22:09:05 +10:00
Jarrett Ye
76eb24276c add get_revlogs API && fix the style of tooltipText of ReviewsGraph (#3490)
* add get_revlogs API

* fix tooltipText of ReviewsGraph

the style of true-retention shouldn't affect the style of tooltipText of ReviewsGraph

* More verbose wording (dae)
2024-10-12 14:49:14 +10:00
Ben Nguyen
71b61e530e Enable strict_optional for aqt/data, aqt/forms, aqt/import_export (#3489)
* Added spacing

* Enable strict_optional for aqt/data

* Update CONTRIBUTORS

* Enable strict_optional for aqt/forms

* Enable strict_optional for aqt/import_export

* Fix mypy errors in import_dialog.py

* Fix mypy errors in exporting.py

* Better variable name

* Stick to assert convention
2024-10-12 14:36:15 +10:00
Damien Elmes
e9b3e754fc Update translations 2024-10-12 00:28:11 +10:00
Damien Elmes
baa27807de Fix true retention table dimensions
https://forums.ankiweb.net/t/anki-24-10-beta/49989/118
2024-10-11 23:57:47 +10:00
Damien Elmes
688e5bd789 Ignore mw typing error 2024-10-11 23:47:22 +10:00
Damien Elmes
b5835eb173 Revert "Decide if element is bold by getComputedStyle (#2453) (#2579)"
This reverts commit ed81a6d2c2.

Caused a regression:
https://forums.ankiweb.net/t/anki-24-10-beta/49989/150
2024-10-11 23:34:50 +10:00
Hikaru Y.
ae277710b3 Fix broken tag editor in Svelte 5 (#3488)
* Fix temporary disappearance of a tag

https://forums.ankiweb.net/t/anki-24-10-beta/49989/47

* Fix incorrect behavior after tag deletion

* Fix tag addition/selection buttons becoming invisible

Once tags were selected, subsequent deselection or selection did not
mount 'TagAddButton' or 'TagsSelectedButton' components.
2024-10-11 23:21:00 +10:00
Ben Nguyen
1b0e483870 Enable strict_optional in aqt/. and aqt/browser (#3486)
* Boolean naming convention

* Rename no_strict_optional -> strict_optional

* Update CONTRIBUTORS

* Enable strict optional for aqt module

* Fix errors

* Enable strict optional for aqt browser

* Fix layout.py errors

* Fix find_duplicates.py errors

* Fix browser.py errors

* Revert a0 a1 names

* Fix tree.py errors

* Fix previewer.py errors

* Fix model.py errors

* Fix find_and_replace.py errors

* Fix item.py errors

* Fix toolbar.py errors

* Fix table/__init__.py errors

* Fix model.py errors

* Fix state.py errors

* Fix table.py errors

* Fix errors in card_info.py

* Fix searchbar.py errors

* Fix name

* Fix assert in browser.py

* Formatting

* Fix assert vh

* assert is not None instead of truthy

* Split _move_current() up to correct type signature (dae)

We want either index or direction, but not both.
2024-10-11 23:12:48 +10:00
Tomas Fabrizio Orsi
fd985348a3 ts/src/app.html: Changed from favicon.png to favicon.ico (#3485)
Signed-off-by: Tomas Fabrizio Orsi <torsi@fi.uba.ar>
2024-10-11 22:25:58 +10:00
a.r
5910395fcb typeanswer: NFC fix & cleanup (#3482)
* typeanswer: cleanup

* DiffNonCombining's new() used String where plain Vec is appropriate
* get rid of normalize_typed for DiffTrait again by pulling code into DiffNonCombining's new()
* two DiffNonCombining testcases

* typeanswer: return to NFC & typos
2024-10-11 20:33:08 +10:00
Arthur Milchior
5610436c88 NF: Improve typing of AnkiWebView action (#3475)
There are only two types of actions. The code does not seems to
consider this to be extandable, and the changed variable is private,
so I would expect it relatively acceptable to change the way it
work. This would improve the typing.

If this is rejected, at least, the callback should be noted as
optional, so that the IDE does not complain that `if cb` can not be
false.
2024-10-11 20:16:20 +10:00