Commit graph

907 commits

Author SHA1 Message Date
Michael deccea0228 More functions moved to content class 2022-10-27 05:44:44 +00:00
Michael c65fff6f93 Some more improvements for posts with shares 2022-10-26 17:00:55 +00:00
Michael f54a886a5e The "share" handling is improved 2022-10-25 06:37:23 +00:00
Roland Häder 26e0469de7
Merge branch 'develop' into rewrite/gravity-constants 2022-10-18 16:34:40 +02:00
Michael 62a0d55fc8 The friendica constants have been moved to the app class 2022-10-17 10:37:48 +00:00
Michael 018858934b The priority is now a class constant 2022-10-17 05:49:55 +00:00
Michael f8f0dfa91a Detect linked posts and add them as quote 2022-10-16 21:37:05 +00:00
Michael 8e1af9277a Improve quite generation 2022-10-15 13:00:52 +00:00
Roland Häder da66730e4f
Rewrite:
- moved constants GRAVITY_* from boot.php to Friendica\Model\Item
- also rewrote some array initialization:

From:
````
<?php
$arr = [];
$arr['foo'] = "FOO";
````

To:
````
<?php
$arr['foo'] = "FOO";
````
- added a few type-hints
2022-10-15 00:44:06 +02:00
Michael aeb4645ba6 New field "quote-uri-id" for quoted posts 2022-10-10 22:39:30 +00:00
Michael 0d3aa681b4 The quote functionality is simplified 2022-10-09 21:16:36 +00:00
Michael 48182a95fb Improve quote share ("message_id" added) 2022-10-06 21:50:20 +00:00
Michael bde7283b04 Fix: Undefined array key "object_object_type" 2022-10-03 20:01:28 +00:00
Michael 0de458e134 Case changed 2022-10-02 04:51:00 +00:00
Michael 6fb5e13b08 Add ♲ symbol 2022-10-01 22:36:02 +00:00
Michael 8eb4ab2a33 Added comment for the deactivated part 2022-09-30 07:17:07 +00:00
Michael d43b85e94b Don't transmit the shared attachments 2022-09-30 07:10:43 +00:00
Michael 59004711ec Support for transmitting quoted posts 2022-09-29 22:29:15 +00:00
Michael a653c6350d Support for quoted links is added 2022-09-29 16:04:33 +00:00
Michael 9587787089 Add uri as well 2022-09-29 14:13:39 +00:00
Michael 6140f850e1 Detect the thread parent id if it is missing 2022-09-29 13:48:10 +00:00
Michael ff80a25966 Additional checks for non follower content 2022-09-29 12:45:47 +00:00
Michael b10496f4e9 Changed log level 2022-09-28 16:45:18 +00:00
Michael d821afb418 Added logging of unexpected follow messages 2022-09-28 16:32:17 +00:00
Michael 4939be065e Merge remote-tracking branch 'upstream/2022.09-rc' into cooldown 2022-09-22 04:31:50 +00:00
Hypolite Petovan 6a9d91c824
Merge pull request #11902 from annando/duplicates
Detect and remove contact duplicates
2022-09-21 21:23:37 -04:00
Michael Vogel 0fa281247d More cooldown calls for worker processes 2022-09-21 21:03:07 +02:00
Michael Vogel 6ee8a966bf Fix forum delivery in case of beiong addressed via "@" 2022-09-21 10:54:05 +02:00
Michael 36668dfdb1 Merge remote-tracking branch 'upstream/2022.09-rc' into duplicates 2022-09-21 03:46:25 +00:00
Michael Vogel f08b08e0d8 Allow to reject specific languages on receiving posts via the relay 2022-09-19 12:36:12 +02:00
Michael 79b64cc44f Detect and remove contact duplicates 2022-09-16 05:00:06 +00:00
Michael a0b99f61ea Use the cached activity function 2022-09-07 19:46:24 +00:00
Michael da658cbf1d Delete the cache entry when the post is changed or deleted 2022-09-06 21:51:47 +00:00
Michael 7c9f10e58f Merge remote-tracking branch 'upstream/2022.09-rc' into pagecache 2022-09-06 17:36:42 +00:00
Michael 2a4c6d44bb Don't transmit empty conversations 2022-09-06 15:18:41 +00:00
Michael f0d151932e Issue 11890: Don't use empty contexts 2022-09-06 14:08:25 +00:00
Michael 6eb9dff807 Pagecache for frequently fetched pages 2022-09-06 06:04:41 +00:00
Michael f22a4ba6f5 Be more tolerant when receiving messages 2022-09-04 07:39:09 +00:00
Michael f7be610629 Fix logger warmings/errors 2022-09-03 13:32:41 +00:00
Michael 3e28d62bdb Fix receiving of reshared posts 2022-08-31 21:18:33 +00:00
Michael f7b85092b0 Some more changed log levels 2022-08-31 05:01:22 +00:00
Michael 757a5c2de9 Loglevels are adjusted 2022-08-30 19:45:30 +00:00
Michael 2173fb38e0 Issue 11853/11867: Fix reshare of public posts 2022-08-27 21:22:49 +00:00
Michael ceb88c10e6 Warnings/Errors reduced - improved relay processing 2022-08-27 08:08:58 +00:00
Michael 15d975f143 Avoid some database errors 2022-08-25 04:57:41 +00:00
Michael bb52e5a804 Cascade on author deletion 2022-08-16 04:18:29 +00:00
Michael 5b3145d7ce Several performance improvements 2022-08-15 13:23:01 +00:00
Philipp a145712f04
Merge pull request #11837 from MrPetovan/task/remove-poke
Remove poke feature
2022-08-11 18:17:11 +02:00
Michael e2896b449b Changes after code review 2022-08-10 13:43:00 +00:00
Michael d9aee0b3ea Conversation entries will now be stored asynchronous if possible 2022-08-10 09:28:18 +00:00
Hypolite Petovan 4a885a13a6 Remove poke feature 2022-08-09 14:55:55 -04:00
Michael 548b7f43a5 Improve SQL-Queries / fixed "fetch_parents" setting 2022-08-08 20:00:21 +00:00
Michael d60d2caef6 Improved queue processing 2022-08-07 19:24:50 +00:00
Michael 22c1873064 Merge remote-tracking branch 'upstream/develop' into loop-prevention 2022-08-06 17:11:04 +00:00
Michael 87a945b295 More prevention of double processing of the same content 2022-08-06 17:06:55 +00:00
Hypolite Petovan bd246b8cc2
Merge pull request #11817 from annando/double-processing
Avoid processing the same activity
2022-08-05 09:04:33 -04:00
Michael 8b698b183d Abort when public item cannot be inserted 2022-08-05 05:48:20 +00:00
Michael 8227367522 Remove test code, add documentation 2022-08-05 04:45:31 +00:00
Michael f222e9d278 Avoid to provess the same activity 2022-08-04 21:52:10 +00:00
Hypolite Petovan 2e00797ebc
Merge pull request #11816 from annando/fetch-parents
New option to disable the fetching of parents
2022-08-04 16:00:00 -04:00
Michael 06f7244280 New option to disable the fetching of parents 2022-08-04 19:32:36 +00:00
Roland Häder 8105668caf
Added missing 'private' field, see Processor::processContent() where it is needed 2022-08-04 10:50:44 +02:00
Michael e82ef8890b Only process entries for existing posts 2022-08-03 05:14:07 +00:00
Michael 3463e34693 Don't always fetch parent posts 2022-08-03 04:51:57 +00:00
Michael 23ef4a99bb Changes after code review 2022-08-03 04:31:56 +00:00
Michael f2eec66240 Hopefully fixes loops during message processing 2022-08-03 03:38:03 +00:00
Michael c8d1bf4cdf Code standards and updated database documentation 2022-08-01 07:06:30 +00:00
Michael 81b244f91e Option to activate or deactivate the background fetching 2022-08-01 06:59:20 +00:00
Michael f7ec8d5b8e Improved log message 2022-08-01 05:59:59 +00:00
Michael 7d5b4808cd Merge branch 'fetch' into fetch-cache 2022-08-01 05:57:59 +00:00
Michael 4be6e9a27d Cache if an activity has recently been fetched 2022-08-01 05:56:55 +00:00
Michael 6c7dfd6958 New table to control the fetching process 2022-08-01 04:48:49 +00:00
Michael 06a124338a Only store the inbox-queue on activated background processing 2022-07-31 08:10:47 +00:00
Michael 8b4bf890f8 Issue 11798: Handling of empty author 2022-07-30 05:30:08 +00:00
Michael f6d11e8401 Issue 11800: Remove entry from queue in any case. 2022-07-30 04:43:18 +00:00
Michael 6383b07022 Don't add zero as receiver 2022-07-29 22:56:53 +00:00
Michael 699152e15e Add more post reasons 2022-07-29 21:28:22 +00:00
Michael 81aaacc67d Improvements for the "post-reason" 2022-07-29 14:17:53 +00:00
Michael b63ad63c29 Config for receiver / fix fatals 2022-07-28 21:16:42 +00:00
Michael f0499e7269 Use negative caching 2022-07-28 20:25:38 +00:00
Michael d12c9a8f58 Caching for fetched activities 2022-07-28 19:05:04 +00:00
Michael a27274b3b4 Avoid loops at deletion / decoupling for relay posts 2022-07-28 05:29:47 +00:00
Michael 3c71392f9e Avoid endless loop while deleting 2022-07-27 21:57:05 +00:00
Michael 505191dec5 Decouple the processor from the receiver 2022-07-27 20:59:42 +00:00
Michael 3af55de978 Issue 11776 - process replies via a worker task 2022-07-27 20:03:28 +00:00
Michael 86105635ca Improved message handling / new activity relay handling 2022-07-27 17:39:00 +00:00
Michael b546173747 IMproved handling of untrusted posts 2022-07-24 21:58:09 +00:00
Michael 5ab94ea921 Option to store untrusted entries 2022-07-24 19:31:31 +00:00
Michael 51cc1f679f Added trust / isActivityGone 2022-07-24 14:26:06 +00:00
Michael 55b6a89c7c Optimizing 2022-07-24 13:49:57 +00:00
Michael 6abb4d40d6 Handle changed parents 2022-07-24 13:09:35 +00:00
Michael 06280aa5a3 Recursively delete failed worker tasks 2022-07-24 09:26:52 +00:00
Michael 073695b33c Funkwhale context file moved 2022-07-23 23:10:47 +00:00
Michael 6a19639ac2 Standards 2022-07-23 14:10:07 +00:00
Michael 5d6eb4670a We now store the conversation as well 2022-07-23 13:58:14 +00:00
Michael 8c602071c2 Bookwyrm posts now work 2022-07-23 12:50:15 +00:00
Michael 7eb410bed7 Conversation/context is now stored 2022-07-23 06:52:43 +00:00
Michael 54cebf5a88 Remove test code 2022-07-21 12:42:26 +00:00
Michael 4c5e9f206e Remove ignored undo 2022-07-21 11:47:23 +00:00
Michael 99f7270e18 Improved workerqueue handling 2022-07-21 08:55:45 +00:00
Michael 4930e77eb3 We are now setting the corresponding worker id 2022-07-21 07:05:38 +00:00
Michael 28fb022425 Reset the recursion depth at a different place 2022-07-21 06:26:31 +00:00
Michael c775833117 Use deferred tasks 2022-07-21 06:23:55 +00:00
Michael d4a536137d database.sql updated, standards fixed 2022-07-21 05:42:53 +00:00
Michael 4a1fb1da12 Hourly process pending queue entries 2022-07-21 05:33:01 +00:00
Michael 1d13574225 Fetching of missing posts is reworked 2022-07-21 05:16:14 +00:00
Michael 7dcd02938d Remove entries from queue / relay detection 2022-07-20 05:37:40 +00:00
Michael ce38e63399 Add and delete entries 2022-07-18 14:03:49 +00:00
Michael 2f462ffa16 Store incoming posts in a queue 2022-07-18 03:31:00 +00:00
Michael 2ddf37f32d Emergency fixes to fix a bunch of fatal errors 2022-07-17 11:47:12 +00:00
Hypolite Petovan eb8237dd89 Remove unused uid parameter in Item::newURI 2022-07-09 07:39:51 -04:00
Roland Häder bf809c9d57
Fixed:
> TypeError: "Argument 2 passed to Friendica\Protocol\ActivityPub\Transmitter::sendContactReject()
> must be of the type int, string given

I followed here here the documentation, may fix #11708
2022-07-06 05:43:00 +02:00
Hypolite Petovan 181c142bb4 Remove overly strict type-hint in ActivityPub\Transmission::createCachedActivityFromItem
- Fix "Return value of Friendica\Protocol\ActivityPub\Transmitter::createCachedActivityFromItem() must be of the type array, bool returned" error
2022-07-02 22:16:59 -04:00
Hypolite Petovan da32fa8fa6 Create ActivityPub\FetchQueue and ActivityPub\FetchQueueItem classes
- These classes are used to flatten the recursive missing activity fetch that can hit PHP's maximum function nesting limit
- The original caller is responsible for processing the remaining queue once the original activity has been fetched
2022-06-25 12:40:54 -04:00
Roland Häder 88870d18be
Changes:
- added some type-hints
- added documentation
2022-06-25 16:48:36 +02:00
Roland Häder b0693c1ad7
Reformatted array 2022-06-25 16:48:35 +02:00
Roland Häder fd8f4269ff
Reformatted code 2022-06-23 17:30:17 +02:00
Roland Häder 0ddb315b23
$id in Transmitter::sendContactAccept() is a string, see Introduction class 2022-06-23 16:48:00 +02:00
Roland Häder 95f9eb34ac
Fixed indenting 2022-06-21 01:29:33 +02:00
Roland Häder fbae0b8bcf
Changes:
- renamed ItemArrayFromMail() to getItemArrayFromMail() to follow naming-convetion
- added missing type-hints
- added missing documentation
2022-06-20 21:22:46 +02:00
Roland Häder ea22e88896
Added documentation 2022-06-20 21:02:34 +02:00
Roland Häder 752953e472
Changes:
- as @MrPetovan pointed out, $actor can be NULL earlier and used later as NULL
- added some missing type-hints
- added missing documentation
- the added @TODO points out to avoid true|false|null for a boolean
2022-06-20 21:00:19 +02:00
Roland Häder 4fb03cf163
Changes:
- fixed a null value handled over to Friendica\Model\APContact::getByURL()
- added missing type-hints
2022-06-20 19:05:02 +02:00
Roland Häder 41f34c4261
Maybe fix for:
"Argument 1 passed to Friendica\Model\ItemURI::getIdByURI() must be of the type string, null given, called in Processor.php line 1219"
2022-06-18 18:30:50 +02:00
Roland Häder 0c9aff8a09 Also need to declare $profile or otherwise an invocation of
Receiver::getReceiverForActor() will fail.
2022-06-17 17:18:31 +02:00
Roland Häder 5c9ce790bf Fixed:
- $object_data['actor'] can be null, but Receiver::getReceivers()'s 2nd
  parameter expect it to be string
2022-06-17 17:18:31 +02:00
Roland Häder c351099c5a Ops, bad type-hint here 2022-06-17 17:18:31 +02:00
Roland Häder c2e889cfae Added more type-hints 2022-06-17 17:18:31 +02:00
Roland Häder 51a7b5c584
Made also this one sweeter (null-coalscing) 2022-06-16 17:36:47 +02:00
Roland Häder e8fee5644b
Ops, syntax errors get unnoticed with a simple editor. :-( 2022-06-16 17:10:02 +02:00
Roland Häder 624e4c192c
Changed to null-coalscing style (??) as sugguested by @MrPetovan 2022-06-16 16:59:54 +02:00
Roland Häder 7814ba4fc4
Fixes for bad invocations of HTML::toBBCode() (1st parameter is now string) 2022-06-16 16:54:50 +02:00
Roland Häder b200874f17
Ops:
- wrong way around (!empty($foo)) is proper
- also needed to be checked on $acitivty['content']
2022-06-16 16:54:50 +02:00
Roland Häder b1e4c0931a
Fixes and type-hints:
- added more checked type-hints as they prevent bad method invocations
- fixed TypeError for HTML::toBBCode() invocations with NULL as first (wrong)
  argument, thanks to @tobias@social.diekershoff.de pointing this out.
2022-06-16 16:54:49 +02:00
Michael d7d8a6ab55 Issue 11625: Don't parse the title through Markdown 2022-06-11 06:50:59 +00:00
Michael cc6192df02 Issue 10926: Transmit pending events to accepted contacts 2022-05-30 20:52:43 +00:00
Michael 74b102b948 Increase the delivery queue counter on drop 2022-05-24 17:28:35 +00:00
Michael 034d838248 Ignore delivery problems with drops 2022-05-24 12:27:35 +00:00
Michael 8969e83134 Use a better query to fetch the relay actor 2022-05-24 08:06:48 +00:00
Michael e68ff3b3bb Return the actor, not the array 2022-05-24 08:02:55 +00:00
Michael b1a2de5cb5 Resubscribe to relay servers 2022-05-24 07:02:42 +00:00
Michael 6ce23bd9ca Fixed code structure 2022-05-20 04:42:10 +00:00
Michael dc16e6d471 The worker is split into several classes 2022-05-19 19:24:21 +00:00
Michael c3fd8b39aa Caching for profiles removed 2022-05-17 12:53:31 +00:00
Michael 4e3e9dc763 Cache the profile as well 2022-05-17 12:46:55 +00:00
Michael 73019284ce Increase cache lifespan / clear cache upon changes 2022-05-17 12:32:25 +00:00
Michael 610f8a086f Use cache key constants 2022-05-17 08:17:41 +00:00
Michael 1ccf22a496 AP endpoints are now cached 2022-05-17 04:58:54 +00:00
Michael 324cce7a19 Issue 11472: Store the "edit" history 2022-05-15 20:21:56 +00:00
Michael 5af7c30026 Issue 11508: Sanitizing date fields for events and polls 2022-05-15 18:00:19 +00:00
Michael 47cd1edb9f Change the featured collection to fix communication issues with Pleroma 2022-05-13 03:42:04 +00:00
Michael 632a98965c Fetch contact via uri-id to improve performance 2022-05-03 08:19:35 +00:00
Michael 060597f619 Store the tag type for the post targets 2022-04-23 11:39:19 +00:00
Michael eb1f38df22 Issue 11427: id values of OrderedCollections have to contain the page number 2022-04-21 04:29:08 +00:00
Michael 834844573b We can now store incoming questions 2022-04-20 06:28:02 +00:00
Michael eaa8163201 Preparation for storing incoming polls 2022-04-15 09:11:50 +00:00
Michael 0d8cf06e4a Experimental feature to enter a custom creation date 2022-04-13 05:31:32 +00:00
Michael 62367923e0 Fix several notices 2022-04-11 18:57:30 +00:00
Michael d15023fe4b Unified JSON exit 2022-04-09 11:58:01 +00:00
Michael d7df0825db We now offer an endpoint for featured posts 2022-04-08 21:25:31 +00:00
Michael 69b7923df2 Use centralized function to fetch query results 2022-04-08 06:04:50 +00:00
Michael 2764859350 Remove unfeatured posts from collection 2022-04-08 04:49:23 +00:00
Michael 75bc4eccb7 Display featured posts for contacts 2022-04-07 21:52:25 +00:00
Michael a1dd299eb3 Preparations for "featured" posts 2022-04-06 13:34:11 +00:00
Michael e6ea015cb4 "Person" is "Account" 2022-04-05 20:06:04 +00:00
Michael c0b3c527d6 Added processing of incoming block notices 2022-04-05 19:14:29 +00:00
Michael dcbca0c6a3 Store "View" activity from Peertube 2022-04-05 07:48:38 +00:00
Michael a5a5a4b603 Cleaned code 2022-04-05 05:53:17 +00:00
Michael 61abc6377d Preparation for "Featured" collection added 2022-04-04 23:07:44 +00:00
Michael e6caed7b5f Merge remote-tracking branch 'upstream/develop' into new-acitivities 2022-04-04 16:05:02 +00:00
Michael aa2a32d16f Store the "EmojiReact" activity 2022-04-04 16:03:53 +00:00
Hypolite Petovan eceaf782cc
Merge pull request #11385 from annando/ap-receiver-unhandled
Added handling of some previously unhandled activities
2022-04-04 10:59:35 -04:00
Michael 1475f53e21 Merge branch 'ap-receiver-unhandled' of github.com:annando/friendica into ap-receiver-unhandled 2022-04-03 07:45:19 +00:00
Michael 39a1745361 Prevent the warning of an Undefined array key "object_object_type" 2022-04-03 07:45:15 +00:00
Michael 029daef997 Only use and accept valid http links as links to an external resource 2022-04-03 07:21:36 +00:00
Michael Vogel 5fe75ed50d
Update src/Protocol/ActivityPub/Receiver.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2022-04-02 23:04:44 +02:00
Michael 1db3143dc5 added empty object type 2022-04-01 21:27:40 +00:00
Michael 71afbabbd8 Added handling of some previously unhandled activities 2022-04-01 11:20:17 +00:00
Michael 212eba327b Improve the compatibility with Lemmy 2022-03-24 10:57:55 +00:00
Michael 53ba68e222 Remove "blubb" 2022-03-22 12:31:14 +00:00
Michael 45199b498d Prevent further processing of incoming posts when thay are rejected 2022-03-22 12:28:47 +00:00
Hypolite Petovan 9eb6299f19 Check array key existence in ActivityPub\Transmitter::createPermissionBlockForItem
- APContact::getByURL can return empty array
- Address https://github.com/friendica/friendica/issues/11218#issuecomment-1066753232
2022-03-19 03:15:08 -04:00
Michael 0aa229489f Improved function description 2022-03-18 07:24:45 -04:00
Michael 0956d1dd64 Don't send forum posts to the user's followers 2022-03-14 06:07:51 +00:00
Michael 2642996171 Send community posts only to the community 2022-03-13 19:31:21 +00:00
Michael 314bf92ead Added Documentation 2022-03-12 17:29:46 +00:00
Michael 8c778ca02e Improved completion check for AP 2022-03-12 11:17:33 +00:00
Michael c1bb1cf0fc Improved logging 2022-03-12 07:34:30 +00:00
Michael 5eb647585d Issue 11315: Fix for all receivers in "to" 2022-03-11 20:39:03 +00:00
Michael f264923cad Issue 11309: Check if a post is wanted 2022-03-11 14:00:05 +00:00
Michael e0468ac914 API: Improve support for the summary field 2022-03-08 18:32:09 +00:00
Michael 59630a2c82 Improve the name of the "followers" receiver 2022-02-23 20:18:37 +00:00
Michael 00f39cd308 Reverted change 2022-02-19 20:32:19 +00:00
Michael 22952f88ca SImplify code 2022-02-19 19:45:27 +00:00
Michael c867581530 Store the receivers of a post in the tags 2022-02-19 13:31:49 +00:00
Hypolite Petovan c03ff7833b
Merge pull request #11253 from annando/forum3
More rework to make private communities working
2022-02-18 12:19:57 -05:00
Hypolite Petovan c376081d0d Relax comparison with pconfig system.accept_only_sharer value
- DI::pConfig()->get returns a string value, not an integer
- Removed superfluous default values now that we aren't doing strict type checking
2022-02-18 09:32:30 -05:00
Michael 51fb265621 Merge remote-tracking branch 'upstream/develop' into forum3 2022-02-17 07:11:50 +00:00
Michael 9ac24a0f36 More rework to make private communities working 2022-02-16 22:56:55 +00:00
Hypolite Petovan 99979019bf Expand system.accept_only_sharer pconfig value to include previous behavior with likes 2022-02-15 15:54:36 -05:00