Commit graph

51 commits

Author SHA1 Message Date
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 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 df0afa12ed
perf: periodically clean up old compose drafts (#1469)
fixes #1419
2019-09-07 17:49:58 -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
Sorin Davidoi b01191037e refactor(store/observers/instance): Don't fetch lists eagerly (#1448)
They are already fetched on-demand when the community column is loaded.
2019-08-29 07:55:40 -07:00
Nolan Lawson 4232da5e33 fix: fix lint 2019-08-19 20:23:58 -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 00945a3608
chore: update standard to v13 (#1370) 2019-08-03 13:49:37 -07:00
Nolan Lawson 467eb85209
fix: simplify window.matchMedia (#1359)
There is really no reason to call window.matchMedia instead of just matchMedia.
2019-07-23 20:33:40 -07:00
Nolan Lawson 4d098d6b46
fix: fix streaming gap (#1349) 2019-07-21 15:31:26 -07:00
Nolan Lawson 6980083ed0
fix: push subscriptions per instance (#1277)
* fix: push subscriptions per instance

fixes #1274

* fixup

* add notice about one push notification per instance at a time
2019-06-19 23:00:27 -07:00
Nolan Lawson 5d0e95e759
perf: don't interate through all of localStorage in inline script (#1264) 2019-06-02 09:07:45 -07:00
Nolan Lawson d75507bbce
fix: fix disableNotificationsBadge aria-label (#1260) 2019-06-01 15:51:53 -07:00
Nolan Lawson 604471a158
fix: fix grayscale in firefox (#1261) 2019-06-01 15:51:46 -07:00
Nolan Lawson a35f5ee2d9
feat: implement wellness settings (#1256)
* implement wellness settings

fixes #1192

Adds
- grayscale mode (as well as separate grayscale/dark grayscale
themes)
- disable follower/boost/fav counts (follower counts capped at 10)
- disable unread notification count (red dot)

* fix lint

* fix crawler
2019-06-01 13:07:31 -07:00
Nolan Lawson fcf64c2169
fix: fix "Show more" button in Notifications timeline when filtered (#1255) 2019-05-29 18:48:59 -07:00
Nolan Lawson 45630c185f
feat: add option to disable infinite scroll (#1253)
* 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
2019-05-28 22:46:01 -07:00
Nolan Lawson 2c1de66592
feat: vote on polls (#1234)
more work on #1130
2019-05-26 20:45:42 -07:00
Nolan Lawson dac4b493c8
fix: poll for updates to timeago displays (#1232)
* fix: poll for updates to timeago displays

* code cleanup

* avoid some recomputes

* avoid costly recomputes
2019-05-26 16:01:14 -07:00
Nolan Lawson bf640b9b0f
fix: fix unread notifications badge for filters (#1231)
fixes #1230
2019-05-26 16:01:06 -07:00
Nolan Lawson a17948cf99
feat: add home/notification filter settings (#1226)
Fixes #1223
Fixes #1224
2019-05-25 13:21:36 -07:00
Nolan Lawson 5f01a1ba96
fix: don't autosuggest when text ends with punctuation (#1207) 2019-05-11 09:18:36 -07:00
Nolan Lawson 70da9a92a6
fix: close/open websocket on freeze/resume events (#1195)
* fix: close/open websocket on freeze/resume events

attempt to address #14

* fix unit tests
2019-05-08 19:58:32 -07:00
Nolan Lawson de220e7262
fix: throttle XHRs from autosuggest (#1190)
* fix: throttle XHRs from autosuggest

* throttle and abort properly

* add comment

* fix xhr bug
2019-05-06 20:29:43 -07:00
Nolan Lawson cef76e6bba
fix: fix flash of searched content in autosuggest (#1188) 2019-05-06 08:34:20 -07:00
Nolan Lawson 8d0db2c97c
fix: make autosuggestion accessible (#1183)
* fix: make autosuggestion accessible

fixes #129

* remove tabindexes, fix aria-hidden
2019-05-05 22:08:54 -07:00
Nolan Lawson 78715bc098
fix: do remote search when autosuggesting accounts (#1182)
* fix: do remote search when autosuggesting accounts

fixes #1005

* fix emoji search
2019-05-05 19:16:02 -07:00
Nolan Lawson ecaeec226c
feat: add option to disable open graph cards (#1161)
fixes #1155
2019-04-20 09:12:42 -07:00
Nolan Lawson b3098c8c5a fix: tweaks to conversations (direct) UI (#1137)
- make the url `/direct`
- call it "Direct messages"
- fix sapper export
- retain DM background color
- add test
2019-04-13 15:30:49 -07:00
Steve Genoud 622dbde258 feat: Adds a basic conversations timeline (#1137)
fixes #639
2019-04-13 15:30:49 -07:00
sgenoud f6c8eb4055 fix: Disable custom scrollbars by default on iOS (#1133) 2019-04-05 09:27:44 -07:00
Nolan Lawson 6744de59f8
feat: add account page filters (#1124)
* start on account page filters

fixes #1021

* making progress

* more progress, just need style now

* fix lint

* fix style and add test
2019-03-30 21:48:49 -07:00
Nolan Lawson f0af8178af
feat: implement "." keyboard shortcut (#1105)
fixes #1052
2019-03-18 09:09:24 -07:00
Nolan Lawson 7e5f58b969
refactor: use timeline item summaries instead of ids (#1072)
As described in https://github.com/nolanlawson/pinafore/issues/369#issuecomment-467211908 this is the first step toward fixing #369
2019-03-03 13:24:55 -08:00
Nolan Lawson 547ee14f88
refactor: use ids instead of attrs for delegate/shortcut/focus (#1035)
* refactor: use ids instead of attrs for delegate/shortcut/focus

fixes #1034

* console log on error

* fix test
2019-02-23 12:32:00 -08:00
Nolan Lawson bfdb977f22
fix: refactor NavItem, fix icon badge bug (#1014) 2019-02-18 16:27:52 -08:00
Nolan Lawson 58d1f62b2b
feat: implement web share target (#980)
fixes #974
2019-02-13 18:38:44 -08:00
Nolan Lawson 8179c1b53f
fix: set dark theme based on prefers-color-scheme (#966)
* fix: set dark theme based on prefers-color-scheme

fixes #728

* add an explicit banner fill color
2019-02-11 21:03:51 -08:00
Nolan Lawson 648d9a3cf6
fix: tweak underlining of links (#920) 2019-01-26 13:50:45 -08:00
Nolan Lawson 109022fab9
feat: add option to underline links in toot text (#919)
* feat: add option to underline links in toot text

* change text
2019-01-26 12:58:11 -08:00
Nolan Lawson 8f84ae5a51
feat: add setting to disable hotkeys (#889) 2019-01-13 14:02:15 -08:00
Nolan Lawson e666eb5955
perf: use lodash-lite for some functions (#853) 2018-12-23 10:10:16 -08:00
Nolan Lawson 4ab9687200
perf: load Toast asynchronously (#851) 2018-12-22 15:37:51 -08:00
Nolan Lawson d047a265a3
fix(picker): only focus picker search on desktop (#843)
* fix(picker): only focus picker search on desktop

* detect using touch detection instead
2018-12-18 20:01:53 -08:00
Nolan Lawson 7596d905ab
fix(emoji): make emoji picker more like Mastodon's (#842) 2018-12-18 18:24:05 -08:00
Nolan Lawson 098a20db49
feat: add full emoji picker using emoji-mart (#836)
* feat: add full emoji picker using emoji-mart

Fixes #4

* use a sailboat as the default emoji in the emoji picker

* fix tests

* fix lint
2018-12-18 00:43:51 -08:00
Nolan Lawson bf9ba22c35
fix: fix logging in and out with a refresh (#824)
* fix: fix logging in and out with a refresh

fixes #805

* simplify code

* make test less flaky

* fix dumb mistake
2018-12-16 12:39:16 -08:00
Nolan Lawson 14a618f374
perf: lazy-load logged-in observers, fix circular dependencies (#823)
* perf: lazy-load logged-in observers, fix circular dependencies

* I guess async deps don't count as circular deps
2018-12-16 10:22:34 -08:00
Nolan Lawson d5c0268ef2
fix: move page-lifecycle and idb-getall-shim to dynamic modules (#804)
This would help with Rollup compat if we ever decided to switch to
Rollup
2018-12-13 22:55:04 -08:00