The congrats page fetches data once a minute, and onRefreshTimer()
reloads the page once every 10 minutes. If a data fetch is in flight
when the page reload happens, it can cause a 'failed to fetch' error
to occur.
Closes#2895
* Expose tag name to add-ons via data attribute
* Expose autocomplete items to add-ons as data attributes
* Use common data-addon* prefix for attributes
* Fix undo handling of group and some other IO tools
* Emit change signal inside onObjectModified
* Fix group lost after moving group then undoing
* Skip undo entry if canvas has not changed
The onObjectModified() call I added in a previous commit to deleteDuplicateTools results in a duplicate undo entry for the delete tool. Checking for duplicate entries seems simpler than having to think about where onObjectModified() should be called exactly
* Fix extra undo entry added after ungroup
* Prefer key over keyCode
* Do not close TS pages on Esc when floating elements are open
* Close pop-up when Escape is pressed regardless of keepOnKeyup
* Close help modals when Escape is pressed
* Avoid duplicate handling of Esc in WithFloating
* Formatting
* Handle closing of preset management modals
* Reset text input modal to initial value
The problem at the moment is that the two left buttons are not part
of the scrollable area on the right, and the scrollable area has been
manually positioned. We would need to move the buttons into the toolbar
area, and then hide them when using the desktop editor. For now, I've
just added wrapping/smaller text instead.
https://forums.ankiweb.net/t/image-occlusion-editor-buttons-overlap-in-some-languages/38499
Our average calculation is based on pre-binned values, so it's not
entirely accurate, but using the midpoint of the bin brings us closer.
In the future we can solve this by calculating it on the Rust end instead.
Confirmed correct layout in RTL mode.
I experimented with adding a tooltip as well, as suggested in
https://forums.ankiweb.net/t/anki-23-12-beta/37771/82, but it's
confusing as we already change the mouse cursor/underline when the user
hovers over a label. Given the help text universally starts with
"affects the entire collection", I think that's good enough.
- We were registered another event handler for each card, which was a
resource leak, and would lead to the shortcut failing on every second card
due to the even number of toggles.
- We were allowing toggleMasks() to run even when the button wasn't visible
(e.g., when showing the question side of a card)
The previous wording could be interpreted as 'time until showing question'
or 'time that question should be shown'. I'd intended the latter, and
I didn't notice that the original implementation was doing the former.
Profiling revealed that binding to clientWidth for each component in
the deck options was taking up a sizable amount of time, due to the
inefficient way it's implemented: https://github.com/sveltejs/svelte/issues/7583
In one case, we can instead defer checking clientWidth until we go to
display the popover. In the other case, we can achieve the revert button
positioning a different way.
The last change dropped the speed index in Chrome from 1.4s to 1s; this
change brings it down to 0.7s.
Also fixed the hovered select element from jiggling due to a different
border width when hovering.
There's been a fair bit of talk on the forums about users not discovering
the help info, so this will hopefully make finding it easier.
Ideally we'd use a single var(--fg), but it feels a bit too strong in
light mode.
The animations we were showing on hover/focus made the UI feel
laggy. This has come up before, and we already disable them for buttons.
I experimented with removing the transitions (but keeping the change on
hover) - it feels much more responsive, but I also didn't feel that it
was contributing anything useful - the user knows where they've placed
the mouse or cursor, and the extra movement feels like a bit of a
distraction. Happy to discuss if people feel differently, though.
column-count was causing progressively-worse performance. By switching
to manual left/right column assignment, we get faster performance and
retain the top-to-bottom/left-to-right flow.
This also removes the outer DynamicallySlottable, which as far as I'm
aware, is not used by any add-ons.
Closes#2877
* Add type to createEventDispatcher
* Fix image overlay not closing when clicking outside on Qt6.6
Use Event.composedPath() instead of obsolete Event.path
https://chromestatus.com/feature/5726124632965120
* Fix RTL position of close button in help modals
* Fix position of active button's border
* Fix margin of modal's title
* Fix alignment of modal buttons' text
* Add missing translation
* Replace css_browser_selector
* Add classes to root element instead of body
* Export addBrowserClasses() in reviewer_extras for mobile clients (dae)
* Avoid setting .mac on iOS devices (dae)
Due to a change in svelte-check 3.5.2 (likely https://github.com/sveltejs/language-tools/pull/2146),
we can no longer have composite enabled, as svelte-check spits out errors
about files in other project references not being listed in included files.
This should hopefully not make a difference to us, as we weren't taking
advantage of TypeScript's project compilation, as svelte-check doesn't support
it, and we use esbuild for JS conversion.