Commit graph

1608 commits

Author SHA1 Message Date
Nolan Lawson 7583d488a0
chore: update sapper to v0.25.0 (#938) 2019-02-03 15:45:51 -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 5e082e5f5f
chore: give "now" the yarn.lock (#929) 2019-02-02 23:24:32 -08:00
Nolan Lawson 9d594f0bac
feat: add carousel for media modal (#928) 2019-02-02 23:03:40 -08:00
Nolan Lawson 2ef4743b3c
core: update webpack and remove browserlist (#926) 2019-01-27 18:23:25 -08:00
Nolan Lawson d198250eab
chore: switch to yarn (#927)
* chore: switch to yarn

BREAKING CHANGE: Pinafore is now using yarn rather than npm, so those
who self-host will need to stop running e.g. `npm install` and run `yarn
install` instead.

* install latest yarn
2019-01-27 17:44:30 -08:00
Nolan Lawson 58b0c56ad8 0.18.0 2019-01-27 12:36:54 -08:00
Nolan Lawson 7a8be06412
chore: update dep rollup-plugin-terser (#925) 2019-01-27 12:29:27 -08:00
Nolan Lawson 14932e2479
chore: update dep rollup (#924) 2019-01-27 12:29:20 -08:00
Nolan Lawson 3dfab37f53
chore: update dep inferno-compat (#923) 2019-01-27 12:29:13 -08:00
Nolan Lawson 2f743299ec
chore: update dep esm (#922) 2019-01-27 12:29:06 -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 d976b621b8
chore: move inline-script to src (#917) 2019-01-26 10:14:15 -08:00
Nolan Lawson eb5437e32a
fix: increase custom scrollbar width (#914) 2019-01-26 09:34:16 -08:00
Nolan Lawson 95336e0657
chore: fix watchers in dev mode (#913) 2019-01-26 09:34:05 -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 c1f6c1582d
docs: remove mention of keyboard shortcuts (#906)
[skip ci]
2019-01-19 16:43:49 -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 6b3d53a795
chore: remove pify dependency, use util.promisify (#901) 2019-01-19 15:06:25 -08:00
Nolan Lawson 4a8f65b7fc
chore: refactor src files to src/ directory (#900) 2019-01-19 13:32:36 -08:00
Nolan Lawson ae918a226c
chore: update browserslist/esm/now (#899) 2019-01-19 13:32:29 -08:00
Nolan Lawson a508f494f0 0.17.0 2019-01-13 17:15:45 -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
Nolan Lawson 981af04c6d
chore: update now to latest (#885) 2019-01-12 13:13:59 -08:00
Nolan Lawson 610f5be1e9
chore: update testcafe to latest (#884) 2019-01-12 13:13:53 -08:00
Nolan Lawson f2d1054af6
chore: update webpack to latest (#883) 2019-01-12 13:13:47 -08:00
Nolan Lawson 39e77eeb4a
chore: update terser-webpack-plugin to latest (#882) 2019-01-12 13:13:39 -08:00
Nolan Lawson adf04aa1ad
chore: update svelte-loader to latest (#881) 2019-01-12 13:13:32 -08:00
Nolan Lawson 55879362a4
chore: update rollup-plugin-terser to latest (#880) 2019-01-12 13:13:24 -08:00
Nolan Lawson a39c57af8d
chore: update rollup to latest (#879) 2019-01-12 13:13:18 -08:00