Nolan Lawson
f0af8178af
feat: implement "." keyboard shortcut ( #1105 )
...
fixes #1052
2019-03-18 09:09:24 -07:00
Nolan Lawson
90aab7f6af
fix: fix background on dark mode emoji ( #1102 )
...
fixes #1101
2019-03-17 12:37:26 -07:00
Nolan Lawson
8b0dd86605
fix: fix media button focus outline ( #1103 )
...
fixes #1037
2019-03-17 12:37:19 -07:00
jeroenpraat
5012a21bcd
feat: Plus theme with Mastodon standard web-app colors (called mastodon) ( #1090 )
...
* +mastodon theme
* +mastodon theme
2019-03-09 12:29:57 -08:00
Nolan Lawson
9012b6ce5c
fix: when idb is blocked, use console.error ( #1081 )
...
this allows the error to actually be logged in production for better debugging
2019-03-05 20:25:38 -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
f179a63255
fix: add a privacy policy ( #1078 )
...
fixes #1077
2019-03-04 23:18:21 -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
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
b14f818e81
perf: build url regex in advance ( #1069 )
...
* perf: build url regex in advance
* update comment
* better regex stringification
2019-03-02 22:02:59 -08:00
Nolan Lawson
1f5606c65e
perf: reduce size of ShortcutHelpInfo.html ( #1068 )
2019-03-02 20:06:56 -08:00
Nolan Lawson
880bc7a38a
perf: use a separate icons.svg file ( #1067 )
...
* perf: use a separate icons.svg file
This splits icons into inline and non-inline. The inline ones are high
priority; the rest go in an icons.svg file.
* create SvgIcon.html
* determine inlined svgs at build time
2019-03-02 19:02:06 -08:00
Nolan Lawson
c98619adac
fix: fix closing of account options dialog ( #1060 )
...
* fix: fix closing of account options dialog
fixes #1049
* fix lint
2019-02-28 20:49:09 -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
b0aa86ef44
fix: fix undefined error in media dialog scroll ( #1048 )
2019-02-26 22:18:24 -08:00
Nolan Lawson
6708b06a59
chore(package): update dependencies ( #1046 )
2019-02-23 23:34:48 -08:00
Nolan Lawson
df8c49cb57
fix: fix /undefined request for gifv ( #1044 )
...
* fix: fix /undefined request for gifv
fixes #1042 for real this time
* use poster instead
2019-02-23 19:26:06 -08:00
Nolan Lawson
e3888586bb
fix: fix /undefined request for video poster ( #1043 )
...
fixes #1042
2019-02-23 18:42:19 -08:00
Nolan Lawson
2b491ddb10
fix: fix pinned toots not in IDB ( #1040 )
...
fixes #660
2019-02-23 15:18:48 -08:00
Nolan Lawson
8c37a7cc02
refactor: refactor parent focus styles ( #1036 )
2019-02-23 12:50:56 -08:00
Nolan Lawson
56162c7a69
fix: fix timeline jumping on focus ( #1039 )
...
This should fix #840 . I can't see any reason why we would want it to scroll when we're focusing these things.
2019-02-23 12:32:18 -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
eeba66567c
feat: add "accout has moved" banner ( #1032 )
...
fixes #472
2019-02-22 20:35:19 -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
e16c312788
fix: use focus ring rather than background for status/notifications ( #1030 )
...
I don't like clicking on a status, clicking back, and suddenly it has a
different background. The focus ring is less distracting. Unfortunately
it doesn't look right on the article element itself, so we have to apply
the style to its parent, but that's not too hard.
2019-02-22 20:35:04 -08:00
Nolan Lawson
42e466f3c2
fix: j/k shortcuts correctly set active element ( #1028 )
...
fixes #1018
2019-02-21 23:50:27 -08:00
Nolan Lawson
58844052c9
fix: update url regex to match latest mastodon ( #1026 )
...
also make all the regexes use the thunk pattern consistently
2019-02-19 23:34:06 -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
d665134d66
refactor: refactor dialogs ( #1015 )
2019-02-18 16:27:59 -08:00
Nolan Lawson
bfdb977f22
fix: refactor NavItem, fix icon badge bug ( #1014 )
2019-02-18 16:27:52 -08:00
Nolan Lawson
7a152fbdac
feat: allow muting notifications when muting ( #1013 )
...
fixes #738
2019-02-18 15:43:41 -08:00
Nolan Lawson
cd5b6f8e81
perf: use lite web animations polyfill ( #1011 )
2019-02-18 11:47:02 -08:00
Nolan Lawson
4387c17cbd
fix: add federated/favorites to crawled pages ( #1006 )
...
another thing I missed in #1000 and #1002
2019-02-16 12:33:22 -08:00
Nolan Lawson
7f1ba74c37
fix: fix missing export pages in node v8 ( #1002 )
...
For reasons that are mysterious to me, #1000 works in Node v10 but not v8. And Zeit runs v8. Moving the hidden links to a different page fixes it. ¯\_(ツ)_/¯
2019-02-16 11:33:05 -08:00
Nolan Lawson
2debddaaf6
fix: add some pages that "sapper export" missed ( #1000 )
...
Unfortunately it looks like `sapper export` works by crawling the
non-logged-in site, which means that any pages that are inaccessible
when you're not logged in don't get generated, including "pinned,"
"muted," "blocked," "requests," and "share."
Normally this isn't a problem, but it is in browsers that don't
have Service Worker; you get a 404 when you try to refresh those pages.
My fix is to just add a hidden div that links to these pages. It's not
pretty, but it works.
2019-02-16 00:48:45 -08:00
Nolan Lawson
59544d2cf4
fix: improve a11y, move preview box inside label ( #997 )
2019-02-15 19:03:24 -08:00
Nolan Lawson
25aea9f30a
fix: improve active state of navbar ( #996 )
2019-02-15 19:03:18 -08:00
Nolan Lawson
1b9d3b1cd0
feat: implement Web Share API ( #991 )
...
fixes #990
2019-02-14 21:26:28 -08:00
Nolan Lawson
623c2c79cb
fix: fix style of compose box in reply ( #983 )
...
Fixes #982
2019-02-14 08:46:43 -08:00
Nolan Lawson
df09b0a995
perf: prefetch all internal links ( #981 )
2019-02-13 18:40:02 -08:00
Nolan Lawson
58d1f62b2b
feat: implement web share target ( #980 )
...
fixes #974
2019-02-13 18:38:44 -08:00
Nolan Lawson
df6b75e994
fix: fix slim size compose dialog ( #979 )
...
fixes #106
2019-02-13 18:38:34 -08:00
Nolan Lawson
3aee6fb050
fix: only call Royal the default theme if it is ( #970 )
2019-02-11 22:36:31 -08:00
Nolan Lawson
652ffffec4
fix: fix SettingsListItem missing className dev warning ( #968 )
2019-02-11 21:04:08 -08:00
Nolan Lawson
4bf3c2fd28
fix: don't show theme picker if not logged in ( #967 )
...
Also tweak some of the styles and layout in the theme picker itself
2019-02-11 21:04:00 -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
795999e5ac
perf: use keyed each for media ( #963 )
2019-02-10 13:27:29 -08:00
Nolan Lawson
fdcaa864af
fix: allow right-click to save image ( #962 )
...
fixes #961
2019-02-10 13:03:24 -08:00
Nolan Lawson
37c85ec7e2
fix: disable smooth scroll for users who prefer reduced motion ( #958 )
2019-02-09 19:52:40 -08:00
Nolan Lawson
56f5a45221
fix: fix aria-hidden on hidden icons ( #957 )
2019-02-09 19:05:59 -08:00
Nolan Lawson
2884955d67
fix: carousel should use ul/li for a11y ( #956 )
2019-02-09 18:06:58 -08:00
Nolan Lawson
9cb15a3396
fix: fix hand cursor on non-tappable status ( #955 )
...
fixes #951
2019-02-09 17:31:24 -08:00
Nolan Lawson
135fb24873
fix indicator button size on small screens ( #954 )
2019-02-09 15:25:30 -08:00
Nolan Lawson
e82066dcc2
fix: fix scroll-snap in firefox when scrolling manually ( #953 )
2019-02-09 14:31:49 -08:00
Nolan Lawson
73eb9fba2c
fix: fix carousel and scrollbars for edge browser ( #952 )
2019-02-09 12:01:29 -08:00
Nolan Lawson
180055da70
fix: fix items appearing over nav ( #949 )
...
fixes #937
2019-02-06 22:24:03 -08:00
Nolan Lawson
2a96e0eeda
fix: minor fixups for accessibility and responsive design ( #948 )
...
* fix: minor fixups for accessibility and responsive design
* fix lint
2019-02-06 22:23:54 -08:00
Nolan Lawson
157f5db690
fix: fix zoomable videos ( #947 )
...
fixes #946
2019-02-06 21:00:30 -08:00
Isabelle Knott
503378a400
feat: Add 'switch to instance' buttons next to instances in instance list. ( #945 )
2019-02-06 20:56:30 -08:00
Nolan Lawson
6e0f2ef6bb
fix: do not add duplicates to threads ( #944 )
...
attempt to fix #943
2019-02-06 11:36:46 -08:00
Nolan Lawson
10b14abcdb
fix: tweak carousel to show button change sooner ( #940 )
2019-02-05 09:54:38 -08:00
Nolan Lawson
e17d3974d5
fix: add label to dummy icon to prevent svelte warning ( #936 )
2019-02-03 14:47:14 -08:00
Nolan Lawson
f5be28d99a
fix: use intrinsicsize for images/videos ( #935 )
...
* fix: use intrinsicsize for images/videos
* add comment
2019-02-03 14:01:45 -08:00
Nolan Lawson
6d2b3ec072
feat: add pinch-zoom to media dialog ( #933 )
...
* feat: add pinch-zoom to media dialog
* fix zoom buttons
2019-02-03 12:33:15 -08:00
Nolan Lawson
4c430bd1c9
fix: remove dead code from MediaDialog ( #934 )
2019-02-03 11:56:27 -08:00
Ivan Kupalov
437236bf3c
feat: Add shortcuts to the media dialog ( #930 )
...
* Add shortcuts to the media dialog
* fix: unify logic for next/prev buttons and keyboard shortcuts
* fix: add info about left/right shortcuts
2019-02-03 11:56:07 -08:00
Nolan Lawson
84e9bfc8e5
fix: fix rounding of scroll math on Safari ( #932 )
2019-02-03 11:10:58 -08:00
Nolan Lawson
9231e66612
fix: fix pressed color on media dialog buttons ( #931 )
2019-02-03 11:10:52 -08:00
Nolan Lawson
9d594f0bac
feat: add carousel for media modal ( #928 )
2019-02-02 23:03:40 -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
0b1efab0c1
fix: fix "copy link" on iOS ( #918 )
...
* fix: fix "copy link" on iOS
fixes #912
* fix lint
2019-01-26 12:05:14 -08:00
Stephane Zermatten
2656e11bb0
fix: Follow-up for pull request #870 ( #910 )
...
* Cache main-nav in scrollIntoView.js.
This change avoids continuously calling document.getElementById for the
same element.
* Fix firstVisibleElementIndex to always return a dictionary.
Before this change, firstVisibleElementIndex would return -1 if it
doesn't find anything. This made no sense since this function returns a
dictionary on success.
With this change, the function always returns a dictionary with the
expected keys.
* lint fix
2019-01-26 10:14:27 -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
cb58a49c04
fix: use more consistent method for checking external links ( #893 )
2019-01-13 17:11:27 -08:00
Will Pearson
cb35a088f4
Make external links open in new tab ( #892 )
2019-01-13 16:05:41 -08:00
Nolan Lawson
ef44c19e8a
feat: date title shows absolute date ( #890 )
...
fixes #759
2019-01-13 15:56:39 -08:00
Nolan Lawson
8f84ae5a51
feat: add setting to disable hotkeys ( #889 )
2019-01-13 14:02:15 -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
Nolan Lawson
29a2892dd0
feat: add hotkey help to settings ( #886 )
2019-01-13 11:35:04 -08:00
Will Pearson
aa69e651ac
feat: wrap long posts with spoilers ( #873 )
...
* Wrap LONG posts with spoilers
Some ActivityPub software facilitates long form blog posts being pushed
out onto timelines.
Some ActivityPub software have toot lengths which are much larger than
Mastodon's default of 500.
This wraps spoiler tags around those statuses.
* fix lint, extract consts
* extract consts to separate file
* fix test hopefully
* Revert "fix test hopefully"
This reverts commit 7d8e2671ad158b317f6f75a7dd5dacac9e12cf80.
* Fix failing test
* Revert "Fix failing test"
This reverts commit 15b06e11589b49979ca5eb85b7fe5c7510a62ba7.
* Revert "Revert "fix test hopefully""
This reverts commit d3776bc9d64dcfd209a307a0639d33cbe6ca3884.
* measure text after shortening URLs
2019-01-13 10:47:07 -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
Nathan Minchow
d7aaec16d3
feat: Add labels to theme groups ( #867 )
2019-01-12 09:50:17 -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
e666eb5955
perf: use lodash-lite for some functions ( #853 )
2018-12-23 10:10:16 -08:00
Nolan Lawson
cf94e7d61e
fix: fix unnecessary request for theme-undefined.css ( #852 )
2018-12-22 15:37:56 -08:00
Nolan Lawson
4ab9687200
perf: load Toast asynchronously ( #851 )
2018-12-22 15:37:51 -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
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
cd44e33a7e
perf: reduce size of emoji-mart dep using fork ( #841 )
2018-12-18 14:40:14 -08:00
Nolan Lawson
e6ca246527
fix: use emoji-mart all.json, split out json ( #839 )
2018-12-18 12:45:49 -08:00
Nolan Lawson
2d32a91145
fix: fix appearance of native emoji on linux ( #838 )
2018-12-18 12:45:41 -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
Carlos Fernández
669be2e32b
Fix Pleroma compability issue ( #829 )
...
* Now image and video modals width and height will fallback to "auto" instead of 300x200. Allows proper image visualization in modals when there's no attachment metadata.
* Move background-image in gifv modal to the computed property videoStyle
fixes #750
2018-12-17 13:13:27 -08:00
Nolan Lawson
4ca5b4611f
fix: use correct this.store format in all components ( #827 )
2018-12-17 11:28:31 -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
f2f5508144
perf: only run getSelection() check if we have to ( #817 )
2018-12-15 19:21:14 -08:00
Nolan Lawson
260f6acf0e
perf: download and cache polyfills on-the-fly ( #814 )
...
* perf: download and cache polyfills on-the-fly
* fixup the localhost switch for service worker, does nothing
2018-12-15 17:13:46 -08:00
Nolan Lawson
dbd6c35a88
perf: move indexeddb operations to async module ( #813 )
2018-12-15 17:13:40 -08:00
Nolan Lawson
7ddfe3830a
feat: add drag and drop for media uploads ( #809 )
...
* feat: add drag and drop for media uploads
fixes #65
* tweak colors
2018-12-15 02:06:12 -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
Nolan Lawson
5e089ba27d
fix: fix sensitive content warning on mobile ( #794 )
2018-12-13 00:39:38 -08:00
Nolan Lawson
1940260631
fix: fix delete and redraft on replies ( #789 )
...
fixes #786
2018-12-12 23:45:52 -08:00
sgenoud
30705da19d
fix: Change the size of sensitive media box ( #784 )
...
It is now slightly bigger than what images in a box would look
like.
fixes #771
2018-12-12 23:44:29 -08:00
Nolan Lawson
76a8072e04
fix: show warning when local storage is unavailable ( #782 )
...
fixes #780
2018-12-11 22:07:01 -08:00
Nolan Lawson
e3f7b3e65c
perf: slightly improve framerate of navbar indicator ( #781 )
...
this seems to help mobile firefox on android especially
2018-12-11 22:06:56 -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