Commit Graph

657 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 987e5827b0
fix: fix CSP checksums (#1985) 2021-03-07 08:21:20 -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 650751d343
fix: fix dangling } in string (#1976) 2021-02-28 16:36:47 -08:00
Timo Tijhof 5573f7cf32
chore: clean up input.type property access (#1975)
Follows-up 4218c4ce64.

When accessing the IDL property, values tend to be reflected in a normalised
type and form. In the case of HTMLInputElement.type, this means the
returned value is always one of the supported and canonical lowercase
values regardless of what value the corresponding attribute holds, or
even if the attribute doesn't exist (the default will still be "text").
2021-02-28 14:46:23 -08:00
Marco Zehe b9496c9bca
fix: adjust German help text for expand/collapse all CWs (#1974) 2021-02-28 14:45:49 -08:00
Nolan Lawson 8c09ede2d4
feat: implement shortcut for opening/closing all CWs (#1973)
Fixes #1914
2021-02-27 18:31:53 -08:00
Nolan Lawson 67a338be17
fix: tweak style of audio player (#1968) 2021-02-22 20:37:18 -08:00
Nolan Lawson ef3f107d82
fix: tweak emoji picker style on mobile (#1969)
* fix: tweak emoji picker style on mobile

* fix: remove unnecessary global styles
2021-02-22 20:37:08 -08:00
Nolan Lawson b2583277eb
chore: update to webpack v5 (#1967)
The bundle size has decreased slightly, so I really can't complain.
2021-02-20 15:30:58 -08:00
Nolan Lawson 533360e32f
chore: update standard and eslint-plugin-html (#1963) 2021-02-20 13:40:33 -08:00
Nolan Lawson ba3b76f769
fix: fix error message on media upload (#1959) 2021-02-15 19:23:01 -08:00
Nolan Lawson 9cf8f8b516
perf: cache polyfills on-demand (#1954)
* perf: cache polyfills on-demand

* fix: actually apply the name
2021-02-15 16:47:18 -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 c3d25b88cf
feat: allow file-drop to accept multiple files (#1945) 2021-02-15 15:07:13 -08:00
Nolan Lawson 2585b55479
fix: fix custom emoji in secure mode (#1940)
Fixes #1915
2021-02-15 12:54:03 -08:00
Nolan Lawson 456dac73b5
fix: partially fix video/audio in dialogs (#1939) 2021-02-15 12:53:58 -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 4218c4ce64
fix: fix up/down arrows in poll options (#1934)
fixes #1928
2021-02-14 14:01:46 -08:00
Marco Zehe 96d84134b4
feat: add German locale (#1930)
* Add German locale

* Appeas the linter.

* Add Emoji Picker strings as well

* Correct double und typo in footer
2021-02-14 09:59:12 -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 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
Timo Tijhof 9acb3faac8
fix: change dark grayscale to use have a brighter action-button color (#1881)
The pressed state, such as used for the "Unfollow" button, was effectively
identical to the background, thus making it invisible.

Brighten it up to fix this. The relative differences are kept the same as
before and match the default theme,, e.g. the brightness ranges from
(darkest) Unfollow > Unfollow-hover > Follow > Follow-hover (brightest)

Fixes https://github.com/nolanlawson/pinafore/issues/1880.
2020-11-14 11:35:55 -08:00
Nolan Lawson 04b56f5dc5
fix: remove license files from service worker (#1875) 2020-09-20 14:31:15 -07: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 55ded5c234
fix: fix stacking context in Safari/WebKit (#1812)
fixes #1806
2020-07-04 23:17:55 -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 85ce93177b
fix: add apple-mobile-web-app-capable (#1803)
Fixes #1802
2020-06-25 19:09:27 -07:00
Nolan Lawson ec8e872f8d
fix: better error message for invalid instances (#1793) 2020-05-30 11:05:13 -07:00
Nolan Lawson ceff1f1f8f
fix: tweak indicator design again (#1789) 2020-05-23 09:28:23 -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 beade4aec3
fix: use attr rather than class for focus-visible polyfill (#1778)
fixes #1777
2020-05-16 14:25:12 -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
Nolan Lawson a4a9cb7962
fix: fix nav links in Voice Control on iOS (#1746)
fixes #1735
2020-04-25 19:35:03 -07:00
Nolan Lawson 1f0d67fcc4
feat: aria-labels and buttons contain more media info (#1743)
* feat: aria-labels and buttons contain more media info

fixes #1733

* fix lint
2020-04-25 19:03:39 -07:00
Nolan Lawson 912dda8778
fix: fix svelte dev warning about pinIndex (#1729) 2020-03-08 12:01:23 -07:00
Nolan Lawson ec627f9732
fix: fix newlines in poll option titles (#1717) 2020-03-01 13:54:08 -08:00
Nolan Lawson c83c12e617
fix: remove safari-specific service worker code (#1712)
fixes #1595
2020-02-26 07:38:55 -08:00
Milan d16ccd5d5f
fix: change pitch black theme (#1702)
On AMOLED displays the pitch black theme was unsatisfying. I have
changed the theme to use #000 as main theme color, which completely
stops the OLED pixels from emitting light, thus saving energy and
on some devices making the background indistinguishable from the screen
border.
2020-02-26 07:03:15 -08:00
Nolan Lawson 21a300bd4c
fix: remove intrinsicsize in favor of width/height (#1690) 2019-12-24 10:47:27 -08:00
Nolan Lawson 78014a7f33
fix: remove remount (#1688)
* fix: remove remount

* fixup
2019-12-23 18:10:03 -08:00
Nolan Lawson 3129ae7344
fix: remove deprecated scrollbar styles (#1687) 2019-12-23 11:53: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
Isabelle Knott 46ff09b072 fix: Wellness page had the wrong breadcrumb (#1684) 2019-12-23 11:53:35 -08:00
Nolan Lawson 56ab988d1a
fix: fix search width on narrow sizes (#1678) 2019-12-15 09:58:43 -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 1d3859a4e2
fix: fix duplicates in threads (#1672)
fixes #943
2019-12-14 12:04:36 -08:00
Nolan Lawson aa662682f3
fix: restore focus on community page (#1669) 2019-12-13 08:31:05 -08:00
Nolan Lawson 47ade12167
refactor: refactor timeline filtering logic (#1667) 2019-12-08 18:03:39 -08:00
Nolan Lawson 4f9fb5f253
fix: settings pages preserve focus (#1666)
fixes #1658
2019-12-08 18:03:26 -08:00
Sorin Davidoi 5f51bd5aad fix(service-worker): Make API call to the right endpoint (#1664)
Closes #1663.
2019-12-08 09:56:23 -08:00
Nolan Lawson c071ac1174
refactor: refactor focus management (#1662) 2019-11-30 17:43:31 -08:00
Timo Tijhof 9ce900c767 fix: Avoid autocapitalize keyboard for instance name (#1653)
* fix: Avoid autocapitalize keyboard for instance name

On iOS Safari (possibly other browsers as well), auto-capitalization is enabled
even for input fields with inputmode=url.

In my testing, the inputmode attribute is working supported and working (in so
far that iOS does consider it and and provides me a keyboard optimised for URL
inputs, with quick buttons for slash and .com etc).

The autocapitalize is supported on Safari, per:
https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html#//apple_ref/doc/uid/TP40008058-autocapitalize

Fixes https://github.com/nolanlawson/pinafore/issues/1652.

* fix: Avoid spell check on Instance name field

Checking of spelling and grammar and automatic corrections thereof
are likely unwanted when entering the instance domain/URL.
2019-11-23 23:42:38 -08:00
Nolan Lawson cbbf5abd7a
test: test for DOM listener memory leaks (#1654)
* test: test for DOM listener memory leaks

* fix whitespace change, unintended
2019-11-23 23:42:22 -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 fec0c282c9
fix: make autosuggest list appear over modal dialog (#1649)
fixes #1645
2019-11-23 13:21:21 -08:00
Nolan Lawson 4221ce1c72
fix: media nav buttons should be a list (#1648)
More work on #1633, improves accessibility of the media nav buttons by cleaning up the list and labels a bit.
2019-11-23 11:25:42 -08:00
Nolan Lawson d03d223fd9
fix: remove aria-pressed entirely (#1647)
More progress on #1633
2019-11-23 11:25:36 -08:00
Nolan Lawson 1b95499008
fix: use radio buttons for pinning timelines (#1644)
* fix: use radio buttons for pinning timelines

more work on #1633

* cleanup styles
2019-11-17 23:02:05 -05:00
Nolan Lawson 568a3f51fe
fix: convert many toggle buttons into regular buttons (#1643)
work on #1633
2019-11-17 21:23:32 -05:00
Nolan Lawson 4903f2effa
perf: avoid aria-hidden="false" (#1640) 2019-11-17 20:51:44 -05: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 63c9f8dc32
fix: fix autocomplete in voiceover+safari (#1632)
* fix: fix autocomplete in voiceover+safari

fixes #1629

* fix test

* fix test
2019-11-09 23:01:32 -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 c5a005186c
fix: fix more html entities in card titles (#1628) 2019-11-09 17:25:39 -05:00
Nolan Lawson edc014cf8c
fix: more consistent toggle button aria-label/title (#1626)
* fix: more consistent toggle button aria-label/title

fixes #1624

* fixup

* fix test
2019-11-09 17:25:26 -05:00
Nolan Lawson 4ecb04588c
fix: fix custom emoji in polls (#1619)
fixes #1617
2019-10-31 23:01:35 -07:00
Nolan Lawson ee492c1765
fix: change "add instance" to "log in" when not logged in (#1614) 2019-10-31 06:45:36 -07: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 e569c757d1
fix: fix kaios left-right navigation on inputs (#1606) 2019-10-27 11:12:02 -07:00
Nolan Lawson cf2a6022dd
fix: fix regenerator error in legacy mode (#1605) 2019-10-27 11:11:57 -07:00
Cătălin Mariș f17386c8cb perf: Further optimize used SVGs (#1603) 2019-10-27 10:08:03 -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 0194a07823
perf: use raw html for some external links (#1600) 2019-10-24 19:03:03 -07:00
Vincent 852a8582fb fix: Add the non-truncated text in the title attribute (#1598)
The `.card-title` element carries `text-overflow: ellipsis`, (and
`white-space: nowrap`), resulting in the last part of long article
titles not being visible. By adding it to the `title` attribute,
one can see the full title on hovering without having to visit the
article first.

The main concern I had was that the text is now technically
duplicated in the source code, and for short titles, also in the
UI. The primary concern there, however, was screen reader users
getting duplicate announcements. However, I believe the title
attribute is not announced by screen readers, which this (old)
article seems to confirm:
https://developer.paciellogroup.com/blog/2010/11/using-the-html-title-attribute/

That leaves the following two disadvantages:
- This doesn't solve anything for mobile users, who will still
  have to follow the link to see the full title.
- Desktop users can however a (non-truncated) title to see the same
  title again.
2019-10-23 21:54:57 -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 3bc6e3d777
fix: only do range request override in Safari (#1594)
should fix #1590
2019-10-18 19:03:04 -07:00
Nolan Lawson 01b0c43f0d
fix: remove type="*" from videos (#1593) 2019-10-17 18:27:30 -07:00
Nolan Lawson c13b2df6c5
fix: fix duplicate accounts in replies in Pleroma (#1592)
fixes #1591
2019-10-16 18:09:19 -07:00
Nolan Lawson d663dd7fe8
fix: fix wasted space in options dialog (#1585)
fixes #1487
2019-10-15 19:35:00 -07:00
Nolan Lawson 67b71231d3
fix: use short usernames in options dialog (#1576) 2019-10-15 07:56:39 -07:00
Nolan Lawson ac4d512363
fix: do not cache license files in service worker (#1575) 2019-10-15 06:52:27 -07:00
Nolan Lawson afb06d988e
perf: use webpack contenthash for better caching (#1573) 2019-10-14 20:00:57 -07:00
Nolan Lawson 2bafaa455e
fix: tweak autosuggest error logging and resetting (#1572) 2019-10-13 13:53:48 -07:00
Nolan Lawson d580a9b7e8
fix: do not prefer lowercase for hashtags in search (#1571) 2019-10-13 10:49:39 -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 138fe83082
fix: deduplicate settings styles (#1564) 2019-10-10 07:06:04 -07:00
Nolan Lawson 0b5adfa2c9
fix: fix fade in animation on compose button (#1557) 2019-10-08 05:59:50 -07:00
Nolan Lawson 8c5d6fe667
fix: remove iOS sticky workaround (#1556)
I'm not sure what changed, but #667 no longer seems to be an issue, so
it looks like we can safely remove this workaround. I even tested in a
simulator in iOS 11.4 and we don't seem to be affected anymore.
2019-10-08 05:59:45 -07:00
sgenoud 3de7a5ba9a fix: Return a synthetic response for range requests (#1555)
Fixes #1547
2019-10-07 08:36:05 -07:00
Nolan Lawson 8f044e19c8
fix: remove basic login mode for now (#1554)
* 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
2019-10-07 07:15:19 -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 5167e04417
fix: small kaios tweak for infinite scroll (#1549) 2019-10-07 07:14:58 -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 4ddf47f3da
feat: implement basic login mode (#1543)
fixes #1542
2019-09-26 05:28:52 -07:00
Nolan Lawson 2ada968439
fix: fix search on Mastodon v3 (#1541)
fixes #1539
2019-09-26 05:24:20 -07:00
Alex Berg 5e150b31df fix: Add "unfavorite/unboost" label (#1540)
* Add "unfavorite" label.

* fixup, also fix Boost/Unboost

* fix test
2019-09-26 05:24:05 -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 8fbf38e974
fix: fix video on iOS Safari (#1537)
* fix: fix video on iOS Safari

* add another missing type
2019-09-24 22:32:27 -07:00
Nolan Lawson 2c6a8468ea
fix: apply focus-fix to account profile name (#1536) 2019-09-24 22:32:06 -07:00
Nolan Lawson ea4c1ad819
fix: return focus to sensitive media button (#1535)
* 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
2019-09-24 22:31:56 -07:00
Nolan Lawson af27c8b26b
fix: remove relative timestamp from tab focus order (#1534)
fixes #1533
2019-09-24 22:30:26 -07:00
Nolan Lawson b8b6556a14
fix: more focus style fixes for small devices (#1532) 2019-09-24 18:46:58 -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 3a2fe740c1
feat: add KaiOS manifest file (#1528) 2019-09-24 00:50:42 -07:00
Nolan Lawson 1bbe2a5612
fix: improve focus styles (#1526)
* fix: improve focus styles

* fixup
2019-09-24 00:50:35 -07:00
Nolan Lawson fbed5b8ac8
fix: improve autosuggest styles on small screens (#1529) 2019-09-24 00:50:25 -07:00
Nolan Lawson 91c491fd8d
fix: more CSS tweaks for very small screens (#1527) 2019-09-24 00:29:42 -07:00
Nolan Lawson 59b6c7e0ce
fix: improve styles on poll form (#1525) 2019-09-24 00:29:24 -07:00
Nolan Lawson ce33c80b6d
fix: ignore modifiers in left/right focus keys (#1524)
fixes #1522
2019-09-24 00:29:12 -07:00
Nolan Lawson 488e87bda1
fix: reduce motion disables nav indicator animation (#1523)
fixes #1521
2019-09-24 00:28:40 -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 8f3b0ac80a
fix: remove aria-live region for autosuggest (#1520) 2019-09-22 23:53:09 -07:00
Nolan Lawson 3338159eaa
fix: improve nav button focus appearance (#1518) 2019-09-22 20:11:40 -07:00
Nolan Lawson 3490f98208
fix: fix nav animation for notifications/mentions (#1515) 2019-09-22 16:20:26 -07:00
Nolan Lawson 8648bb0ad2
fix: remove focus-after class on nav items (#1514)
this broke the navigation animation, so let's remove it for now
2019-09-22 16:20:20 -07:00
Nolan Lawson 0df6552f83
fix: don't set aria-activedescendant immediately on autocomplete textarea (#1513) 2019-09-22 16:19:51 -07:00
Nolan Lawson d0b7f981d2
fix: fix pleroma hashtag links (#1511)
fixes #832
2019-09-22 15:12:51 -07:00
Nolan Lawson 98a4fbb96e
fix: attempt to fix Safari login bug (#1510) 2019-09-22 15:12:45 -07:00
Nolan Lawson 41270f9210
fix: more fixes for tiny screen sizes (#1509) 2019-09-21 18:16:55 -07:00
Nolan Lawson 38b16c91d1
fix: improve style on very small mobile screens (#1505) 2019-09-21 13:45:48 -07:00
Nolan Lawson 5332a4e1e9
fix: fix null exception on community page (#1504) 2019-09-21 13:43:45 -07:00
Nolan Lawson 2b4edee216
feat: press "7" to open compose modal (#1507) 2019-09-21 13:43:24 -07:00
Nolan Lawson 3a71f2f8d5
fix: fix shortcut help dialog not keyboard-scrollable (#1508)
fixes #1473
2019-09-21 13:42:56 -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 abfe232f0e
fix: simplify redirect url logic (#1500) 2019-09-20 18:53:37 -07:00
Nolan Lawson ab9fc31405
fix: remove svelte #await (#1501) 2019-09-20 18:53:04 -07:00
Nolan Lawson 3e303a444d
fix: removing media should reset sensitive status (#1497)
fixes #1495
2019-09-17 00:19:59 -07:00
Nolan Lawson 08992f836a
fix: delete-and-redraft preserves sensitive status (#1496)
fixes #1494
2019-09-17 00:19:53 -07:00
Nolan Lawson d3fb67bec3
feat: show unread follow requests on community page (#1493)
* feat: show unread follow requests on community page

fixes #477

* fixup

* fixup
2019-09-16 22:36:24 -07:00
Nolan Lawson 3496d7e4ea
fix: improve focus style on nav item (#1492) 2019-09-15 23:18:11 -07:00
Nolan Lawson 54db8752d2
fix: remove avatars from tab order / screenreaders (#1491)
* fix: remove avatars from tab order / screenreaders

* fixup
2019-09-15 18:27:52 -07:00
Nolan Lawson 4256a790fc
fix: fix cursor position jumping on autocomplete (#1490)
fixes #56
2019-09-15 16:33:49 -07:00
Nolan Lawson 1a8de05083
fix: fix style/a11y of search/toots on small devices (#1489)
* fix: fix style/a11y of search/toots on small devices

fixes #3

* fixup

* fixup

* fixup

* fix test
2019-09-15 16:33:44 -07:00
Nolan Lawson d5fb6c568c
fix: ignore rapid Ctrl-Enter inputs when composing (#1488)
fixes #421
2019-09-15 10:45:52 -07:00
Nolan Lawson 35058ed965
feat: mark media as sensitive without a CW (#1486)
fixes #1297
2019-09-15 10:45:46 -07:00
Nolan Lawson 8035cb2580
fix: fix focal point on animated GIFs (#1484)
fixes #1483 for animated mp4s
2019-09-14 22:26:34 -07:00
Nolan Lawson 58af4d888e
feat: clicking avatar opens media modal (#1485)
fixes #1464
2019-09-14 22:26:29 -07:00
Nolan Lawson dbb746ff34
fix: media modal uses full height on mobile (#1481)
fixes #1465
2019-09-13 22:11:22 -07:00
Nolan Lawson 2112361fef
fix: fix case sensitivity in hashtag links (#1478)
fixes #1477
2019-09-13 19:04:22 -07:00
Nolan Lawson 6d3a0b5fee
fix: allow audio uploads on iOS Safari (#1472)
fixes #1461
2019-09-08 11:07:20 -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 d71d6b49ef
fix: run idb cleanups in requestIdleCallback (#1470) 2019-09-07 20:27:54 -07:00
Nolan Lawson 26a036259e
chore: update standard (#1466) 2019-09-07 20:27:47 -07:00
Nolan Lawson df0afa12ed
perf: periodically clean up old compose drafts (#1469)
fixes #1419
2019-09-07 17:49:58 -07:00
Nolan Lawson a0ad82d850
fix: Revert "fix: h2 in media edit dialog should be h1 (#1453)" (#1455)
This reverts commit 450785ea81.
2019-08-29 20:16:15 -07:00
Nolan Lawson 9787fe9f05
fix: length indicator aria-label should not be negative (#1454) 2019-08-29 20:13:25 -07:00
Nolan Lawson 450785ea81
fix: h2 in media edit dialog should be h1 (#1453)
The dialog is in its own document, so the heading level should start
back at h1.
2019-08-29 20:13:20 -07:00
Nolan Lawson de27d0e2bf
perf: don't fetch custom emoji on every page load (#1451)
fixes #812

follow-up to #1448 and #1450
2019-08-29 19:15:30 -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