# Anki 2.1.45 Beta

**URL:** <https://forums.ankiweb.net/t/anki-2-1-45-beta/10664>\
**Category:** Beta Testing\
**Created:** [June 8, 2021, 4:57am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664 "2021-06-08T04:57:55Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![AnKingMed](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/ankingmed/32/32686_2.png) [@AnKingMed](https://forums.ankiweb.net/u/AnKingMed)\
**Post date:** [June 27, 2021, 6:12pm UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/64 "2021-06-27T18:12:31Z")

</div>

> [@Rumo](#):
>
> not sure if it’s worth adding a separate context action.

I personally would use this feature quite often. I’m not sure how many others would but maybe better as a top menu item so it’s available, just not right on the surface?

---

<div class="post-metadata">

**Author:** ![dae](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/dae/32/65_2.png) [@dae](https://forums.ankiweb.net/u/dae)\
**Post date:** [June 28, 2021, 9:31am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/65 "2021-06-28T09:31:19Z")

</div>

@Rumo We already expose the full names in the editor tag field, so I’m not sure we’re saving the user from much complexity in this case, and it means we’re making things less flexible for power users. I’m not really fond of the idea of adding another option either, but maybe it’s worth considering changing the current behaviour to show the full name instead? Presumably Qt will show it scrolled to the right, so the part users likely want to change should be in view.

---

<div class="post-metadata">

**Author:** ![Rumo](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/rumo/32/1505_2.png) [@Rumo](https://forums.ankiweb.net/u/Rumo)\
**Post date:** [June 28, 2021, 10:10am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/66 "2021-06-28T10:10:22Z")

</div>

We’re currently using `QAbstractItemView.edit()` which doesn’t allow for setting a custom text. I assume that writing our own inline editor wouldn’t be trivial.  
Of course, we could go back to opening a separate dialogue, but I find that cumbersome, and it would be redundant for saved searches, where the node text is already the full name.

Also, users who’ve never used hierarchical tags, but want to edit imported ones, can easily destroy the hierarchy if they’re prompted to enter a new _full_ name, because they could reasonably assume that they are only going to replace the name of the _node_, which they have right-clicked.

---

<div class="post-metadata">

**Author:** ![hengiesel](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/hengiesel/32/920_2.png) [@hengiesel](https://forums.ankiweb.net/u/hengiesel)\
**Post date:** [June 28, 2021, 7:50pm UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/67 "2021-06-28T19:50:29Z")

</div>

Bug: Trying to add an option preset in the new deckoptions, will let you write text on a write background. I’m on it.

---

<div class="post-metadata">

**Author:** ![cso](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/cso/32/2553_2.png) [@cso](https://forums.ankiweb.net/u/cso)\
**Post date:** [June 28, 2021, 9:25pm UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/68 "2021-06-28T21:25:02Z")

</div>

Settings are not showing up in Beta 3 when I go to Preferences on Mac. It just brings up a font selector.

---

<div class="post-metadata">

**Author:** ![dae](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/dae/32/65_2.png) [@dae](https://forums.ankiweb.net/u/dae)\
**Post date:** [June 29, 2021, 3:06am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/69 "2021-06-29T03:06:59Z")

</div>

Beta 4 is now available.

@basiskarten sorry, I meant to reply earlier. You make a decent argument for it, and if Anki already stored a permanent position for each card, I would probably add it. But unfortunately we’re limited to card creation order at the moment, and users need to rewrite their card ids+do a full sync when the order is incorrect. I’d prefer not to encourage that, so it’s probably best to wait until Anki adds a permanent ordering in some future update.

@Rumo hmm, good points too. So I guess we’re left with either leaving things as they are, or adding a separate context item like “rename full tag?”

@cso it’s good forum etiquette to post the solution when you discover it - I presume in this case you had some add-on causing the problem.

---

<div class="post-metadata">

**Author:** ![Rumo](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/rumo/32/1505_2.png) [@Rumo](https://forums.ankiweb.net/u/Rumo)\
**Post date:** [June 29, 2021, 6:28am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/70 "2021-06-29T06:28:00Z")

</div>

Well, Find & Replace already facilitates this. What about making it more user-friendly by adding tag completers when the dropdown menu is set to Tags, and maybe presetting the name of the current tag if there is one?

---

<div class="post-metadata">

**Author:** ![kleinerpirat](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/kleinerpirat/32/19863_2.png) [@kleinerpirat](https://forums.ankiweb.net/u/kleinerpirat)\
**Post date:** [June 29, 2021, 7:04am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/71 "2021-06-29T07:04:38Z")

</div>

Beta 4 causes another startup error on Linux:

```auto
Traceback (most recent call last):
  File "runanki.py", line 3, in <module>
  File "/home/dae/venv/lib/python3.8/site-packages/PyInstaller-4.0.dev0+g2886519-py3.8.egg/PyInstaller/loader/pyimod03_importers.py", line 625, in exec_module
  File "aqt/ __init__.py", line 15, in <module>
  File "/home/dae/venv/lib/python3.8/site-packages/PyInstaller-4.0.dev0+g2886519-py3.8.egg/PyInstaller/loader/pyimod03_importers.py", line 625, in exec_module
  File "anki/ __init__.py", line 7, in <module>
  File "/home/dae/venv/lib/python3.8/site-packages/PyInstaller-4.0.dev0+g2886519-py3.8.egg/PyInstaller/loader/pyimod03_importers.py", line 625, in exec_module
  File "anki/collection.py", line 13, in <module>
  File "/home/dae/venv/lib/python3.8/site-packages/PyInstaller-4.0.dev0+g2886519-py3.8.egg/PyInstaller/loader/pyimod03_importers.py", line 625, in exec_module
  File "anki/_legacy.py", line 12, in <module>
ModuleNotFoundError: No module named 'stringcase'
[5152] Failed to execute script runanki

```

> [@dae](#):
>
> Sigh, thanks. Beta 5 is now available.

That fixed it, thanks!

---

<div class="post-metadata">

**Author:** ![kleinerpirat](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/kleinerpirat/32/19863_2.png) [@kleinerpirat](https://forums.ankiweb.net/u/kleinerpirat)\
**Post date:** [June 29, 2021, 7:26am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/72 "2021-06-29T07:26:40Z")

</div>

These are nice ideas. However, I believe Find & Replace is an underused feature, mainly because it’s hidden up there in the notes menu. Also, I don’t think many people will know that replacing tags is supported.

Perhaps one could swap it with the redundant (at least in search mode) Search entry in this context menu, giving it a bit more prominence and also indicating that it can be used with tags now:

![image](https://us1.discourse-cdn.com/flex002/uploads/anki2/original/2X/b/b00a68f687bcc1e06db2e764f3d375818120d22a.png)

* * *

I’m thinking of an addition to [\_maybe\_add\_search\_actions](https://github.com/ankitects/anki/blob/90fdcebcc85ce261ea29ba54dd449a464d70ad45/qt/aqt/browser/sidebar/tree.py#L880), that would add a context menu entry in the same category as Search (or replace it) and enable direct access to a prefilled Find & Replace dialog for the selected item.

That would make sense for the following item types:

- `SidebarItemType.TAG`  
– prefill → Find: `selected::tag`  
– select → In: `Tags`
- `SidebarItemType.NOTETYPE_FIELD` (PR [#1238](https://github.com/ankitects/anki/pull/1238))  
– select → In: `selectedField`

---

<div class="post-metadata">

**Author:** ![dae](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/dae/32/65_2.png) [@dae](https://forums.ankiweb.net/u/dae)\
**Post date:** [June 29, 2021, 8:05am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/73 "2021-06-29T08:05:34Z")

</div>

Sigh, thanks. Beta 5 is now available.

---

<div class="post-metadata">

**Author:** ![Rumo](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/rumo/32/1505_2.png) [@Rumo](https://forums.ankiweb.net/u/Rumo)\
**Post date:** [June 29, 2021, 8:55am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/74 "2021-06-29T08:55:52Z")

</div>

> [@kleinerpirat](#):
>
> add a context menu entry in the same category as Search (or replace it) and enable direct access to a prefilled Find & Replace dialog for the selected item.

Sounds good to me. But wouldn’t the “editing” section be more appropriate?  
I’d prefer to keep Search, because it’s the only context action for some items, you can have a multi-selection in search mode, and it might be unnecessarily confusing to condition the available actions on the mode as well.

---

<div class="post-metadata">

**Author:** ![kleinerpirat](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/kleinerpirat/32/19863_2.png) [@kleinerpirat](https://forums.ankiweb.net/u/kleinerpirat)\
**Post date:** [June 29, 2021, 9:47am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/75 "2021-06-29T09:47:41Z")

</div>

> [@Rumo](#):
>
> But wouldn’t the “editing” section be more appropriate?

That would be fine too. Search section was just my intuition because in text editors, Find & Replace is usually located somewhere in the Find/Search tab, not the Edit tab.

> [@Rumo](#):
>
> I’d prefer to keep Search, because it’s the only context action for some items, you can have a multi-selection in search mode, and it might be unnecessarily confusing to condition the available actions on the mode as well.

Fair enough 👍

---

<div class="post-metadata">

**Author:** ![AnKingMed](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/ankingmed/32/32686_2.png) [@AnKingMed](https://forums.ankiweb.net/u/AnKingMed)\
**Post date:** [June 29, 2021, 6:03pm UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/76 "2021-06-29T18:03:50Z")

</div>

Couple add-on errors on beta5. @dae perhaps these can be fixed within Anki rather than the add-ons?

AMBOSS (I think this has actually been broken for a while, i just never tried it. @glutanimate may know about it already)

> File “aqt/webview.py”, line 229, in **init**  
> File “/Users/Nick/Library/Application Support/Anki2/addons21/1044112126/web.py”, line 190, in setPage  
> page.setBackgroundColor(self.\_getWindowColor())  
> AttributeError: ‘WebView’ object has no attribute ‘\_getWindowColor’

Rebuild all filtered decks enhanced fork

> File “/Users/Nick/Library/Application Support/Anki2/addons21/104518886/RebuildAll.py”, line 148, in   
> Card.flushSched = wrap(Card.flushSched, postSched)  
> AttributeError: type object ‘Card’ has no attribute ‘flushSched’

Auto rebuild (looks like same error as above)

> File “/Users/Nick/Library/Application Support/Anki2/addons21/autoRebuild/RebuildAll.py”, line 70, in   
> Card.flushSched = wrap(Card.flushSched, postSched)  
> AttributeError: type object ‘Card’ has no attribute ‘flushSched’

---

<div class="post-metadata">

**Author:** ![AnKingMed](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/ankingmed/32/32686_2.png) [@AnKingMed](https://forums.ankiweb.net/u/AnKingMed)\
**Post date:** [June 29, 2021, 6:10pm UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/77 "2021-06-29T18:10:16Z")

</div>

The fancy html editor that @hengiesel added doesn’t work with Customize Keyboard Shortcuts toggled on as well. This was not an issue in beta3 so I’m not sure what’s going on. I can’t get any actual errors, it just reverts to the old html editor. @dae do you have any idea what’s causing this? If its something on your end to fix, great, but if not I can let the author know (they’re usually pretty responsive to version updates but it’d be best to let them know exactly what’s going on)

---

<div class="post-metadata">

**Author:** ![hkr](https://avatars.discourse-cdn.com/v4/letter/h/c6cbf5/32.png) [@hkr](https://forums.ankiweb.net/u/hkr)\
**Post date:** [June 29, 2021, 7:37pm UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/78 "2021-06-29T19:37:48Z")

</div>

> [@AnKingMed](#):
>
> AMBOSS (I think this has actually been broken for a while, i just never tried it. @glutanimate may know about it already)
> 
> > File “aqt/webview.py”, line 229, in **init**  
> > File “/Users/Nick/Library/Application Support/Anki2/addons21/1044112126/web.py”, line 190, in setPage  
> > page.setBackgroundColor(self.\_getWindowColor())  
> > AttributeError: ‘WebView’ object has no attribute ‘\_getWindowColor’

The error is due to [my PR](https://github.com/ankitects/anki/pull/1251). I think it would be easier to fix the code on the add-on side. Here is a fix for the error:

```diff
diff --git a/web.py b/web.py
index 5f66da7..b15e39e 100644
--- a/web.py
+++ b/web.py
@@ -20,6 +20,7 @@
 import time
 from typing import TYPE_CHECKING, Any, Callable, List, NamedTuple, Optional

+from aqt.theme import theme_manager
 from aqt.utils import openLink
 from aqt.webview import AnkiWebPage, AnkiWebView
 from PyQt5.QtCore import QDateTime, QObject, QUrl, pyqtSignal
@@ -187,7 +188,7 @@ class WebView(AnkiWebView):
         super().load(url)

     def setPage(self, page: WebPage):
- page.setBackgroundColor(self._getWindowColor())
+ page.setBackgroundColor(self.get_window_bg_color(theme_manager.night_mode))
         super().setPage(page)

     def navigate_forward(self):

```

---

<div class="post-metadata">

**Author:** ![hengiesel](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/hengiesel/32/920_2.png) [@hengiesel](https://forums.ankiweb.net/u/hengiesel)\
**Post date:** [June 29, 2021, 8:46pm UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/79 "2021-06-29T20:46:42Z")

</div>

This needs to be done by the add-on author. The code for the old HTML editor is still there (exactly because we don’t want to break add-ons), so this is not surprising.

---

<div class="post-metadata">

**Author:** ![AnKingMed](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/ankingmed/32/32686_2.png) [@AnKingMed](https://forums.ankiweb.net/u/AnKingMed)\
**Post date:** [June 29, 2021, 10:06pm UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/80 "2021-06-29T22:06:38Z")

</div>

Ah that makes sense. I’ll add an issue for them

---

<div class="post-metadata">

**Author:** ![dae](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/dae/32/65_2.png) [@dae](https://forums.ankiweb.net/u/dae)\
**Post date:** [June 29, 2021, 11:52pm UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/81 "2021-06-29T23:52:26Z")

</div>

> [@AnKingMed](#):
>
> > AttributeError: type object ‘Card’ has no attribute ‘flushSched’

This was unintended, and I’ll try address this in the next beta. If you notice any other “no attribute” issues apart from flushSched, please let me know.

Edit: having looking into it further, I think in this case it’s best that the the add-ons be updated. The add-ons are overriding a method that is no longer used by Anki, so that functionality won’t have been working in previous stable releases either, even though no error was reported.

---

<div class="post-metadata">

**Author:** ![cqg](https://avatars.discourse-cdn.com/v4/letter/c/e95f7d/32.png) [@cqg](https://forums.ankiweb.net/u/cqg)\
**Post date:** [June 30, 2021, 8:25pm UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/82 "2021-06-30T20:25:16Z")

</div>

While I can undersand the idea behind, I personally find that presenting the deck options in two columns is rather confusing:

 ![Sin título](https://us1.discourse-cdn.com/flex002/uploads/anki2/original/2X/e/ef76fd52705695e0243c6fa03b77bf747303f047.png)

Just my two cents.

---

<div class="post-metadata">

**Author:** ![kleinerpirat](https://sea2.discourse-cdn.com/flex002/user_avatar/forums.ankiweb.net/kleinerpirat/32/19863_2.png) [@kleinerpirat](https://forums.ankiweb.net/u/kleinerpirat)\
**Post date:** [July 1, 2021, 5:00am UTC](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/83 "2021-07-01T05:00:03Z")

</div>

I think you’ll get used to it quickly 🙂

The upside is you can now share (almost) all your options with one screenshot.  
Also, you can still reduce the window width so it only shows one column.

* * *

My two cents is it makes it less confusing, because now you have a better overview.

#### Column-rule

If the main problem is the content flow from top to bottom instead of left to right, a vertical separator like this could help:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/anki2/original/2X/5/54648231418bc6753b6771cef6ed0743d757dd7d.png)

That would be a one-line CSS addition:

```auto
column-rule: 1px solid var(--medium-border);

```

[Previous page](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664.md?page=3)

[Next page](https://forums.ankiweb.net/t/anki-2-1-45-beta/10664.md?page=5)
