Merge pull request #12816 from annando/view

Config option to process the "view" activity
This commit is contained in:
Hypolite Petovan 2023-02-20 07:54:29 -05:00 committed by GitHub
commit 711135a85b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 55 additions and 11 deletions

View file

@ -1,6 +1,6 @@
-- ------------------------------------------ -- ------------------------------------------
-- Friendica 2023.03-dev (Giant Rhubarb) -- Friendica 2023.03-dev (Giant Rhubarb)
-- DB_UPDATE_VERSION 1514 -- DB_UPDATE_VERSION 1515
-- ------------------------------------------ -- ------------------------------------------

25
doc/database/db_config.md Normal file
View file

@ -0,0 +1,25 @@
Table config
===========
main configuration storage
Fields
------
| Field | Description | Type | Null | Key | Default | Extra |
| ----- | ------------------------- | ------------- | ---- | --- | ------- | -------------- |
| id | | int unsigned | NO | PRI | NULL | auto_increment |
| cat | The category of the entry | varbinary(50) | NO | | | |
| k | The key of the entry | varbinary(50) | NO | | | |
| v | | mediumtext | YES | | NULL | |
Indexes
------------
| Name | Fields |
| ------- | -------------- |
| PRIMARY | id |
| cat_k | UNIQUE, cat, k |
Return to [database documentation](help/database)

View file

@ -169,7 +169,21 @@ final class Activity
* @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-read * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-read
* @var string * @var string
*/ */
const READ = ActivityNamespace::ACTIVITY2 . 'read'; const READ = ActivityNamespace::ACTIVITY2 . 'Read';
/**
* Indicates that the actor has listened to the object.
*
* @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-listen
* @var string
*/
const LISTEN = ActivityNamespace::ACTIVITY2 . 'Listen';
/**
* Indicates that the actor has viewed the object.
*
* @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-view
* @var string
*/
const VIEW = ActivityNamespace::ACTIVITY2 . 'View';
const O_UNFOLLOW = ActivityNamespace::OSTATUS . '/unfollow'; const O_UNFOLLOW = ActivityNamespace::OSTATUS . '/unfollow';
const O_UNFAVOURITE = ActivityNamespace::OSTATUS . '/unfavorite'; const O_UNFAVOURITE = ActivityNamespace::OSTATUS . '/unfavorite';
@ -181,13 +195,6 @@ final class Activity
*/ */
const EMOJIREACT = ActivityNamespace::LITEPUB . '/emojireact'; const EMOJIREACT = ActivityNamespace::LITEPUB . '/emojireact';
/**
* View notification from Peertube
*
* @var string
*/
const VIEW = ActivityNamespace::PEERTUBE . '/view';
/** /**
* likes (etc.) can apply to other things besides posts. Check if they are post children, * likes (etc.) can apply to other things besides posts. Check if they are post children,
* in which case we handle them specially * in which case we handle them specially

View file

@ -559,7 +559,7 @@ class Receiver
return true; return true;
} }
if ($type == 'as:View') { if (!DI::config()->get('system', 'process_view') && ($type == 'as:View')) {
Logger::info('View activities are ignored.', ['signer' => $signer, 'http_signer' => $http_signer]); Logger::info('View activities are ignored.', ['signer' => $signer, 'http_signer' => $http_signer]);
return true; return true;
} }

View file

@ -55,7 +55,7 @@
use Friendica\Database\DBA; use Friendica\Database\DBA;
if (!defined('DB_UPDATE_VERSION')) { if (!defined('DB_UPDATE_VERSION')) {
define('DB_UPDATE_VERSION', 1514); define('DB_UPDATE_VERSION', 1515);
} }
return [ return [

View file

@ -503,6 +503,10 @@ return [
// Sets the ImageMagick compression level for PNG images. Values range from 0 (uncompressed) to 9 (most compressed). // Sets the ImageMagick compression level for PNG images. Values range from 0 (uncompressed) to 9 (most compressed).
'png_quality' => 8, 'png_quality' => 8,
// process_view (Boolean)
// Process the "View" activity that is used by Peertube. View activities are displayed, when "emoji_activities" are enabled.
'process_view' => false,
// profiler (Boolean) // profiler (Boolean)
// Enable internal timings to help optimize code. Needed for "rendertime" addon. // Enable internal timings to help optimize code. Needed for "rendertime" addon.
'profiler' => false, 'profiler' => false,

View file

@ -59,6 +59,7 @@ use Friendica\Model\Photo;
use Friendica\Model\Post; use Friendica\Model\Post;
use Friendica\Model\Profile; use Friendica\Model\Profile;
use Friendica\Model\User; use Friendica\Model\User;
use Friendica\Protocol\Activity;
use Friendica\Protocol\Delivery; use Friendica\Protocol\Delivery;
use Friendica\Security\PermissionSet\Repository\PermissionSet; use Friendica\Security\PermissionSet\Repository\PermissionSet;
@ -1287,3 +1288,10 @@ function update_1514()
return Update::SUCCESS; return Update::SUCCESS;
} }
function update_1515()
{
DBA::update('verb', ['name' => Activity::READ], ['name' => 'https://www.w3.org/ns/activitystreams#read']);
DBA::update('verb', ['name' => Activity::VIEW], ['name' => 'https://joinpeertube.org/view']);
return Update::SUCCESS;
}