Commit Graph

1836 Commits (35cad9793d97a732b88b713971e5ce6679d49d93)

Author SHA1 Message Date
lain b2ba70eec4 Merge branch 'bugfix/mrf-reject-logging' into 'develop'
4 years ago
Ivan Tashkinov 6f5f7af607 [#1973] Fixed accounts rendering in GET /api/v1/pleroma/chats with truish :restrict_unauthenticated.
4 years ago
Alex Gleason afa8b469ed
Allow restricting public timeline by instance
4 years ago
rinpatch 0fe36b311c Merge branch 'features/mrf-reasons' into 'develop'
4 years ago
Haelwenn (lanodan) Monnier e4beff90f5
Create Question: Add context field to create
4 years ago
Haelwenn (lanodan) Monnier bfe2dafd39
{Answer,Question}Validator: Keep both actor and attributedTo for now but sync them
4 years ago
Haelwenn (lanodan) Monnier c19bdc811e
Fix attachments in polls
4 years ago
Haelwenn (lanodan) Monnier d713930ea7
Fixup for EctoType module move
4 years ago
Haelwenn (lanodan) Monnier 435a65b976
QuestionValidator: Use AttachmentValidator
4 years ago
Haelwenn (lanodan) Monnier fe6924d00d
CreateGenericValidator: add expires_at
4 years ago
Haelwenn (lanodan) Monnier 82895a4012
SideEffects: port ones from ActivityPub.do_create and ActivityPub.insert
4 years ago
Haelwenn (lanodan) Monnier 4f70fd4105
question_validator: remove conversation field
4 years ago
Haelwenn (lanodan) Monnier 173f69c854
question_validator: fix for mastodon poll expiration
4 years ago
Haelwenn (lanodan) Monnier 47ba796f41
create_question_validator: remove validate_recipients_match
4 years ago
Haelwenn (lanodan) Monnier 10bd08ef07
transmogrifier_test: test date, anyOf and oneOf completely
4 years ago
Haelwenn (lanodan) Monnier 89a2433154
QuestionOptionsValidator: inline schema for replies
4 years ago
Haelwenn (lanodan) Monnier c5efaf6b00
AnswerValidator: Create
4 years ago
Haelwenn (lanodan) Monnier 7bcd7a9595
QuestionValidator: Create
4 years ago
Maksim Pechnikov 1dd767b8c7 Include port in host for signatures
4 years ago
feld 246f49d685 Merge branch '1916-transmogrifier-skipping-oddities-in-address-fields' into 'develop'
4 years ago
Haelwenn (lanodan) Monnier 858d9fc7e8
MRF Policies: Return a {:reject, reason} instead of {:reject, nil}
4 years ago
= b221b640a2 Transmogrifier: filtering weirdness in address fields
4 years ago
Haelwenn (lanodan) Monnier ce243b107f
Use Logger.info for {:reject, reason}
4 years ago
Haelwenn (lanodan) Monnier 2aac92e9e0
Transmogrifier.fix_in_reply_to/2: Use warn for non-fatal fail to get replied-to post
4 years ago
lain 93e494ec21 ActivityPub: Don't rename a clashing nickname with the same ap id.
4 years ago
lain b39eb6ecc5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into chat-federation-information
4 years ago
Mark Felder d23804f191 Use the Pleroma.Config alias
4 years ago
Haelwenn 68036f5a3b Merge branch 'follow-pipeline' into 'develop'
4 years ago
lain 00e54f8fe7 ActivityPub: Remove `follow` and fix issues.
4 years ago
lain 9dda8b5427 CommonAPI: Switch to pipeline for following.
4 years ago
lain 172f4aff8e Transmogrifier: Move following to the pipeline.
4 years ago
lain 7d0e2b3fdd Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into follow-pipeline
4 years ago
lain cdc153db31 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into issue/1880
4 years ago
Maksim Pechnikov e341f81785 fixed delete `Like` activity in remove user
4 years ago
lain 9ad305209a Merge branch 'bugfix/peertube-videos' into 'develop'
4 years ago
Haelwenn (lanodan) Monnier fbb9743a70
Fix getting videos from peertube
4 years ago
lain a6a12b241f FollowValidator: Add basic validation.
4 years ago
lain 208baf157a ActivityPub: Add new 'capabilities' to user.
4 years ago
Sergey Suprunenko 8277b29790
Restrict thread statuses that contain user's irreversible filters
4 years ago
Sergey Suprunenko 4a8c26654e
Restrict statuses that contain user's irreversible filters
4 years ago
lain 4a7b89e372 ChatMessageValidator: Additional validation.
4 years ago
lain 5c0bf4c472 ActivityPub: Ingest information about chat acceptance.
4 years ago
lain 26a7cc3f00 UserView: Add acceptsChatMessages field
4 years ago
rinpatch 4c044f6225 Merge branch 'fetcher-fixes' into 'develop'
4 years ago
lain bad08f34ca Credo fixes.
4 years ago
lain 61fe94d698 SideEffects: Refactor.
4 years ago
lain fedfe8f7d6 ActivityPub: Handle clashing nicknames for the same ap id
4 years ago
lain ce92e6e5ce Fetcher: Work when we can't get the OP.
4 years ago
lain 577da132da Merge branch '1031-parent-visible' into 'develop'
4 years ago
Haelwenn bf1c5e255a Merge branch 'block-handling' into 'develop'
4 years ago
lain 15a8b70318 User: Don't unfollow on block when the relevant setting is set.
4 years ago
lain c3383d4fab BlockValidator: Restore old behavior for incoming blocks.
4 years ago
lain 04abee782b AntiSpamLinkPolicy: Exempt local users.
4 years ago
lain 84f9ca1956 Blocking: Don't federate if the options is set.
4 years ago
lain 44bb7cfccd ActivityPub: Remove `block`.
4 years ago
lain e38293c8f1 Transmogrifier: Switch to pipeline for Blocks.
4 years ago
lain 89e5b2046b ObjectValidator: Basic `Block` support.
4 years ago
lain 35f6770436 StatusView: Add pleroma.parent_visible
4 years ago
lain 98af7b59e4 Merge branch 'update-validator' into 'develop'
4 years ago
Haelwenn c7d69e9256 Merge branch 'feature/1631-redesign-mrf-configuration' into 'develop'
4 years ago
lain aee815b478 ObjectValidator: Clarify type of object.
4 years ago
lain 2c603f2009 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into update-validator
4 years ago
Haelwenn (lanodan) Monnier c116b6d6d6
ActivityPubController: Update upload_media @doc
4 years ago
lain e785cd5cae ActivityPub: Remove `update` and switch to pipeline.
4 years ago
rinpatch c75ba63bef Merge branch '1865-media-only' into 'develop'
4 years ago
lain 9438f83f83 Transmogrifier: Handle `Update` with the pipeline.
4 years ago
lain 31a4d42ce0 SideEffects: Handle user updating.
4 years ago
lain 35e9282ffd HellthreadPolicy: Restrict to Notes and Articles.
4 years ago
lain 7d542450b1 Merge branch 'develop' into '1865-media-only'
4 years ago
Haelwenn (lanodan) Monnier 3d4cfc9c5f
Stop filling conversation field on incoming objects (legacy, unused)
4 years ago
lain 75670a99e4 UpdateValidator: Only allow updates from the user themselves.
4 years ago
lain abdb540d45 ObjectValidators: Add basic UpdateValidator.
4 years ago
lain d772361e62 Merge branch 'fix/1787-mogrify-args' into 'develop'
4 years ago
Alexander Strizhakov a77b0388f4
credo fix
4 years ago
Alexander Strizhakov ed189568f3
moving mrf settings from instance to separate group
4 years ago
Alexander Strizhakov 3c2cee33ad
moving custom ecto types in context folders
4 years ago
href f124f68205 Switch from gen_magic to majic, use Majic.Plug, remove Pleroma.MIME
4 years ago
lain 1eb6cedaad ActivityPub: When restricting to media posts, only show 'Creates'.
4 years ago
lain b7df7436c8 Conversations: Return last dm for conversation, not last message.
4 years ago
rinpatch 271ea5068f Merge branch '1851-favorites-pagination' into 'develop'
4 years ago
href cb7be6eef2 Remove use of atoms in MRF.UserAllowListPolicy
4 years ago
Haelwenn 4115701f71 Merge branch 'recipients-experiments' into 'develop'
4 years ago
lain e557265a03 Merge branch 'global-status-expiration' into 'develop'
4 years ago
lain 9e411372d0 ActivityPub: Don't show announces of your own objects in timeline.
4 years ago
lain 063e6b9841 StatusController: Correctly paginate favorites.
4 years ago
lain 064c4f86f3 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
Haelwenn (lanodan) Monnier fe1cb56fdc
transmogrifier: MIME.valid?/1 for mediaType
4 years ago
Egor Kislitsyn d44843e677
Restrict ActivityExpirationPolicy to Notes only
4 years ago
Egor Kislitsyn da22119c2f
Merge branch 'develop' into global-status-expiration
4 years ago
lain 3b5282bef2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain 7d66dd180a Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain 2cdaac4330 SideEffects: Move streaming of chats to after the transaction.
4 years ago
lain 0365053c8d AttachmentValidator: Check if the mime type is valid.
4 years ago
lain ca0e6e702b ChatMessageReference -> Chat.MessageReference
4 years ago
Egor Kislitsyn 167812a3f2
Fix pagination
4 years ago
Egor Kislitsyn b02df1803e
Merge remote-tracking branch 'origin/develop' into activity-pub-use-atoms-as-keys
4 years ago
lain f24d2f714f Credo fixes
4 years ago
lain a8ca030d85 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
Haelwenn d74985af23 Merge branch 'features/apc2s-pagination' into 'develop'
4 years ago
Haelwenn 54bae06b4f Create Pleroma.Maps.put_if_present(map, key, value, value_fun // &{:ok, &1})
4 years ago
lain 115d08a754 Pipeline: Add a side effects step after the transaction finishes
4 years ago
lain 65689ba9bd If Credo fixes is so good, why is there no Credo fixes 2?
4 years ago
lain f3ea6ee2c8 Credo fixes.
4 years ago
lain 0efa8aa0b9 Transmogrifier: For follows, create notifications last.
4 years ago
lain cc8a7dc205 SideEffects / ChatView: Add an unread cache.
4 years ago
Egor Kislitsyn 317e2b8d61
Use atoms as keys in `ActivityPub.fetch_*` functions options
4 years ago
lain 56dfa0e0fb Transmogrifier: Update notification after accepting.
4 years ago
lain 00748e9650 ChatMessageReferences: Change seen -> unread
4 years ago
Egor Kislitsyn c16315d055
Add OpenAPI spec for AdminAPI.ReportController
4 years ago
lain fb4ae9c720 Streamer, SideEffects: Stream out ChatMessageReferences
4 years ago
lain 7f5c5b11a5 Chats: Remove `unread` from the db, calculate from unseen messages.
4 years ago
lain aa22fce8f4 ChatMessageReference: Introduce and switch in chat controller.
4 years ago
lain 879304dcd9 Merge branch 'replies-domain-block' into 'develop'
4 years ago
lain 904295d53b Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain 805ab86933 Notifications: Make notifications save their type.
4 years ago
rinpatch 165a4b2a69 Do not include activities of invisible users unless explicitly requested
4 years ago
Alexander Strizhakov 19f468c5bc
replies filtering for blocked domains
4 years ago
Alexander Strizhakov 7e6ec778d9
exclude replies on blocked domains
4 years ago
Egor Kislitsyn a7627bdc7a
Merge remote-tracking branch 'origin/develop' into global-status-expiration
4 years ago
lain 6ff079ca9f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain 2c9465cc51 SafeText: Let through basic html.
4 years ago
Haelwenn (lanodan) Monnier a43b435c0a
AP C2S: allow limit & order on outbox & read_inbox
4 years ago
Haelwenn (lanodan) Monnier b3b367b894
Bugfix: Reuse Controller.Helper pagination for APC2S
4 years ago
lain 3898dd69a6 SideEffects: Ensure a chat is present before streaming something out.
4 years ago
lain 863c02b25d SideEffects: Stream out chat messages.
4 years ago
lain 9848978109 Merge branch 'fix-relay-repeat-notification' into 'develop'
4 years ago
lain af6d01ec93 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
kPherox 228ff3760e
Use `User.is_internal_user?` instead
4 years ago
kPherox 9df5b1e6ae
Don't make relay announce notification
4 years ago
kPherox 48fd9be65a
Exclude post actor from to of relay announce
4 years ago
rinpatch d35be02e70 Merge branch 'refactor-add-mention-step-one' into 'develop'
4 years ago
lain 7e13200869 ActivityPub: Change ordering to `nulls last` in favorites query
4 years ago
Ivan Tashkinov d7a57004ef [#1501] Made user feed contain public and unlisted activities.
4 years ago
lain 6bd7070b00 Transmogrifier: Use a simpler way to get mentions.
4 years ago
lain ee35bb5ac2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain 355aa3bdc7 ActivityPubController: Add Mastodon activity compat route.
4 years ago
lain ca755f9a73 ActivityPubController: Add Mastodon compatibility route.
4 years ago
Haelwenn 7b02bfca51 Merge branch 'announce-validator' into 'develop'
4 years ago
lain 578ed3a37f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain cdc6ba8d7b AnnounceValidator: Check for announcability
4 years ago
lain c76267afb9 Credo fixes.
4 years ago
lain 23e248694d Announcements: Fix all tests.
4 years ago
lain d9d425708e SideEffects: Builed out Announce effects.
4 years ago
lain 39031f4860 Pipeline: Don't federate if federation is disabled.
4 years ago
lain e42bc5f557 Announcements: Handle through common pipeline.
4 years ago
lain d19c716770 AttachmentValidator: Handle empty mediatypes
4 years ago
lain be4db41d71 ChatMessageValidator: Allow one message in an array, too.
4 years ago
lain 0d5bce018d AnnounceValidator: Validate for existing announce
4 years ago
lain 17a8342c1e ObjectValidators: Add basic Announce validator.
4 years ago
lain 7d381b16b7 Transmogrifier Test: Extract Announce handling.
4 years ago
lain baf051a59e SideEffects: Don't update unread count for actor in chatmessages.
4 years ago
Haelwenn (lanodan) Monnier e688d4ee69
MRF.StealEmojiPolicy: New Policy
4 years ago
lain 0f0acc740d Chat: Allow posting without content if an attachment is present.
4 years ago
lain 3cff4e24cd Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
rinpatch 24c8c13640 Merge branch '1757-blocks-breaking-on-disabled-outgoing-blocks' into 'develop'
4 years ago
lain b5aa204eb8 ChatController: Support deletion of chat messages.
4 years ago
lain ca31af473c Transmogrifier: On incoming follow accept, update follow counts.
4 years ago
lain d0ba1844b0 ActivityPub: Fix non-federating blocks.
4 years ago
lain f28ed36b4d Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain 5367a00257 Deletion: Handle the case of pruned objects.
4 years ago
lain 03529f6a05 Transmogrifier: Don't modify attachments for chats.
4 years ago
lain d0bf8cfb8f Credo fixes.
4 years ago
lain 7637ef4203 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain fbcc53760e Merge branch 'feature/emojireactvalidator' into 'develop'
4 years ago
lain 6acbe45eb2 Builder: Extract common features of likes and reactions.
4 years ago
Haelwenn 769d95644d Merge branch 'feature/restrict-c2s' into 'develop'
4 years ago
lain ef55d24054 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/emojireactvalidator
4 years ago
lain d11eea62b1 Credo fixes
4 years ago
lain fb2d284d28 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain 7ac0cffb34 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/emojireactvalidator
4 years ago
lain 788b7e7bbd Merge fixes.
4 years ago
lain f0c22df226 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/undo-validator-reduced
4 years ago
href 9491ba3e49 Streamer rework
4 years ago
lain 1748e26948 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
rinpatch 473b0d9f3d Merge branch 'feature/delete-validator' into 'develop'
4 years ago
lain fc9d0b6eec Credo fixes.
4 years ago
lain 20baa2eaf0 ChatMessages: Add attachments.
4 years ago
lain 205313e541 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain 07e7c80bc9 Merge branch 'plug-if-unless-func-options-refactoring' into 'develop'
4 years ago
lain df846eda71 Merge branch 'bugfix/sensitive_object' into 'develop'
4 years ago
lain 92caae5923 Undoing: Move undoing blocks to the pipeline everywhere.
4 years ago
lain a3bb2e5474 Undoing: Move undoing announcements to the pipeline everywhere.
4 years ago
lain b34debe615 Undoing: Move undoing reactions to the pipeline everywhere.
4 years ago
lain a3071f0231 Undoing: Move undoing likes to the pipeline everywhere.
4 years ago
lain f1da8882f9 UndoValidator: Add UndoValidator.
4 years ago
Egor Kislitsyn decaa64f75
Merge branch 'develop' into global-status-expiration
4 years ago
lain db55dc9445 ActivityPub: Remove `react_with_emoji`.
4 years ago
lain ad771546d8 Transmogrifier: Move emoji reactions to common pipeline.
4 years ago
lain f21f538293 LikeValidator: Add defaults for recipients back in.
4 years ago
lain c297667f16 Merge branch 'fix/issue-1729' into 'develop'
4 years ago
lain 2cb3f8a8cf Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/delete-validator
4 years ago
lain 6400998820 AP C2S: Restrict creation to `Note`s for now.
4 years ago
Haelwenn (lanodan) Monnier bf0e41f0da
Transmogrifier.set_sensitive/1: Keep sensitive set to true
4 years ago
lain c23cb8d37a Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain 3559dd1085 Transmogrifier: Rely on LikeValidator.
4 years ago
lain 0f9bed022f LikeValidator: Fix up context.
4 years ago
lain e03c301ebe LikeValidator: Fix up missing recipients.
4 years ago
lain 13ab8defc0 Pipeline: Move transctioning to common pipeline.
4 years ago
lain ec24c70db8 ActivityPub: Don't fetch `Application` follower counts.
4 years ago
lain c40afe5ba0 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain 9249742f13 Types.Recipients: Simplify reducer.
4 years ago
lain a35b76431c Credo fixes.
4 years ago
lain 1974d0cc42 DeleteValidator: The deleted activity id is an object id
4 years ago
lain 6fb96f64c1 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/delete-validator
4 years ago
lain 4dfc617cdf Transmogrifier: Don't fetch actor that's guaranteed to be there.
4 years ago
Lain Soykaf f20a1a27ef DeleteValidator: Improve code readability
4 years ago
Mark Felder 370e313e2d Only update follower/following stats for actor types of users and bots.
4 years ago
Ivan Tashkinov 2d07ed7747 [#1732] Made AP C2S :followers and :following endpoints serve on no auth
4 years ago
lain 44fbd09709 Merge branch 'issue/1577' into 'develop'
4 years ago
lain 5f42e6629d DeleteValidator: Only allow deletion of certain types.
4 years ago
lain 32b8386ede DeleteValidator: Don't federate local deletions of remote objects.
4 years ago
lain 999d639873 ActivityPub: Remove `delete` function.
4 years ago
lain 5da08c2b73 SideEffects: Fix comment
4 years ago
lain 500f5ec14e SideEffects: On deletion, reduce the reply count cache
4 years ago
lain 60db58a1c6 Credo fixes.
4 years ago
lain ab60ee1776 SideEffects: On deletion, reduce the User note count.
4 years ago
lain c832d96fc9 SideEffects: Stream out deletes.
4 years ago
lain 4500fdc04c DeleteValidator: Add internal helper field after validation.
4 years ago
Ivan Tashkinov 2c4844237f Refactoring of :if_func / :unless_func plug options (general availability). Added tests for Pleroma.Web.Plug.
4 years ago
lain 14c6672193 AP C2S: Use common pipelin for deletes.
4 years ago
lain fdd8e7f276 CommonAPI: Use common pipeline for deletions.
4 years ago
lain 417eed4a2b SideEffects: Handle deletions.
4 years ago
lain 1fb383f368 DeleteValidator: Deleting a user is valid.
4 years ago
lain 4dc5302f45 Transmogrifier: Handle incoming deletes for non-user objects.
4 years ago
lain db184a8eb4 DeleteValidator: Mastodon sends unaddressed deletes.
4 years ago
lain 42ce7c5164 ObjectValidator: Add actor fetcher.
4 years ago
lain 64bb72f98a Typo fix.
4 years ago
lain 589ce1e96b Apply suggestion to lib/pleroma/web/activity_pub/transmogrifier.ex
4 years ago
lain 503de4b8df ObjectValidator: Add validation for `Delete`s.
4 years ago
lain 78c864cbee LikeValidator: Use Recipients Type.
4 years ago
lain b8056e69e0 Object Validator Types: Add Recipients.
4 years ago
lain 20587aa931 Chat message creation: Check actor.
4 years ago
lain a88734a0a2 Transmogrifier: Fetch missing actors for chatmessages.
4 years ago
lain 53e3063bd0 Transmogrifier: Remove ChatMessageHandling module.
4 years ago
lain e055b8d203 Pipeline: Always run common_pipeline in a transaction for now.
4 years ago
lain dedffd100c Pipeline: Unify, refactor, DRY.
4 years ago
lain abd0928229 CreateChatMessageValidator: Validate object existence
4 years ago
lain 6aa116eca7 Create activity handling: Flip it and reverse it
4 years ago
lain b5dc59c8fa Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
lain f8e56d4271 SideEffects: Use Object.normalize to get the object.
4 years ago
lain 906cf53ab9 Recipient Type: Cast all elements as ObjectIDs.
4 years ago
Egor Kislitsyn 764b4f95a8
Merge branch 'develop' into global-status-expiration
4 years ago
Maksim Pechnikov ea5142b94b convert markdown content to html
4 years ago
Egor Kislitsyn f1ca917bb0
Merge branch 'develop' into openapi/account
4 years ago
lain c86143ed73 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
4 years ago
rinpatch 8addbd948c Merge branch 'bugfix/announce-race-condition' into 'develop'
4 years ago
lain d89cd0a197 Reply Filtering: Refactor.
4 years ago
Egor Kislitsyn c56c0a3d23
Merge branch 'develop' into global-status-expiration
4 years ago
Alexander 6e625a427c
reply filtering
4 years ago
lain cb12585098 Announcements: Prevent race condition.
4 years ago