• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

processone / ejabberd / 1212

18 Nov 2025 12:37PM UTC coverage: 33.784% (+0.003%) from 33.781%
1212

push

github

badlop
mod_conversejs: Improve link to conversejs in WebAdmin (#4495)

Until now, the WebAdmin menu included a link to the first request handler
with mod_conversejs that the admin configured in ejabberd.yml
That link included the authentication credentials hashed as URI arguments
if using HTTPS. Then process/2 extracted those arguments and passed them
as autologin options to Converse.

From now, mod_conversejs automatically adds a request_handler nested in
webadmin subpath. The webadmin menu links to that converse URI; this allows
to access the HTTP auth credentials, no need to explicitly pass them.
process/2 extracts this HTTP auth and passes autologin options to Converse.
Now scram password storage is supported too.

This minimum configuration allows WebAdmin to access Converse:

listen:
  -
    port: 5443
    module: ejabberd_http
    tls: true
    request_handlers:
      /admin: ejabberd_web_admin
      /ws: ejabberd_http_ws
modules:
  mod_conversejs:
    conversejs_resources: "/home/conversejs/12.0.0/dist"

0 of 12 new or added lines in 1 file covered. (0.0%)

11290 existing lines in 174 files now uncovered.

15515 of 45924 relevant lines covered (33.78%)

1277.8 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

43.75
/src/mod_push_opt.erl
1
%% Generated automatically
2
%% DO NOT EDIT: run `make options` instead
3

4
-module(mod_push_opt).
5

6
-export([cache_life_time/1]).
7
-export([cache_missed/1]).
8
-export([cache_size/1]).
9
-export([db_type/1]).
10
-export([include_body/1]).
11
-export([include_sender/1]).
12
-export([notify_on/1]).
13
-export([use_cache/1]).
14

15
-spec cache_life_time(gen_mod:opts() | global | binary()) -> 'infinity' | pos_integer().
16
cache_life_time(Opts) when is_map(Opts) ->
UNCOV
17
    gen_mod:get_opt(cache_life_time, Opts);
9✔
18
cache_life_time(Host) ->
19
    gen_mod:get_module_opt(Host, mod_push, cache_life_time).
×
20

21
-spec cache_missed(gen_mod:opts() | global | binary()) -> boolean().
22
cache_missed(Opts) when is_map(Opts) ->
UNCOV
23
    gen_mod:get_opt(cache_missed, Opts);
9✔
24
cache_missed(Host) ->
25
    gen_mod:get_module_opt(Host, mod_push, cache_missed).
×
26

27
-spec cache_size(gen_mod:opts() | global | binary()) -> 'infinity' | pos_integer().
28
cache_size(Opts) when is_map(Opts) ->
UNCOV
29
    gen_mod:get_opt(cache_size, Opts);
9✔
30
cache_size(Host) ->
31
    gen_mod:get_module_opt(Host, mod_push, cache_size).
×
32

33
-spec db_type(gen_mod:opts() | global | binary()) -> atom().
34
db_type(Opts) when is_map(Opts) ->
35
    gen_mod:get_opt(db_type, Opts);
×
36
db_type(Host) ->
37
    gen_mod:get_module_opt(Host, mod_push, db_type).
×
38

39
-spec include_body(gen_mod:opts() | global | binary()) -> boolean() | binary().
40
include_body(Opts) when is_map(Opts) ->
41
    gen_mod:get_opt(include_body, Opts);
×
42
include_body(Host) ->
UNCOV
43
    gen_mod:get_module_opt(Host, mod_push, include_body).
27✔
44

45
-spec include_sender(gen_mod:opts() | global | binary()) -> boolean().
46
include_sender(Opts) when is_map(Opts) ->
47
    gen_mod:get_opt(include_sender, Opts);
×
48
include_sender(Host) ->
UNCOV
49
    gen_mod:get_module_opt(Host, mod_push, include_sender).
27✔
50

51
-spec notify_on(gen_mod:opts() | global | binary()) -> 'all' | 'messages'.
52
notify_on(Opts) when is_map(Opts) ->
53
    gen_mod:get_opt(notify_on, Opts);
×
54
notify_on(Host) ->
UNCOV
55
    gen_mod:get_module_opt(Host, mod_push, notify_on).
27✔
56

57
-spec use_cache(gen_mod:opts() | global | binary()) -> boolean().
58
use_cache(Opts) when is_map(Opts) ->
59
    gen_mod:get_opt(use_cache, Opts);
×
60
use_cache(Host) ->
UNCOV
61
    gen_mod:get_module_opt(Host, mod_push, use_cache).
3,465✔
62

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc