Commit graph

238 commits

Author SHA1 Message Date
Nolan Lawson 5a9d047019
test: improve flakiness of report ui test (#1117) 2019-03-23 18:16:20 -07:00
Nolan Lawson 059b455451
fix: fix and test shortcut keys in modals (#1115) 2019-03-23 18:16:06 -07:00
Nolan Lawson 13659f544e
test: improve flakiness of emoji test (#1116) 2019-03-23 16:23:20 -07:00
Nolan Lawson c896836ce8
fix: fix spaces in status aria-labels (#1111)
fixes #1108
2019-03-21 14:38:37 -07:00
Nolan Lawson f0af8178af
feat: implement "." keyboard shortcut (#1105)
fixes #1052
2019-03-18 09:09:24 -07:00
Nolan Lawson 4257951f93
test: better idb migration test (#1080) 2019-03-05 20:25:33 -08:00
Nolan Lawson c0918ccdc3
fix: fix pleroma snowflake IDs for real (#1084)
fixes #1082
2019-03-05 20:25:10 -08:00
Will Pearson 8665a18ac0 fix: Fix reversed base62 encoding (#1083) 2019-03-05 20:03:55 -08:00
Nolan Lawson 5cde48c2c5
test: add IndexedDB tests (#1075)
* test: add IndexedDB tests

Adds unit tests using fake-indexeddb.

* remove wtfnode dep
2019-03-03 18:34:10 -08:00
Nolan Lawson 93a3e85994
fix: use correct sorting for snowflake IDs (#1074)
* fix: use correct sorting for snowflake IDs

fixes #1071

* refactor
2019-03-03 17:21:22 -08:00
Nolan Lawson 5aac6a213a
test: improve emoji test (#1056)
trying to make this test less flakey
2019-02-28 08:56:38 -08:00
Nolan Lawson 63003c3763
fix: fix aria-posinset should be 1-based (#1055)
* fix: fix aria-posinset should be 1-based

fixes #1053

* second attempt to fix tests

* try to fix test

*  fixup

* lint fix

* fix more tests

* simplify test math
2019-02-28 08:56:25 -08:00
Nolan Lawson d711b37165
test: add tests for image/video modals (#1045)
should ensure #1042 does not happen again
2019-02-23 21:10:15 -08:00
Nolan Lawson fabf9399f2
fix: use static server for node server.js (#1041)
* fix: use static server for `node server.js`

Aligns the Node server with the Zeit server. Fixes #1019

* fix test
2019-02-23 16:09:48 -08:00
Nolan Lawson 31a6ec6857
chore: make test less flaky (#1038) 2019-02-23 12:32:10 -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 c9ca605cfe
fix: fix keyboard shortcuts for pinned toots (#1033)
* fix: fix keyboard shortcuts for pinned toots

fixes #908

* fix test
2019-02-23 09:47:36 -08:00
Nolan Lawson 11e918dd50
fix: fix keyboard shortcuts on thread (#1031)
* fix: fix keyboard shortcuts on thread

fixes #1029

* fix test
2019-02-22 20:35:13 -08:00
Nolan Lawson 42e466f3c2
fix: j/k shortcuts correctly set active element (#1028)
fixes #1018
2019-02-21 23:50:27 -08:00
greenkeeper[bot] 8049977563 chore: Update file-drop-element to the latest version 🚀 (#1017)
* fix(package): update file-drop-element to version 0.2.0

* chore(package): update lockfile yarn.lock

* fix: update for file drop 0.2.0
2019-02-19 22:24:03 -08:00
Nolan Lawson 44e3ea575e
fix: remove __fakeFileInput, clean up on destroy (#1025) 2019-02-19 21:50:41 -08:00
Nolan Lawson a63e85bf30
feat: report an account or toots (#1016)
fixes #736
2019-02-18 19:55:44 -08:00
Nolan Lawson 7a152fbdac
feat: allow muting notifications when muting (#1013)
fixes #738
2019-02-18 15:43:41 -08:00
Nolan Lawson 58d1f62b2b
feat: implement web share target (#980)
fixes #974
2019-02-13 18:38:44 -08:00
Nolan Lawson c5394524df
chore: test in mastodon v2.7.0 (#909)
* chore: test in mastodon v2.7.0

* update ruby version

* fix backup script and update fixtures
2019-01-20 13:44:06 -08:00
Nolan Lawson 74ab056f18
fix: fix notification m/p keyboard shortcuts (#907)
fixes #905
2019-01-19 23:52:39 -08:00
Nolan Lawson 45d70e8e6b
feat: add more keyboard shortcuts (#904)
* feat: add more keyboard shortcuts

largely fixes #895

* oops wrong test name
2019-01-19 16:40:31 -08:00
Nolan Lawson b014778761
fix: fix keyboard shortcuts in notifications (#903)
fixes #894
2019-01-19 16:04:06 -08:00
Nolan Lawson 031caec406
fix: fix Alt key in keyboard shortcuts (#902)
fixes #896
2019-01-19 15:50:39 -08:00
Nolan Lawson 4a8f65b7fc
chore: refactor src files to src/ directory (#900) 2019-01-19 13:32:36 -08:00
Nolan Lawson 4a6f7b74a4
feat: 1-6 hotkeys switch columns (#888) 2019-01-13 14:02:08 -08:00
Nolan Lawson 6d1bb64bbb
fix: fix question mark hotkey (#887)
* fix: fix question mark hotkey

* fix tests
2019-01-13 14:02:01 -08:00
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