Sorin Davidoi
0c7c188c45
Web Push Notifications ( #3243 )
...
* feat: Register push subscription
* feat: Notify when mentioned
* feat: Boost, favourite, reply, follow, follow request
* feat: Notification interaction
* feat: Handle change of public key
* feat: Unsubscribe if things go wrong
* feat: Do not send normal notifications if push is enabled
* feat: Focus client if open
* refactor: Move push logic to WebPushSubscription
* feat: Better title and body
* feat: Localize messages
* chore: Fix lint errors
* feat: Settings
* refactor: Lazy load
* fix: Check if push settings exist
* feat: Device-based preferences
* refactor: Simplify logic
* refactor: Pull request feedback
* refactor: Pull request feedback
* refactor: Create /api/web/push_subscriptions endpoint
* feat: Spec PushSubscriptionController
* refactor: WebPushSubscription => Web::PushSubscription
* feat: Spec Web::PushSubscription
* feat: Display first media attachment
* feat: Support direction
* fix: Stuff broken while rebasing
* refactor: Integration with session activations
* refactor: Cleanup
* refactor: Simplify implementation
* feat: Set VAPID keys via environment
* chore: Comments
* fix: Crash when no alerts
* fix: Set VAPID keys in testing environment
* fix: Follow link
* feat: Notification actions
* fix: Delete previous subscription
* chore: Temporary logs
* refactor: Move migration to a later date
* fix: Fetch the correct session activation and misc bugs
* refactor: Move migration to a later date
* fix: Remove follow request (no notifications)
* feat: Send administrator contact to push service
* feat: Set time-to-live
* fix: Do not show sensitive images
* fix: Reducer crash in error handling
* feat: Add badge
* chore: Fix lint error
* fix: Checkbox label overlap
* fix: Check for payload support
* fix: Rename action "type" (crash in latest Chrome)
* feat: Action to expand notification
* fix: Lint errors
* fix: Unescape notification body
* fix: Do not allow boosting if the status is hidden
* feat: Add VAPID keys to the production sample environment
* fix: Strip HTML tags from status
* refactor: Better error messages
* refactor: Handle browser not implementing the VAPID protocol (Samsung Internet)
* fix: Error when target_status is nil
* fix: Handle lack of image
* fix: Delete reference to invalid subscriptions
* feat: Better error handling
* fix: Unescape HTML characters after tags are striped
* refactor: Simpify code
* fix: Modify to work with #4091
* Sort strings alphabetically
* i18n: Updated Polish translation
it annoys me that it's not fully localized :P
* refactor: Use current_session in PushSubscriptionController
* fix: Rebase mistake
* fix: Set cacheName to mastodon
* refactor: Pull request feedback
* refactor: Remove logging statements
* chore(yarn): Fix conflicts with master
* chore(yarn): Copy latest from master
* chore(yarn): Readd offline-plugin
* refactor: Use save! and update!
* refactor: Send notifications async
* fix: Allow retry when push fails
* fix: Save track for failed pushes
* fix: Minify sw.js
* fix: Remove account_id from fabricator
2017-07-13 22:15:32 +02:00
kibigo!
5770d461b2
Moved glitch containers and commented unused files
2017-07-13 02:40:16 -07:00
unarist
5abb3d8150
Rerender modal on property changes ( #4175 )
...
Render function for BundleContainer must not be methods.
React doesn't know dependency of the method, so they won't rerender on property updates.
In this case, when you close modal and open another modal immediately,
old modal will be open instead of new one.
2017-07-12 20:51:44 +02:00
Surinna Curtis
e53fbb4a09
local-only/compose advanced options tweaks.
...
Squashed commit of the following:
commit b9877e37f72fdd8134936e1014033b07cb6c3671
Author: Surinna Curtis <ekiru.0@gmail.com>
Date: Wed Jul 12 00:50:10 2017 -0500
account for the eye in the chars left count for local-only toots
commit 56ebfa96542e16daa1986cc45e07974801ee12dc
Author: Surinna Curtis <ekiru.0@gmail.com>
Date: Wed Jul 12 00:21:02 2017 -0500
factor out an AdvancedOptionsToggle to avoid unnecessary re-renders
commit 04cec44ab8744e4e0f52da488c9ec24b1b1422ef
Author: Surinna Curtis <ekiru.0@gmail.com>
Date: Wed Jul 12 00:20:24 2017 -0500
s/changeComposeAdvancedOption/toggleComposeAdvancedOption/g
commit af5815dee750d1aa8b797a9305e5ab3ce6774e3f
Author: Surinna Curtis <ekiru.0@gmail.com>
Date: Tue Jul 11 23:55:19 2017 -0500
clicking anywhere on the whole advanced option toggles
2017-07-12 02:14:17 -07:00
kibigo!
79d898ae0a
Merge upstream!! #64 <3 <3
2017-07-12 02:03:17 -07:00
kibigo!
bcf7ee48e9
Importing vanillin from upstream ;) ;)
2017-07-12 01:10:17 -07:00
kibigo!
297921fce5
Moved glitch files to their own location ;)
2017-07-12 01:02:51 -07:00
Naoki Kosaka
b21ab498f8
Fix media modal prev button behavior. ( #4158 )
2017-07-11 19:56:45 +02:00
Eugen Rochko
e19eefe219
Redesign the landing page, mount public timeline on it ( #4122 )
...
* Redesign the landing page, mount public timeline on it
* Adjust the standalone mounted component to the lacking of router
* Adjust auth layout pages to new design
* Fix tests
* Standalone public timeline polling every 5 seconds
* Remove now obsolete translations
* Add responsive design for new landing page
* Address reviews
* Add floating clouds behind frontpage form
* Use access token from public page when available
* Fix mentions and hashtags links, cursor on status content in standalone mode
* Add footer link to source code
* Fix errors on pages that don't embed the component, use classnames
* Fix tests
* Change anonymous autoPlayGif default to false
* When gif autoplay is disabled, hover to play
* Add option to hide the timeline preview
* Slightly improve alt layout
* Add elephant friend to new frontpage
* Display "back to mastodon" in place of "login" when logged in on frontpage
* Change polling time to 3s
2017-07-11 15:27:59 +02:00
Yamagishi Kazutoshi
31366334cb
Drawer tab according to column ( #4135 )
...
* Add notifications link to drawer
* Remove local and public timeline tab in drawer
* Add home
2017-07-11 14:36:27 +02:00
Sorin Davidoi
cc68d1945b
refactor: Rewrite immutablejs import statements using destructuring ( #4147 )
2017-07-11 01:00:14 +02:00
Ondřej Hruška
667b567606
Make avatar in compose navbar hover-to-play
2017-07-10 10:26:46 +02:00
Lynx Kotoura
1c6cbdd4e4
Fix duplication of tag in columns_area.js ( #4131 )
...
Deleted ">" just a typo.
2017-07-10 04:37:10 +02:00
Sorin Davidoi
4122a837fa
fix(components/media_modal): Aspect ratio ( #4128 )
...
* fix(components/media_modal): Aspect ratio
* fix: Remove useless style
2017-07-09 18:49:07 +02:00
Sorin Davidoi
fc4c74660b
Swipeable views ( #4105 )
...
* feat: Replace react-swipeable with react-swipeable-views
* fix: iOS 9
2017-07-09 15:02:26 +02:00
unarist
caf938562e
Avoid async import if the component is previously loaded ( #4127 )
2017-07-09 14:52:03 +02:00
Ondřej Hruška
345290a905
Avatar in the detail column no longer autoplays
2017-07-09 07:54:33 -04:00
unarist
ce3a371eee
Fix initial loading of pinned Notifications column ( #4126 )
2017-07-09 13:04:30 +02:00
Sorin Davidoi
37c832cdf7
refactor: Make all reducers sync ( #4125 )
2017-07-09 12:16:08 +02:00
Sorin Davidoi
91cacb1e8f
fix: Rerender Bundle on route change ( #4120 )
2017-07-08 18:34:55 +02:00
unarist
46f5d3a2e9
Fix first loading of notifications when the column is pinned ( #4114 )
2017-07-08 17:22:24 +02:00
Yamagishi Kazutoshi
76318f8830
Don't use preview when image size is unknown ( #4113 )
2017-07-08 17:21:59 +02:00
Ondřej Hruška
dc2b8bdecd
Added a toggle for full-width media previews
2017-07-08 06:46:12 -04:00
Nolan Lawson
63b77f2320
Avoid using getBoundingClientRect to calculate height ( #4001 )
2017-07-08 01:57:22 +02:00
Sorin Davidoi
348d6f5e75
Lazy load components ( #3879 )
...
* feat: Lazy-load routes
* feat: Lazy-load modals
* feat: Lazy-load columns
* refactor: Simplify Bundle API
* feat: Optimize bundles
* feat: Prevent flashing the waiting state
* feat: Preload commonly used bundles
* feat: Lazy load Compose reducers
* feat: Lazy load Notifications reducer
* refactor: Move all dynamic imports into one file
* fix: Minor bugs
* fix: Manually hydrate the lazy-loaded reducers
* refactor: Move all dynamic imports to async-components
* fix: Loading modal style
* refactor: Avoid converting the raw state for each lazy hydration
* refactor: Remove unused component
* refactor: Maintain modal name
* fix: Add as=script to preload link
* chore: Fix lint error
* fix(components/bundle): Check if timestamp is set when computing elapsed
* fix: Load compose reducers for the onboarding modal
2017-07-08 00:06:02 +02:00
Ondřej Hruška
d87d70e89a
Fixed js type error in advanced_options_dropdown.js
2017-07-06 14:46:45 -07:00
Damien Erambert
18d3fa953b
Add a setting allowing the use of system's default font in Web UI ( #4033 )
...
* add a system_font_ui setting on the server
* Plug the system_font_ui on the front-end
* add EN/FR locales for the new setting
* put Roboto after all other fonts
* remove trailing whitespace so CodeClimate is happy
* fix user_spec.rb
* correctly write user_spect this time
* slightly better way of adding the classes
* add comments to the system-font stack for clarification
* use .system-font for the class instead
* don't use multiple lines for comments
* remove trailing whitespace
* use the classnames module for consistency
* use `mastodon-font-sans-serif` instead of Roboto directly
2017-07-06 22:39:56 +02:00
unarist
9c03fd9cae
Unobserve status on unmount ( #4013 )
...
This fixes a warning on status unmounting (e.g. deletion).
This also resets IntersectionObserverWrapper on disconnect to avoid `unobserve()` calls
which has bug in Edge.
2017-07-06 21:26:21 +02:00
kibigo!
bba75c15f1
Statuses redux!
...
- Better unified reblogs, statuses, and notifications
- Polished up collapsed toots greatly
- Apologies to bea if this makes everything more difficult
2017-07-05 18:51:23 -07:00
unarist
b52a5e6bd6
Show LoadMore button on Notifications even if all items are filtered ( #4077 )
2017-07-05 14:51:53 +02:00
Surinna Curtis
193f354d3e
a real default for advanced options long description
2017-07-05 00:09:20 -05:00
Surinna Curtis
6b67b91eb1
satisfy eslint
2017-07-04 21:33:53 -07:00
Surinna Curtis
6b77424660
some adjustments to open/active for advanced options dropdown
2017-07-04 21:33:53 -07:00
Surinna Curtis
301c185878
highlight … button if any options enabled
2017-07-04 21:33:53 -07:00
Surinna Curtis
f6ce1a9592
toggles for advanced options
2017-07-04 21:33:53 -07:00
Surinna Curtis
556cede00f
Local-only option and dropdown all working
2017-07-04 21:33:53 -07:00
Surinna Curtis
dd49c10cdb
Further improvements to dropdown html
2017-07-04 21:33:53 -07:00
Surinna Curtis
85d5249479
The beginnings of an advanced options dropdown
2017-07-04 21:33:53 -07:00
Surinna Curtis
ff9f2088f7
Move layout override into app settings modal
...
Squashed commit of the following:
commit 3842f879865818a3299f8283f8ed1b43c5566500
Author: Surinna Curtis <ekiru.0@gmail.com>
Date: Mon Jul 3 19:57:39 2017 -0500
Fix some style issues
commit 08628a0234392ecac90e869a1272f429de0b6db2
Author: Surinna Curtis <ekiru.0@gmail.com>
Date: Mon Jul 3 19:35:22 2017 -0500
Improved styling and layout of select app settings
commit 1787a7c20f2bf7101c6d6830450564178314a737
Author: Surinna Curtis <ekiru.0@gmail.com>
Date: Mon Jul 3 17:13:53 2017 -0500
remove the layout selector ui from the drawer
commit 7d93b180b1e615e2c36210ad6f119fe80a2778d8
Author: Surinna Curtis <ekiru.0@gmail.com>
Date: Mon Jul 3 17:01:51 2017 -0500
Add layout setting to app settings modal
2017-07-03 21:51:00 -05:00
Sorin Davidoi
60da49f856
fix(components/columns_area): Increase delta for swipe detection ( #4037 )
2017-07-02 15:55:50 +02:00
kibigo!
c58877862d
createBio function added
2017-06-30 15:03:31 -07:00
kibigo!
ec2daae71c
Media display improvements
...
- built in fullwidth styling
- letterbox settings toggle
- media no longer counts towards height when making toot-collapsing
measurements
2017-06-30 02:18:25 -07:00
kibigo!
651c3d643c
Images behind CWs in detailed statuses too
2017-06-29 22:48:22 -07:00
kibigo!
595c6de32c
Added App Setttings Modal
2017-06-28 22:00:54 -07:00
beatrix-bitrot
ddafde942c
Merge remote-tracking branch 'upstream/master'
2017-06-27 20:46:13 +00:00
Eugen Rochko
12e7c81dd8
Turn report screen into a modal ( #3965 )
2017-06-27 18:07:21 +02:00
kibigo!
e6300de142
Profile metadata improvements
2017-06-27 05:48:26 -07:00
Yamagishi Kazutoshi
8f2c91568c
Maintain aspect ratio for preview image ( #3966 )
2017-06-27 13:43:53 +02:00
kibigo!
c806fef865
Notifications collapsed by default
2017-06-26 14:28:43 -07:00
Surinna Curtis
7b53d4bbca
Bio length on client side mostly doesn't count metadata
2017-06-26 09:34:31 -05:00
kibigo!
8ea779e59a
Patching rebase errors
2017-06-25 12:51:31 -07:00
Sorin Davidoi
4ce1540094
fix(features/compose): Handle external changes to the textarea ( #3632 )
2017-06-25 21:43:27 +02:00
Shel Raphen
7eda83a36a
Glitchsocification
2017-06-25 19:21:51 +00:00
kibigo!
ca0d30c04b
OKAY THIS WORKS THIS WORKS
2017-06-24 20:04:46 -07:00
kibigo!
da05cde721
Better settings handling with localSettings (new!)
2017-06-24 19:56:37 -07:00
kibigo!
ddba5d3b8c
Use Redux store to keep track of layout
2017-06-24 18:30:30 -07:00
Sorin Davidoi
d23293c762
feat(components/onboarding_modal): Swipe between pages ( #3934 )
2017-06-24 23:17:39 +02:00
Surinna Curtis
ceb545c080
Pass in correct "singleColumn" prop value when auto-columns is not used.
2017-06-24 15:29:46 -05:00
Surinna Curtis
a70468aa56
Support overriding media queries for deciding between single-column/multi-column layouts with a class
2017-06-24 15:29:46 -05:00
Yamagishi Kazutoshi
79dacea962
Fix #3924 (regression from #3906 ) ( #3925 )
2017-06-24 12:24:02 +02:00
beatrix-bitrot
8b23bf7cbd
clean up old avatar class
2017-06-24 03:51:01 +00:00
Matthew Walsh
f1a60d4b81
Unified avatar styling
...
Avatars now have consistent styling across all pages; border radius can be adjusted with a SASS variable ($ui-avatar-border-size)
2017-06-24 03:03:27 +00:00
kibigo!
414dfb3955
ESLint improvements for Profile Metadata
2017-06-23 18:43:30 -07:00
unarist
4e6b5e7879
Use debounce for dispatch scrollTopNotification and expandNotifications ( #3700 )
2017-06-24 02:43:26 +02:00
kibigo!
0d3ec19e89
✨ Profile Metadata HACK 😈
2017-06-23 21:45:14 +00:00
Charlotte Fields
b27842dc70
cybre cleanup
2017-06-23 21:45:14 +00:00
Chronister
65528fc54e
All cybrespace changes through 5/28
2017-06-23 21:45:14 +00:00
Yamagishi Kazutoshi
c1a8e3d1eb
Use Class and Property Decorators ( #3730 )
...
ref https://tc39.github.io/proposal-decorators/
2017-06-23 19:36:54 +02:00
Eugen Rochko
281f07244b
Merge branch 'swipe-gestures' of git://github.com/sorin-davidoi/mastodon into sorin-davidoi-swipe-gestures
2017-06-23 17:52:39 +02:00
Yamagishi Kazutoshi
eff9416469
Remove unused variables ( #3906 )
2017-06-23 16:05:04 +02:00
Yamagishi Kazutoshi
6fbb3841a6
Add prefix to setting toggle ID ( #3907 )
2017-06-23 13:55:05 +02:00
Sorin Davidoi
bc6e958229
feat: Swipeable media
2017-06-23 13:48:46 +02:00
Sorin Davidoi
a6d8d1036a
feat: Swipeable columns
2017-06-23 13:48:46 +02:00
Eugen Rochko
946a166791
Revert #3851 ( #3878 )
2017-06-21 01:37:15 +02:00
Sorin Davidoi
8f03fdce7f
Upgrade React Router ( #3677 )
...
* chore(yarn): Remove react-router
* chore(yarn): Remove react-router-scroll
* chore(yarn): Remove history
* chore(yarn): Add react-router-dom
* chore: Remove usages of react-router-scroll
* refactor: Upgrade to react-router-web
* refactor: Use fork of react-router-scroll
This reverts commit 2ddea9a6c8d39fc64b7d0b587f3fbda7a45a7fa2.
* fix: Issues mentions in the PR feedback
2017-06-20 20:40:03 +02:00
Yamagishi Kazutoshi
eb832e88f4
Replace TextIconButton for SensitiveButton to IconButton ( #3759 )
...
* Replace TextIconButton for SensitiveButton to IconButton
* line-height
2017-06-20 19:43:09 +02:00
Gô Shoemake
29a22691d2
Fix character/grapheme count stuff ( #3839 )
...
* Bring Toot button in line with counter
Both should use stringz I guess
* Use grapheme_length for character count
2017-06-19 11:31:14 +02:00
alpaca-tc
cf6fe4f8cb
Unobserve status on unmount ( #3851 )
2017-06-19 11:29:57 +02:00
alpaca-tc
8d2b3ada80
Fixes streaming callbacks of HashtagTimeline ( #3849 )
2017-06-19 10:28:35 +02:00
Eugen Rochko
aebebdc5d1
Debounce autosuggestions ( #3836 )
...
* Debounce autosuggestions
* Remove duplicate import
2017-06-19 01:50:56 +02:00
Nolan Lawson
1d9f9352a6
handle resize in a debounce() ( #3834 )
2017-06-18 02:57:41 +02:00
Yamagishi Kazutoshi
df4f4e94b3
Add alt attribute to ImageLoader ( #3765 )
2017-06-15 14:10:41 +02:00
Eugen Rochko
47ace633dc
Simplify getting started links localization. Link "powered by Mastodon" to joinmastodon.org ( #3725 )
2017-06-13 03:55:28 +02:00
Eugen Rochko
37dbfa4cd7
Unread indicator was invisible behind column header, adjusted ( #3720 )
...
* Unread indicator was invisible behind column header, adjusted
* Unread indicator now a CSS pseudo-element
* Adjust flex
2017-06-12 20:02:17 +02:00
Yamagishi Kazutoshi
72133fbed6
Re-add clear notifications button ( #3708 )
...
* Re-add clear notifications button
* remove connect() in column_settings
* one line
* remove unused props
2017-06-12 12:26:23 +02:00
Eugen Rochko
47bf7a8047
Fix #3665 - Refactor timelines reducer ( #3686 )
...
* Move ancestors/descendants out of timelines reducer
* Refactor timelines reducer
All types of timelines now have a flat structure and use the same
reducer functions and actions
* Reintroduce some missing behaviours
* Fix wrong import in reports
* Fix includes typo
* Fix issue related to "next" pagination in timelines and notifications
* Fix bug with timeline's initial state, expandNotifications
2017-06-11 17:07:35 +02:00
Yamagishi Kazutoshi
3690f04e4a
Remove comments for eslint-disable ( #3691 )
2017-06-11 10:42:42 +02:00
Eugen Rochko
b623dd12c1
Use preview image in <ImageLoader /> to provide immediate visual feedback ( #3595 )
...
before the full-size image is loaded
2017-06-06 19:30:17 +02:00
ふぁぼ原
7623766241
Add regex filters on the community timeline and the public timeline. ( #3564 )
...
* Add regex filter on the community timeline and the public timeline
* correcting
* Adjust the height of header buttons
* Remove trailing spaces
* Remove trailing spaces
* Solve some code duplication
* reset the state of the locale files in app/javascript/mastodon/locales
* adjust to upstream
* adjust to upstream
* change keys of locale settings
2017-06-06 16:56:10 +02:00
Yamagishi Kazutoshi
d8ae3efec3
Improve ESLint rules for JSX ( #3608 )
...
* Add react/no-string-refs ESLint rule
* Add react/jsx-boolean-value ESLint rule
* Add react/jsx-closing-bracket-location ESLint rule
* Add react/jsx-indent ESLint rule
* Add react/jsx-curly-spacing ESLint rule
* Add react/jsx-equals-spacing ESLint rule
* Add react/jsx-first-prop-new-line ESLint rule
* Add react/jsx-no-duplicate-props ESLint rule
* Add react/jsx-tag-spacing ESLint rule
2017-06-06 13:20:07 +02:00
Yamagishi Kazutoshi
cd81a1c52a
Add missing key attribute to .search-results__hashtag ( #3607 )
2017-06-06 13:19:29 +02:00
Yamagishi Kazutoshi
7a7bfa5170
Add quotes ESLint rules ( #3602 )
...
* Add quotes ESLint rule
* Add jsx-quotes ESlint rule
* Sort ESLint rules
2017-06-06 03:56:36 +02:00
Yamagishi Kazutoshi
e969c78645
Disable ESLint rule jsx/anchor-has-content ( #3601 )
2017-06-06 03:55:56 +02:00
Naoki Kosaka
e859d6f259
Fix LoadMore in Notifications. ( #3590 )
2017-06-05 19:18:26 +02:00
Naoki Kosaka
a0880edc6e
Fix (PR #3585 ) Add hasMore to propTypes and cover handleScroll. ( #3589 )
2017-06-05 18:18:56 +02:00
unarist
61fcdbbf7e
Add back button to hashtag timeline again ( #3587 )
2017-06-05 17:10:40 +02:00
unarist
c26cea262b
Prevent pinned columns from scroll to top on URL changing ( #3586 )
2017-06-05 15:20:46 +02:00
Naoki Kosaka
1f1d6bf2a0
Fix LoadMore in following and followers. ( #3585 )
2017-06-05 14:13:20 +02:00
Yamagishi Kazutoshi
66ca7157db
Add support key shortcut to Onboarding Modal ( #3517 )
...
* Add support key shortcut to Onboarding Modal
* this.state.pages -> this.pages
2017-06-05 10:09:14 +02:00
Eugen Rochko
8ee2eb5d2e
Allow mounting arbitrary columns ( #3207 )
...
* Allow mounting arbitrary columns
* Refactor column headers, allow pinning/unpinning and moving columns around
* Collapse animation
* Re-introduce scroll to top
* Save column settings properly, do not display pin options in
single-column view, do not display collapse icon if there is
nothing to collapse
* Fix one instance of public timeline being closed closing the stream
Fix back buttons inconsistently sending you back to / even if history exists
* Getting started displays links to columns that are not mounted
2017-06-04 01:39:38 +02:00