Making it configurable would be complicated, so this just restores
the limit to close to the protobuf limit we were butting up against
for now.
Related: #3637
* add Note::set_modified_with_mtime
* add struct for Collection::update_note_inner_without_cards's args
* refactor Collection::update_note_inner_without_cards to use the arg struct
* add Collection::update_note_inner_without_cards_using_mtime
* use incoming note's mtime when updating notes during import
* add support for comments to templates
* add tests
* add support for comments to CardLayout
* fix lints
* revert current impl
* extract parsing logic from legacy_text_token
* add support for comments to templates
* add tests
* refactor take_until_handlebar_start_or
* remove redundant rest
* Require full subclause match when locating next token (dae)
* Rework legacy template handling (dae)
The handlebar parser is now an instance method of a TemplateMode
enum, allowing us to avoid duplicate code for the legacy code path,
and the necessity to box up the iterator.
This does result in a change in behaviour: when the user has specified
the alternate syntax, the standard syntax will no longer be accepted.
* Remove stale comment (dae)
* Feat/support new cards ignore review limit in simulator
* ./ninja fix:minilints & ./ninja format
* use published crate
* make newCardsIgnoreReviewLimit reactive
* format
---------
Co-authored-by: Damien Elmes <gpg@ankiweb.net>
* new easy days algorithm
* take easy day percent totals in account when determining reduced scheduling
* Use variant method to avoid repeated mapping to a constant (dae)
It was probably not worth the time I took to change this ^_^;
* Add some unit tests
Covers most of the cases encountered in https://github.com/ankitects/anki/pull/3639
* Format
* Update params.rs
Makes the test more robust.
* Update params.rs
When training, the first FSRS item is removed. That's why none of the other tests includes it.
Co-authored-by: Jarrett Ye <jarrett.ye@outlook.com>
* Improve naming
* Fix typo
---------
Co-authored-by: Jarrett Ye <jarrett.ye@outlook.com>
* Fix/fallback to non-manual entry when first_of_last_learn_entries non found
* refactor single_card_revlog_to_item(s)
* update unit test of bypassed_learning_is_handled
* move comment line
* remove first_relearn_entries
* skip cram entry
* only pick non_manual_entries after ignore date
* fallback to non_manual_entries if the first learning step is before the ignore date
* pass ci
* update ignore_before_date_between_learning_steps_when_reviewing
* shorten the comment
* Minor refactoring
- fsrs_items_for_memory_state - fsrs_items_for_memory_states
- single_card_revlog_to_item -> fsrs_item_for_memory_state
(to match fsrs_items_for_training)
- single_card_revlog_to_items -> reviews_for_fsrs
- Use struct instead of tuple for reviews_for_fsrs output
- Don't return count, since we're already returning the filtered list
* More renaming/comment tweaks
- non_manual_entries -> first_user_grade_idx
- change comments to reflect the fact that we're working backwards
- Use "user-graded" rather than "non-manual"
* Add extra unit test
* Some wording tweaks
* Add gradient color for forgetting curve
* Add desiredRetention prop for CardInfo
* update CONTRIBUTORS
* Formatting
* Tweak range of gradient
* Tweak: salmon -> tomato
* Get desired retention of the card from backend
* Add a reference line for desired retention
* Fix: Corrected the steel blue's height & Hide desired retention line when yMin is higher than desiredRetentionY
* Add y axis title
* Show desired retention in the tooltip
* I18n: improve translation and vertical text display
* Revert rotatation&writing-mode of vertical title
* Tweak font-size of y axis title
* Fix: delete old desired retention line when changing duration
* Update ftl/core/card-stats.ftl
---------
Co-authored-by: Damien Elmes <dae@users.noreply.github.com>
Because of the `entry.button_chosen == 0` part, it also filters out reschedule entries. Frankly, we don't need the `(entry.review_kind == RevlogReviewKind::Rescheduled)` part, but I didn't remove it yet.
Co-authored-by: Abdo <abdo@abdnh.net>
* include backlog cards in today in future due graph
when backlog option is not checked
* Don't add the backlog to today when backlog disabled
---------
Co-authored-by: Damien Elmes <gpg@ankiweb.net>
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.
* 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)
* 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