Wednesday, October 17, 2018
grimoire@muc.metronome.im
October
Mon Tue Wed Thu Fri Sat Sun
1
2 3
4
5
6
7
8
9
10
11
12 13
14
15
16
17
18
19
20
21
22 23
24 25
26
27 28
29 30 31        
             
Metronome IM "cook" book room | Support and Dev talk about the Metronome XMPP server.

Latest stable version build is: 4.0.3

For more information you can visit: https://metronome.im

Room logs can be found here: https://muc.metronome.im/logs/grimoire/

* Links *
<==========================================================>
- Building & Installation:
https://metronome.im/building
- Documentation:
https://metronome.im/documentation
- Issues Tracker:
https://github.com/maranda/metronome/issues
<==========================================================>

[15:09:04] <Maranda> massimiliano, I'm here if you need btw.
[15:09:15] <Maranda> (and in front of the computer)
[15:12:20] <massimiliano> Maranda: can it wait 1hour or so?
[15:13:33] <Maranda> yes I suppose
[15:36:17] <Echo1> maranda committed --
mod_adhoc_cm: correct silly traceback.
-> https://github.com/maranda/metronome/commit/8c5105d30a1584ac090981771dc9d1d90f268ad6
[16:03:52] *** Maranda changed the title to "Metronome IM "cook" book room | Support and Dev talk about the Metronome XMPP server.

Latest stable version build is: 3.11.1

For more information you can visit: https://metronome.im

Room logs can be found here: https://muc.metronome.im/logs/grimoire/

* Links *
<==========================================================>
- Building & Installation:
https://metronome.im/building
- Documentation:
https://metronome.im/documentation
- Issues Tracker:
https://github.com/maranda/metronome/issues
<==========================================================>"

[16:45:44] <massimiliano> i'm here
[16:48:15] <Maranda> massimiliano, so what was the matter again, MAM not showing as available in Compliance tester?
[16:48:52] <massimiliano> yes and also public rooms make gajim popup error and no rooms listed
[16:49:09] <massimiliano> i mean search for public rooms in gajim
[16:50:06] <Maranda> what's the server address?
[16:50:14] <massimiliano> insurge.org
[16:50:31] <massimiliano> muc.insurge.org for rooms
[16:51:46] <Maranda> looks misconfigured
[16:52:03] <Maranda> show me the configuration file please
[16:52:14] <massimiliano> it's mostly yunohost default config
[16:52:19] <massimiliano> one minute
[16:52:58] <Maranda> doesn't matter it's all wrong you loaded http file upload on the main host, that's not even possible with Metronome.
[16:53:34] <Maranda> (but of course you used prosody's mod_http_upload_external)
[16:54:47] <massimiliano> https://bin.disroot.org/?0dbe8ff08e255e15#gN/YTBaL4ZaV1H1qFoiXfzA9eJeCxz06Xwa6tfKaqsY=
[16:56:29] <Maranda> That's a total mess
[16:56:37] <massimiliano> yes i know. i'm a total noob with xmpp in general
[16:56:51] <massimiliano> :-(
[16:57:25] <massimiliano> but i only added muc_log and externall http
[16:57:32] <massimiliano> the rest is default yunohost
[16:58:10] <massimiliano> and proxy
[17:04:56] <massimiliano> maranda is it so bad that you passed out? :-s
[17:05:08] <Maranda> -- Server PID
pidfile = "/var/run/metronome/metronome.pid"

-- HTTP server
http_ports = { 5290 }
http_interfaces = { "127.0.0.1", "::1" }

--https_ports = { 5291 }
--https_interfaces = { "127.0.0.1", "::1" }

-- Enable IPv6
use_ipv6 = true

-- Add Admins
admins = { "massimiliano@insurge.org" }

-- This is the list of modules Metronome will load on startup.
-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
modules_enabled = {
-- Generally required
"roster"; -- Allow users to have a roster. Recommended.
"saslauth"; -- Authentication for clients. Recommended if you want to log in.
"tls"; -- Add support for secure TLS on c2s/s2s connections
"disco"; -- Service discovery

-- Not essential, but recommended
"private"; -- Private XML storage (for room bookmarks, etc.)
"vcard"; -- Allow users to set vCards
"pep"; -- Allows setting of mood, tune, etc.
"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
"bidi"; -- Enables Bidirectional Server-to-Server Streams.

-- Nice to have
"version"; -- Replies to server version requests
"uptime"; -- Report how long server has been running
"time"; -- Let others know the time here on this server
"ping"; -- Replies to XMPP pings with pongs
"register"; -- Allow users to register on this server using a client and change passwords
"stream_management"; -- Allows clients and servers to use Stream Management
--"stanza_optimizations"; -- Allows clients to use Client State Indication and SIFT
"message_carbons"; -- Allows clients to enable carbon copies of messages
"mam"; -- Enable server-side message archives using Message Archive Management
"push"; -- Enable Push Notifications via PubSub using XEP-0357
"lastactivity"; -- Enables clients to know the last presence status of an user
"adhoc_cm"; -- Allow to set client certificates to login through SASL External via adhoc
"admin_adhoc"; -- administration adhoc commands
--"bookmarks"; -- XEP-0048 Bookmarks synchronization between PEP and Private Storage
--"sec_labels"; -- Allows to use a simplified version XEP-0258 Security Labels and related ACDFs.

-- Other specific functionality
--"admin_telnet"; -- administration console, telnet to port 5582
--"admin_web"; -- administration web interface
"bosh"; -- Enable support for BOSH clients, aka "XMPP over Bidirectional Streams over Synchronous HTTP"
--"compression"; -- Allow clients to enable Stream Compression
--"spim_block"; -- Require authorization via OOB form for messages from non-contacts and block unsollicited messages
--"gate_guard"; -- Enable config-based blacklisting and hit-based auto-banning features
--"incidents_handling"; -- Enable Incidents Handling support (can be administered via adhoc commands)
--"server_presence"; -- Enables Server Buddies extension support
--"service_directory"; -- Enables Service Directories extension support
--"public_service"; -- Enables Server vCard support for public services in directories and advertises in features
--"register_api"; -- Provides secure API for both Out-Of-Band and In-Band registration for E-Mail verification
"websocket"; -- Enable support for WebSocket clients, aka "XMPP over WebSockets"
};

-- BOSH configuration (mod_bosh)
consider_bosh_secure = true
cross_domain_bosh = true

-- WebSocket configuration (mod_websocket)
consider_websocket_secure = true
cross_domain_websocket = true

-- Disable account creation by default, for security
allow_registration = false

-- Use LDAP storage backend for all stores
storage = "ldap"

-- Logging configuration
log = {
info = "/var/log/metronome/metronome.log"; -- Change 'info' to 'debug' for verbose logging
error = "/var/log/metronome/metronome.err";
-- "*syslog"; -- Uncomment this for logging to syslog
-- "*console"; -- Log to the console, useful for debugging with daemonize=false
}

------ Components ------
-- You can specify components to add hosts that provide special services,
-- like multi-user conferences, and transports.

---Set up a local BOSH service
Component "localhost" "http"
modules_enabled = { "bosh" }

Component "upload.insurge.org" "http_upload_external"
http_upload_external_base_url = "https://upload.insurge.org/upload/"
http_upload_external_secret = "edited to show in public ;-)"
http_upload_external_file_size_limit = 50000000 -- 50 MB

---Set up a MUC (multi-user chat) room server
Component "muc.insurge.org" "muc"
name = "insurge.org Chatrooms"

modules_enabled = {
"muc_limits";
"muc_log";
"muc_log_http";
"muc_vcard"; -- This module adds the ability to set vCard for MUC rooms
"pastebin"; -- converts a long post to an URL pointing to a built-in pastebin server
"muc_log_mam";
}

muc_event_rate = 0.5
muc_burst_factor = 10

---Set up a PubSub server
Component "pubsub.insurge.org" "pubsub"
name = "insurge.org Publish/Subscribe"

unrestricted_node_creation = true -- Anyone can create a PubSub node (from any server)

---Set up a VJUD service
Component "vjud.insurge.org" "vjud"
ud_disco_name = "insurge.org User Directory"

Component "proxy.insurge.org" "proxy65"

----------- Virtual hosts -----------
-- You need to add a VirtualHost entry for each domain you wish Metronome to serve.
-- Settings under each VirtualHost entry apply *only* to that host.

Include "conf.d/*.cfg.lua"
[17:05:17] <Maranda> replace with this one please
[17:05:35] <Maranda> argh line breaks went boom
[17:05:40] <Maranda> wait a sec
[17:06:51] <Maranda> -- Server PID
pidfile = "/var/run/metronome/metronome.pid"

-- HTTP server
http_ports = { 5290 }
http_interfaces = { "127.0.0.1", "::1" }

--https_ports = { 5291 }
--https_interfaces = { "127.0.0.1", "::1" }

-- Enable IPv6
use_ipv6 = true

-- Add Admins
admins = { "massimiliano@insurge.org" }

-- This is the list of modules Metronome will load on startup.
-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
modules_enabled = {
-- Generally required
"roster"; -- Allow users to have a roster. Recommended.
"saslauth"; -- Authentication for clients. Recommended if you want to log in.
"tls"; -- Add support for secure TLS on c2s/s2s connections
"disco"; -- Service discovery

-- Not essential, but recommended
"private"; -- Private XML storage (for room bookmarks, etc.)
"vcard"; -- Allow users to set vCards
"pep"; -- Allows setting of mood, tune, etc.
"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
"bidi"; -- Enables Bidirectional Server-to-Server Streams.

-- Nice to have
"version"; -- Replies to server version requests
"uptime"; -- Report how long server has been running
"time"; -- Let others know the time here on this server
"ping"; -- Replies to XMPP pings with pongs
"register"; -- Allow users to register on this server using a client and change passwords
"stream_management"; -- Allows clients and servers to use Stream Management
--"stanza_optimizations"; -- Allows clients to use Client State Indication and SIFT
"message_carbons"; -- Allows clients to enable carbon copies of messages
"mam"; -- Enable server-side message archives using Message Archive Management
"push"; -- Enable Push Notifications via PubSub using XEP-0357
"lastactivity"; -- Enables clients to know the last presence status of an user
"adhoc_cm"; -- Allow to set client certificates to login through SASL External via adhoc
"admin_adhoc"; -- administration adhoc commands
--"bookmarks"; -- XEP-0048 Bookmarks synchronization between PEP and Private Storage
--"sec_labels"; -- Allows to use a simplified version XEP-0258 Security Labels and related ACDFs.

-- Other specific functionality
--"admin_telnet"; -- administration console, telnet to port 5582
--"admin_web"; -- administration web interface
"bosh"; -- Enable support for BOSH clients, aka "XMPP over Bidirectional Streams over Synchronous HTTP"
--"compression"; -- Allow clients to enable Stream Compression
--"spim_block"; -- Require authorization via OOB form for messages from non-contacts and block unsollicited messages
--"gate_guard"; -- Enable config-based blacklisting and hit-based auto-banning features
--"incidents_handling"; -- Enable Incidents Handling support (can be administered via adhoc commands)
--"server_presence"; -- Enables Server Buddies extension support
--"service_directory"; -- Enables Service Directories extension support
--"public_service"; -- Enables Server vCard support for public services in directories and advertises in features
--"register_api"; -- Provides secure API for both Out-Of-Band and In-Band registration for E-Mail verification
"websocket"; -- Enable support for WebSocket clients, aka "XMPP over WebSockets"
};

-- BOSH configuration (mod_bosh)
consider_bosh_secure = true
cross_domain_bosh = true

-- WebSocket configuration (mod_websocket)
consider_websocket_secure = true
cross_domain_websocket = true

-- Disable account creation by default, for security
allow_registration = false

-- Use LDAP storage backend for all stores
storage = "ldap"

-- Logging configuration
log = {
info = "/var/log/metronome/metronome.log"; -- Change 'info' to 'debug' for verbose logging
error = "/var/log/metronome/metronome.err";
-- "*syslog"; -- Uncomment this for logging to syslog
-- "*console"; -- Log to the console, useful for debugging with daemonize=false
}

------ Components ------
-- You can specify components to add hosts that provide special services,
-- like multi-user conferences, and transports.

---Set up a local BOSH service
Component "localhost" "http"
modules_enabled = { "bosh" }

Component "upload.insurge.org" "http_upload_external"
http_upload_external_base_url = "https://upload.insurge.org/upload/"
http_upload_external_secret = "edited to show in public ;-)"
http_upload_external_file_size_limit = 50000000 -- 50 MB

---Set up a MUC (multi-user chat) room server
Component "muc.insurge.org" "muc"
name = "insurge.org Chatrooms"

modules_enabled = {
"muc_limits";
"muc_log";
"muc_log_http";
"muc_vcard"; -- This module adds the ability to set vCard for MUC rooms
"pastebin"; -- converts a long post to an URL pointing to a built-in pastebin server
"muc_log_mam";
}

muc_event_rate = 0.5
muc_burst_factor = 10

---Set up a PubSub server
Component "pubsub.insurge.org" "pubsub"
name = "insurge.org Publish/Subscribe"

unrestricted_node_creation = true -- Anyone can create a PubSub node (from any server)

---Set up a VJUD service
Component "vjud.insurge.org" "vjud"
ud_disco_name = "insurge.org User Directory"

Component "proxy.insurge.org" "proxy65"

----------- Virtual hosts -----------
-- You need to add a VirtualHost entry for each domain you wish Metronome to serve.
-- Settings under each VirtualHost entry apply *only* to that host.

Include "conf.d/*.cfg.lua"
[17:07:10] <Maranda> oh god what's up with Gajim.
[17:10:20] <Maranda> massimiliano, https://pastebin.com/nkybPq7W
[17:10:23] <Maranda> there you go
[17:10:34] <Maranda> massimiliano, replace and restart
[17:10:52] <massimiliano> thanks wll try it right away
[17:15:32] <Maranda> massimiliano, also 3.11.1, is being packaged for yunohost just as we speak
[17:15:38] <Maranda> @version insurge.org
[17:15:59] <Echo1> Maranda: insurge.org can't be reached via XMPP (Server-to-server connection failed: Connecting failed: connection timeout)
[17:16:23] <moul> moul.re is running Metronome version 3.11.1 on Linux
[17:17:08] <moul> @version moul.re
[17:17:09] <Echo1> moul: moul.re is running Metronome version 3.11.1 on Linux
[17:19:09] <massimiliano> i get Job for metronome.service failed because the control process exited with error code.
See "systemctl status metronome.service" and "journalctl -xe" for details.

[17:19:51] <Maranda> O.o
[17:20:18] <moul> Did you keep the your configuration file?
[17:20:23] <Maranda> check /var/log/metronome/metronome.err
[17:20:33] <moul> Debian packaging propose to change it.
[17:20:47] <Maranda> moul, I did update his
[17:21:11] <Maranda> don't think he updated version yet
[17:21:21] <moul> We need more review. I will try the new conf file.
[17:22:03] <Maranda> moul, it's not supposed to crash Metronome
[17:23:02] <massimiliano> i am updating now
[17:23:18] <moul> Yep, I had ssl issues because wrong path but metronome was running.
[17:23:22] <massimiliano> i keep current version of cfg right?
[17:23:26] <moul> I did regen the configuration.
[17:24:38] <moul> Ok, now I run the new configuration file!
[17:26:46] <massimiliano> maranda i updated metronome it still didn't start
[17:27:15] <Maranda> check /var/log/metronome/metronome.err
[17:27:43] <moul> What dees journal -xe says.
[17:27:58] <moul> Check the logs /var/log/metronome/metronome.log
[17:31:44] *Maranda pokes massimiliano
[17:32:00] <massimiliano> GNU nano 2.7.4 File: /var/log/metronome/metronome.err

Oct 17 12:55:17 general error Top-level error, please report:
/usr/lib/metronome/modules/mod_presence.lua:468: attempt to index local 'session' (a boolean value)
Oct 17 12:55:17 general error
stack traceback:
[C]: in function 'loop'
/usr/lib/metronome/net/server_event.lua:767: in function </usr/lib/metronome/net/server_event.lua:766>
[C]: in function 'xpcall'
/usr/bin/metronome:324: in function 'loop'
/usr/bin/metronome:388: in main chunk
[C]: ?







[17:33:13] <Maranda> O.o
[17:33:38] <massimiliano> Oct 17 19:13:17 mod_posix warn Received SIGTERM
Oct 17 19:13:17 general info Shutting down: Received SIGTERM
Oct 17 19:13:17 general info Shutting down...
Oct 17 19:13:17 general info Shutdown status: Cleaning up
Oct 17 19:13:17 general info Shutdown status: Closing all active sessions
Oct 17 19:13:17 c2s55abe8ba7b20 info c2s stream for pino@insurge.org/Conversations.-x5u closed: Server is shutting down: Received SIGTERM
Oct 17 19:13:17 c2s55abe8ba7b20 warn Session is being destroyed while it still has unacked stanzas
Oct 17 19:13:17 c2s55abe8a4d020 info c2s stream for gemma@insurge.org/Conversations.xQim closed: Server is shutting down: Received SIGTERM
Oct 17 19:13:17 c2s55abe8a4d020 warn Session is being destroyed while it still has unacked stanzas
Oct 17 19:13:17 c2s55abe8cd9bc0 info c2s stream for cia@insurge.org/Conversations.vQGD closed: Server is shutting down: Received SIGTERM
Oct 17 19:13:17 c2s55abe8cd9bc0 warn Session is being destroyed while it still has unacked stanzas
Oct 17 19:13:17 c2s55abe8eaa850 info c2s stream for massimiliano@insurge.org/Conversations.v-Jw closed: Server is shutting down: Received SIGTERM
Oct 17 19:13:17 c2s55abe8eaa850 warn Session is being destroyed while it still has unacked stanzas
Oct 17 19:13:17 c2s55abe8b29000 info c2s stream for massimiliano@insurge.org/gajim.WVF17XWZ closed: Server is shutting down: Received SIGTERM
Oct 17 19:13:17 c2s55abe8b29000 warn Session is being destroyed while it still has unacked stanzas
Oct 17 19:13:17 s2sout55abe8a5a100 info outgoing s2s stream insurge.org->lightwitch.org closed: system-shutdown
Oct 17 19:13:17 s2sout55abe8a5a100 warn Session is being destroyed while it still has unacked stanzas
Oct 17 19:13:17 s2sout55abe8e0e190 info outgoing s2s stream pubsub.insurge.org->lightwitch.org closed: system-shutdown
Oct 17 19:13:17 s2sout55abe8e0e190 warn Session is being destroyed while it still has unacked stanzas
Oct 17 19:13:17 s2sout55abe8e67950 info outgoing s2s stream proxy.insurge.org->lightwitch.org closed: system-shutdown
Oct 17 19:13:17 s2sout55abe8e67950 warn Session is being destroyed while it still has unacked stanzas
Oct 17 19:13:17 s2sout55abe8c196a0 info outgoing s2s stream muc.insurge.org->lightwitch.org closed: system-shutdown
Oct 17 19:13:17 s2sout55abe8c196a0 warn Session is being destroyed while it still has unacked stanzas
Oct 17 19:13:17 s2sout55abe8f79800 info outgoing s2s stream vjud.insurge.org->lightwitch.org closed: system-shutdown
Oct 17 19:13:17 s2sout55abe8f79800 warn Session is being destroyed while it still has unacked stanzas
Oct 17 19:13:17 general info Shutdown status: Closing all server connections
Oct 17 19:13:17 general info Shutdown complete
Oct 17 19:25:21 general info Hello and welcome to Metronome version 3.11.1
Oct 17 19:25:21 general info Metronome is using the epoll backend for connection handling
Oct 17 19:25:21 portmanager info Activated service 'console'
Oct 17 19:25:21 portmanager info Activated service 'c2s'
Oct 17 19:25:21 portmanager info Activated service 'c2s_secure'
Oct 17 19:25:21 portmanager info Activated service 'http'
Oct 17 19:25:21 portmanager info Activated service 'https'
Oct 17 19:25:21 portmanager info Activated service 's2s'
Oct 17 19:25:21 portmanager info Activated service 's2s_secure'
Oct 17 19:25:21 mod_posix info Successfully daemonized to PID 3740
Oct 17 19:25:22 portmanager info Activated service 'proxy65'
Oct 17 19:27:36 c2s55c02debd690 info Client connected
Oct 17 19:27:36 c2s55c02debd690 info Authenticated as massimiliano@insurge.org
Oct 17 19:28:28 c2s55c02de39d70 info Client connected
Oct 17 19:28:29 c2s55c02de39d70 info Authenticated as massimiliano@insurge.org
Oct 17 19:28:29 c2s55c02de39d70 warn Attempted to resume unexistent session with id 7ad1f2f1-bff6-4dc2-8b11-6eab80db629d
Oct 17 19:28:36 c2s55c02de2f8d0 info Client connected
Oct 17 19:28:36 c2s55c02de2f8d0 info Authenticated as gemma@insurge.org
Oct 17 19:28:36 c2s55c02de2f8d0 warn Attempted to resume unexistent session with id 9cf5ec22-4001-4f85-a046-3220294580a7
Oct 17 19:29:33 c2s55c02e10d0f0 info Client connected
Oct 17 19:29:33 c2s55c02e10d0f0 info Authenticated as pino@insurge.org
Oct 17 19:29:33 c2s55c02e10d0f0 warn Attempted to resume unexistent session with id 57a267e5-a336-427b-a687-28863b561952
Oct 17 19:29:57 c2s55c02e1aab60 info Client connected
Oct 17 19:29:57 c2s55c02e1aab60 info Authenticated as cia@insurge.org
Oct 17 19:29:57 c2s55c02e1aab60 warn Attempted to resume unexistent session with id 41427efe-8aa6-4ac5-8541-b08d203314b4

[17:34:14] <massimiliano> wait i use bin
[17:34:43] <massimiliano> https://bin.disroot.org/?3d3aa87935492db0#fhVQA+eLjDWzPPIn23k/Dxaskf1/VsQqhYa9gQwCHto=
[17:35:02] <massimiliano> i started again with old cfg for now
[17:36:25] <Maranda> first snippet makes no sense
[17:36:51] <Maranda> second snippet looks like Metronome works
[17:39:37] <Maranda> https://upload.lightwitch.org/share/LQMBRZQqTDWB7977/massimiliano_config.txt
[17:39:59] <Maranda> massimiliano please download the config from above, you probably messed up copying and pasting
[17:40:15] <massimiliano> ok
[17:40:42] <Maranda> just upload it and replace /etc/metronome/metronome.cfg.lua with it
[17:42:17] <massimiliano> i just did and it started
[17:43:06] <Maranda> 😜
[17:44:43] <Maranda> erm it's still got the old config running
[17:45:26] <Maranda> moul, Metronome config file is located in /etc/metronome?
[17:45:38] <Maranda> in YuNoHost?
[17:46:04] <moul> Yep
[17:46:26] <massimiliano> i confirm
[17:46:41] <Maranda> massimiliano, did you restart Metronome?
[17:46:47] <massimiliano> yes
[17:47:00] <massimiliano> do i need to reboot system too?
[17:47:05] <Maranda> make sure you replaced /etc/metronome/metronome.cfg.lua
[17:47:10] <Maranda> no you don't
[17:50:12] <moul> HTTP upload is still not discoverable.
[17:50:26] <massimiliano> i removed the file and pasted your cfg only edited my secret
[17:51:05] <Maranda> moul, no you need to configure the upload component for that, the newer config file doesn't have it, do I need to add it?
[17:51:31] <Maranda> moul, you'd need to expose the Metronome's BOSH port
[17:51:59] <Maranda> as long as it isn't via NGINX or something
[17:52:25] <Maranda> I have no idea how BOSH is done if it's done
[17:54:08] <Maranda> massimiliano, well it looks like Metronome isn't using the newer config file
[17:54:43] <moul> To test it you have to run: https://github.com/YunoHost/yunohost/pull/559#issuecomment-430719353
[17:55:39] <Maranda> massimiliano, regenerate config and just add to it:
[17:55:41] <Maranda> Component "upload.insurge.org" "http_upload_external"
http_upload_external_base_url = "https://upload.insurge.org/upload/"
http_upload_external_secret = "edited to show in public ;-)"
http_upload_external_file_size_limit = 50000000 -- 50 MB
[17:56:09] <massimiliano> how do y regenerate?
[17:56:22] <massimiliano> dpkg -reconfigure?
[17:57:17] <Maranda> Look at moul's comment on github.
[17:57:21] <Maranda> bbiab dinner.
[17:58:52] <Maranda> moul, tell me if you want me to add the upload component, but you'll need to configure NGINX to expose it somehow
[17:59:06] <Maranda> That's why I didn't add it.
[17:59:37] <Maranda> (NGINX to expose Metronome's http/https port)
[17:59:48] <moul> I think that would a good feature. Is it enough safe?
Yep, a NGINX configuration will be necessary.
[18:00:02] <Maranda> safe it's safe
[18:00:05] <moul> Ok
[18:07:23] <moul> Does it needs a new subdomain “upload.domain.tld” for the upload service?
[18:09:25] <Maranda> moul: yes
[18:15:53] <moul> Ok, then the user will have to create a new domain, the LE cert and a DNS entry to make this works.
I think an application could handle that.
[18:21:10] <Maranda> I guess that means: "don't add :P"
[18:22:01] <moul> No, it could be ready in Metronome configuration.
Then, I mean, what I said can’t be done at YunoHost installation.
[18:22:25] <moul> And following a documentation could be annoying. An app would be great to automate the process.
[18:27:51] <Maranda> moul, so should I add that?
[18:27:54] <Maranda> btw
[18:28:01] <moul> Yep, absolutely.
[18:28:07] <Maranda> https://upload.lightwitch.org/share/sg6wVVLYTt0886/moul-finally-looking-metronomeish.png
[18:28:36] <Maranda> moul, ^ now that looks like Metronome, aka using Direct TLS, Bidirectional Stream and SM :P
[18:28:55] <Maranda> not sure why they have been singled out of the configuration
[18:29:01] <moul> Nice!
[18:31:01] <Maranda> hmm how did I pull from upstream with git again?
[18:31:15] *Maranda goes look.
[18:39:47] <massimiliano> i found the issue
[18:40:39] <massimiliano> yunohost crated a upload.insurge.org.cfg.lua file that made conflict with lines in metronome.cfg.lua
[18:41:42] <massimiliano> i really need to donate to metronome :-)
[18:49:40] <Maranda> 😸
[18:50:08] <Maranda> moul, ok updated template
[18:50:35] <Maranda> moul, https://github.com/YunoHost/yunohost/pull/559/commits/802c71b0e9b076d01646c4839791681eeeee323f
[18:51:19] <massimiliano> Maranda, Echo1 are you 2 the only devs?
[18:54:28] <Maranda> massimiliano, Echo1 is a bot
[18:54:41] <massimiliano> damn
[18:55:14] <massimiliano> i would help if i was a dev
[18:55:22] <massimiliano> you got my respect
[18:57:21] <Maranda> 🤭 aww
[18:57:49] <massimiliano> what module is ti for xep-0191 inmetronome?
[18:58:13] <Maranda> privacy, it should be loaded already
[18:58:38] <Maranda> or not
[18:58:40] <Maranda> ha
[19:00:24] <Maranda> massimiliano, added it in the updated config file PR on github
[19:02:40] <moul> Thanks!
[19:03:25] <Maranda> @xep 16
[19:03:25] <Echo1> Maranda: XEP-0016: Privacy Lists is Standards Track (Deprecated, Deprecating by vote of the council.) See: https://xmpp.org/extensions/xep-0016.html
[19:04:00] <Maranda> @xep 191
[19:04:00] <Echo1> Maranda: XEP-0191: Blocking Command is Standards Track (Draft, Clarify that arbitrary JIDs may be blocked to match current usage of this spec in the wild.) See: https://xmpp.org/extensions/xep-0191.html
[19:08:50] <moul> Ok, I encounter same issue when adding upload. subdomain.
Metronome didn’t wants to start.
[19:11:46] <massimiliano> moul are you on yunohost?
[19:12:01] <moul> https://paste.yunohost.org/igaqoteyub
[19:12:12] <moul> Yep, exactly.
[19:13:35] <massimiliano> moul look in your /etc/metronome/conf.d/ directory
[19:13:50] <massimiliano> there is a file named as your upload domain
[19:14:21] <massimiliano> remove it
[19:15:31] <moul> Did you by-passed the issue with this trick?
[19:15:55] <moul> This issue should not happen.
[19:17:54] <massimiliano> yunohost adds it automaticly when adding domain
[19:18:36] <moul> Yes, I know how it’s working.
[20:21:09] <Maranda> moul, hmm
[20:21:16] <Maranda> all those websockets errors
[20:21:17] <Echo1> maranda committed --
{...}: backport mod_http_upload_external and refactor config defaults.
-> https://github.com/maranda/metronome/commit/a150b526f0524f474c7e7581d57e1953aa43d5cb
[20:21:18] <Echo1> maranda committed --
metronome.release: set version to 3.11.2.
-> https://github.com/maranda/metronome/commit/c32acdc2a0ab60f9c3143adc726b2468d7011012
[20:21:21] <Maranda> no lua-bitop?
[20:21:28] <Maranda> lemme amend the file
[20:22:24] <Maranda> moul, can you file a ticket to add lua-bitop between dependencies of Metronome^
[20:22:27] <Maranda> ?
[20:22:56] <Maranda> if people want to use websockets they'll need it
[20:24:40] <Maranda> well amended the file and pushed
[20:30:46] <Maranda> massimiliano, and thank you 😇
[20:30:58] <moul> I would add lua-bitop in this file to keep websocket support rather than keeping last commit.
[20:31:19] <Maranda> moul, hm?
[20:31:23] <moul> Websocket is used by Movim.
[20:31:31] <Maranda> Oh no it's not
[20:31:46] <moul> Is it still using Bosh?
[20:32:00] <Maranda> Neither :P
[20:32:04] <moul> Ok
[20:32:57] <moul> So, this WS feature is for client? Am I wrong?
[20:33:15] <Maranda> moul, movim backend uses ratchet (a php websocket server) to communicate with the app front end.
[20:33:39] <Maranda> it connects to the xmpp server via normal xmpp
[20:34:01] <Maranda> moul, yes for web clients like Converse.js
[20:34:22] <Maranda> moul, but lua-bitop is a library packaged in debian
[20:34:25] <massimiliano> Maranda: 👍 for last commit
[20:34:51] <Maranda> so it'd need to be added as Metronome dependency moul
[20:35:08] <moul> Yes, sure.
[20:35:24] <moul> Yep, if Converse.js would be packaged.
[20:35:26] <Maranda> massimiliano, too many (of the few) people using Metronome are starting to want that :P
[20:35:48] <moul> I remember a commit in https://github.com/movim/movim_ynh saying it’s now using WS.
[20:36:00] <Maranda> moul, making a package could be very easy you could use the CDN version of Converse.js
[20:36:35] <Maranda> moul, it's using WS but to communicate with itself not the xmpp server
[20:36:43] <moul> Yes, sure, I want to package it and understand how it works.
[20:37:00] <Maranda> (I mean Movim)
[20:37:18] <moul> Ok, what’s the server WS feature for?
[20:37:27] <Maranda> In Movim?
[20:37:46] <Maranda> it's used for the front end php app to communicate with the Movim daemon
[20:38:05] <moul> No in Metronome or Prosody.
[20:38:27] <Maranda> to communicate with the xmpp server via xmpp-websockets :P
[20:38:54] <Maranda> (https://tools.ietf.org/html/rfc7395)
[20:39:10] <Maranda> so yes "like BOSH"
[20:39:24] <moul> https://blog.prosody.im/prosody-0-10-0-released/, § Native websockets
[20:40:12] <moul> Ok
[20:40:15] <Maranda> I'm not sure about the "native" part but yes that's what websockets are for
[20:41:15] <moul> https://github.com/YunoHost/metronome/blob/debian/debian/control#L21
[20:41:36] <moul> It should be in Depends.
[20:42:36] <Maranda> moul, well if websocket is loaded by default yes it should
[20:42:48] <Maranda> that or just using lua5.2 instead of 5.1
[20:43:01] <Maranda> although for production I don't recommend using 5.2
[20:43:08] <Maranda> (yet)
[20:44:01] <moul> 5.2 would bring lua-bitop?
[20:44:55] <moul> Is that what you mean?
[20:44:57] <Maranda> yes I think it's already provided by lua5.2 itself, but I'm not sure how good Metronome runs on 5.2 (or if it runs at all)
[20:45:33] <Maranda> I think I finished porting all the bits to make it compatible with lua5.2 but otherwise it's fully untested
[20:45:33] <moul> Ok, then we disable WS for now and wait for Metronome to run on Lua 5.2.
[20:45:51] <Maranda> moul, you just need the lua-bitop library tbh
[20:45:52] <Maranda> :P
[20:46:02] <Maranda> not a big deal
[20:46:13] <moul> Yes, sure.
[20:59:04] <moul> Done: https://github.com/YunoHost/metronome/pull/10
[21:00:15] <moul> I think there is a conflict between /etc/metronome/conf.d/upload.domain.tld.cfg.lua and the configuration in metronome.cfg.lua which contains upload.domain.tld.
That could be the reasons why it’s failling.
[21:01:11] <Maranda> Yes, that's what massimiliano said
[21:01:57] <Maranda> moul, so upload should be singled out from domain templates?
[21:02:03] <Maranda> I dunno how it works
[21:02:10] <Maranda> or add the config there
[21:02:45] <moul> Yep, that could be the reason of WS conflict preventing Metronome to starts.
[21:03:12] <moul> Yep, YnH should handle specifics cases.
[21:07:05] <moul> I think the LDAP part of the domain specific template is only necessary for the main domain.
Just the certs’ paths could be kept.
[21:41:14] <Maranda> 🤔
[21:43:05] <moul> I am configuring the Nginx: I get this: https://upload.moul.re/share
[21:43:20] <moul> But, from the client side I can access this feature.
[21:43:48] <moul> Should the http port 5290 be open outside?
[21:44:12] <moul> Ah, it’s available from Conversations :)
[21:44:20] <moul> But not from Poezio.
[21:44:38] <moul> It might be a poezio bug, then. It works!
[21:44:59] <Maranda> https://upload.moul.re/share yes does :)
[21:45:55] <moul> Now, every features are enabled in Conversations \o/
[21:53:21] <Maranda> moul, nice ;)
[22:11:34] <moul> Could you remove, revert last commit https://github.com/YunoHost/yunohost/pull/559 about WS.
[22:11:56] <Maranda> ok
[22:14:42] <Maranda> done
[22:15:13] <moul> Thanks!