* fix: improve autosuggest a11y
some progress on #1629
- works in Chrome on NVDA now
- works in Chrome on VoiceOver now
- shorter aria-labels, don't repeat information like "1 of 3", because
it causes the screen reader to speak too frequently, e.g. when the
selected result hasn't changed but the number of results has. Also both
NVDA and VoiceOver already speak this information
- stop doing a fancy fade animation, just show and hide the input
instantly. I worry it confuses screen readers to have the aria-hidden
attribute in there at all
- stop using a single id to identify the active descendant - give
immutable IDs and then update the aria-activedescendant instead. I think
this is what fixed Chrome.
* fix test
* fix: remove basic login mode for now
As described in #1552 I do not have a lot of faith in this feature, so maybe it should just be removed for now until a later release.
* fixup
* fixup
* fixup
* fix: return focus to sensitive media button
fixes#1517
* additional fix for media sensitive focus
* fix audio/video name in aria-label of button
* fix hotkeys
* chore(npm): Install blurhash
* feat(media): Show blurhash
* fix(media/blurhash): Better sensitive video handling
* feat(media): Preference for using blurhash
* chore(utils/blurhash): Add performance marks
* fix(utils/blurhash): Performance marks
* fix(utils/blurhash): Use correct dimension
* refactor(utils/blurhash): Use constant for number of pixels
* refactor(media): Simplify logic for displaying blurhash
* chore(tests/spec): Attempt to adjust sensitivity tests for blurhash
* chore(tests/spec): Update sensitivity tests for blurhash
* chore(tests/spec): Check for sensitive
* fix(media/blurhash): Handle videos
* fix: Video handling
* fix: Videos
* minor refactoring, fix Svelte warning
* fix: Large inline images and videos
* feat(settings): Rename blurhash setting
* refactor: Use toBlob, block media rendering until blurhash ready
* refactor: Move computations to Web Worker
* fix(workers/blurhash): More error handling
* feat(workers/blurhash): Use quick-lru for caching
* fix: Don't create Context2D needlessly
* fix(workers/blurhash): Increase cache size to 100
* fix(workers/blurhash): Don't resolve promise twice
* fix(utils/decode-image): Ignore data URLs
Throws exception which prevents the image from loading.
* feat: add option to disable infinite scroll
fixes#391 and fixes#270. Also makes me less nervous about #1251 because now keyboard users can disable infinite load and easily access the "reload" button in the snackbar footer.
* fix test
* fix: fix aria-posinset should be 1-based
fixes#1053
* second attempt to fix tests
* try to fix test
* fixup
* lint fix
* fix more tests
* simplify test math