Environment
Reproduction
Regsiter two accounts, add a rosteritem with Groups = []:
mod_admin_extra:add_rosteritem(
<<"user1">>, <<"localhost">>,
<<"user2">>, <<"localhost">>, <<"user2">>, [], <<"both">>).
When visiting in WebAdmin the roster page of that account, it crashes:
Details
2026-04-11 13:52:39.767161+02:00 [error] Hook webadmin_page_hostuser crashed when running mod_roster:webadmin_page_hostuser/4:
** exception error: no match of right hand side value []
in function mod_roster:'-make_webadmin_roster_table/4-fun-1-'/5 (/home/aaa/git/ejabberd/src/mod_roster.erl:1164)
in call from lists:map_1/2 (lists.erl:2390)
in call from lists:map/2 (lists.erl:2385)
in call from mod_roster:make_webadmin_roster_table/4 (/home/aaa/git/ejabberd/src/mod_roster.erl:1150)
in call from mod_roster:webadmin_page_hostuser/4 (/home/aaa/git/ejabberd/src/mod_roster.erl:1123)
in call from ejabberd_hooks:safe_apply/4 (/home/aaa/git/ejabberd/src/ejabberd_hooks.erl:456)
in call from ejabberd_hooks:run_fold1/4 (/home/aaa/git/ejabberd/src/ejabberd_hooks.erl:403)
in call from ejabberd_web_admin:process_admin/3 (/home/aaa/git/ejabberd/src/ejabberd_web_admin.erl:667)
** Arg 1 = []
** Arg 2 = <<"localhost">>
** Arg 3 = <<"admin">>
** Arg 4 = {request,'GET',
[<<"roster">>],
...
Bug description
The problem is that make_webadmin_roster_table expects that the list of groups has at least an item.
Environment
Reproduction
Regsiter two accounts, add a rosteritem with
Groups = []:When visiting in WebAdmin the roster page of that account, it crashes:
Details
Bug description
The problem is that make_webadmin_roster_table expects that the list of groups has at least an item.