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
Eugen Rochko
880a5eb25c
Fix boolean columns sometimes having a null value ( #4162 )
...
* Fix boolean columns sometimes having a null value
* Fix wrong value being set instead of null
2017-07-13 03:12:25 +02:00
Yamagishi Kazutoshi
2b9721d1b3
Add setting a always mark media as sensitive ( #4136 )
2017-07-10 14:00:32 +02: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
Eugen Rochko
f7301bd5b9
Add overview of active sessions ( #3929 )
...
* Add overview of active sessions
* Better display of browser/platform name
* Improve how browser information is stored and displayed for sessions overview
* Fix test
2017-06-25 16:54:30 +02:00
Sorin Davidoi
2211e8d1cd
Revocable sessions ( #3616 )
...
* feat: Revocable sessions
* fix: Tests using sign_in
* feat: Configuration entry for the maximum number of session activations
2017-06-23 18:50:53 +02:00
Eugen Rochko
cdff1da901
Correct validators so that existing error messages would look correct ( #3668 )
2017-06-09 19:46:01 +02:00
Eugen Rochko
c207b4bb33
Fix db:seed - only run some validations when the field was changed ( #3592 )
...
* Fix db:seed - only run some validations when the field was changed
* Add tests
2017-06-08 09:22:01 -04:00
Matt Jankowski
2212dc4aaa
Update Rails to version 5.1.1 ( #3121 )
...
* Update rails to version 5.1.1
* Run `rails app:update`
* Remove the override of polymorphic activity relationship
* Silence warning about otp_secret attribute being unknown to rails
* We will only introduce form_with where we want to use remote data
2017-06-01 20:53:37 +02:00
Akihiko Odaki
7db98aa70e
Refactor User and spec ( #3431 )
...
* Protect send_devise_notification of User
* Improve spec for User
2017-05-30 15:28:56 +02:00
Atsushi Yamamoto
402c19a924
Add preference setting for delete toot modal ( #3368 )
...
* Set delete_modal preference to true by default
* Does not show confirmation modal if delete_modal is false
* Add ja translation for preference setting page
2017-05-29 17:56:13 +02:00
Matt Jankowski
e1b42e9aa0
Add coverage for ReportFilter and AccountFilter ( #3236 )
2017-05-22 15:50:58 -04:00
Matt Jankowski
ec34ec63b1
Specs for cleanup workers ( #3235 )
...
* Add spec files for feed and media cleanup workers
* Add coverage for feed and media cleanup schedulers
* Clean up feed and media cleanup workers
2017-05-22 19:36:21 +02:00
Matt Jankowski
8f4b7c1820
Filter languages with opt out ( #3175 )
...
* Remove allowed_languages and add filtered_languages
* Use filtered_languages instead of allowed_languages
2017-05-20 17:32:44 +02:00
Matt Jankowski
6e4c7d6211
Conditional validations no longer accept strings for if/unless ( #3124 )
2017-05-19 03:11:23 +02:00
alpaca-tc
09ec6e504b
Order by symbol value ( #3077 )
2017-05-16 03:35:17 +02:00
Matt Jankowski
bba537a7be
Improve allowed language handling ( #2897 )
...
* Dont allow empty value in user allowed languages
* Sanitize language input to reject blank values in array
2017-05-08 03:32:52 +02:00
Kaylee
7880671f35
Add option to disable two factor auth in admin accounts panel. ( #2584 )
...
* Add option to disable two factor auth in admin accounts panel.
Closes #2578
* Add @mjankowski's suggestions.
* Moves destroy actions behind User#disable_two_factor!
* Adds spec coverage for Admin:TwoFactorAuthenticationsController and User#disable_two_factor!
2017-05-02 21:07:12 +02:00
yhirano
298796cc7b
annotate models ( #2697 )
...
* add annotate to Gemfile
* rails g annotate:install
* configure annotate_models
* add schema info to models
* fix rubocop to add frozen_string_literal
2017-05-02 02:14:47 +02:00
Ash Furrow
723f25a999
Admin UI for confirming users ( #2245 )
...
* Shows confirmed status in list.
* Adds ability to confirm users in admin UI.
* Added new english translations.
* Addresses feedback from #2245 .
* More feedback.
2017-04-23 04:43:42 +02:00
Eugen Rochko
57d784f1e4
Merge branch 'pause-gif' of git://github.com/patf/mastodon into patf-pause-gif
2017-04-18 01:25:50 +02:00
Matt Jankowski
16d50f60d1
Remove unused methods ( #1730 )
...
* Remove unused method #set_counters_maps from api controller
* Remove unused method #set_account_counters_maps from api controller
* Remove unused method Account#followers_domains
* Remove unused User.prolific scope
* Add mastodon:users:admins task to list all admin emails
* Use interpolated query style in Account.triadic_closures
* Coverage for Account.triadic_closures
2017-04-18 01:21:55 +02:00
alpaca-tc
630de52fdd
Required foreign keys ( #2003 )
...
* Add `required: true` option to foreign column
* Fixes NoMethodError
```
> Favourite.new.valid?
NoMethodError: undefined method `reblog?' for nil:NilClass
```
2017-04-17 15:54:33 +02:00
Patrick Figel
ffb99325ca
Add gif auto-play/pause preference
...
This introduces a new per-user preference called
"Auto-play animated GIFs", which is enabled by default. When a
user disables this setting, gifs in toots become click-to-play.
Previews of animated gifs were changed to display the video play
button so that users can distinguish them from regular images.
This setting also affects account avatars in the detailed account
view, which was changed to use the same hover-to-play mechanism
that is used for animated avatars in timelines.
Fixes #1652
2017-04-17 12:14:03 +02:00
Patrick Figel
df4ff9a8e1
Add recovery code support for two-factor auth ( #1773 )
...
* Add recovery code support for two-factor auth
When users enable two-factor auth, the app now generates ten
single-use recovery codes. Users are encouraged to print the codes
and store them in a safe place.
The two-factor prompt during login now accepts both OTP codes and
recovery codes.
The two-factor settings UI allows users to regenerated lost
recovery codes. Users who have set up two-factor auth prior to
this feature being added can use it to generate recovery codes
for the first time.
Fixes #563 and fixes #987
* Set OTP_SECRET in test enviroment
* add missing .html to view file names
2017-04-15 13:26:03 +02:00
blackle
06444bf050
Allow user to disable the boost confirm dialog in preferences
2017-04-11 10:10:16 -04:00
Eugen Rochko
6b81d10030
Add digest e-mails
2017-03-04 00:00:48 +01:00
Eugen Rochko
347a153b3d
Add API modifiers to limit returned toots from public/hashtag timelines
...
to only those from local users; Add link to "extended information" to
getting started in the UI; Add defaults for posting privacy; Change
how publish button looks depending on posting privacy chosen
2017-02-06 23:16:20 +01:00
Eugen Rochko
ba192f12e3
Added optional two-factor authentication
2017-01-27 20:35:16 +01:00
Eugen Rochko
2939e9898b
Extend rails-settings-cached to merge db-saved hash values with defaults
2017-01-13 02:42:22 +01:00
Eugen Rochko
b11fdc3ae3
Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings
...
with YAML-defined defaults. Add admin page for editing global settings. Add "site_description"
setting that would show as a paragraph on the frontpage
2017-01-12 20:46:24 +01:00
Eugen Rochko
2146ac91a0
Follow requests send e-mail notifications, but are excluded from notifications API
...
Better initial state for unlisted/nsfw toggles
2016-12-26 21:52:03 +01:00
Eugen Rochko
b362de2232
Adding configurable e-mail blacklist
2016-12-04 19:07:02 +01:00
Eugen Rochko
71401659b8
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
2016-11-25 13:13:16 +01:00
Eugen Rochko
9b53c7d353
Fix #168 - Turn off e-mail notifications by default
2016-11-23 08:39:04 +01:00
Eugen Rochko
45c7ee39b3
Remove unneeded indices, improve error handling in background workers, don't needlessly reload reblogged status, send Devise e-mails asynchronously
2016-11-22 17:32:51 +01:00
Eugen Rochko
2c766bd4b4
Add user locale setting
2016-11-16 17:56:31 +01:00
Eugen Rochko
fdc17bea58
Fix rubocop issues, introduce usage of frozen literal to improve performance
2016-11-15 16:56:29 +01:00
Eugen Rochko
62292797ec
Adding hashtag model
2016-11-04 19:12:59 +01:00
Eugen Rochko
06016453bd
Adding user settings (model and mailer), no form yet
2016-10-07 13:17:56 +02:00
Eugen Rochko
fc198a8b4c
Adding e-mail confirmations
2016-10-03 16:51:00 +02:00
Eugen Rochko
b3c7c8700d
Fix most pages on small screens
2016-10-03 16:17:28 +02:00
Eugen Rochko
188c6f326b
Making public pages responsive, removing reblogs/favs counts from them
2016-10-03 00:26:00 +02:00
Eugen Rochko
927333f4f8
Improve code style
2016-09-29 21:28:21 +02:00
Eugen Rochko
15f51dbf8c
Better styling for selected status in detailed view
2016-09-25 14:20:29 +02:00
Eugen Rochko
1215ab57ff
Some extra scopes for user sorting
2016-09-24 14:59:52 +02:00
Eugen Rochko
10ba09f546
Upgrade to Rails 5.0.0.1
2016-08-17 17:58:00 +02:00
Eugen Rochko
ff2cbc0753
Remember me enabled by default
2016-03-28 00:06:52 +02:00
Eugen Rochko
da4b675aca
Fix favourite handling in ProcessInteractionService
2016-03-26 01:34:12 +01:00
Eugen Rochko
e24bfbde1a
Fixing FanOutOnWriteService, fixing Sidekiq not having enough DB connections
...
in the pool, adding a throttle of 60rpm per IP, adding mini profiler, adding
admin status to users
2016-03-25 14:12:24 +01:00
Eugen Rochko
6fec8afc3f
Bind oauth applications to users
2016-03-14 17:49:13 +01:00
Eugen Rochko
6045b6cb18
Customizing devise views and controllers
2016-03-05 22:43:05 +01:00
Eugen Rochko
7e93da3f8d
Removing grape and adding devise
2016-03-05 13:12:24 +01:00
Eugen Rochko
0e8f59c16f
Refactoring Grape API methods into normal controllers & other things
2016-02-29 19:42:08 +01:00
Eugen Rochko
24646d5769
Adding views for the profile and entry pages
2016-02-26 20:48:20 +01:00
Eugen Rochko
1dad72bf13
Fixes and general progress
2016-02-22 18:10:30 +01:00
Eugen Rochko
709c6685a9
Made some progress
2016-02-22 16:00:20 +01:00