Every IRC client people come from has a notify or friends list: a handful of nicks it
watches, and a line when one of them comes online. moho has none. MONITOR appears once
in the daemon and only in a comment (backend/irc.rs:226), where ISON is used to
answer whether one person is there right now - which is a different question from
being told when they arrive.
This is what people use IRC's private messaging around: you cannot see somebody's
status the way you can on Discord or Matrix, so the notify list is how you know they
are back.
What is needed
MONITOR where the server has it (MONITOR +/-, with RPL_MONONLINE and RPL_MONOFFLINE), falling back to polled ISON where it does not - the same
fallback the existing comment describes, but for a list rather than one nick.
The list stored per account beside the autojoin channels, since it is a property of
the connection.
Arrival and departure shown the way a mention is: something you can be told about
while reading something else.
Done looks like: a name on the list, and a notification when they appear.
Every IRC client people come from has a notify or friends list: a handful of nicks it
watches, and a line when one of them comes online. moho has none. MONITOR appears once
in the daemon and only in a comment (`backend/irc.rs:226`), where ISON is used to
answer whether one person is there right now - which is a different question from
being told when they arrive.
This is what people use IRC's private messaging around: you cannot see somebody's
status the way you can on Discord or Matrix, so the notify list is how you know they
are back.
**What is needed**
- MONITOR where the server has it (`MONITOR +`/`-`, with `RPL_MONONLINE` and
`RPL_MONOFFLINE`), falling back to polled ISON where it does not - the same
fallback the existing comment describes, but for a list rather than one nick.
- The list stored per account beside the autojoin channels, since it is a property of
the connection.
- Arrival and departure shown the way a mention is: something you can be told about
while reading something else.
**Done looks like:** a name on the list, and a notification when they appear.
Reference: HexChat's notify list, WeeChat's `/notify`.
/notify <nick>, /unnotify <nick>, and a bare /notify to list — the same spelling HexChat and WeeChat use, registered in the slash-command menu so they appear with usage. The list lives on the account rather than in the window, because the server is what watches it.
MONITOR where the server has it, the ISON poll that already ran where it does not. One rule over both: an announcement needs a previous state, so signing on and finding somebody already there is not an arrival — only a change is.
Verified live on Libera: /notify mohoprobeB said "watching mohoprobeB" and printed nothing (they were already on); the probe quitting produced "mohoprobeB is offline" and reconnecting "mohoprobeB is online"; /unnotify cleaned up.
Finished — https://git.salastil.com/Salastil/nobilis/commit/d888104 and https://git.salastil.com/Salastil/moho/commit/7e9f07b
`/notify <nick>`, `/unnotify <nick>`, and a bare `/notify` to list — the same spelling HexChat and WeeChat use, registered in the slash-command menu so they appear with usage. The list lives on the account rather than in the window, because the server is what watches it.
MONITOR where the server has it, the ISON poll that already ran where it does not. One rule over both: an announcement needs a previous state, so signing on and finding somebody already there is not an arrival — only a change is.
Verified live on Libera: `/notify mohoprobeB` said "watching mohoprobeB" and printed nothing (they were already on); the probe quitting produced "mohoprobeB is offline" and reconnecting "mohoprobeB is online"; `/unnotify` cleaned up.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Every IRC client people come from has a notify or friends list: a handful of nicks it
watches, and a line when one of them comes online. moho has none. MONITOR appears once
in the daemon and only in a comment (
backend/irc.rs:226), where ISON is used toanswer whether one person is there right now - which is a different question from
being told when they arrive.
This is what people use IRC's private messaging around: you cannot see somebody's
status the way you can on Discord or Matrix, so the notify list is how you know they
are back.
What is needed
MONITOR +/-, withRPL_MONONLINEandRPL_MONOFFLINE), falling back to polled ISON where it does not - the samefallback the existing comment describes, but for a list rather than one nick.
the connection.
while reading something else.
Done looks like: a name on the list, and a notification when they appear.
Reference: HexChat's notify list, WeeChat's
/notify.Finished — https://git.salastil.com/Salastil/nobilis/commit/d888104 and https://git.salastil.com/Salastil/moho/commit/7e9f07b
/notify <nick>,/unnotify <nick>, and a bare/notifyto list — the same spelling HexChat and WeeChat use, registered in the slash-command menu so they appear with usage. The list lives on the account rather than in the window, because the server is what watches it.MONITOR where the server has it, the ISON poll that already ran where it does not. One rule over both: an announcement needs a previous state, so signing on and finding somebody already there is not an arrival — only a change is.
Verified live on Libera:
/notify mohoprobeBsaid "watching mohoprobeB" and printed nothing (they were already on); the probe quitting produced "mohoprobeB is offline" and reconnecting "mohoprobeB is online";/unnotifycleaned up.