Commit Graph

117 Commits

Author SHA1 Message Date
Nolan Lawson 1371175bce
feat: use emoji-picker-element, add emoji autocompletions/tooltips (#1804)
* feat: use emoji-picker-element, add emoji autocompletions/tooltips

* fix: fix lint bug

* test: fix emoji in chrome on linux in travis

* test: try bionic in travis

* chore: try to fix travis

* chore: try to fix travis

* fix: filter unsupported emoji

* chore: try to fix travis

* chore: try to fix travis

* chore: try to fix travis

* chore: try to fix travis

* Revert "chore: try to fix travis"

This reverts commit 3cd2d94469.

* fix: fix emoji autosuggest

* test: fix test
2020-06-28 23:12:14 -07:00
Nolan Lawson f080148aad
perf: lazy-lazy-load the :focus-visible polyfill (#1785) 2020-05-19 07:52:28 -07:00
Nolan Lawson a790004be7
fix: Revert "perf: always load focus-visible polyfill (#1780)" (#1784)
This reverts commit c98b198e60.
2020-05-18 22:19:33 -07:00
Nolan Lawson c98b198e60
perf: always load focus-visible polyfill (#1780) 2020-05-18 21:11:13 -07:00
Nolan Lawson ea1315858d
perf: use OffscreenCanvas in Chrome 82+ (#1779) 2020-05-18 20:00:02 -07:00
Nolan Lawson cc62000b21
feat: use :focus-visible, add setting to enable/disable it (#1775)
* feat: use :focus-visible, add setting to enable it

* add the ids back

* css cleanup
2020-05-16 13:36:08 -07:00
Nolan Lawson 836b0e341f
perf: lazy-load the thread context (#1774)
* perf: lazy-load the thread context

fixes #898

* more tests

* test: more tests

* simplify implementation
2020-05-16 13:35:57 -07:00
Nolan Lawson ae3bd2bda2
perf: make timeline rendering less janky (#1747)
* perf: make timeline rendering less janky

1. Ensures all statuses are rendered from top to bottom (no more shuffling-card-effect rendering)
2. Wraps all individual status renders in their own requestIdleCallback to improve input responsiveness especially only slow devices like Nexus 5.

* fix focus restoration

* only do rIC on mobile
2020-04-26 16:54:00 -07:00
Nolan Lawson 06a403df28
fix: left/right hotkey works on all settings page (#1745)
fixes #1744
2020-04-25 19:35:14 -07:00
Nolan Lawson c83c12e617
fix: remove safari-specific service worker code (#1712)
fixes #1595
2020-02-26 07:38:55 -08:00
Nolan Lawson 22fd567eb1
fix: update emoji-mart, add dark mode and custom categories (#1686) 2019-12-23 11:53:44 -08:00
Nolan Lawson 79537fb8cd
fix: handle pleroma ping messages (#1676)
* fix: handle pleroma ping messages

fixes #1673

* refactor safeParse
2019-12-15 09:58:00 -08:00
Nolan Lawson 47ade12167
refactor: refactor timeline filtering logic (#1667) 2019-12-08 18:03:39 -08:00
Nolan Lawson 95ef639b21
test: add basic memory leak test (#1650)
* test: add basic memory leak test

* try to fix test
2019-11-23 19:11:15 -08:00
Nolan Lawson 92d77c34be
fix: use radiogroup for instance switcher (#1634)
* fix: use radiogroup for instance switcher

progress on #1633

* fixup

* add unique id
2019-11-17 20:51:28 -05:00
Nolan Lawson 07facea505
fix: improve autosuggest a11y (#1630)
* 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
2019-11-09 20:38:29 -05:00
Nolan Lawson b8d9c29bac
perf: move async modules to individual files (#1611) 2019-10-29 18:58:49 -07:00
Nolan Lawson bb85bcb32b
fix: switch to arrow-key-navigation library (#1607)
For left/right arrow key navigation, switch to a small library I made to
handle this. Also make it load asynchronously, because why not.
2019-10-28 08:16:51 -07:00
Nolan Lawson 9f12d1ca07
fix: use small modules for userAgent.js instead of terser magic (#1602) 2019-10-24 20:37:23 -07:00
Nolan Lawson 7c04b86405
fix: use smooth scroll polyfill in Chrome for scroll-to-top (#1601)
* fix: use smooth scroll polyfill in Chrome for scroll-to-top

* rename thunk to __thunk__ for safety
2019-10-24 19:03:10 -07:00
Nolan Lawson c174c19ddd
fix: fix tesseract.js progress bar (#1599)
* fix: fix tesseract.js progress bar

* fixup
2019-10-23 18:07:24 -07:00
Nolan Lawson 2a248cb482
fix: update tesseract to the latest version (#1596)
* chore: update tesseract to the latest version

* fix stuff

* fix delay

* fix caching, fixes #1457
2019-10-22 20:45:30 -07:00
Nolan Lawson afb06d988e
perf: use webpack contenthash for better caching (#1573) 2019-10-14 20:00:57 -07:00
Nolan Lawson 3209d934e8
fix: tweak autocomplete behavior (#1570)
tweak the hashtag sort algorithm
fix issue where wrong results shown when offline or on slow network
refactor RequestThrottler
2019-10-13 08:08:06 -07:00
Nolan Lawson 89265f709e
fix: combine request throttling logic (#1568) 2019-10-12 21:08:08 -07:00
Nolan Lawson 8b3842f15a
feat: add hashtag autocomplete (#1567)
* feat: add hashtag autocomplete

fixes #1209

* add test and tweak aria label and styles

* do not prefer lowercase

* Change text
2019-10-12 18:06:04 -07:00
Nolan Lawson d53430fee5
fix: fix uploading photos on iOS 13 (#1550)
fixes #1546
2019-10-07 07:15:05 -07:00
Nolan Lawson 56ba259ccf
fix: fix basic login - clear store on log out (#1545)
fixes #1544
2019-09-26 09:07:49 -07:00
Nolan Lawson 2ada968439
fix: fix search on Mastodon v3 (#1541)
fixes #1539
2019-09-26 05:24:20 -07:00
Nolan Lawson 038dc27163
perf: lazy-load computations (#1538)
* perf: lazy-load computations (experimental)

* fix lint

* add marks

* fixup

* lazy-load mixins too

* add missing files

* fix tests
2019-09-26 05:23:36 -07:00
Nolan Lawson 65524105f9
fix: hotkeys work with caps lock on (#1531)
fixes #1530
2019-09-24 18:46:53 -07:00
Nolan Lawson 3d58c86963
feat: left/right keys can change columns or focus (#1516)
* feat: left/right keys can change columns or focus

* fixup

* fixup, add tests
2019-09-22 23:53:29 -07:00
Nolan Lawson 489319a3a6
fix: improve nav height on tiny screens, use variables (#1503) 2019-09-20 23:17:57 -07:00
Nolan Lawson 6358af5d04
feat: add legacy build (#1502)
* feat: add legacy build

* service worker should also be in ES5

* fixup
2019-09-20 23:17:52 -07:00
Nolan Lawson 58af4d888e
feat: clicking avatar opens media modal (#1485)
fixes #1464
2019-09-14 22:26:29 -07:00
Nolan Lawson 72e187a0fa
perf: disable database cleanups when page is not active (#1471)
* perf: disable database cleanups when page is not active

* fix test
2019-09-07 21:05:36 -07:00
Nolan Lawson 26a036259e
chore: update standard (#1466) 2019-09-07 20:27:47 -07:00
Nolan Lawson ebd10a43d2
perf: fetch lists from database on page load (#1450)
* perf: fetch lists from database on page load

follow-up to #1448, I would like for there not to be a flash on the /community page where the lists suddenly load in, but I would still like to avoid the network request if possible. So when the page first loads, we can load the lists from the database and only fetch them from the network if not in the cache.

* add comment
2019-08-29 18:41:36 -07:00
Nolan Lawson 56f266cb93
perf: terminate tesseract worker after a delay (#1449)
fixes #1447
2019-08-29 08:51:41 -07:00
Nolan Lawson c8738f17b0
fix: add progress bar for OCR (#1444) 2019-08-27 23:23:35 -07:00
Nolan Lawson e2c137b2ef
fix: prefer local file URLs for OCR (#1436) 2019-08-25 21:48:59 -07:00
Nolan Lawson ca9a32d303
feat: add OCR for image descriptions using tesseract.js (#1433)
* feat: add OCR for image descriptions using tesseract.js

* tweak style of alt editor

* remove unnecessary files
2019-08-25 18:33:44 -07:00
Nolan Lawson 8c6a701d6f
fix: ensure "disable blurhash" setting is honored (#1422)
* fix: ensure "disable blurhash" setting is honored

fixes #1421

* remove play button for audio/video
2019-08-22 09:09:21 -07:00
Nolan Lawson 4232da5e33 fix: fix lint 2019-08-19 20:23:58 -07:00
Nolan Lawson c98b96aa44
fix: move worker-loader to webpack config (#1405)
This avoids ESLint complaining about the `worker-loader!` declaration
2019-08-18 15:15:20 -07:00
Nolan Lawson 009a511c80
perf: call revokeObjectURL() on stale blurhash blob URLs (#1403)
* perf: call revokeObjectURL() on stale blurhash blob URLs

fixes #1402

* add a test

* add comment
2019-08-18 15:15:13 -07:00
Nolan Lawson 03dff1c595
fix: remove firefox UA sniff for img.decode (#1393)
fixes #1388
2019-08-17 15:35:43 -07:00
Nolan Lawson f8180e813f
fix: move blurhash worker operations to before status rendering (#1391)
* fix: move blurhash worker operations to before status rendering

* slight refactor

* avoid sending encoded data back and forth

* move cache outside worker
2019-08-17 14:36:13 -07:00
Sorin Davidoi 77bb784efd feat(media): Blurhash (#1381)
* 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.
2019-08-17 10:54:45 -07:00
Nolan Lawson ea58242b85
fix: fix malformed URLs in statuses (#1385)
fixes #1384
2019-08-11 11:09:51 -07:00