Commit graph

609 commits

Author SHA1 Message Date
Mark Felder
85446cc30c Merge branch 'develop' into media-preview-proxy 2020-09-03 10:34:06 -05:00
rinpatch
d48fc90978 StatusView: Start fetching rich media cards as soon as possible 2020-09-02 16:45:54 +03:00
rinpatch
126461942b User table: ensure bio is always a string
Gets rid of '|| ""' in multiple places and fixes #2067
2020-09-01 10:45:42 +03:00
Maksim Pechnikov
0d5088c2b8 remove unread_conversation_count from User 2020-09-01 09:37:08 +03:00
Mark Felder
67c79394e8 Support static avatars and header images with Mediaproxy Preview 2020-08-27 17:15:23 -05:00
Mark Felder
479578b148 Merge branch 'develop' into feld-2168-media-preview-proxy 2020-08-25 11:57:23 -05:00
Haelwenn (lanodan) Monnier
36c125a071
Pipeline Ingestion: Event 2020-08-20 21:49:26 +02:00
Ivan Tashkinov
2def3cbf41 Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	config/config.exs
#	mix.lock
2020-08-11 15:13:29 +03:00
Alex Gleason
4af1b80381
Clean up account aliases 2020-08-07 17:37:15 -05:00
Alex Gleason
1a5a7ba6e8
Merge remote-tracking branch 'upstream/develop' into aliases 2020-08-07 16:35:15 -05:00
lain
34cbe9f44a Merge branch 'features/poll-validation' into 'develop'
Poll and votes pipeline ingestion

Closes #1362 and #1852

See merge request pleroma/pleroma!2635
2020-08-07 10:44:06 +00:00
Ivan Tashkinov
1298a2ea2c Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	mix.lock
2020-08-07 09:38:05 +03:00
lain
f889400d05 Questions: Move fixes to validators. 2020-08-05 14:51:33 +02:00
lain
70522989d9 Apply 1 suggestion(s) to 1 file(s) 2020-08-05 11:14:58 +00:00
MK Fain
f341a8e142 Update filter_view.ex to return whole_word actual value 2020-08-05 02:01:27 +00:00
Haelwenn (lanodan) Monnier
ac2598307d
Merge remote-tracking branch 'pleroma/develop' into features/poll-validation 2020-07-31 13:57:21 +02:00
Alex Gleason
6931dbfa58
Merge remote-tracking branch 'upstream/develop' into by-approval 2020-07-26 15:46:14 -05:00
Haelwenn
6100b90209 Merge branch '1976-status-view-fixes' into 'develop'
StatusView: Handle badly formatted emoji reactions.

Closes #1976

See merge request pleroma/pleroma!2788
2020-07-23 16:58:36 +00:00
Ivan Tashkinov
9ea51a6de5 [#2791] AccountView: renamed :force option to :skip_visibility_check. 2020-07-23 15:08:30 +03:00
Ivan Tashkinov
6f5f7af607 [#1973] Fixed accounts rendering in GET /api/v1/pleroma/chats with truish :restrict_unauthenticated.
Made `Pleroma.Web.MastodonAPI.AccountView.render("show.json", _)` demand :for or :force option in order to prevent incorrect rendering of empty map instead of expected user representation with truish :restrict_unauthenticated setting.
2020-07-22 19:06:00 +03:00
Lain Soykaf
0cb9e1da74 StatusView: Handle badly formatted emoji reactions. 2020-07-22 14:44:06 +02:00
Ivan Tashkinov
bdf57b8ef4 Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	config/config.exs
#	lib/pleroma/web/media_proxy/media_proxy.ex
#	mix.lock
#	test/web/media_proxy/media_proxy_test.exs
2020-07-19 20:05:37 +03:00
Alex Gleason
d0eb43b58b
Add account aliases 2020-07-17 16:17:49 -05:00
Mark Felder
20a496d2cb Expose the post formats in /api/v1/instance 2020-07-17 10:45:41 -05:00
Alex Gleason
9ce95fa68f
Use approval_required in /api/v1/instance 2020-07-15 17:04:30 -05:00
Haelwenn (lanodan) Monnier
173f69c854
question_validator: fix for mastodon poll expiration
Mastodon activities do not have a "closed" field, this could be seen on
https://pouet.it/users/lanodan_tmp/statuses/104345126997708380
which runs Mastodon 3.1.4 (SDF runs 3.1.2)
2020-07-15 11:39:56 +02:00
Haelwenn (lanodan) Monnier
4644a8bd10
Fix multiple-choice poll detection 2020-07-15 11:39:55 +02:00
Alex Gleason
51ab8d0128
Add account_approval_required instance setting 2020-07-12 20:27:58 -05:00
lain
b39eb6ecc5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into chat-federation-information 2020-07-10 12:26:53 +02:00
Haelwenn (lanodan) Monnier
312fc55f14
Add [:instances_favicons, :enabled] setting, defaults to false 2020-07-08 06:28:40 +02:00
Haelwenn (lanodan) Monnier
013e2c5057
Use instances table instead of Cachex 2020-07-08 06:28:39 +02:00
Haelwenn (lanodan) Monnier
6a679d80c9
Move get_favicon to Pleroma.Instances, use / 2020-07-08 06:28:39 +02:00
Haelwenn (lanodan) Monnier
f6d09fafee
Add support for remote favicons 2020-07-08 06:28:39 +02:00
lain
74b88c0a8b Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into chat-federation-information 2020-07-06 11:27:06 +02:00
lain
cc8b4e48d9 InstanceView: Add chat limit, description limit 2020-07-06 11:12:37 +02:00
lain
d3efb50262 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into features/mastoapi-2.9.0-status_text 2020-07-03 16:44:31 +02:00
lain
3250228be9 AccountView: Add 'accepts_chat_messages' to view. 2020-07-03 13:07:33 +02:00
Mark Felder
d44ec2bf4c Remove camelCase from the keys 2020-07-02 12:55:08 -05:00
Ivan Tashkinov
61180ab6f4 Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	config/config.exs
#	lib/pleroma/web/media_proxy/media_proxy.ex
#	lib/pleroma/web/media_proxy/media_proxy_controller.ex
2020-07-02 16:36:54 +03:00
Mark Felder
5a8e0208b1 Add fields limits to instance metadata, add tests 2020-06-30 15:25:10 -05:00
Mark Felder
0883a706dc Merge branch 'develop' into activation-meta 2020-06-30 15:09:03 -05:00
Haelwenn (lanodan) Monnier
244655e884
MastoAPI: Show source field when deleting 2020-06-26 19:52:20 +02:00
lain
35f6770436 StatusView: Add pleroma.parent_visible 2020-06-24 13:29:08 +02:00
Haelwenn
c7d69e9256 Merge branch 'feature/1631-redesign-mrf-configuration' into 'develop'
Moving mrf settings from instance to separate mrf group

Closes #1631

See merge request pleroma/pleroma!2320
2020-06-23 16:38:27 +00:00
Mark Felder
df5e048cbb Do not need a function to provide fallback value with default defined in config.exs 2020-06-22 17:39:02 -05:00
lain
46f7e51b27 Merge branch 'add-muted-to-notifications' into 'develop'
Add `pleroma.is_muted` property to notifications

Closes #1812

See merge request pleroma/pleroma!2670
2020-06-22 15:40:09 +00:00
Egor Kislitsyn
7e6f43c0d7
Add is_muted to notifications 2020-06-22 19:03:04 +04:00
lain
59bdef0c33 Merge branch 'feature/1739-account-endpoints' into 'develop'
account visibility in masto api

Closes #1739

See merge request pleroma/pleroma!2488
2020-06-22 12:37:10 +00:00
Sergey Suprunenko
ac0344dd24
Only accounts with Service actor_type are considered as bots 2020-06-19 21:19:00 +02:00
rinpatch
4ec2fb967e Merge branch 'features/users-raw_bio' into 'develop'
User: Add raw_bio, storing unformatted bio

See merge request pleroma/pleroma!2326
2020-06-17 10:34:23 +00:00
Alexander Strizhakov
ed189568f3
moving mrf settings from instance to separate group 2020-06-16 18:32:18 +03:00
lain
b7df7436c8 Conversations: Return last dm for conversation, not last message. 2020-06-15 12:27:13 +02:00
eugenijm
b15cfc3d36 Mastodon API: ensure the notification endpoint doesn't return less than the requested amount of records unless it's the last page 2020-06-14 18:27:11 +03:00
Egor Kislitsyn
520367d6fd Fix atom leak in Rich Media Parser 2020-06-13 12:08:46 +03:00
lain
3b5282bef2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-08 11:19:18 +02:00
Haelwenn (lanodan) Monnier
e1b07402ab
User: Add raw_bio, storing unformatted bio
Related: https://git.pleroma.social/pleroma/pleroma/issues/1643
2020-06-06 16:23:16 +02:00
lain
ca0e6e702b ChatMessageReference -> Chat.MessageReference 2020-06-06 11:51:10 +02:00
Egor Kislitsyn
b02df1803e
Merge remote-tracking branch 'origin/develop' into activity-pub-use-atoms-as-keys 2020-06-05 23:15:10 +04:00
lain
a8ca030d85 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-05 16:53:56 +02:00
Haelwenn
54bae06b4f Create Pleroma.Maps.put_if_present(map, key, value, value_fun // &{:ok, &1})
Unifies all the similar functions to one and simplify some blocks with it.
2020-06-05 14:48:02 +00:00
Egor Kislitsyn
317e2b8d61
Use atoms as keys in ActivityPub.fetch_* functions options 2020-06-04 21:36:26 +04:00
lain
f3ccd50a33 ChatMessageReferences: Adjust views 2020-06-03 12:49:53 +02:00
lain
37542a9dfa Activity: Remove notifications-related functions. 2020-06-02 14:22:16 +02:00
lain
805ab86933 Notifications: Make notifications save their type. 2020-06-02 13:24:34 +02:00
Alex Gleason
954acdda20
Add account_activation_required to /api/v1/instance 2020-05-31 11:36:49 -05:00
lain
af6d01ec93 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-29 12:36:17 +02:00
rinpatch
8f6d428880 AccountView: Use mediaproxy URLs for emojis
Also use atom keys in emoji maps instead of binaries

Closes #1810
2020-05-27 19:44:02 +03:00
lain
ee35bb5ac2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-25 13:57:27 +02:00
lain
814c3e5171 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-21 15:00:05 +02:00
eugenijm
b7fc61e17b Added the ability to upload background, logo, default user avatar, instance thumbnail, and the NSFW hiding image via AdminFE 2020-05-21 04:41:42 +03:00
Ivan Tashkinov
6fd4f58ead Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy 2020-05-20 20:27:03 +03:00
Haelwenn
94ba5a7802 Merge branch 'exposed-background-image' into 'develop'
InstanceView: Expose background image link.

See merge request pleroma/pleroma!2545
2020-05-20 10:53:54 +00:00
Egor Kislitsyn
6609714d66
Move Scrobble views to ScrobbleView 2020-05-19 16:26:06 +04:00
lain
188b32145e InstanceView: Expose background image link.
This will make it easier for more clients to support this feature.
2020-05-18 13:29:30 +02:00
Alexander Strizhakov
1671864d88
return :visible instead of boolean 2020-05-18 10:34:50 +03:00
Alexander Strizhakov
e7bc2f980c
account visibility 2020-05-18 10:34:49 +03:00
lain
9c17109765 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-17 12:14:49 +02:00
Ivan Tashkinov
e4b12494d7 Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	mix.lock
2020-05-14 20:19:56 +03:00
lain
06cad239e5 InstanceView: Add pleroma chat messages to nodeinfo 2020-05-13 14:05:22 +02:00
lain
3cff4e24cd Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-13 12:44:16 +02:00
Ivan Tashkinov
fd2fb2bb2e Merge remote-tracking branch 'remotes/origin/develop' into restricted-relations-embedding
# Conflicts:
#	lib/pleroma/web/mastodon_api/controllers/status_controller.ex
#	lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex
#	test/web/mastodon_api/controllers/timeline_controller_test.exs
#	test/web/mastodon_api/views/status_view_test.exs
2020-05-13 12:42:36 +03:00
Egor Kislitsyn
7803a85d2c
Add OpenAPI spec for StatusController 2020-05-13 00:25:21 +04:00
Ivan Tashkinov
63a1a82f38 [#2456] Added support for embed_relationships param, nailed down endpoints which should support it. Fixed :source_mutes relationships subset fetching. 2020-05-12 19:14:35 +03:00
lain
dcb5cda324 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-12 13:13:43 +02:00
Ivan Tashkinov
aee88d11be [#2456] Removed support for embedded relationships in account view. 2020-05-10 09:16:48 +03:00
Ivan Tashkinov
ac4250a18c [#2456] Clarified skip_relationships option (and its default of false) for MastodonAPI.AccountView. 2020-05-09 19:03:07 +03:00
Ivan Tashkinov
14a49a0483 [#2456] Dropped support for embedded pleroma/account/relationship in statuses and notifications. 2020-05-09 18:05:44 +03:00
Ivan Tashkinov
bbdad85568 Initial implementation of image preview proxy. Media proxy tests refactoring. 2020-05-08 23:06:47 +03:00
Ivan Tashkinov
b2924ab1fb Merge remote-tracking branch 'remotes/origin/develop' into restricted-relations-embedding 2020-05-08 21:37:55 +03:00
lain
7637ef4203 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-08 13:13:37 +02:00
Maksim Pechnikov
4d71c4b805 fixed 'source' object in verify_credentials 2020-05-08 12:35:34 +03:00
Maksim Pechnikov
bd261309cc added unread_notifications_count for /api/v1/accounts/verify_credentials 2020-05-06 15:08:38 +03:00
Maksim Pechnikov
8b97b6f5ba Merge branch 'develop' into issue/1276-2 2020-05-06 14:47:50 +03:00
lain
205313e541 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-06 11:44:30 +02:00
lain
61ea8f1f5a Merge branch 'openapi/markers' into 'develop'
Add OpenAPI spec for MarkerController

See merge request pleroma/pleroma!2386
2020-05-06 09:06:50 +00:00
Egor Kislitsyn
46aae346f8
Move single used schemas to Filter operation schema 2020-05-05 17:41:01 +04:00
Egor Kislitsyn
7e7a3e1544
Add OpenAPI spec for FilterController 2020-05-05 17:41:01 +04:00
Egor Kislitsyn
babcae7130
Move single used schemas to Marker operation schema 2020-05-05 16:45:34 +04:00
lain
c40afe5ba0 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-04 10:43:20 +02:00
Maksim Pechnikov
fe7a0d660e Merge branch 'develop' into issue/1276-2 2020-05-04 06:08:49 +03:00
rinpatch
3126f8a334 Merge branch 'feature/1710-consolidate-instance-info' into 'develop'
Feature/1710 consolidate instance info

Closes #1710

See merge request pleroma/pleroma!2430
2020-05-02 16:44:55 +00:00
Ivan Tashkinov
d5cdc907e3 Restricted embedding of relationships where applicable (statuses / notifications / accounts rendering).
Added support for :skip_notifications for accounts listing (index.json).
Adjusted tests.
2020-05-01 18:45:24 +03:00
Maksim Pechnikov
a92c713d9c Merge branch 'develop' into issue/1276-2 2020-05-01 06:21:59 +03:00
lain
b5dc59c8fa Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-28 14:16:21 +02:00
lain
3635a9c9c2 InstanceController: Add extensions to /api/v1/instance 2020-04-27 14:28:08 +02:00
Egor Kislitsyn
f1ca917bb0
Merge branch 'develop' into openapi/account 2020-04-27 14:33:00 +04:00
lain
c86143ed73 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-27 12:07:08 +02:00
Ivan Tashkinov
e16437ff19 [#1706] Formatting fix. 2020-04-25 18:42:08 +03:00
Ivan Tashkinov
0d05e1fe39 [#1706] Prevented error on unresolved activity actors for timeline actions. 2020-04-25 18:24:10 +03:00
lain
ec7335535d Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-23 15:47:08 +02:00
Egor Kislitsyn
6c26feed01
Merge branch 'develop' into openapi/account 2020-04-22 20:18:12 +04:00
lain
5102468d0f Polls: Persist and show voters' count 2020-04-22 14:06:39 +02:00
lain
5165287ff4 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-21 12:00:33 +02:00
Egor Kislitsyn
736fead494 Merge branch 'develop' into openapi/account 2020-04-20 18:40:02 +04:00
lain
28165dad3a Merge branch 'cleanup-subscription-controller' into 'develop'
Cleanup SubscriptionController

See merge request pleroma/pleroma!2393
2020-04-20 13:01:17 +00:00
lain
139b9d1338 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-20 12:37:17 +02:00
lain
970b74383b Credo fixes. 2020-04-20 12:29:19 +02:00
lain
c845820911 Notifications: Create a chat notification. 2020-04-17 16:55:01 +02:00
lain
8c2c325598 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-17 15:51:24 +02:00
Ivan Tashkinov
6e6f95c6ae Merge remote-tracking branch 'remotes/origin/develop' into 1559-follow-request-notifications
# Conflicts:
#	CHANGELOG.md
2020-04-17 16:23:58 +03:00
Haelwenn
a17bfb5fab Merge branch 'feature/1584-client-captcha-options' into 'develop'
Creating trusted app from adminFE & mix task

Closes #1584

See merge request pleroma/pleroma!2252
2020-04-17 09:19:35 +00:00
rinpatch
942d7467ca Merge branch 'develop' into features/remove-user-source_data 2020-04-16 21:28:52 +03:00
lain
ca598e9c27 AccountView: Return user ap_id. 2020-04-16 15:27:35 +02:00
Egor Kislitsyn
cf4ebba774
Cleanup SubscriptionController 2020-04-15 23:14:47 +04:00
Maksim Pechnikov
4b3b1fec4e added an endpoint for getting unread notification count 2020-04-15 21:19:43 +03:00
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
Maksim Pechnikov
a16b3dbcbf Merge branch 'develop' into issue/1276 2020-04-13 21:19:27 +03:00
Egor Kislitsyn
03124c96cc
Add spec for AccountController.statuses 2020-04-13 18:17:07 +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
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
Haelwenn (lanodan) Monnier
9172d719cc
profile emojis in User.emoji instead of source_data 2020-04-10 06:20:02 +02:00
Ivan Tashkinov
ac672a9d6b [#1559] Addressed code review requests. 2020-04-09 15:13:37 +03:00
Ivan Tashkinov
1a4875adfa [#1559] Support for "follow_request" notifications (configurable).
(Not currently supported by PleromaFE, thus disabled by default).
2020-04-07 21:52:32 +03:00
Maksim Pechnikov
2b7d7bbd2d Merge branch 'develop' into issue/1276 2020-04-07 14:09:43 +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
Maksim Pechnikov
dbcfac11b4 Merge branch 'develop' into issue/1276 2020-04-02 14:47:17 +03: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
Haelwenn (lanodan) Monnier
185520d1b4
Provide known-good user.uri, remove User.profile_url/1 2020-03-31 23:55:29 +02: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
Ivan Tashkinov
6b793d3f83 Ensured no auxiliary computations (actors list preparation etc.) related to relationships preloading if no user is present (for statuses / accounts / relationships rendering). 2020-03-26 21:54:01 +03:00
Ivan Tashkinov
460e41585c Further preloading (more endpoints), refactoring, tests. 2020-03-25 20:33:34 +03:00
Ivan Tashkinov
be5e2c4dbb Applied relationships preloading to GET /api/v1/accounts/relationships. Refactoring (User.binary_id/1). 2020-03-25 17:01:45 +03: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
Ivan Tashkinov
3c78e5f327 Preloading of follow relations for timeline/statuses rendering (performance improvement). Refactoring. 2020-03-23 12:01:11 +03:00