Commit graph

442 commits

Author SHA1 Message Date
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 6433a9c644
test: fix timeago unit test (#1906) 2020-11-29 18:50:13 -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 006f0deee8
fix: fix tappable area between toolbar buttons (#1893)
fixes #1884

If "disable entire toot area" is on, then the cursor becomes default between the buttons, and clicking does nothing. If it is off (default), then the cursor is always pointer and clicking between the buttons clicks the whole toot.
2020-11-14 17:22:12 -08:00
Nolan Lawson 9cb16ea91c
fix: move "bookmark" button past "report" (#1891)
fixes #1879
2020-11-14 14:13:45 -08:00
Nolan Lawson 870fa0e93c
feat: add "i" as shortcut to open media (#1890)
fixes #1883
2020-11-14 14:13:38 -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 c683a4b85d
fix: ensure bookmarks page has generated HTML file (#1861)
* fix: ensure bookmarks page has generated HTML file

* fix: only render if not logged in
2020-09-02 18:01:46 -07:00
Emilia Michanek 60a146eb40
fix: pinning the bookmarks page (#1859)
Pinning the bookmarks page would accidentally pin the local timeline page due a forgotten `else if`.

Fixes #1858
2020-09-01 21:57:36 -07:00
Nolan Lawson 07f23c5990
feat: pressing / or s focuses search input (#1855) 2020-08-31 16:06:31 -07:00
Nolan Lawson 430ab4db4c
fix: empty timelines no longer show infinite loading spinner (#1854)
Instead, they now show "Nothing to show." I only fixed this for VirtualList because List should never be non-empty (threads).

Fixes #1763
2020-08-30 18:08:55 -07:00
Nolan Lawson 55b9c8d3b8
fix: use absolute positioning over transform (#1850) 2020-08-29 19:19:24 -07:00
Nolan Lawson 40e9b44adc
fix(VirtualList): fix some TODOs (#1851)
* fix(VirtualList): fix some TODOs

* fix: fix memory leak

* fix: remove dead code
2020-08-29 19:19:16 -07:00
Nolan Lawson 1466371909
test: count store listeners in memory leak test (#1853) 2020-08-29 19:18:53 -07:00
Nolan Lawson 2f41494a9a
fix: tweak language around bookmarking (#1848)
For consistency with the rest of the UI, say "toot" instead of "status" and specify "toot."
2020-08-27 08:49:36 -07:00
Nolan Lawson 08c021bc56
fix: log an error when images cannot be decoded (#1849) 2020-08-27 08:49:22 -07:00
Nolan Lawson 5a9e5ae8bc fix: tidy up bookmarks, add tests 2020-08-25 23:47:20 -07:00
charlag 2113ab3d46 feat: Implement bookmarks, close #1726 2020-08-25 23:47:20 -07:00
Nolan Lawson 36cf9fd56d
test: add test for accessible radio buttons in /community (#1845) 2020-08-25 22:16:14 -07:00
Nolan Lawson 07deb122f3
chore: update emoji-picker-element, use declarative format (#1840) 2020-08-25 16:46:02 -07:00
Nolan Lawson 7de0023d17
fix: add "/" hotkey to help info (#1843) 2020-08-25 16:45:41 -07:00
shine c86d2b5088
feat: add / as a navigation shortcut for search (#1838)
`/` is a well-known vi/vim key-binding for search. It is supported by
Firefox for a 'quick find' feature in addition to the main find feature
available with the Ctrl+F key combination. DuckDuckGo also supports the
key to focus the search bar as well.

Signed-off-by: shine <4771718+shinenelson@users.noreply.github.com>
2020-08-25 16:45:32 -07:00
Nolan Lawson bd09718cf6
fix: improve a11y of autosuggest labels (#1830) 2020-07-06 22:27:04 -07:00
Nolan Lawson b8fef16a92
fix: fix mobile size of picker when searching (#1822) 2020-07-05 12:38:05 -07:00
Nolan Lawson f17096a8ac
fix: emoji picker height on mobile (#1811) 2020-07-04 19:34:21 -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 ec8e872f8d
fix: better error message for invalid instances (#1793) 2020-05-30 11:05:13 -07:00
Nolan Lawson 1fc14107c8
fix: tweak nav indicator so it's a bit more prominent (#1788) 2020-05-20 21:10:56 -07:00
Nolan Lawson bedb636182
fix: css cleanup of nav-related variables (#1786)
* fix: css cleanup of nav-related variables

* changed my mind on this margin
2020-05-20 07:07:47 -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 c610a259d5
fix: ListItem should have proper fade animations (#1771) 2020-05-14 21:22:33 -07:00
Nolan Lawson dacd9dcc5b
fix: fix polls with content warnings (#1768)
* fix: fix polls with content warnings

fixes #1766

* fixup
2020-05-10 19:41:55 -07:00
Nolan Lawson 5c4b44e3dd
fix: fix potential null exception (#1765) 2020-05-03 10:45:32 -07:00
Nolan Lawson 4b4cee3662
fix: fix delete-and-redraft in Firefox Android (#1762)
fixes #1681
2020-05-03 10:45:11 -07:00
Nolan Lawson 0c300f8e70
fix: change all opacity animation timings to 0.2s (#1753) 2020-04-30 21:54:07 -07:00
Nolan Lawson 4ad7de8e8d
fix: fix rendering order bug in Firefox for Android (#1752) 2020-04-29 22:00:20 -07:00
Nolan Lawson 0ce47f0379
fix: fix fade animations on slow devices (#1751)
I noticed that, on 6x CPU throttling in Chrome, the status fade-in animations were not consistent when switching columns. This fixes that using rAF.
2020-04-28 17:48:31 -07:00
Nolan Lawson 5f6c5d89d1
fix: only avoid scrollbar motion for prefers-reduced-motion (#1750)
After thinking about it, I do not believe the scrollbar is that distracting. But for prefers-reduced-motion we should be careful about the scrollbar growing so quickly.
2020-04-28 17:48:25 -07:00
Nolan Lawson e1532ed9d1
perf: calculate plaintext from HTML content in advance in rIC (#1748)
On the Nexus 5 especially, this ensures we no longer have nearly so many
"long tasks" (i.e. responsiveness is better). It moves html-to-txt
calculation to the same step as blurhash decoding, where it can be done
in requestIdleCallback (heck, maybe someday it could just be done in a
worker thread as well).
2020-04-26 18:30:49 -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