Commit Graph

210 Commits

Author SHA1 Message Date
Nolan Lawson 48a1bd47b3
refactor(themes): use CSS specificity order for themes (#684)
The point of this PR is to make it easier to implement scrollbars (#683).

With this PR, the themes move from a body tag-based system (e.g. `body.theme-scarlet`) to a system where they simply declare global CSS and we use CSS specificity order to give us the right theme.
2018-11-24 00:41:36 -08:00
Nolan Lawson e3debcc5e1
fix(emoji): fix ™® characters treated as emoji (#682)
fixes #679
2018-11-23 21:32:57 -08:00
Nolan Lawson 689dae5d39
fix(dialog): when dialog is hidden, don't scroll to top (#672)
* fix(dialog): when dialog is hidden, don't scroll to top

* update package-lock.json
2018-11-21 00:33:46 -08:00
Nolan Lawson 3dae883761
fix(emoji): asterisk should not be treated as emoji (#668) 2018-11-20 22:41:41 -08:00
Nolan Lawson d9e79daa6a
fix(emoji): emoji replacer should ignore pound sign (#666)
* fix(emoji): emoji replacer should ignore pound sign

* add test

* fix regex
2018-11-20 09:42:49 -08:00
Nolan Lawson 5f5cb0d36d
fix(scroll): fix offsetHeight for scrolling whole document (#664) 2018-11-20 08:58:13 -08:00
Nolan Lawson 4124da2439
fix(emojos): fix emojos on Ubuntu and Chrome on Windows (#661)
* fix(emojos): fix emojos on Ubuntu and Chrome on Windows

* fixup

* start working on unit tests

* fixup

* add more tests and fix emoji
2018-11-20 00:01:23 -08:00
Nolan Lawson 639c6eaed7
fix(eventBus): increase event listeners to 1000 (#657) 2018-11-18 09:07:32 -08:00
Nolan Lawson b7f5d04b4c
fix(scrolling): use body as scrolling container (#656)
* fix(scrolling): use body as scrolling container

Fixes #526

* fixup tests and focus
2018-11-17 18:06:49 -08:00
Nolan Lawson 0964442815
chore(travis): update to mastodon v2.6.1 (#630)
* chore(travis): update to mastodon v2.6.1

* check if mastodon v2.6.1 has a race condition

* apparently in 2.6.1 direct messages no longer appear in home timeline

* Revert "check if mastodon v2.6.1 has a race condition"

This reverts commit dde8ef8be58eda0563170e6b73165fdcbea54f6b.

* try to fix tests

* fix more tests
2018-11-12 12:59:47 -08:00
Sorin Davidoi e45af16bf9 Push notifications (#579)
* feat: Push notifications

* feat: Feature-detect push notifications support

* feat: Prompt user to reauthenticate when missing push scope

* fix(service-worker): Add tags to notifications

* feat: Push notification actions for mentions
2018-10-06 13:06:10 -07:00
Nolan Lawson fd43dc6e5d
fix idb getall in edge (#535)
* fix idb getall in edge

fixes #532

* try to fix

* this should work

* fixup
2018-09-05 19:52:51 -07:00
Nolan Lawson e92bed8e58
fix image loading (#527) 2018-08-31 16:35:26 -07:00
greenkeeper[bot] 8dbc1b0503 Update standard to the latest version 🚀 (#519)
* chore(package): update standard to version 12.0.0

* package lock update

* fix eslint
2018-08-29 21:42:57 -07:00
Nolan Lawson d599f2f308
run idb operations in a web worker (#517) 2018-08-29 19:03:12 -07:00
Nolan Lawson 543536409b
add application (client) name to statuses (#497)
* add application (client) name to statuses

fixes another thing in #6

* add domain blocking (#496)

* add domain blocking

fixes another thing from #6

* show "domain blocking" on profile page

* fix stuff
2018-08-26 15:38:45 -07:00
Nolan Lawson 1423a6b14b
slight refactor of timeline fetching (#485) 2018-08-24 11:50:40 -07:00
Nolan Lawson c4c128030e
allow custom emoji in user profiles (#475)
fixes #471
2018-08-23 14:47:33 -07:00
Nolan Lawson 8949b36873
Use img.decode() (#473)
* remove will-change:transform from container

* WIP: use img.decode()

* more work on img.decode
2018-08-22 21:00:53 -07:00
Nolan Lawson aea952daf0
use better emoji removal algorithm (#452)
another follow-up to #450 to fix #449
2018-08-19 20:25:28 -07:00
Nolan Lawson af1d4b63d3
better support for de-emojified user display names (#451)
improvements to #450 to fix #449, especially for aria labels
2018-08-19 19:31:54 -07:00
Nolan Lawson 37e12e8d73
add option to remove emoji from user display names (#450)
* add option to remove emoji from user display names

fixes #449

* slight memory perf improvement
2018-08-19 18:03:26 -07:00
Nolan Lawson 350667e5df
allow user display names to contain custom emoji (#448)
* allow user display names to contain custom emoji

fixes #445

* fix tests

* fix focus issue
2018-08-19 15:23:40 -07:00
Nolan Lawson 23ccec45d0
fix notifications in a background tab (#402)
Part of the way to improving #390.

Before this fix, if you recieved a notification while Pinafore was in a background tab, nothing would happen, because most browsers (Edge, Firefox, Chrome) don't run rAF in background tabs. Furthermore, Chrome doesn't run rIC. In this PR we detect if we're in a background tab and then avoid rAF/rIC in that case.
2018-06-23 10:11:14 -07:00
Nolan Lawson 5f4e869eeb
add more fine-grained request timeouts (#387)
* add more fine-grained request timeouts

fixes #381

* tweak timeout
2018-06-13 07:38:36 -07:00
Nolan Lawson 11dcaf0cf3
Remove PseudoVirtualList (#385)
* start on removing pseudo virtual list

* rename, refactor

* remove unused file

* fix the tests

* actually fix tests

* okay actually fix tests
2018-06-09 22:55:58 -07:00
Nolan Lawson c309e5842d
slightly improve Svelte 2.0 compatibility (#244)
* slightly improve Svelte 2.0 compatibility

* fixup

* fix lint
2018-04-29 22:13:41 -07:00
Nolan Lawson 75b4d09b64 remove AsyncLayout in favor of rAf + gBCR 2018-04-27 18:16:57 -07:00
Nolan Lawson 12131bd807
refactor dialogs to be individually async (#206) 2018-04-21 09:56:53 -07:00
Nolan Lawson 78f44c7b51
make timeline components async (#204) 2018-04-21 08:45:41 -07:00
Nolan Lawson ec138f94ce
fix requestIdleCallback in edge/safari (#198)
Fixes #195
2018-04-21 00:33:36 -07:00
Nolan Lawson 77ba91c712
fix animations and cleanup store/component get() usage (#185)
fixes #181
2018-04-19 21:38:11 -07:00
Nolan Lawson 79b848df2c
fix requestIdleCallback not defined in Edge (#180) 2018-04-19 10:35:34 -07:00
Nolan Lawson 8d5690d63d
remove get() with string from Svelte calls (#169)
* remove get() with string pt 1

* remove get() with string pt 2

* fix typo

* fix some null exceptions in get()

* fixup code style
2018-04-19 09:37:05 -07:00
Nolan Lawson e431c29efa
update and pin all deps (#164) 2018-04-18 20:43:13 -07:00
Nolan Lawson 2d5714a2ea
simplify ajax.js implementation (#157)
* simplify ajax.js implementation

* fix typo
2018-04-17 22:08:15 -07:00
Nolan Lawson 7c548018c1
Simplify click delegate implementation (#155) 2018-04-17 21:47:30 -07:00
Nolan Lawson e23aa97cf2
make PseudoVirtualList sync rather than async (#133)
Attempt to address #92
2018-04-15 14:43:41 -07:00
Nolan Lawson 6230c2703e
content warnings can have emoji (#122)
fixes #105
2018-04-14 15:50:06 -07:00
Nolan Lawson a208e5dedb
fix warning about max EventEmitter listeners (#100) 2018-04-13 09:46:38 -07:00
Nolan Lawson 7853285eea
Fix scrollTop jiggle in Firefox (#94)
Fixes #64
2018-04-12 19:58:18 -07:00
Nolan Lawson 95c3349db7 fix bug where favicon changes incorrectly 2018-04-11 20:30:38 -07:00
codl 6fcecce311 allow scroll-to-top to be canceled by a user scroll (#79) 2018-04-11 19:43:22 -07:00
Nolan Lawson 55782a5331 detect "selected" when doing smooth scroll to top 2018-04-10 23:15:22 -07:00
Nolan Lawson 494f906701
increase fetch timeout to 60 seconds for now (#55)
Fixes #29
2018-04-09 18:33:23 -07:00
Nolan Lawson 7ae3212c55
Fix alts for image uploads (#54)
* Fix alts for image uploads

Fixes #41

* fix alts mixed with no-alts
2018-04-09 18:30:15 -07:00
Nolan Lawson bcc7fb47ef start using an event bus 2018-04-08 15:08:32 -07:00
Nolan Lawson 2544b71251 use lodash-es for slightly smaller bundle size 2018-04-05 17:57:36 -07:00
Nolan Lawson 760cafdeff don't allow clicking through to status if click is on toolbar 2018-04-04 18:53:52 -07:00
Nolan Lawson ef5b922e77 add basic handling for window resize 2018-03-31 17:42:52 -07:00