Some Modules Are Listed in Different Areas #349

Closed
opened 2026-10-05 04:14:42 +02:00 by adam · 14 comments
Owner

During --makeconf, Some modules are listed twice as different types. webadmin is listed as both a global module and user module. chansaver is listed as both a user module and a network module.

When webadmin is enabled at both the global and user level, a lot of the menu items in the panel are duplicated. This can be confusing to users (and possibly be a bug). If these are meant to be displayed on different levels, it should remove the option to enable it on a lower level. Ex: If I enabled webadmin on the global level, the user level should not contain it and vise versa.

There are a few others that are listed in different places:

  • log
  • block_motd
  • autoreply
  • A few others I might have missed.
[ ** ] -- Global Modules --
[ ** ] 
[ ** ] +-----------+----------------------------------------------------------+
[ ** ] | Name      | Description                                              |
[ ** ] +-----------+----------------------------------------------------------+
[ ** ] | partyline | Internal channels and queries for users connected to znc |
[ ** ] | webadmin  | Web based administration module                          |
[ ** ] +-----------+----------------------------------------------------------+
[ ** ] And 12 other (uncommon) modules. You can enable those later.
[ ** ] 
[ ?? ] Load global module <partyline>? (yes/no) [no]: yes
[ ?? ] Load global module <webadmin>? (yes/no) [no]: yes
[ ** ] 
[ ** ] Now we need to set up a user...
[ ** ] 
[ ?? ] Username (AlphaNumeric): Zachary 
[ ?? ] Enter Password: 
[ ?? ] Confirm Password: 
[ ?? ] Would you like this user to be an admin? (yes/no) [yes]: yes
[ ?? ] Nick [Zachary]: Zachary_DuBois
[ ?? ] Alt Nick [Zachary_DuBois_]: themacproguy    
[ ?? ] Ident [Zachary_DuBois]: Zachary_DuBois
[ ?? ] Real Name [Got ZNC?]: Zachary DuBois
[ ?? ] Bind Host (optional): 
[ ?? ] Number of lines to buffer per channel [50]: 75
[ ?? ] Would you like to clear channel buffers after replay? (yes/no) [yes]: yes
[ ?? ] Default channel modes [+stn]: +stn
[ ** ] 
[ ** ] -- User Modules --
[ ** ] 
[ ** ] +--------------+------------------------------------------------------------------------------------------+
[ ** ] | Name         | Description                                                                              |
[ ** ] +--------------+------------------------------------------------------------------------------------------+
[ ** ] | chansaver    | Keep config up-to-date when user joins/parts                                             |
[ ** ] | controlpanel | Dynamic configuration through IRC. Allows editing only yourself if you're not ZNC admin. |
[ ** ] | perform      | Keeps a list of commands to be executed when ZNC connects to IRC.                        |
[ ** ] | webadmin     | Web based administration module                                                          |
[ ** ] +--------------+------------------------------------------------------------------------------------------+
[ ** ] And 21 other (uncommon) modules. You can enable those later.
[ ** ] 
[ ?? ] Load module <chansaver>? (yes/no) [no]: no  
[ ?? ] Load module <controlpanel>? (yes/no) [no]: yes
[ ?? ] Load module <perform>? (yes/no) [no]: yes
[ ?? ] Load module <webadmin>? (yes/no) [no]: 
During `--makeconf`, Some modules are listed twice as different types. `webadmin` is listed as both a global module and user module. `chansaver` is listed as both a user module and a network module. When `webadmin` is enabled at both the global and user level, a lot of the menu items in the panel are duplicated. This can be confusing to users (and possibly be a bug). If these are meant to be displayed on different levels, it should remove the option to enable it on a lower level. Ex: If I enabled `webadmin` on the global level, the user level should not contain it and vise versa. There are a few others that are listed in different places: - `log` - `block_motd` - `autoreply` - A few others I might have missed. ``` [ ** ] -- Global Modules -- [ ** ] [ ** ] +-----------+----------------------------------------------------------+ [ ** ] | Name | Description | [ ** ] +-----------+----------------------------------------------------------+ [ ** ] | partyline | Internal channels and queries for users connected to znc | [ ** ] | webadmin | Web based administration module | [ ** ] +-----------+----------------------------------------------------------+ [ ** ] And 12 other (uncommon) modules. You can enable those later. [ ** ] [ ?? ] Load global module <partyline>? (yes/no) [no]: yes [ ?? ] Load global module <webadmin>? (yes/no) [no]: yes [ ** ] [ ** ] Now we need to set up a user... [ ** ] [ ?? ] Username (AlphaNumeric): Zachary [ ?? ] Enter Password: [ ?? ] Confirm Password: [ ?? ] Would you like this user to be an admin? (yes/no) [yes]: yes [ ?? ] Nick [Zachary]: Zachary_DuBois [ ?? ] Alt Nick [Zachary_DuBois_]: themacproguy [ ?? ] Ident [Zachary_DuBois]: Zachary_DuBois [ ?? ] Real Name [Got ZNC?]: Zachary DuBois [ ?? ] Bind Host (optional): [ ?? ] Number of lines to buffer per channel [50]: 75 [ ?? ] Would you like to clear channel buffers after replay? (yes/no) [yes]: yes [ ?? ] Default channel modes [+stn]: +stn [ ** ] [ ** ] -- User Modules -- [ ** ] [ ** ] +--------------+------------------------------------------------------------------------------------------+ [ ** ] | Name | Description | [ ** ] +--------------+------------------------------------------------------------------------------------------+ [ ** ] | chansaver | Keep config up-to-date when user joins/parts | [ ** ] | controlpanel | Dynamic configuration through IRC. Allows editing only yourself if you're not ZNC admin. | [ ** ] | perform | Keeps a list of commands to be executed when ZNC connects to IRC. | [ ** ] | webadmin | Web based administration module | [ ** ] +--------------+------------------------------------------------------------------------------------------+ [ ** ] And 21 other (uncommon) modules. You can enable those later. [ ** ] [ ?? ] Load module <chansaver>? (yes/no) [no]: no [ ?? ] Load module <controlpanel>? (yes/no) [no]: yes [ ?? ] Load module <perform>? (yes/no) [no]: yes [ ?? ] Load module <webadmin>? (yes/no) [no]: ``` <!-- github-sync-id:36628574 -->
adam closed this issue 2026-10-05 04:14:42 +02:00
Author
Owner

This is normal and expectsd behaviour.

  • global modules are loaded for all users and networks.
  • user modules are loaded for one user and affects all networks of that user.
  • network modules only affect the network (of user) where they are loaded.
This is normal and expectsd behaviour. - global modules are loaded for all users and networks. - user modules are loaded for one user and affects all networks of that user. - network modules only affect the network (of user) where they are loaded. <!-- github-comment-id:47306215 -->
Author
Owner

Oh and this is more clear in git version in which webadmin shows has the module been load globally or in user level or network level. I will take a screenshot for you later.

Oh and this is more clear in git version in which webadmin shows has the module been load globally or in user level or network level. I will take a screenshot for you later. <!-- github-comment-id:47306278 -->
Author
Owner

I am on ZNC 1.5-git-155-1271580.

Look at the two most right lines.

Global

global modules

I am trying to avoid having modules loaded on multiple levels as I am the only user of this ZNC, but there is an exception *perform which I have loaded as user (to send umodes -i+w) and network module.

User modules

user modules

This doesn't seem to show anything else interesting than that *autoreply is loaded as user and network module for some reason (it shouldn't be loaded as network level for me).

Network modules (freenode)

network modules

I am on ZNC 1.5-git-155-1271580. Look at the two most right lines. ## Global ![global modules](http://i.imgur.com/1aBaVTK.png) I am trying to avoid having modules loaded on multiple levels as I am the only user of this ZNC, but there is an exception *perform which I have loaded as user (to send umodes `-i+w`) and network module. ## User modules ![user modules](http://i.imgur.com/AAb0uz3.png) This doesn't seem to show anything else interesting than that *autoreply is loaded as user and network module for some reason (it shouldn't be loaded as network level for me). ## Network modules (freenode) ![network modules](http://i.imgur.com/UuurfoN.png) <!-- github-comment-id:47308057 -->
Author
Owner

Ah, sweet. 1.5 makes things a lot clearer. It should still disable the options if it is enabled on a higher level then what it is available for.

Ah, sweet. 1.5 makes things a lot clearer. It should still disable the options if it is enabled on a higher level then what it is available for. <!-- github-comment-id:47308167 -->
Author
Owner

I think that it should be as it currently is, but *log should work like that as if you load it on multiple levels you get multiple log files.

*perform as I mentioned I have loaded on both user and network level, because networks have different umodes and I use it to send them to networks and on some networks I do some other things.
For example, at freenode I have #idlerpg as stickychan and in *perform and the module sends the identify command to the idlerpg bot.

I think that it should be as it currently is, but *log should work like that as if you load it on multiple levels you get multiple log files. *perform as I mentioned I have loaded on both user and network level, because networks have different umodes and I use it to send them to networks and on some networks I do some other things. For example, at freenode I have #idlerpg as stickychan and in *perform and the module sends the identify command to the idlerpg bot. <!-- github-comment-id:47308455 -->
Author
Owner

I understand but things like webadmin, should not be both on the network and user level.

I understand but things like `webadmin`, should not be both on the network and user level. <!-- github-comment-id:47308751 -->
Author
Owner

As ZNC 1.6.0 is released, shouldn't this issue be closed?

I understand but things like webadmin, should not be both on the network and user level.

It makes no sense and is weird.

  • global level = webadmin is loaded and all users can login
  • user level (but not global) = webadmin is loaded and only that user can loginn

I assume you meant global and user with network and user.

As ZNC 1.6.0 is released, shouldn't this issue be closed? > I understand but things like webadmin, should not be both on the network and user level. It makes no sense and is weird. - global level = webadmin is loaded and all users can login - user level (but not global) = webadmin is loaded and only that user can loginn _I assume you meant global and user with network and user._ <!-- github-comment-id:96988471 -->
Author
Owner

What I meant is people can enable webadmin on both the global and user level. Try it and see what happens.

What I meant is people can enable webadmin on both the global and user level. Try it and see what happens. <!-- github-comment-id:97009778 -->
Author
Owner

Nothing happens. When it's loaded globally, all users can login into it, when loaded user level, only the user can login. When both, the global module takes preference, I think.

Nothing happens. When it's loaded globally, all users can login into it, when loaded user level, only the user can login. When both, the global module takes preference, I think. <!-- github-comment-id:97012384 -->
Author
Owner

The issue I had is it basically creates a duplicated web interface. I will test this when I get home.

The issue I had is it basically creates a duplicated web interface. I will test this when I get home. <!-- github-comment-id:97012557 -->
Author
Owner

That is because it's global and user level module.

That is because it's global and user level module. <!-- github-comment-id:97014398 -->
Author
Owner

Yes, but there should be a way to disable conflicting plugins like that. IIRC, I had issues with many modules if they were to be enabled under two levels for the same user. I guess what I am trying to say is that several modules should be restricted to being enabled on only one level.

Yes, but there should be a way to disable conflicting plugins like that. IIRC, I had issues with many modules if they were to be enabled under two levels for the same user. I guess what I am trying to say is that several modules should be restricted to being enabled on only one level. <!-- github-comment-id:97279747 -->
Author
Owner

I guess what I am trying to say is that several modules should be restricted to being enabled on only one level.

I think separate issue should be opened about that as someone looking for that won't find it here when browsing issue lists.

> I guess what I am trying to say is that several modules should be restricted to being enabled on only one level. I think separate issue should be opened about that as someone looking for that won't find it here when browsing issue lists. <!-- github-comment-id:138901720 -->
Author
Owner

Will do when I get home.

Will do when I get home. <!-- github-comment-id:138944678 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#349