Age | Commit message (Collapse) | Author |
|
We delegate common hooks through the fast-delegation hash, and revert to
brute-force querying for everything else. Beware that this may breaks plugins
which add/remove delegatable methods at runtime, but no such plugin is
currently used (AFAIK).
|
|
|
|
Delegating a message requires checking if each of the loaded plugins
responds to a given method. This can be time consuming when many
plugins are loaded.
We set up a hash that maps each commonly delegated method to the list of
plugins that respond to it.
|
|
|
|
|
|
|
|
|
|
|
|
to CTCP PING and TIME commands in basics
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A feed watcher may fail to reschedule, for example if it was stopped
before completion. Fail graciously warning the user.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
help message improved.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nonconformat headers.
|
|
|
|
|
|
The timer blocks are closures, so they inherit the variables in the scope they were created. Passing those same variables to the block as data is useless.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Since the timer fix in [1035], rescheduling ticks the timer, which could cause the timed saving to trigger while a feed mutex was being held. Fix by moving the feed watcher rescheduling out of the mutex synchronization.
Also move other calculations out to hold the mutex for as little as necessary.
|