Stephane Zermatten
c2bd2f306a
feat: Add support for keyboard shortcuts ( #870 )
...
* Add support for keyboard shortcuts.
This change introduces a Shortcut component for defining global
keyboard shortcuts from whichever component makes more sense.
This change also adds an initial set of navigation shortcuts:
- Backspace to leave a modal dialog or to go back
- g t to go to the federated timeline
- g f to go to the favorite page
- g h to go to the home page
- g n to go to the notification page
- g c to go to the community page
- s to go to the search page
These shortcuts are loaded asynchronously from _layout.html
In modal dialogs, shortcuts are also modal, to avoid strange or
overly complex behavior. This is implemented by grouping
shortcuts into scopes, and activating a separate 'modal' scope
when entering a modal dialog, so a separate set of shortcuts can
be enabled in modal dialog. Modal dialogs can be exited by
pressing 'Backspace'.
* Navigate up/down lists using keyboard shortcuts.
This change introduces keyboard shortcuts for navigating in lists and
virtual lists. j or arrow up selects the next element, k or arrow down,
the previous element. Selecting an element scrolls the list up and down,
as necessary.
This change also allows directing keyboard shortcuts to the active
element and defines the following shortcuts, for the active status:
- f to favorite or unfavorite it
- b to boost or unboost it
- r to reply to it
- o to open its thread
- x to toggle the display of a CW
- y to toggle the display of sensitive medias
This works by defining a keyboard shortcut scope for each list element.
A new component, ScrollListShortcuts, keeps track of the active element,
based on list or virtual list elements and redirects shortcuts to the
active element's scope. ScrollListShortcuts keeps the active element in
the current realm of the store, so the active element is restored when
going back to the list.
* Typing h or ? displays the list of available keyboard shortcuts.
This change introduces a new modal dialog that documents the list of
available shortcuts.
2019-01-13 10:03:29 -08:00
Nolan Lawson
e5ef4b9bb1
fix: add better browser notification badges ( #857 )
...
* fix: add better browser notification badges
* fix test
* fix tests for real
* actually fix tests
2018-12-30 14:51:03 -08:00
Nolan Lawson
27da387a01
fix: preserve newlines correctly in delete-and-redraft ( #845 )
...
fixes #830
2018-12-19 00:57:56 -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
c90ad17686
fix: logging out results in visible homescreen ( #807 )
...
* fix: logging out results in visible homescreen
fixes #805
* fixup
2018-12-14 00:25:12 -08:00
Nolan Lawson
1940260631
fix: fix delete and redraft on replies ( #789 )
...
fixes #786
2018-12-12 23:45:52 -08:00
Nolan Lawson
631603b0b7
fix: fix flaky test by clicking relative date ( #790 )
...
* fix: fix flaky test by clicking relative date
* fix test and add new one
2018-12-12 23:45:42 -08:00
Nolan Lawson
42978c3c84
fix: fix duplicate statuses in threads ( #783 )
...
fixes #511
2018-12-11 22:06:50 -08:00
Nolan Lawson
4bd181d3cc
fix: update Sapper to latest ( #775 )
...
* fix: update to latest sapper
fixes #416
* fix error and debug pages
* requestIdleCallback makes column switching feel way nicer than double rAF
* add export feature
* add better csp info
* workaround for sapper sub-page issue
* clarify in readme about exporting
* fix now config
* switch from rIC to triple raf
* style-loader is no longer used
* update theming guide
2018-12-11 07:31:48 -08:00
Nolan Lawson
4d3a2ded2a
chore(tests): skip flaky "thread preserves focus" test ( #777 )
2018-12-11 07:29:31 -08:00
Nolan Lawson
60751b3339
feat(statuses): implement "Delete and redraft" ( #719 )
...
Fixes #469
2018-12-03 23:23:29 -08:00
Nolan Lawson
ce61b821c5
feat(ui): add option to always show sensitive media ( #709 )
...
fixes #699 . I also went ahead and divided the settings into two groups: Preferences and Accessibility
2018-12-01 14:09:08 -08:00
Nolan Lawson
a760687c6d
chore(tests): make focus test less flaky ( #708 )
2018-12-01 12:56:55 -08:00
Nolan Lawson
153e4f4fcd
feat(a11y): add option for short article aria labels ( #705 )
...
Actually fixes #694 by providing an option to make the labels like they used to be.
2018-12-01 11:53:20 -08:00
Nolan Lawson
0515133ece
fix(a11y): fix NVDA crash on long aria-label ( #702 )
...
* fix(a11y): fix NVDA crash on long aria-label
fixes #694
* use the word truncated instead of ellipsis
* fix test
* really fix tests
2018-12-01 00:10:30 -08:00
Nolan Lawson
9c74a072bf
fix(emojos): actually fix trademark character ( #693 )
...
another fix for #679
2018-11-25 12:35:52 -08:00
Nolan Lawson
cc81a7bec6
fix(a11y): improved aria-label for status and notifications ( #690 )
...
* fix(a11y): improved aria-label for status and notifications
fixes #689
* only calculate formatted date once
* fixup tests
* fixup tests more
* fixup
* fixup tests again
2018-11-25 01:20:58 -08:00
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
bae367da7b
test: make tests less flaky ( #678 )
2018-11-21 22:08:37 -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
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
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
62ac7330fc
feat(title): add dynamic document title ( #645 )
...
* feat(title): add dynamic document title
fixes #490 and #643
* fix code style
2018-11-12 18:28:43 -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
Nolan Lawson
e11738a711
fix tests broken in chrome 70 ( #602 )
2018-11-04 13:59:14 -08:00
Nolan Lawson
9b2b90b46e
simplify theme definitions ( #574 )
...
* simplify theme definitions
* remove rollup dep which is overkill
* fix syntax error
* fix lint
* fix test
2018-09-23 12:26:01 -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
2449a27767
fix pinned/unpinned state of recently pinned statuses ( #521 )
...
* fix pinned/unpinned state of recently pinned statuses
* fixup
* fix test
2018-08-29 18:10:09 -07:00
Nolan Lawson
01b1d083a9
update fav boost accounts for stale views ( #510 )
2018-08-28 06:45:15 -07:00
Nolan Lawson
b60d636ee2
media uploads no longer add URLs to status text ( #500 )
...
fixes #8
2018-08-26 18:54:59 -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
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
a0d3a89180
remove useless aria-hidden ( #386 )
2018-06-10 19:49:39 -07:00
Nolan Lawson
eeff84a587
Fix text overflow on status headers ( #383 )
...
* Fix text overflow on status headers
* fix tests
* really fix tests
2018-06-09 15:04:47 -07:00
Nolan Lawson
e489702dc6
tests: remove more testcafe .find() calls ( #376 )
2018-06-08 21:54:21 -07:00
Nolan Lawson
fa08739fc4
tests: remove .find()s from testcafe in utils.js ( #375 )
2018-06-08 21:54:11 -07:00
Nolan Lawson
08ad25f677
tests: improve flakiness in basic timeline spec ( #378 )
2018-06-08 21:53:45 -07:00
Nolan Lawson
e8d2cd9ffc
tests: quicker login, tweak test setup ( #372 )
...
* make tests faster by logging in directly
* downgrade testcafe
* Revert "downgrade testcafe"
This reverts commit 0f78f5ef63f25b6428de2faba476a353a338c695.
* try a delay
* the delay does not do anything
* disable concurrency in testcafe
* make setup script less noisy
* try transparency of 2?
* Revert "the delay does not do anything"
This reverts commit 438b3519a4e0c325e89f0c2a0eff6a7a4ae11ebd.
* try a delay of 400ms
* okay fine delay of 1s
* try concurrency of 4 again
2018-06-08 09:00:20 -07:00
greenkeeper[bot]
708340502d
Update testcafe to the latest version 🚀 ( #370 )
...
* chore(package): update testcafe to version 0.20.3
* package-lock update
* make theme test pass
2018-06-07 15:26:21 -07:00
Nolan Lawson
efdb0bc534
Remove testcafe roles and run in parallel x4 ( #334 )
...
* more attempts to fix test flakiness
* remove testcafe roles entirely
* really remove testcafe roles
* run testcafe in parallel x2
* run testcafe in parallel x4
* fix online/offline forcing in tests
* fix pin test
2018-05-26 13:51:41 -07:00
Nolan Lawson
fe12b72293
attempt to fix flaky tests ( #318 )
...
* attempt to fix flaky tests
* another attempt to fix flakiness
* more attempts to fix flakiness
2018-05-24 20:01:34 -07:00
Nolan Lawson
8089202977
add ability to pin and unpin statuses ( #235 )
...
* add ability to pin and unpin statuses
* add another test
2018-04-29 12:28:44 -07:00
Nolan Lawson
ffb00fcc5c
approve/reject follow requests, unblock, unmute ( #230 )
...
* approve/reject follow requests, unblock, unmute
* make tests less flaky
2018-04-28 14:19:39 -07:00
Nolan Lawson
8a46f3b3d1
add test and aria-label
2018-04-26 22:37:39 -07:00
Nolan Lawson
6bd4b05a98
fix more bugs in autocomplete ( #208 )
...
* fix more bugs in autocomplete
fully fixes #170
* fixup
* fix tests
2018-04-21 14:57:02 -07:00
Nolan Lawson
209b36c73b
fix flaky login tests ( #209 )
2018-04-21 13:06:46 -07:00
Nolan Lawson
e4d2934c67
fix themes ( #199 )
...
Fixes #194
2018-04-21 00:33:42 -07:00
Nolan Lawson
581a0fcd00
fix multiple compose autosuggest dropdowns ( #188 )
...
* fix multiple compose autosuggest dropdowns
Fixes #170
* fix failing test
* remove console.log
2018-04-20 06:26:36 -07:00
Nolan Lawson
979b4afc89
fix mute test ( #174 )
2018-04-19 09:34:49 -07:00
Nolan Lawson
e431c29efa
update and pin all deps ( #164 )
2018-04-18 20:43:13 -07:00
Nolan Lawson
00e71293d6
fix autosuggestion mixed with emoji ( #154 )
...
fixes #140
2018-04-17 18:38:36 -07:00
Nolan Lawson
980fec15ec
fix favorites/boosts reversed aria labels ( #153 )
...
Fixes #146
2018-04-17 18:38:27 -07:00
Nolan Lawson
e8a527989a
explicitly focus elements in tests ( #147 )
2018-04-17 09:44:28 -07:00
Maxime Le Conte des Floris
eef54e992b
focus container on page load ( #116 )
...
* focus container on page load
* only focus container on first page load
* add test for container focus on page load
* fix typo
2018-04-17 09:42:10 -07:00
Nolan Lawson
7ff45dfb3f
mute and unmute accounts ( #127 )
2018-04-14 22:18:48 -07:00
Nolan Lawson
cb20965678
Add test for mentioning an account ( #126 )
2018-04-14 20:56:13 -07:00
Nolan Lawson
732d1fded4
Block and unblock an account ( #125 )
...
One of the many features listed in #6
2018-04-14 18:47:55 -07:00
Nolan Lawson
6230c2703e
content warnings can have emoji ( #122 )
...
fixes #105
2018-04-14 15:50:06 -07:00
Nolan Lawson
ff8e92df6c
preload content in CW ( #110 )
...
* preload content in CW
Fixes #63
* fix test
2018-04-14 10:47:53 -07:00
Nolan Lawson
707e89e899
faster hydrateContent() algorithm, add test ( #109 )
2018-04-14 10:08:43 -07:00
Nolan Lawson
a82c44c21f
Replying returns focus to reply button ( #98 )
...
Fixes #42
2018-04-12 21:18:14 -07:00
Nolan Lawson
84148912ee
Fix spoilers being posted after removal ( #90 )
...
Fixes #83
2018-04-11 22:55:11 -07:00
Nolan Lawson
44dafb591e
travis: fix flaky test
2018-04-10 22:38:10 -07:00
Nolan Lawson
ebc11ad00e
travis: attempt to fix flaky test
2018-04-10 21:46:30 -07:00
Nolan Lawson
f2b2eb1cec
travis: try to fix flaky test
2018-04-10 21:19:29 -07:00
Nolan Lawson
dac4d120f3
travis: try to fix flaky tests
2018-04-10 20:56:42 -07:00
Nolan Lawson
9d706a3748
Add img title as well as alt ( #66 )
...
Fixes #57
2018-04-10 20:02:42 -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
eb8cd5f83d
simplify and refactor dialogs using event bus
2018-04-08 16:56:20 -07:00
Nolan Lawson
ee8cda5d66
fix modifying replies to statuses
2018-04-08 13:42:31 -07:00
Nolan Lawson
e34a1054a2
fix tests
2018-03-31 22:08:24 -07:00
Nolan Lawson
125dd6ab75
make tests run slightly faster
2018-03-31 17:59:20 -07:00
Nolan Lawson
ff27c68760
fix lint
2018-03-31 17:42:59 -07:00
Nolan Lawson
f9993cac35
fix post privacy for replies
2018-03-30 10:04:35 -07:00
Nolan Lawson
42a467ffc8
make test less flakey
2018-03-30 08:19:18 -07:00
Nolan Lawson
5a0c4897b0
make replies inline
2018-03-30 01:06:17 -07:00
Nolan Lawson
6f350b68d3
fix content warning should delete when you hide it
2018-03-28 18:37:53 -07:00
Nolan Lawson
ddd32a2223
improve tests
2018-03-27 08:38:40 -07:00
Nolan Lawson
58b700788c
add floating compose button
2018-03-27 00:02:55 -07:00
Nolan Lawson
7ce9a39119
add emoji autosuggest
2018-03-25 12:24:38 -07:00
Nolan Lawson
62ef9d7bb0
tweak test timeout
2018-03-22 17:55:57 -07:00
Nolan Lawson
d40befacdb
compose button is not disabled by default
2018-03-22 17:55:35 -07:00
Nolan Lawson
0c9992c0e1
change scheduling to focus on requestIdleCallback
2018-03-20 20:28:53 -07:00
Nolan Lawson
98b704f465
optimistic updates for fav/reblog
2018-03-20 17:41:39 -07:00
Nolan Lawson
111d6201f3
add a sleep to the test
2018-03-19 20:10:20 -07:00
Nolan Lawson
00fd911579
truly fix streaming gap issue, remove sleeps from tests
2018-03-19 18:00:49 -07:00
Nolan Lawson
eaa19f79e4
fix streaming gap issue
2018-03-19 10:09:05 -07:00
Nolan Lawson
ed0db17ca0
add auto-focus to reply input text
2018-03-16 19:04:48 -07:00
Nolan Lawson
9a0071a934
clicking avatars goes directly to profile
2018-03-16 18:48:24 -07:00
Nolan Lawson
bfc9692667
refactor tests
2018-03-16 10:06:02 -07:00
Nolan Lawson
73b53c2afd
upgrade svelte
2018-03-15 23:01:38 -07:00
Nolan Lawson
c0a2a1e8bf
add another focus test
2018-03-15 20:31:58 -07:00
Nolan Lawson
a5ca99c2f0
fix some tests
2018-03-15 17:33:52 -07:00
Nolan Lawson
56f7efb78f
implement requesting to follow someone
2018-03-14 22:32:58 -07:00
Nolan Lawson
9d779a203c
fix test
2018-03-13 22:30:59 -07:00
Nolan Lawson
50499c00a7
make tests less flaky
2018-03-13 20:02:51 -07:00
Nolan Lawson
c13771c3a0
more options button to follow/unfollow
2018-03-11 19:40:32 -07:00
Nolan Lawson
a2ac4f1735
make test less flaky
2018-03-11 12:10:59 -07:00
Nolan Lawson
06575a0b81
delete statuses should delete notifications
2018-03-10 21:05:00 -08:00
Nolan Lawson
da2daa955d
fix statuses being deleted from threads
2018-03-10 20:24:07 -08:00
Nolan Lawson
23a247a8c2
basic support for delete streaming
2018-03-10 16:21:10 -08:00
Nolan Lawson
d4e48ac6fa
better indication of non-autoplay gifs
2018-03-10 11:28:30 -08:00
Nolan Lawson
b3263e528f
fix incoming statuses, add tests
2018-03-10 10:54:16 -08:00
Nolan Lawson
7813cf99ed
immediately add replies to threads
2018-03-09 22:31:26 -08:00
Nolan Lawson
6f1903fec5
fix handles appearing in replies
2018-03-09 08:45:12 -08:00
Nolan Lawson
443701605f
optimize test images
2018-03-08 22:24:34 -08:00
Nolan Lawson
cd8293925e
fix tests
2018-03-08 18:37:32 -08:00
Nolan Lawson
f0d05b7560
lint fix
2018-03-08 18:09:35 -08:00
Nolan Lawson
4177de913d
cleanup tests
2018-03-08 18:09:11 -08:00
Nolan Lawson
53081ffe54
add failing test for offline threads
2018-03-08 18:08:14 -08:00
Nolan Lawson
6dfa63ba48
fix tests
2018-03-06 23:57:06 -08:00
Nolan Lawson
15b51bb3eb
rename test files
2018-03-06 21:32:51 -08:00
Nolan Lawson
d72c13d42c
fix last test
2018-03-06 20:44:05 -08:00
Nolan Lawson
4a49e9118e
lint fix
2018-03-05 23:56:48 -08:00
Nolan Lawson
8eeb7da186
getting closer
2018-03-05 22:36:54 -08:00
Nolan Lawson
19d5d9aaae
fix tests again
2018-03-05 21:27:51 -08:00
Nolan Lawson
b5800bc5c9
update users
2018-03-05 20:59:21 -08:00
Nolan Lawson
5c38554a38
update scripts
2018-03-05 20:51:42 -08:00
Nolan Lawson
9872f6073e
continue on test data instance restoration
2018-03-05 20:29:49 -08:00
Nolan Lawson
525066e6ea
add titles to external links, plus tests
2018-03-04 15:31:31 -08:00
Nolan Lawson
456c865a09
make tests less flaky
2018-03-04 12:46:46 -08:00
Nolan Lawson
c6d55f14e7
lint fix
2018-03-03 16:32:10 -08:00
Nolan Lawson
9149887fec
add tests for content warnings
2018-03-03 16:12:48 -08:00
Nolan Lawson
2f5e19bd44
start on content warnings
2018-03-03 15:44:43 -08:00
Nolan Lawson
35282666cc
implement post privacy
2018-03-03 13:23:26 -08:00
Nolan Lawson
d4e770c28d
add media URLs when media is inserted
2018-03-03 11:26:10 -08:00
Nolan Lawson
c2738b7f68
fix bug in media test
2018-03-03 10:27:14 -08:00
Nolan Lawson
e79003d8d7
separate uploaded media by instance/realm
2018-03-03 10:11:32 -08:00
Nolan Lawson
5b94dd7829
add ability to remove media
2018-03-02 21:55:04 -08:00
Nolan Lawson
9f8b4fa9d8
start adding media upload test
2018-03-02 17:54:38 -08:00
Nolan Lawson
d7366e637a
speed up tests
2018-02-28 22:45:42 -08:00
Nolan Lawson
5424242b0f
fix emoji insertion
2018-02-28 21:03:21 -08:00
Nolan Lawson
2614e451b2
add test for compose, and emoji
2018-02-28 18:45:29 -08:00
Nolan Lawson
b6eb997893
add test for compose limits
2018-02-27 21:20:48 -08:00
Nolan Lawson
dae8054276
fix tests
2018-02-25 23:38:06 -08:00
Nolan Lawson
454fcda954
fix display name on instance page
2018-02-25 14:06:36 -08:00
Nolan Lawson
81174e636b
add test for notifications
2018-02-24 21:27:32 -08:00
Nolan Lawson
00ccf35777
add reblogging/unreblogging
2018-02-24 20:35:22 -08:00
Nolan Lawson
1b7a01f1ee
add favorite/unfavorite feature
2018-02-24 14:49:28 -08:00
Nolan Lawson
ab366d6c2c
add favorites/boost test
2018-02-21 18:39:53 -08:00
Nolan Lawson
9b316665b6
add focus test
2018-02-21 09:26:22 -08:00
Nolan Lawson
4d88723cb4
lint fix
2018-02-20 21:30:16 -08:00
Nolan Lawson
ea3f5a33fb
add test for threads
2018-02-20 21:08:26 -08:00
Nolan Lawson
5b051558e1
add test for image modals
2018-02-20 09:42:55 -08:00