Commit graph

131 commits

Author SHA1 Message Date
Nolan Lawson 4adc8ff748
feat: implement word/phrase filters (#1990)
* feat: implement word filters

* fix: more progress on word filters

* fix: more progress

* fix: more work

* fix: more work

* fix: more progress

* fix: tweaks

* fix: basic crud stuff

* fix: more work

* test: add tests

* test: more test

* fix: handle filter expiry correctly

* fix: implement more efficient word filter logic

* fix: better required labels

* test: fix test
2021-03-13 17:31:17 -08:00
Nolan Lawson f22b1bf328
perf: reduce tesseract bundle size by directly importing createWorker (#1979) 2021-03-06 09:07:06 -08:00
Nolan Lawson a2dcbcdcda
fix: use class instead of object for easier debugging (#1980) 2021-03-06 09:07:00 -08:00
Nolan Lawson 533360e32f
chore: update standard and eslint-plugin-html (#1963) 2021-02-20 13:40:33 -08:00
Nolan Lawson 760b7f6cd4
fix: fix Intl.RelativeTimeFormat on iOS 13 (#1947)
Fixes #1938
2021-02-15 15:07:19 -08:00
Nolan Lawson a3d0c87e27
fix: fix cursor set incorrectly on WebKit browsers (#1937)
fixes #1921
2021-02-14 18:44:14 -08:00
Nolan Lawson a028a7e880
feat: intl support for emoji picker (#1910)
* feat: intl support for emoji picker

Fixes #1908

* fix: update emoji-picker-element

* fix: fix typo
2020-12-18 20:02:36 -08:00
Nolan Lawson 0022286b46
fix: first stab at i18n, extract English strings, add French (#1904)
* first attempt

* progress

* working

* working

* test timeago

* rm

* get timeago working

* reduce size

* fix whitespace

* more intl stuff

* more effort

* more work

* more progress

* more work

* more intl

* set lang=LOCALE

* flatten

* more work

* add ltr/rtl

* more work

* add comments

* yet more work

* still more work

* more work

* fix tests

* more test and string fixes

* fix test

* fix test

* fix test

* fix some more strings, add test

* fix snackbar

* fix }

* fix typo

* fix english

* measure perf

* start on french

* more work on french

* more french

* more french

* finish french

* fix some missing translations

* update readme

* fix test
2020-11-29 14:13:27 -08:00
Nolan Lawson 69aad56421
fix: fix tainted canvas error with OCR (#1902)
* fix: fix tainted canvas error with OCR

fixes #1901

* fix: minor tweaks
2020-11-24 15:37:10 -08:00
Nolan Lawson 37711ee17e
fix: dynamically import focus-visible polyfill for emoji picker (#1870) 2020-09-13 15:34:01 -07:00
Nolan Lawson 7803bdf797
fix: remove LEGACY mode (#1867) 2020-09-13 13:37:54 -07:00
Nolan Lawson bd09718cf6
fix: improve a11y of autosuggest labels (#1830) 2020-07-06 22:27:04 -07:00
Nolan Lawson 44c1b6feb5 fix: fix ajax code, add test, switch parser library 2020-07-04 19:34:01 -07:00
charlag 5e7c8003db fix: Fix favorites, fix #850
This commit fixes invalid assumption that all timelines are sorted by status id.
Some, like favorites or bookmarks are sorted by private server id. To correctly
paginate we must use the Link header.

To work around the issue, offline for favorites was effectively disabled.
Statuses are still inserted into the database but we can't reproduce correct
timeline order.
2020-07-04 19:34:01 -07:00
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 3cd2d94469b2f1a20c847c2a69e088d7c8d1efdd.

* 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