New moderator app WIP:

* #144: moderator notes WIP,
* plugin size: adding an API,
* refactoring the code from the task app, to create a new MUC App
  system.
This commit is contained in:
John Livingston
2024-07-29 18:58:02 +02:00
parent 34da786b65
commit 074e688ed8
20 changed files with 496 additions and 32 deletions

View File

@ -7,13 +7,16 @@ SPDX-License-Identifier: AGPL-3.0-only
This module is a custom module that provide some pubsub services associated to a MUC room.
This module is entended to be used in the peertube-plugin-livechat project.
For each MUC room, there will be an associated pubsub node.
This node in only accessible by the ROOM admin/owner.
For each MUC room, there will be a associated pubsub nodes.
These nodes are only accessible by the ROOM admins/owners.
This node can contains various objects:
Here are a description of existing nodes, and objects they can contain:
* task lists
* tasks
* livechat-tasks:
* task lists
* tasks
* livechat-notes:
* notes
* ... (more to come)
These objects are meant te be shared between admin/owner.

View File

@ -15,6 +15,7 @@
-- Implemented nodes:
-- * livechat-tasks: contains tasklist and task items, specific to livechat plugin.
-- * livechat-notes: contains notes, specific to livechat plugin.
-- There are some other tricks in this module:
-- * unsubscribing users that have left the room (the front-end will subscribe again when needed)
@ -39,7 +40,8 @@ local xmlns_pubsub = "http://jabber.org/protocol/pubsub";
local xmlns_pubsub_event = "http://jabber.org/protocol/pubsub#event";
local xmlns_pubsub_owner = "http://jabber.org/protocol/pubsub#owner";
local xmlns_tasklist = "urn:peertube-plugin-livechat:tasklist";
local xmlns_task = "urn:peertube-plugin-livechat:task"
local xmlns_task = "urn:peertube-plugin-livechat:task";
local xmlns_note = "urn:peertube-plugin-livechat:note";
local lib_pubsub = module:require "pubsub";
@ -389,4 +391,5 @@ end);
module:hook("muc-disco#info", function (event)
event.reply:tag("feature", { var = xmlns_task }):up();
event.reply:tag("feature", { var = xmlns_tasklist }):up();
event.reply:tag("feature", { var = xmlns_note }):up();
end);