Commit graph

12155 commits

Author SHA1 Message Date
llama
c973f0f786
add and use isWindows helper fn 2025-10-18 09:45:24 +08:00
llama
7048730503
add @xterm/addon-webgl package
xterm.js' new DOM renderer seems to have some visual glitches,
try using the webgl renderer first before falling back
2025-10-18 09:43:41 +08:00
llama
778955beb0
add tauri-plugin-dialog crate
to make alert() work
2025-10-18 09:42:26 +08:00
llama
362d09e31f
update advisory allowlist... 2025-10-14 13:22:10 +08:00
llama
6aeb1daecd
fix launcher scripts 2025-10-14 09:48:26 +08:00
llama
ada0722aeb
add title slot 2025-10-14 09:28:29 +08:00
llama
2860e628ee
add option to hide revert buttons 2025-10-14 09:28:12 +08:00
llama
c74a373cdc
update check_web (svelte-check still missing) 2025-10-14 09:27:43 +08:00
llama
a76ef8c422
update minilints 2025-10-14 09:26:41 +08:00
llama
c31985982f
modify i18n resources struct for launcher use 2025-10-14 09:24:59 +08:00
llama
2c731f5610
add to workspace, add helper scripts 2025-10-14 09:23:51 +08:00
llama
d4565742d8
qt/launcher-gui 2025-10-14 09:22:33 +08:00
llama
ef149840ce
add launcher strings 2025-10-14 09:20:56 +08:00
llama
581618610e
modify helper files to support launcher 2025-10-14 09:20:23 +08:00
llama
8f6b1497e0
codegen launcher rpc (partly) 2025-10-14 09:16:38 +08:00
llama
8c6607ff2a
codegen i18n ts for launcher 2025-10-14 09:14:27 +08:00
llama
3b3dce1105
update package.json 2025-10-14 09:13:22 +08:00
llama
86c3b96413
add crates 2025-10-14 09:12:55 +08:00
Lee Doughty
321e23acb2
Replace custom UUID function with crypto.randomUUID (#4384) 2025-10-13 09:37:30 +03:00
nav1s
ab2fe98c54
feat: add tooltips for sidebar items in the browse cards window (#4385)
* feat: add tooltips for all of the sidabar items in the browse cards window

* fix: add name to CONTRIBUTORS
2025-10-13 09:27:40 +03:00
Arold0
76d3237139
Fix notetype original_stock_kind using wrong enum (#4382)
Use OriginalStockKind instead of StockKind when setting
original_stock_kind for basic notetype variants. The two enums
have different numeric values, causing 'Restore to Default' to
restore the wrong template.

For example, StockKind::BasicTyping has value 3, but when read
back as OriginalStockKind, value 3 corresponds to
BasicOptionalReversed instead of BasicTyping (which is 4).

This fixes the off-by-one behavior where:
- Basic (type in the answer) → Basic (optional reversed card)
- Basic (and reversed card) → Basic (optional reversed card)
- Basic (optional reversed card) → Basic (and reversed card)

Fixes #4353
2025-10-09 01:50:50 +03:00
Arold0
d11b74fd38
Fix fatal error when double clicking Add button (#4377)
Prevent adding a note that has already been added by checking if
note.id is set before attempting to add it. This fixes a race
condition when the Add button is clicked multiple times quickly.

Fixes #4376
2025-10-05 15:58:16 +03:00
AmandaSternberg-creator
1f9d943c8d
Localize FSRS error message and update contributors (#4342)
Co-authored-by: Amanda Sternberg <mandis.sternberg@gmail.com>
2025-10-02 21:52:49 +07:00
user1823
1ba4512011
Fix launcher strings (#4375)
* Fix launcher strings

* Add prompt to press enter for installation

* Prompt should appear after ensuring that the OS is supported
2025-10-02 21:50:44 +07:00
GithubAnon0000
969c2b43b5
CHANGE launcher strings to clarify installing for novices (#4327)
* CHANGE strings to clarify for novices

* Update launcher.ftl including suggestions from @dae
2025-10-02 17:00:09 +07:00
matbe766
b2bb85b1a2
Avoid QProgressBar overflow by normalizing to kilobytes (fixes #4341) (#4354)
* qt: normalize large progress totals to kilobytes to avoid QProgressBar overflow (#4341); docs: update CONTRIBUTORS

* update

* revert: keep ProgressManager generic; no autoscaling in progress.py

* revert: keep ProgressManager generic; do scaling only in full sync

* Simplify sync progress update by scaling to KB, fix CONTRIBUTORS
2025-10-02 16:59:09 +07:00
Dan
0986af4f81
fix(Occlusion): remember toggle translucency setting (#4366)
* remember translucency

Adding myself to contributors

Added braces surrounding if statement to comply with ninja checks

* ninja fix format
2025-09-30 20:18:26 +03:00
llama
a842ba1498
replace more hardcoded strings in the launcher with translations (#4368) 2025-09-30 00:13:09 +10:00
llama
f28018c5c6
fix(ci): pin cargo-license to 0.7.0 (#4367)
* pin cargo-license to 0.7.0

* ./ninja fix:minilints
2025-09-30 00:12:24 +10:00
Toby Penner
72d83ffc98
Add syntax for multi-card cloze deletions (#4333)
* Add multi-card cloze support

* Add Toby Penner to CONTRIBUTORS
2025-09-28 18:56:07 +03:00
Elias
f5f60548db
Fix browser search newlines and update CONTRIBUTORS (#4336) 2025-09-27 17:21:57 +10:00
Damien Elmes
e4b8cf3a5f Update translations 2025-09-27 14:09:15 +07:00
llama
e0b0d0d19b
feat: add i18n to launcher (#4361)
* add anki_i18n and locale_config crates to launcher

* add launcher.ftl

* add tr to state

* replace most hardcoded strings with translations

* add support for `launcher` rustcfg to trim translations

* use marker structs to denote type of translations

* move underscores into generated code

* Update cargo-license, which may fix the license order issue (dae)
2025-09-27 16:58:46 +10:00
user1823
b0665a8ef1
Fix/Ensure fuzz doesn't go backward during rescheduling (#4364)
* Fix/Ensure fuzz doesn't go backward during rescheduling

Fixes https://github.com/ankitects/anki/issues/2694

* Fix

* Get previous_interval from LastRevlogInfo

* Fix

* Format

* Format

* Exclude lapses

* Force reconfigure in CI

The cached build.ninja may reference files that don't exist in the PR.
On a local build this tends to auto-fix itself as the build scripts detect
a quick failure and re-run the configure, but CI tends to be too slow.

https://github.com/ankitects/anki/pull/4364#issuecomment-3338026129

* Rename min/max to make it clear they restrict interval, not fuzz

* Wording tweaks/comments for clarity

---------

Co-authored-by: Damien Elmes <gpg@ankiweb.net>
2025-09-27 16:43:34 +10:00
user1823
d8aa244a5a
Export last_interval to Python (#4365)
* Export last_interval to Python

* Add last_interval field to StatsRevlogEntry

* Implement last_interval_secs function

* Update last_interval field type in stats.proto

* Update last_interval to use last_interval_secs
2025-09-27 15:58:41 +10:00
Jarrett Ye
03f3a005f4
Fix/first and latest review dates should only consider entries with a rating. (#4360)
* Fix/first and latest review dates should only only consider entries with a rating.

* Update rslib/src/stats/card.rs

Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>

---------

Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>
2025-09-27 15:46:50 +10:00
Jarrett Ye
3a5a2b1afb
Improve performance of reviews_for_fsrs function (#4339)
* Refactor reviews_for_fsrs function for improved performance

Replaced the previous implementation with a more efficient approach using a single loop and pre-allocated vectors. This change reduces the complexity of creating FSRSItems and enhances overall performance, especially for larger datasets.

* collapse `if` statement

* When not training, only create the final FSRS item
2025-09-27 15:37:24 +10:00
Hanni614
ee664b8fbb
Stats - Retention rate help box links to Deck Options manual page #4198 (#4329)
* stats: link retention help box to "Desired retention" section

* docs: use HTTPS for fsrs and desiredRetention links

* Add Hanna Nilsén to CONTRIBUTORS

* Apply suggestion from @user1823

Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>

---------

Co-authored-by: Hanna Nilsén <hannanilsen@macbookair.students.netlogon.liu.se>
Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>
2025-09-27 14:46:11 +10:00
llama
436590f4c2
feat: add support for tag:nc:... searches (#4344)
* feat: add support for `tag:nc:...` searches

* add test
2025-09-25 07:11:07 +03:00
llama
c56e6e55ec
feat: show saved custom colours as options in fill tool colour picker on mobile (#4348)
* add GetCustomColours rpc method

* save colours as rgb instead of argb

* show saved custom colours as possible options in colour picker

this is primarily for mobile clients, as qt currently ignores this

* save custom colours on colour picker change (for desktop)
2025-09-25 06:34:27 +03:00
Damien Elmes
04a0b10a15 Launcher now checks Windows version
https://forums.ankiweb.net/t/issue-with-installing-anki-launcher-into-custom-folder/66355
2025-09-23 19:50:40 +10:00
dependabot[bot]
99c67d39cb
Bump ammonia from 4.1.1 to 4.1.2 (#4355)
Bumps [ammonia](https://github.com/rust-ammonia/ammonia) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/rust-ammonia/ammonia/releases)
- [Changelog](https://github.com/rust-ammonia/ammonia/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-ammonia/ammonia/compare/v4.1.1...v4.1.2)

---
updated-dependencies:
- dependency-name: ammonia
  dependency-version: 4.1.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-23 18:14:05 +10:00
Damien Elmes
0d31c6de4a Hard-code more mime types
If I had a dollar for all the weird and wonderful ways Windows systems
can be broken, I'd be a very rich man.

https://forums.ankiweb.net/t/the-gear-icon-in-the-anki-interface-is-not-displaying-properly/66274
2025-09-23 18:00:55 +10:00
Damien Elmes
fb332c4fe1 Add Yiddish to language list 2025-09-21 23:33:15 +10:00
Damien Elmes
48f774c711 Add Kazakh to language list 2025-09-21 22:45:11 +10:00
Damien Elmes
3890e12c9e Bump version
.1 release skipped due to missing bugfix
2025-09-17 16:50:13 +10:00
llama
80cff16250
fix: persist colour picker's custom palette in profile (#4326)
* add SaveCustomColours rpc method

* restore custom colour palette on editor init

* save custom colour palette on colour picker open and input

there doesn't seem to be an event fired when the picker is
cancelled/closed, so it's still possible for work to be lost

* save colours on `change` instead of `input`

`input` is supposed to be fired on every adjustment to the picker
whereas `change` is only fired when the picker is accepted, but qt
seems to treat both as the latter, so this is currently a no-op

* Store colors in the collection

One minor tweak to the logic while I was there: an invalid color no
longer invalidates all the rest.

---------

Co-authored-by: Damien Elmes <gpg@ankiweb.net>
2025-09-17 16:46:53 +10:00
Abdo
75d9026be5
Decode images asynchronously (#4320) 2025-09-17 09:06:42 +03:00
Damien Elmes
6854d13b88 Bump version 2025-09-17 15:50:16 +10:00
Damien Elmes
29072654db Update translations 2025-09-17 15:50:02 +10:00