Commit graph

12099 commits

Author SHA1 Message Date
GithubAnon0000
ab6e8ce09e
Merge branch 'main' into pr-4370 2025-09-30 18:50:02 +00: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
GithubAnon0000
28d3b46d35 CHANGE: Reuse existing color palette 2025-09-30 01:44:39 +02:00
GithubAnon0000
4debb0ddfc FIX: Missing key in db and related error popup (thanks @iamllama) 2025-09-30 01:07:11 +02:00
GithubAnon0000
26b69008d8
Update qt/aqt/data/web/css/reviewer-bottom.scss
Co-authored-by: Ross Brown <rbrownwsws@googlemail.com>
2025-09-29 22:31:14 +00:00
GithubAnon0000
7d5683a0b2
Update qt/aqt/reviewer.py
Co-authored-by: Ross Brown <rbrownwsws@googlemail.com>
2025-09-29 22:12:05 +00:00
GithubAnon0000
1821359b4d
Update qt/aqt/preferences.py
Co-authored-by: Ross Brown <rbrownwsws@googlemail.com>
2025-09-29 22:11:56 +00:00
GithubAnon0000
e58d1e0881
Update qt/aqt/preferences.py
Co-authored-by: Ross Brown <rbrownwsws@googlemail.com>
2025-09-29 22:11:46 +00:00
GithubAnon0000
33ed1efbc0 REMOVE: Unneccessary object in schema11 2025-09-30 00:03:52 +02:00
GithubAnon0000
e840aae5ec FIX: tabstop was missing in preferences 2025-09-29 23:42:36 +02:00
GithubAnon0000
84d887b831 CHORE: Improve consistency in string and function names #3 2025-09-29 23:41:15 +02:00
GithubAnon0000
453df4b373 CHORE: Improve consistency in string and function names #2 2025-09-29 23:27:56 +02:00
GithubAnon0000
7b52687c42 CHORE: Improve consistency in string and function names #1 2025-09-29 23:24:17 +02:00
GithubAnon0000
6b2aa2c5db CHANGE: Use 1px instead of 2px 2025-09-29 22:51:42 +02:00
GithubAnon0000
2a467559c3 FIX: Add correct initial value to solve bug 2025-09-29 22:46:07 +02:00
GithubAnon0000
11dbaa740e FIX: Option had no initial value (true/false) 2025-09-29 22:42:24 +02:00
GithubAnon0000
cd44746131 CHANGE: Move checkbox down to related option 2025-09-29 22:32:53 +02:00
GithubAnon0000
e9b8f9487e CHORE: ninja fix && format 2025-09-29 22:31:06 +02:00
GithubAnon0000
5da16c0f06 FEAT/ADD: Option for colored answer buttons 2025-09-29 22:28:48 +02:00
Expertium
aaa9f8c11e
Add border styles for answer buttons in reviewer CSS 2025-09-29 17:38:59 +03:00
Expertium
a74fd43d34
Colored button borders to prevent Hard misuse 2025-09-29 17:34:48 +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
jcznk
ec6f09958a
(UI polish) Improved margins in Card Browser's "Previewer" (#4337)
* Improved margins in Card Browser's "Preview" pane

* Alternate approach that looks good on Mac too

---------

Co-authored-by: Damien Elmes <gpg@ankiweb.net>
Co-authored-by: Damien Elmes <dae@users.noreply.github.com>
2025-09-17 15:30:22 +10:00
snowtimeglass
c2957746f4
Make timebox message translatable with flexible variable order (#4338)
* Make timebox message translatable with flexible variable order

Currently, the timebox dialog message is built from two separate strings,
each containing one variable:
"{ $count } cards studied in" + "{ $count } minutes."

As a result, translators cannot freely reorder the variables in their translations.

This change introduces a single string with both variables, allowing translators
to adjust the order for more natural expressions in their languages.

* Preserve old string for now

* Ensure message doesn't display over two lines

---------

Co-authored-by: Damien Elmes <gpg@ankiweb.net>
2025-09-17 15:13:59 +10:00
Luc Mcgrady
9e415869b8
Fix/Add lower review limit to health check. (#4334) 2025-09-17 14:04:27 +10:00
Emil Hamrin
7e8a1076c1
Updated Dockerfile to use Ninja build system (#4321)
* Updated Dockerfile to support ninja build

* Install python using uv

* Bumped python version

* Add disclaimer (dae)
2025-09-17 14:02:09 +10:00
dependabot[bot]
b97fb45e06
Bump vite from 6.3.5 to 6.3.6 (#4328)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.5 to 6.3.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.6
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-17 12:08:11 +10:00
Damien Elmes
61094d387a Update translations 2025-09-17 09:31:47 +10:00