Commit graph

619 commits

Author SHA1 Message Date
Alex Gleason 3d742c3c1a
SimplePolicy: filter nested objects 2021-04-30 14:20:37 -05:00
Alex Gleason 52fc59f125
Merge remote-tracking branch 'upstream/develop' into earmark 2021-04-30 13:17:03 -05:00
Alex Gleason a8fa00ef66
Fix failing remote mentions test, valid TLDs 2021-04-30 12:55:43 -05:00
Alex Gleason 53760d2cda
Delete obsolete EarmarkRendereTests (moved to UtilsTest) 2021-04-30 12:51:18 -05:00
Alex Gleason 6727a3659f
Remove Pleroma.Formatter.minify/2 2021-04-30 12:27:06 -05:00
Alex Gleason e7ac15905e
Merge remote-tracking branch 'upstream/develop' into oauth-token-id 2021-04-29 12:19:10 -05:00
rinpatch 15f87cf658 Merge branch 'features/ingestion-ecto-tag' into 'develop'
TagValidator: New

See merge request pleroma/pleroma!3244
2021-04-16 09:55:55 +00:00
rinpatch 79376b4afb Merge branch 'feature/521-pinned-post-federation' into 'develop'
Pinned posts federation

Closes #521

See merge request pleroma/pleroma!3312
2021-04-16 09:53:47 +00:00
rinpatch 0ababdc068 Merge branch 'fix/2593-reading-exported-config-file' into 'develop'
Reading the file, instead of config keyword in ReleaseRuntimeProvider

Closes #2593

See merge request pleroma/pleroma!3381
2021-04-16 09:50:26 +00:00
Sean King fa2e62078c
Remove MastoFE configuration stuff 2021-04-15 23:51:04 -06:00
Sean King ca79aab0bf
Remove MastoFE settings from users table 2021-04-15 23:33:24 -06:00
Sean King 8afa3f2d1b
Remove no longer necessary unit tests for MastoFE 2021-04-15 23:12:42 -06:00
Mark Felder f95b52255b Revert guards on string_to_elixir_types/1, remove unnecessary assignment in test 2021-04-14 09:39:57 -05:00
Mark Felder 905efc57e9 Initial test validating the AdminAPI issue 2021-04-13 14:39:28 -05:00
Mark Felder cdd271b065 Fix assignment / assertion 2021-04-13 10:55:54 -05:00
Mark Felder 9fbcdc15b1 Validate custom instance thumbnail set via AdminAPI produces correct URL 2021-04-13 10:52:53 -05:00
Alexander Strizhakov 681a42c359
release runtime provider fix for paths 2021-04-08 15:45:31 +03:00
Haelwenn (lanodan) Monnier 5ef4659b37
test/pleroma/web/common_api_test.exs: Strip : around emoji key-name 2021-04-05 19:25:55 +02:00
Haelwenn (lanodan) Monnier 6d6bef64bf
fetcher_test: Remove assert on fake Create having an ap_id 2021-04-05 19:19:12 +02:00
Haelwenn (lanodan) Monnier 53193b84b1
utils: Fix maybe_splice_recipient when "object" isn’t a map 2021-04-05 19:19:12 +02:00
Haelwenn (lanodan) Monnier 0b88accae6
fetcher_test: Fix missing mock function 2021-04-05 19:19:12 +02:00
Haelwenn (lanodan) Monnier b0c778fde7
NoteHandlingTest: remove fix_explicit_addressing-related test 2021-04-05 19:19:12 +02:00
Haelwenn (lanodan) Monnier d1205406d9
ActivityPubControllerTest: Apply same addr changes to object 2021-04-05 19:19:12 +02:00
Haelwenn (lanodan) Monnier 641184fc7a
recipients fixes/hardening for CreateGenericValidator 2021-04-05 19:19:11 +02:00
Haelwenn (lanodan) Monnier c944932674
Pipeline Ingestion: Note 2021-04-05 19:19:11 +02:00
Haelwenn (lanodan) Monnier e2a3365b5c
ObjectValidator.CommonFixes: Introduce fix_objects_defaults and fix_activity_defaults 2021-04-05 19:19:11 +02:00
Haelwenn (lanodan) Monnier e56779dd8d
Transmogrifier: Simplify fix_explicit_addressing and fix_implicit_addressing 2021-04-05 19:19:11 +02:00
Haelwenn (lanodan) Monnier 5ae27c8451
pipeline_test: Fix usage of %Activity{} 2021-04-01 14:18:40 +02:00
Mark Felder 16a7ffb1ea Fix function calls due to module name change 2021-03-30 11:10:44 -05:00
Mark Felder bfcdcd4f69 Temp file leaked, oops 2021-03-30 11:10:44 -05:00
Mark Felder 03f38ac4eb Prefer FollowBot naming convention vs Followbot 2021-03-30 11:10:44 -05:00
Mark Felder fef4f3772c More tests to validate Followbot is behaving 2021-03-30 11:10:44 -05:00
Mark Felder f73d166785 Only need to validate a follow request is generated for now 2021-03-30 11:10:44 -05:00
Alexander Strizhakov 4d046afd27
tests for release config provider 2021-03-27 09:05:33 +03:00
Alexander Strizhakov 8857242c95
removeing corresponding add activity 2021-03-25 13:03:41 +03:00
Alexander Strizhakov 5ae9b05600
separate test file for featured collection 2021-03-25 13:03:41 +03:00
Alexander Strizhakov 8f0778166c
moving fixture into mastodon folder 2021-03-25 13:03:41 +03:00
Alexander Strizhakov 3adb43cc20
refetch user on incoming add/remove activity
if featured_address is nil
2021-03-25 13:03:41 +03:00
Alexander Strizhakov d1d2744ee3
featured_address valition in AddRemoveValidator 2021-03-25 13:03:40 +03:00
Alexander Strizhakov ff612750b1
validator renaming & add validation for target 2021-03-25 13:03:40 +03:00
Alexander Strizhakov 17f28c0507
mastodon pins 2021-03-25 13:03:40 +03:00
Alexander Strizhakov 3ec1dbd922
Let pins federate
- save object ids on pin, instead of activity ids
- pins federation
- removed pinned_activities field from the users table
- activityPub endpoint for user pins
- pulling remote users pins
2021-03-25 13:03:40 +03:00
Alex Gleason b6a69b5efd
Return token's primary key with POST /oauth/token 2021-03-24 12:50:05 -05:00
rinpatch d3660b24d3 Copy emoji in the subject from parent post
Sometimes people put emoji in the subject, which results in the subject
looking broken if someone replies to it from a server that does not
have the said emoji under the same shortcode. This patch solves the problem
by extending the emoji set available in the summary to that of the parent
post.
2021-03-22 21:20:47 +03:00
Alexander Strizhakov d7e51206a2
respect content-type header in finger request 2021-03-19 18:53:55 +03:00
rinpatch a9bc652ab9 Merge branch 'mediaproxy-decode' into 'develop'
Simple way to decode mediaproxy URLs

See merge request pleroma/pleroma!3364
2021-03-19 08:52:12 +00:00
rinpatch f930e83fa2 Merge branch 'fix/remove_auto_nsfw' into 'develop'
Remove sensitive setting #nsfw

See merge request pleroma/pleroma!3223
2021-03-19 08:48:22 +00:00
rinpatch 67bde35e71 Merge branch 'bugfix/bridgy-user-icon' into 'develop'
Add support for actor icon being a list (Bridgy)

See merge request pleroma/pleroma!3372
2021-03-19 08:36:26 +00:00
Haelwenn (lanodan) Monnier 55bdfb075c
OpenAPI: TwitterAPI Util Controller 2021-03-15 06:47:07 +01:00
Haelwenn (lanodan) Monnier a22c53810b
Remove deprecated /api/qvitter/statuses/notifications/read 2021-03-15 06:47:07 +01:00
Haelwenn (lanodan) Monnier e4743847a1
OpenAPI: PleromaAPI UserImport Controller 2021-03-15 06:47:07 +01:00
Haelwenn (lanodan) Monnier ef5de5eb39
OpenAPI: MastodonAPI Status Controller 2021-03-15 06:47:07 +01:00
Haelwenn (lanodan) Monnier 0c7c6463d1
OpenAPI: MastodonAPI Account Controller, excluding OAuth 2021-03-15 06:47:06 +01:00
Haelwenn (lanodan) Monnier 3a8404820d
Verify MastoFE Controller put_settings response 2021-03-15 06:47:06 +01:00
Haelwenn (lanodan) Monnier e47f83cfc8
OpenAPI: MastodonAPI Conversation Controller 2021-03-15 06:47:06 +01:00
Haelwenn (lanodan) Monnier 3123ecdd6e
OpenAPI: MastodonAPI Media Controller 2021-03-15 06:47:06 +01:00
Haelwenn (lanodan) Monnier 7eecc3b61d
OpenAPI: MastodonAPI Timeline Controller 2021-03-15 06:47:06 +01:00
Haelwenn (lanodan) Monnier b1d4b2b81e
Add support for actor icon being a list (Bridgy) 2021-03-15 06:44:05 +01:00
Ivan Tashkinov 946e0aab49 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-03-10 07:48:50 +03:00
Haelwenn 7f413139fb Merge branch 'openapi/admin/user' into 'develop'
Add OpenAPI spec for AdminAPI.UserController

See merge request pleroma/pleroma!3355
2021-03-10 03:24:40 +00:00
Ivan Tashkinov 92526e0230 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-03-07 11:34:39 +03:00
Mark Felder eaaa20e0f1 Make tests use it 2021-03-05 13:21:22 -06:00
Ivan Tashkinov 5856f51717 [#3213] ActivityPub hashtags filtering refactoring. Test fix. 2021-03-03 23:09:30 +03:00
lain 13aa98d689 Merge branch 'mergeback/2.3.0' into 'develop'
Mergeback/2.3.0

See merge request pleroma/pleroma!3360
2021-03-03 15:07:50 +00:00
lain 2e296c079f Revert "StatusController: Deactivate application support for now."
This reverts commit 024c11c18d.
2021-03-03 15:33:06 +01:00
Mark Felder 913d53b7d7 Remove useless header on the get request 2021-03-02 14:04:50 -06:00
Mark Felder ccbf162088 Actually test viewing status after ingestion 2021-03-02 12:33:32 -06:00
Mark Felder f0208980e4 Test both ingestion of post in the status controller and the correct response during the view 2021-03-02 12:29:16 -06:00
Egor Kislitsyn 3aae5231b2
Add OpenAPI spec for AdminAPI.UserController 2021-03-02 20:49:17 +04:00
lain 024c11c18d StatusController: Deactivate application support for now.
Some more things to discuss about, so we'll remove it from 2.3.0
2021-03-02 14:40:47 +01:00
Ivan Tashkinov 882dd46843 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-03-02 08:26:30 +03:00
Alex Gleason 7ebbe11e75 user_agent_mock --> request_mock 2021-03-01 21:05:52 +01:00
Alex Gleason 1dc5794e29 Never forward the client's user-agent through the media proxy 2021-03-01 21:05:46 +01:00
Mark Felder b1e1db82bc Store application details in the object under the generator key, not application key 2021-03-01 11:29:10 -06:00
lain e8d88a72cf Merge branch 'fix/warning-in-test' into 'develop'
warning fix

See merge request pleroma/pleroma!3350
2021-02-28 16:53:05 +00:00
lain 4a9d3a1f28 Merge branch 'features/reports-enhancements' into 'develop'
Enhance reports in Pleroma API: index, show

See merge request pleroma/pleroma!3280
2021-02-28 16:45:15 +00:00
Alexander Strizhakov f85ed1c521
warning fix 2021-02-28 19:41:25 +03:00
lain 050c4b1f14 Merge branch 'bugfix/peertube-mpegURL-object' into 'develop'
Video: Handle peertube videos only stashing attachments in x-mpegURL

Closes #2372 and #2535

See merge request pleroma/pleroma!3336
2021-02-28 16:18:23 +00:00
lain e6a14e1cd1 Merge branch 'feat/client_app_details' into 'develop'
Support application field

See merge request pleroma/pleroma!3311
2021-02-28 16:17:34 +00:00
Haelwenn (lanodan) Monnier 3bc7d12271
Remove sensitive-property setting #nsfw, create HashtagPolicy 2021-02-27 21:26:17 +01:00
lain d0823d7f1e Merge branch 'frontendstatic-ignore-api-calls' into 'develop'
Filter out API calls from FrontendStatic plug

Closes #2261

See merge request pleroma/pleroma!3346
2021-02-27 19:40:38 +00:00
Mark Felder d35b6254b4 Store the client application data in ActivityStreams format 2021-02-26 18:14:57 -06:00
Mark Felder 902d4e4a4a Leave a note for future explorers 2021-02-25 13:06:43 -06:00
Mark Felder 2da71a526f No need to filter out Mix.env() from the API routes. 2021-02-25 13:04:08 -06:00
Mark Felder 6b87dfad5d Filter out MIX_ENV from route list and add a test 2021-02-25 09:23:10 -06:00
Ivan Tashkinov 8f88a90ca3 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	lib/pleroma/application.ex
#	lib/pleroma/config.ex
2021-02-23 13:58:35 +03:00
Ivan Tashkinov 77f3da0358 [#3213] Misc. tweaks: proper upsert in Hashtag, better feature toggle management. 2021-02-23 13:52:28 +03:00
Haelwenn (lanodan) Monnier 7fc9cd0974
Video: Handle peertube videos only stashing attachments in x-mpegURL
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/2535
2021-02-21 23:41:28 +01:00
Mark Felder 63739c5a58 Tests to validate client disclosure obeys user setting 2021-02-18 17:23:17 -06:00
Mark Felder d5ef02c7a7 Mastodon makes this field null when posting with MastoFE or if you choose to not disclose it, so it's safe to be null by default 2021-02-18 16:35:03 -06:00
Alexander Strizhakov 1e6c27181e
expires_in in scheduled status params 2021-02-18 14:59:22 +03:00
rinpatch 6d66fadea7 Remove :auth, :enforce_oauth_admin_scope_usage
`admin` scope has been required by default for more than a year now
and all apps that use the API seems to request a proper scope by now.
2021-02-17 20:47:38 +03:00
Haelwenn (lanodan) Monnier ff72ce31ca
Enhance reports in Pleroma API: index, show 2021-02-17 18:46:53 +01:00
Haelwenn e7b1f0f5f4 Merge branch 'feat/chat-list-pagination' into 'develop'
Chats: Introduce /api/v2/pleroma/chats which implements pagination

Closes #2140

See merge request pleroma/pleroma!3325
2021-02-17 15:36:59 +00:00
rinpatch 158f9f18ee Merge branch 'remove-conversation-api' into 'develop'
Add API endpoint to remove a conversation

Closes #2488

See merge request pleroma/pleroma!3321
2021-02-17 15:14:27 +00:00
rinpatch 264cb2c77f Merge branch '2510-oauth-app-tokens-further-support' into 'develop'
[#2510] Improved support for app-bound OAuth tokens

Closes #2510

See merge request pleroma/pleroma!3316
2021-02-17 13:08:51 +00:00
rinpatch d7ad288c84 Chats: Introduce /api/v2/pleroma/chats which implements pagination
Also removes incorrect claim that /api/v1/pleroma/chats supports
pagination and deprecates it.

Closes #2140
2021-02-17 16:03:24 +03:00
Ivan Tashkinov 111bfdd3a0 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-02-16 23:23:49 +03:00
Ivan Tashkinov 1dac7d1462 [#3213] Fixed hashtags.name lookup (must use citext type to do index scan). Fixed embedded hashtags lookup (lowercasing), adjusted tests. 2021-02-15 21:13:14 +03:00
Egor Kislitsyn cf6d3db58f
Add API endpoint to remove a conversation 2021-02-15 21:48:13 +04:00
Mark Felder fb2a8e7ccd Additional validation so we don't get caught off guard with a nil response
if CommonAPI ever prevents us from injecting this data
2021-02-12 13:15:33 -06:00
Mark Felder 3554a65f45 Inject fake application metadata and validate it is stripped by transmogrifier 2021-02-12 13:05:12 -06:00
rinpatch db716f860a Merge branch 'not-used-mock' into 'develop'
Not used mock

See merge request pleroma/pleroma!3313
2021-02-12 08:52:04 +00:00
rinpatch 76414ad277 Merge branch 'bugfix/answer-outbox' into 'develop'
Add test for Answer presence into an authenticated /outbox

See merge request pleroma/pleroma!3269
2021-02-12 08:48:51 +00:00
Mark Felder bd3d0e8b57 Use a custom oauth token so we can predict and validate the client_name and website 2021-02-11 15:53:10 -06:00
Mark Felder 333ff527fd Validate client application metadata is retained in the object 2021-02-11 15:07:21 -06:00
Ivan Tashkinov 5992382cf8 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	CHANGELOG.md
#	lib/mix/tasks/pleroma/database.ex
#	lib/pleroma/web/templates/feed/feed/_activity.rss.eex
2021-02-11 19:31:57 +03:00
Ivan Tashkinov df89b5019b [#2510] Improved support for app-bound OAuth tokens. Auth-related refactoring. 2021-02-11 15:02:50 +03:00
Alexander Strizhakov b5d001fc8c
not used mock 2021-02-10 18:44:49 +03:00
rinpatch a853218701 Merge branch 'features/ap_id-c2s-authentication' into 'develop'
activity_pub_controller: Add authentication to object & activity endpoints

See merge request pleroma/pleroma!3295
2021-02-09 19:29:43 +00:00
feld 593c0851d9 Merge branch 'develop' into 'new-user-emails' 2021-02-08 16:01:50 -06:00
Haelwenn a5bee1bf35 Merge branch 'feat/mrf-noemptypolicy' into 'develop'
MRF NoEmptyPolicy: Deny posts from local users if there is no content or only mentions.

See merge request pleroma/pleroma!3309
2021-02-08 21:49:20 +00:00
Mark Felder 55a13fc360 MRF NoEmptyPolicy: Deny posts from local users if there is no content or only mentions.
Helps prevent accidental button mashes from submitting incomplete posts
2021-02-08 15:32:47 -06:00
Haelwenn (lanodan) Monnier 8c7b3b20d8
activity_pub_controller: Add authentication to object & activity endpoints 2021-02-08 20:00:47 +01:00
Ivan Tashkinov d1c6dd97aa [#3213] Partially addressed code review points.
migration rollback task changes, hashtags-related config handling tweaks, `hashtags.data` deletion (unused).
2021-02-07 22:24:12 +03:00
Mark Felder 6a3e75c8e6 Lint 2021-02-05 09:00:17 -06:00
Mark Felder c361440396 Add basic test to validate the registration email is dispatched when the others are disabled
Also only check for subject as the body is a mess of html and we don't really need to prove its contents if the subject matches.
2021-02-04 17:56:46 -06:00
Mark Felder d047372291 Merge branch 'develop' into fix/reports-from-admins 2021-02-04 12:37:20 -06:00
feld 7b67bf4e97 Merge branch 'fix/configdb-error' into 'develop'
Improve error message for ConfigDB

See merge request pleroma/pleroma!3289
2021-02-04 14:33:59 +00:00
Haelwenn ea5469961a Merge branch 'bugfix/notice-external-redirect' into 'develop'
Redirect non-local activities when /notice/:id is used

See merge request pleroma/pleroma!3300
2021-02-04 14:26:03 +00:00
Haelwenn (lanodan) Monnier ecff027418
Redirect non-local activities when /notice/:id is used
Related-to: https://git.pleroma.social/pleroma/pleroma/-/issues/2496
2021-02-04 15:17:40 +01:00
Mark Felder 5bb5949048 Validate admin making report doesn't get their own report notification, but other admins do 2021-02-03 12:54:53 -06:00
feld 008499f65a Merge branch 'develop' into 'fix/2412-filters'
# Conflicts:
#   CHANGELOG.md
2021-02-03 14:23:23 +00:00
feld c3dd860a02 Merge branch 'fix/2449-scheduled-poll-bug' into 'develop'
Fix for scheduled post with poll

Closes #2449

See merge request pleroma/pleroma!3294
2021-02-03 14:22:23 +00:00
feld 8d2ea95402 Merge branch 'feature/2438-users-posts-total-count' into 'develop'
Feature/2438 users/instances posts total count

Closes #2438

See merge request pleroma/pleroma!3270
2021-02-03 14:21:57 +00:00
Haelwenn (lanodan) Monnier fb25231fbe
Add test for Answer presence into an authenticated /outbox 2021-02-03 12:07:18 +01:00
Ivan Tashkinov 4e14945670 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	CHANGELOG.md
#	lib/pleroma/web/activity_pub/activity_pub.ex
2021-02-03 09:31:38 +03:00
feld f1f773f2c7 Merge branch 'email-stub-in-verify-credentials' into 'develop'
Email-like field in /api/v1/accounts/verify_credentials (for PeerTube OAuth plugin and alike)

See merge request pleroma/pleroma!3286
2021-02-02 18:35:08 +00:00
feld d37d4106c6 Merge branch 'fix/majic-nits' into 'develop'
Majic: don't fix extensions

See merge request pleroma/pleroma!3287
2021-02-02 18:15:00 +00:00
Mark Felder 28d2917c3a Merge branch 'develop' into fix/majic-nits 2021-02-02 12:01:48 -06:00
feld d289ad8579 Merge branch 'develop' into 'fix/2411-mutes-api'
# Conflicts:
#   CHANGELOG.md
#   docs/development/API/differences_in_mastoapi_responses.md
2021-02-02 17:57:58 +00:00
feld cd5ff7a943 Merge branch 'develop' into 'feature/2164-unify-api-arguments'
# Conflicts:
#   CHANGELOG.md
2021-02-02 17:11:38 +00:00
Alexander Strizhakov aacd1c90b7
fix for test warnings 2021-02-01 19:33:40 +03:00
Alexander Strizhakov 0dc68c157f
fix for scheduled post with poll 2021-02-01 18:22:26 +03:00
Alexander Strizhakov fdf1dfed56
only_remote -> remote renaming 2021-02-01 14:11:12 +03:00
Alexander Strizhakov 77f0a0af7d
more tests and update for docs and changelog 2021-02-01 14:11:12 +03:00
Alexander Strizhakov 2cb6dc5a3a
list timeline filtration by params 2021-02-01 14:11:12 +03:00
Alexander Strizhakov b6a72680e2
added only_media flag to home timeline 2021-02-01 14:11:11 +03:00
Alexander Strizhakov c3110c46f3
expanding filtration for home timeline
added local & remote statuses filtration for home timeline
2021-02-01 14:11:11 +03:00
Ivan Tashkinov cf4765af40 [#3213] ActivityPub: fixed subquery-based hashtags filtering implementation (addressed empty list options issue). Added regression test. 2021-01-31 23:06:38 +03:00
Ivan Tashkinov 1b49b8efe5 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	CHANGELOG.md
2021-01-31 20:38:58 +03:00
Ivan Tashkinov 6fd4163ab6 [#3213] ActivityPub: implemented subqueries-based hashtags filtering, removed aggregation-based hashtags filtering. 2021-01-31 20:37:33 +03:00
Alexander Strizhakov c369d2b930
support for with_relationships parameter
in /api/v1/mutes and /api/v1/accounts/:id endpoints
2021-01-29 08:41:21 +03:00
Ivan Tashkinov 380d0cce6b [#3213] Reinstated DISTINCT clause for hashtag "any" filtering with 2+ terms. Added test. 2021-01-29 00:17:33 +03:00
Mark Felder 5fcab23aa3 Improve error message for ConfigDB 2021-01-28 14:59:23 -06:00
Mark Felder 9272cef500 Switch to a build of Majic that does not try to fix extensions by default 2021-01-28 14:03:29 -06:00
Egor Kislitsyn a51d903e0c
Make sure active_user_count/1 counts only local users 2021-01-28 22:23:10 +04:00
Ivan Tashkinov 60b4654038 Email-like field in /api/v1/accounts/verify_credentials response (for OAuth plugins like Peertube).
Addresses https://git.pleroma.social/pleroma/pleroma-support/-/issues/56.
2021-01-28 19:49:43 +03:00
Egor Kislitsyn bddb01bded
Add tests 2021-01-27 18:20:07 +04:00
Egor Kislitsyn 793fc77b16
Add active user count 2021-01-27 18:20:06 +04:00