Commit Graph

3384 Commits

Author SHA1 Message Date
lain 4576520461 Revert "Merge branch 'issue/1276' into 'develop'"
This reverts merge request !1877
2020-04-14 16:32:22 +00:00
Egor Kislitsyn 247e6fcb90
Merge branch 'develop' into openapi/account 2020-04-14 19:45:22 +04:00
feld bf3afbc1a1 Merge branch 'logger-configuration' into 'develop'
Fix for logger configuration through admin-fe

See merge request pleroma/pleroma!2365
2020-04-14 15:11:25 +00:00
Haelwenn 60cc7d6c9a Merge branch 'issue/1276' into 'develop'
[#1276] An endpoint for getting unread notification count

Closes #1276

See merge request pleroma/pleroma!1877
2020-04-14 06:38:56 +00:00
Egor Kislitsyn 4dca712e90
Add OpenAPI spec for DomainBlockController 2020-04-13 22:44:52 +04:00
Maksim Pechnikov a16b3dbcbf Merge branch 'develop' into issue/1276 2020-04-13 21:19:27 +03:00
Egor Kislitsyn c28aaf9d82
Add OpenAPI spec for CustomEmojiController 2020-04-13 21:21:04 +04:00
Egor Kislitsyn 7e0b42d99f
Add specs for AccountController.mutes, AccountController.blocks, AccountController.mutes, AccountController.endorsements 2020-04-13 18:17:09 +04:00
Egor Kislitsyn ab185d3ea4
Add spec for AccountController.follows 2020-04-13 18:17:09 +04:00
Egor Kislitsyn 68a979b824
Add specs for AccountController.block and AccountController.unblock 2020-04-13 18:17:08 +04:00
Egor Kislitsyn e4195d4a68
Add specs for AccountController.mute and AccountController.unmute 2020-04-13 18:17:08 +04:00
Egor Kislitsyn aa958a6dda
Add spec for AccountController.unfollow 2020-04-13 18:17:08 +04:00
Egor Kislitsyn 854780c72b
Add spec for AccountController.follow 2020-04-13 18:17:08 +04:00
Egor Kislitsyn 1b680a98ae
Add spec for AccountController.lists 2020-04-13 18:17:07 +04:00
Egor Kislitsyn e105cc12b6
Add spec for AccountController.following 2020-04-13 18:17:07 +04:00
Egor Kislitsyn bd6e2b300f
Add spec for AccountController.followers 2020-04-13 18:17:07 +04:00
Egor Kislitsyn 03124c96cc
Add spec for AccountController.statuses 2020-04-13 18:17:07 +04:00
Egor Kislitsyn 278b3fa0ad
Add spec for AccountController.show 2020-04-13 18:16:07 +04:00
Egor Kislitsyn d7d6a83233
Add spec for AccountController.relationships 2020-04-13 18:16:07 +04:00
Egor Kislitsyn ab400b2ddb
Add specs for ActorType and VisibilityScope 2020-04-13 18:16:07 +04:00
Egor Kislitsyn 260cbddc94
Add spec for AccountController.update_credentials 2020-04-13 18:16:07 +04:00
Egor Kislitsyn f80116125f
Add spec for AccountController.verify_credentials 2020-04-13 17:38:59 +04:00
Egor Kislitsyn b08ded6c2f
Add spec for AccountController.create 2020-04-13 17:38:59 +04:00
Ivan Tashkinov a21baf89d8 Merge remote-tracking branch 'remotes/origin/develop' into output-of-relationships-in-statuses 2020-04-13 09:16:51 +03:00
Alexander Strizhakov a050f3e015
fix for logger configuration through admin-fe 2020-04-13 08:56:28 +03:00
Alex Gleason 9a3c74b244
Always accept deletions through SimplePolicy 2020-04-12 20:26:35 -05:00
rinpatch 5e365448f3 Merge branch 'following-relationships-optimizations' into 'develop'
FollowingRelationship storage & performance optimizations

See merge request pleroma/pleroma!2332
2020-04-11 19:46:04 +00:00
rinpatch c077ad0b33 Remove User.upgrade_changeset in favor of remote_user_creation
The two changesets had the same purpose, yet some changes were updated
in one, but not the other (`uri`, for example).

Also makes `Transmogrifier.upgrade_user_from_ap_id` be called from
`ActivityPub.make_user_from_ap_id` only when the user is actually
not AP enabled yet.

I did not bother rewriting tests that used `User.insert_or_update`
to use the changeset instead because they seemed to just test the implementation,
rather than behavior.
2020-04-11 22:31:46 +03:00
lain 64c78581fe Chat: Only create them for valid users for now. 2020-04-10 14:47:56 +02:00
Egor Kislitsyn cf2a0574e7
Merge branch 'develop' into fix/support-conversations-pagination 2020-04-10 14:18:57 +04:00
Haelwenn 4d33e0bd50 Merge branch 'bugfix/apc2s_upload_activity' into 'develop'
bugfix: AP C2S activity with attachments

See merge request pleroma/pleroma!2316
2020-04-10 04:31:13 +00:00
Haelwenn (lanodan) Monnier e89078ac2a
User: remove source_data 2020-04-10 06:20:03 +02:00
Haelwenn (lanodan) Monnier 3420dec494
Remove User.fields/1 2020-04-10 06:20:02 +02:00
Haelwenn (lanodan) Monnier 9172d719cc
profile emojis in User.emoji instead of source_data 2020-04-10 06:20:02 +02:00
Haelwenn (lanodan) Monnier 62656ab259
User: Move inbox & shared_inbox to own fields 2020-04-10 06:20:02 +02:00
Haelwenn (lanodan) Monnier 369c03834c
formatter: Use user.uri instead of user.source_data.uri 2020-04-10 06:20:02 +02:00
Haelwenn (lanodan) Monnier 19eedb3d04
User: Move public_key from source_data to own field 2020-04-10 06:16:18 +02:00
lain 2cc6841424 ChatController: Basic message posting. 2020-04-09 17:18:31 +02:00
lain e8fd0dd689 ChatController: Basic support for returning messages. 2020-04-09 16:59:49 +02:00
lain 68abea313d ChatController: Add creation and return of chats. 2020-04-09 15:13:55 +02:00
Egor Kislitsyn d545b883eb
Add `/api/v1/notifications/:id/dismiss` endpoint 2020-04-09 17:08:43 +04:00
lain d35e114acd Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-09 13:25:27 +02:00
lain 8e637ae1a7 CommonAPI: Basic ChatMessage support. 2020-04-09 13:20:16 +02:00
lain 4b04785071 SideEffects: Extend ChatMessage test. 2020-04-09 12:46:33 +02:00
lain 2e78686686 SideEffects: Handle ChatMessage creation. 2020-04-09 12:44:20 +02:00
lain b87b798ca1 Merge branch 'fix/1658-invite-send' into 'develop'
Error improvement for email_invite endpoint

See merge request pleroma/pleroma!2344
2020-04-09 10:42:43 +00:00
Alexander Strizhakov 9795ff5b01 Apply suggestion to test/web/admin_api/admin_api_controller_test.exs 2020-04-09 10:17:50 +00:00
Alexander Strizhakov 365c34a7a9 Apply suggestion to test/web/admin_api/admin_api_controller_test.exs 2020-04-09 10:17:44 +00:00
lain d2e21fbc96 Merge branch 'open-api' into 'develop'
Add OpenAPI

Closes pleroma-meta#19

See merge request pleroma/pleroma!2345
2020-04-09 09:48:56 +00:00
rinpatch d067eaa7b3 formatter.ex: Use Phoenix.HTML for mention/hashtag generation
Unlike concatenating strings, this makes sure everything is escaped.
Tests had to be changed because Phoenix.HTML runs attributes through
Enum.sort before generation for whatever reason.
2020-04-08 22:58:31 +03:00
Ivan Tashkinov 3965772b26 [#1559] Minor change (analysis). 2020-04-08 21:33:37 +03:00
Ivan Tashkinov f35c28bf07 [#1559] Added / fixed tests for follow / follow_request notifications. 2020-04-08 21:26:22 +03:00
lain 3775683a04 ChatMessage: Basic incoming handling. 2020-04-08 15:55:43 +02:00
rinpatch dd4d10b275 Merge branch 'fix-auto-link-for-profile-fields' into 'develop'
Use Pleroma.Formatter.linkify/2 instead

See merge request pleroma/pleroma!2352
2020-04-07 11:41:10 +00:00
Maksim Pechnikov 2b7d7bbd2d Merge branch 'develop' into issue/1276 2020-04-07 14:09:43 +03:00
kPherox 06471940e0 Apply suggestion to test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs 2020-04-07 08:44:53 +00:00
lain 19335be24c Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-06 17:50:31 +02:00
lain 1d4ab06505 Merge branch 'featureflag/emoji_reactions' into 'develop'
Add emoji reactions to features in nodeinfo

See merge request pleroma/pleroma!2313
2020-04-06 12:51:35 +00:00
lain 96ee0aadbf Merge branch 'improving-test-coverage' into 'develop'
Tests for emoji mix task

See merge request pleroma/pleroma!2350
2020-04-06 12:49:17 +00:00
lain 349b9d86dc Merge branch 'remake-remodel-2' into 'develop'
Ingestion Pipeline Revamp

See merge request pleroma/pleroma!2315
2020-04-06 11:59:01 +00:00
Alexander Strizhakov a43e055916
using another fn for file deletion 2020-04-06 14:27:20 +03:00
Alexander Strizhakov b59ac37b2c
tests for emoji mix task 2020-04-06 11:13:59 +03:00
Ivan Tashkinov fc81e5a49c Enforcement of OAuth scopes check for authenticated API endpoints, :skip_plug plug to mark a plug explicitly skipped (disabled). 2020-04-06 10:20:44 +03:00
Ivan Tashkinov 3fa51f7272 Merge remote-tracking branch 'remotes/origin/2323-accounts-relationships-hotfix' into output-of-relationships-in-statuses
# Conflicts:
#	lib/pleroma/web/mastodon_api/views/account_view.ex
#	lib/pleroma/web/mastodon_api/views/status_view.ex
2020-04-02 19:38:39 +03:00
Ivan Tashkinov aa78325117 [#2323] Fixed a typo causing /accounts/relationships to render default relationships. Improved the tests. 2020-04-02 19:23:30 +03:00
lain fd97b0e634 Chats: Basic implementation. 2020-04-02 15:19:09 +02:00
Maksim Pechnikov dbcfac11b4 Merge branch 'develop' into issue/1276 2020-04-02 14:47:17 +03:00
Egor Kislitsyn 23219e6fb3
Add OpenAPI 2020-04-01 23:13:08 +04:00
Alexander Strizhakov 2d64500a9d
error improvement for email_invite endpoint 2020-04-01 20:26:33 +03:00
Ivan Tashkinov 98b96e45ab Merge remote-tracking branch 'remotes/origin/develop' into output-of-relationships-in-statuses
# Conflicts:
#	CHANGELOG.md
2020-04-01 20:08:14 +03:00
feld ef7d2b0f11 Merge branch 'gun' into 'develop'
Gun adapter

Closes #945

See merge request pleroma/pleroma!1861
2020-04-01 17:05:09 +00:00
Ivan Tashkinov 2f2bd7fe72 Ability to control the output of account/pleroma/relationship in statuses in order to improve the rendering performance.
See `[:extensions, output_relationships_in_statuses_by_default]` setting and `with_relationships` param.
2020-04-01 19:49:09 +03:00
rinpatch bfec45bf74 Merge branch 'fix/1601-add-new-meta-tag' into 'develop'
Restrict remote users from indexing

Closes #1601

See merge request pleroma/pleroma!2341
2020-04-01 12:55:52 +00:00
Alexander Strizhakov 94ddbe4098
restrict remote users from indexing 2020-04-01 09:57:12 +03:00
Haelwenn (lanodan) Monnier 185520d1b4
Provide known-good user.uri, remove User.profile_url/1 2020-03-31 23:55:29 +02:00
Haelwenn (lanodan) Monnier b30fb1f3bb
User: Fix use of source_data in profile_url/1 2020-03-31 23:54:20 +02:00
Haelwenn (lanodan) Monnier 2553400a66
Initial failing test statement against funkwhale channels 2020-03-31 23:54:20 +02:00
kPherox dbf9d719f9
split test for update profile fields 2020-04-01 02:52:30 +09:00
lain aebec1bac9 Validator Test: Small refactor. 2020-03-31 17:47:34 +02:00
Alexander Strizhakov df5f89c0d6
test for default features and changelog entry 2020-03-31 18:22:25 +03:00
lain 643f15e77b Validators: ObjectID is an http uri. 2020-03-31 16:11:38 +02:00
Alexander Strizhakov b607ae1a1c
removing grouped reports admin api endpoint 2020-03-30 13:51:45 +03:00
Alexander Strizhakov f497cf2f7c
Merge branch 'develop' into gun 2020-03-30 12:15:23 +03:00
Haelwenn e999c67cee Merge branch 'feature/funkwhale-audio' into 'develop'
Add support for funkwhale Audio activity

Closes #764 and #1624

See merge request pleroma/pleroma!2287
2020-03-29 19:18:22 +00:00
Maksim Pechnikov dfd2c74184 Merge branch 'develop' into issue/1276 2020-03-29 06:57:34 +03:00
Ivan Tashkinov be9d18461a FollowingRelationship storage & performance optimizations (state turned `ecto_enum`-driven integer, reorganized indices etc.). 2020-03-28 18:49:03 +03:00
Ivan Tashkinov dfbc05d496 Misc refactoring / tweaks (`ThreadMute.exists?/2`). 2020-03-27 08:01:03 +03:00
lain 0adaab8e75 Bump copyright dates. 2020-03-26 15:37:42 +01:00
Ivan Tashkinov 112101ca52 Merge remote-tracking branch 'remotes/origin/develop' into relations-preloading-for-statuses-rendering
# Conflicts:
#	lib/pleroma/thread_mute.ex
2020-03-26 09:43:58 +03:00
rinpatch de62e633d3 Merge branch '1364-notifications-sending-control' into 'develop'
[#1364] Ability to opt-out of notifications (in all clients)

Closes #1364

See merge request pleroma/pleroma!2301
2020-03-25 18:00:24 +00:00
Ivan Tashkinov ff1baae7e9 Merge remote-tracking branch 'remotes/origin/develop' into relations-preloading-for-statuses-rendering 2020-03-25 20:41:17 +03:00
Ivan Tashkinov 460e41585c Further preloading (more endpoints), refactoring, tests. 2020-03-25 20:33:34 +03:00
Egor Kislitsyn 9081a071ee
Add a test for accounts/update_credentials 2020-03-25 18:46:17 +04:00
Ivan Tashkinov 012d428e1f Merge remote-tracking branch 'remotes/origin/develop' into 1364-notifications-sending-control 2020-03-25 09:05:17 +03:00
Ivan Tashkinov e743c22329 Fixed incorrect usage of "relations" as a short form of "relationships". 2020-03-25 09:04:00 +03:00
Haelwenn (lanodan) Monnier 03a18cf037
node_info_test: Bump default features list 2020-03-24 20:39:19 +01:00
Haelwenn (lanodan) Monnier 212c31c637
Merge remote-tracking branch 'pleroma/develop' into featureflag/emoji_reactions 2020-03-24 20:32:49 +01:00
Haelwenn (lanodan) Monnier 64165d1df9
node_info_test.exs: Add test on the default feature list 2020-03-24 20:21:27 +01:00
Ivan Tashkinov 8f1d622b8d Merge remote-tracking branch 'remotes/origin/develop' into relations-preloading-for-statuses-rendering 2020-03-24 22:15:37 +03:00
Ivan Tashkinov 13cbb9f6ad Implemented preloading of relationships with parent activities' actors for statuses/timeline rendering. Applied preloading for notifications rendering. Fixed announces rendering issue (preloading-related). 2020-03-24 22:14:26 +03:00
feld 8eebc75c15 Merge branch 'fix/activity-deletion' into 'develop'
Fix activity deletion

Closes #1640

See merge request pleroma/pleroma!2328
2020-03-24 19:10:32 +00:00
lain 1d75d0ed7a Merge branch 'admin-api-change-password' into 'develop'
Admin API: `PATCH /api/pleroma/admin/users/:nickname/update_credentials`

See merge request pleroma/pleroma!2149
2020-03-24 17:34:13 +00:00
Egor Kislitsyn 4a2538967c
Support pagination in conversations 2020-03-24 20:18:27 +04:00
Egor Kislitsyn d1a9716a98
Fix activity deletion 2020-03-24 17:38:18 +04:00
lain eec1fcaf55 Home timeline tests: Add failing test for relationships 2020-03-23 15:58:55 +01:00
Alexander Strizhakov a6ee6784bc
creating trusted app from adminFE & mix task 2020-03-23 10:44:47 +03:00
Haelwenn (lanodan) Monnier 15be6ba9c2
AccountView: fix for other forms of <br> in bio
Closes: https://git.pleroma.social/pleroma/pleroma/issues/1643
2020-03-22 16:41:01 +01:00
Alexander Strizhakov 7f9b5284fa
updating clear_config 2020-03-20 20:58:47 +03:00
Alexander Strizhakov 9bae9b1b1b
Merge branch 'develop' into gun 2020-03-20 20:47:54 +03:00
lain d74405fc1a Merge branch 'fix-feed-pagination' into 'develop'
Fix for feed page pagination

Closes #1605

See merge request pleroma/pleroma!2281
2020-03-20 16:57:51 +00:00
Ivan Tashkinov 1c05f539aa Improved in-test `clear_config/n` applicability (setup / setup_all / in-test usage). 2020-03-20 18:33:00 +03:00
Ivan Tashkinov 0e27c274f4 Merge remote-tracking branch 'remotes/origin/develop' into clear-config-test-improvements
# Conflicts:
#	test/web/mastodon_api/controllers/account_controller_test.exs
2020-03-20 18:08:23 +03:00
lain 6c1232b486 NotificationController: Fix test. 2020-03-20 15:00:28 +01:00
lain 1aa8aa7d7f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-2 2020-03-20 14:52:58 +01:00
Alexander Strizhakov fe15f0ba15
restrict_unauthenticated setting 2020-03-20 16:36:20 +03:00
Alexander Strizhakov 98a60df41f
include_types parameter in /api/v1/notifications 2020-03-20 13:18:12 +03:00
Haelwenn (lanodan) Monnier a8aa917530
Merge remote-tracking branch 'pleroma/develop' into bugfix/apc2s_upload_activity 2020-03-19 19:25:50 +01:00
Haelwenn (lanodan) Monnier c1fd4f6653
transmogrifier.ex: rework fix_attachment for better IR 2020-03-19 19:10:03 +01:00
lain 3c2c32b460 Merge branch 'remake-remodel' into develop 2020-03-19 18:00:55 +01:00
Haelwenn (lanodan) Monnier f9d622d25a
WIP 2020-03-19 15:39:11 +01:00
Ivan Tashkinov ec3719f539 Improved in-test config management functions. 2020-03-18 20:30:31 +03:00
Alexander Strizhakov f9ecb513fa
Merge branch 'develop' into gun 2020-03-18 14:08:21 +03:00
Haelwenn (lanodan) Monnier d3cf7e19fb
activity_pub_controller_test.exs: test posting with AP C2S uploaded media 2020-03-17 14:00:19 +01:00
Ivan Tashkinov 7438833685 [#1364] Improved notification-related tests. 2020-03-16 21:58:10 +03:00
eugenijm 13cce9c0de Admin API: `PATCH /api/pleroma/admin/users/:nickname/credentials`, `GET /api/pleroma/admin/users/:nickname/credentials`. 2020-03-16 20:42:37 +03:00
eugenijm d198e7fa2a Admin API: `PATCH /api/pleroma/admin/users/:nickname/change_password` 2020-03-16 20:32:07 +03:00
Alexander Strizhakov f3791add99
removing with_move parameter 2020-03-16 20:07:45 +03:00
Ivan Tashkinov 0e07c5ef57 Merge remote-tracking branch 'remotes/origin/develop' into 1364-notifications-sending-control 2020-03-16 17:58:42 +03:00
Alexander Strizhakov 3805e09b9c
Merge branch 'develop' into gun 2020-03-16 14:35:27 +03:00
Alexander Strizhakov f0651730bd
Merge branch 'develop' into gun 2020-03-16 14:25:55 +03:00
Alexander Strizhakov dc2ec84c0f
warnings fix 2020-03-16 14:19:36 +03:00
Alexander Strizhakov 89e4b3ebbd
fix for content-type header for tag feed 2020-03-16 12:59:18 +03:00
Alexander Strizhakov 91870c8995
adding rss for user feed 2020-03-16 12:45:31 +03:00
Alexander Strizhakov 26e2076659
fix for feed page pagination 2020-03-16 12:33:55 +03:00
rinpatch 34fd1c2c9d Merge branch 'bugfix/earmark_renderer_test' into 'develop'
test/earmark_renderer_test.exs: Rename from test/earmark_renderer_test.ex

See merge request pleroma/pleroma!2300
2020-03-15 20:04:31 +00:00
Haelwenn (lanodan) Monnier 0ac6e29654 static_fe: Sanitize HTML in posts
Note: Seems to have different sanitization with TwitterCard generator giving
the following:

<meta content=\"“alert(&#39;xss&#39;)”\" property=\"twitter:description\">
2020-03-15 20:44:04 +01:00
lain fa4ec17c84 Merge branch '1560-non-federating-instances-routes-restrictions' into 'develop'
[#1560] Restricted AP- & OStatus-related routes for non-federating instances

Closes #1560

See merge request pleroma/pleroma!2235
2020-03-15 19:15:20 +00:00
Ivan Tashkinov 7c8003c3fc [#1364] Improved control over generation / sending of notifications. Fixed blocking / muting users notifications issue. Added tests. 2020-03-15 21:00:12 +03:00
Haelwenn d84670b9e1 Merge branch 'f' into 'develop'
rip out fetch_initial_posts

Closes #1422 and #1595

See merge request pleroma/pleroma!2297
2020-03-15 16:14:54 +00:00
Haelwenn (lanodan) Monnier dca21cd1d6 test/earmark_renderer_test.exs: Rename from test/earmark_renderer_test.ex
Wasn't in the test suite otherwise
2020-03-15 17:07:08 +01:00
Haelwenn 67a27825b1 Merge branch 'fix/rate-limiter-remoteip-behavior' into 'develop'
rate limiter: disable based on if remote ip was found, not on if the plug was enabled

Closes #1620

See merge request pleroma/pleroma!2296
2020-03-15 14:22:10 +00:00
rinpatch e87a32bcd7 rip out fetch_initial_posts
Every time someone tries to use it, it goes mad and tries to scrape the
entire fediverse for no visible reason, it's better to just remove it
than continue shipping it in it's current state.

idea acked by lain and feld on irc

Closes #1595 #1422
2020-03-15 15:59:17 +03:00
Ivan Tashkinov ecb7809e92 Merge remote-tracking branch 'remotes/origin/develop' into 1560-non-federating-instances-routes-restrictions
# Conflicts:
#	lib/pleroma/plugs/static_fe_plug.ex
2020-03-14 15:37:02 +03:00
rinpatch d88c8a9614 Merge branch 'fix/cache-control-headers' into 'develop'
Fix Cache Control headers on media

See merge request pleroma/pleroma!2295
2020-03-14 11:19:42 +00:00
rinpatch 994ac4357c Merge branch 'fix/hashtags-streaming' into 'develop'
Fix hashtags WebSocket streaming

Closes #1593

See merge request pleroma/pleroma!2294
2020-03-13 18:50:17 +00:00
rinpatch fc4496d4fa rate limiter: disable based on if remote ip was found, not on if the plug was enabled
The current rate limiter disable logic won't trigger when the remote ip
is not forwarded, only when the remoteip plug is not enabled, which is
not the case on most instances since it's enabled by default. This
changes the behavior to warn and disable  when the remote ip was not forwarded,
even if the RemoteIP plug is enabled.

Also closes #1620
2020-03-13 21:41:17 +03:00
rinpatch 3e0f05f08e Merge branch 'bugfix/br-vs-newline' into 'develop'
Formatting: Do not use \n and prefer <br> instead

Closes #1374 and #1375

See merge request pleroma/pleroma!2204
2020-03-13 18:22:55 +00:00
Mark Felder c6eb1c1b92 Merge branch 'develop' into fix/cache-control-headers 2020-03-13 12:54:06 -05:00
Mark Felder db36b48180 Remove test verifying we preserve cache-control headers; we don't 2020-03-13 12:23:14 -05:00
Mark Felder 470090471d Fix test to use new cache-control settings 2020-03-13 12:20:33 -05:00