Valentin Lorentz
759fca5eba
Switch names of TimeoutDict and ExpiringDict.
...
For consistency, as TimeoutQueue has guaranteed deletion after the timeout,
like the new TimeoutDict (ex-ExpiringDict).
2020-05-10 08:42:25 +02:00
Valentin Lorentz
d205a9b5f8
Fediverse: Use ExpiringDict instead of TimeoutDict for the cache, it guarantees expiry after the timeout.
2020-05-10 08:34:36 +02:00
Valentin Lorentz
cf2142ddd2
Fediverse: Sign headers Date and Host to prevent replays.
2020-05-09 22:18:03 +02:00
Valentin Lorentz
5c5cad5851
httpserver: Fix circular dependency when servers.http.keepAlive is true.
2020-05-09 22:17:28 +02:00
Valentin Lorentz
fd702a6a92
Fediverse: Add @statuses command.
2020-05-09 21:39:58 +02:00
Valentin Lorentz
4f027f2cbf
Config: Add @searchhelp, to search in the help string of config vars and groups.
2020-05-09 21:07:23 +02:00
Valentin Lorentz
ba0738c540
Fediverse: Generate instance key automatically.
2020-05-09 20:55:57 +02:00
Valentin Lorentz
d5e241cb0c
Fediverse: run Black.
2020-05-09 20:55:28 +02:00
Valentin Lorentz
e9ff57a1c9
Fediverse: Add usernameSnarfer.
2020-05-09 20:47:11 +02:00
Valentin Lorentz
76950126b5
Fediverse: Fix Python 3.4 compatibility.
2020-05-09 20:42:38 +02:00
Valentin Lorentz
79f13f3051
Fediverse: Add @featured command.
2020-05-09 20:29:24 +02:00
Valentin Lorentz
cb679d8599
Fediverse: Bug fixes.
2020-05-09 20:29:05 +02:00
Valentin Lorentz
d20bdbb5b7
Fediverse: Remove test @post command.
2020-05-09 19:29:00 +02:00
Valentin Lorentz
70fa18d155
Fediverse: Better error on unknown profile.
2020-05-09 19:28:37 +02:00
Valentin Lorentz
e87a14826e
Fediverse: First draft.
2020-05-09 19:27:34 +02:00
Valentin Lorentz
43a8724d3a
Don't strip spaces when parsing registry values.
...
It breaks plugins.Messageparser.listSeparator, and probably others.
2020-05-08 22:18:27 +02:00
Valentin Lorentz
bd1d7c9fa1
Config: Add @searchvalues.
2020-05-08 22:02:05 +02:00
Valentin Lorentz
b07376d16f
Config: Exclude network pseudo-vars from @search.
2020-05-08 22:02:05 +02:00
Valentin Lorentz
e990ffa30c
Add long_description from a plugin's README.md
2020-05-08 22:02:05 +02:00
Valentin Lorentz
f54588f9dd
Add a 'limnoria.plugins entrypoint, to discover plugins installed via pip/setuptools.
2020-05-08 22:02:05 +02:00
Valentin Lorentz
428f5ca5dc
Misc: Show a basic help when @help is called without an argument and customHelpString isn't set.
2020-05-08 12:37:07 +02:00
Valentin Lorentz
0d89b2352b
Add plugin load case-insensitivity test.
2020-05-08 11:58:12 +02:00
Valentin Lorentz
f18eafc8d8
Fix crash on simulated echos (they don't have a prefix set).
2020-05-08 11:57:02 +02:00
Valentin Lorentz
83a8afde16
Add experimental support for +draft/reply client capability on outgoing messages.
2020-05-07 21:17:55 +02:00
Valentin Lorentz
eb1e27e20b
Add echo messages, either with the echo-message capability or simulated.
...
Plugin can opt in to getting echo messages by setting the class attribute
'echo_message = True' if they want to get echos.
This defaults to False in order not to break existing plugins, and because
they usually don't need it (there's outFilter for most cases).
2020-05-07 21:08:07 +02:00
Valentin Lorentz
572c609181
Add labels to outgoing messages when labeled-response is supported.
...
This is going to be useful for implementing echo-message; and to plugins
targetting only networks with labeled-response support.
2020-05-07 20:56:59 +02:00
Valentin Lorentz
bb063b8064
Check server_tags in IrcMsg.__eq__.
2020-05-07 18:38:18 +02:00
Valentin Lorentz
307a2367f4
Don't add line breaks in the middle of capability names.
2020-05-07 18:38:18 +02:00
Valentin Lorentz
fc06aa72a6
Fix parsing ISUPPORT MODES with empty value.
2020-05-07 18:38:18 +02:00
Valentin Lorentz
2008f7b815
Exclude server_tags from truncation.
...
They have their own 8191 bytes.
2020-05-07 18:38:17 +02:00
Valentin Lorentz
da328b4985
Expire batches that never ended to avoid leaking memory.
2020-05-06 20:39:21 +02:00
Valentin Lorentz
cc0af4e790
Include start and end messages in a batch.
...
They may have useful server tags (especially when we start
supporting labeled-response).
2020-05-06 18:29:17 +02:00
Valentin Lorentz
d627ba7683
Scheduler: Make @list show period and time before next run.
2020-05-06 18:15:53 +02:00
Valentin Lorentz
a58c994954
Negotiate the 'setname' capability.
...
We don't store the name anywhere, but it can be useful to plugins.
2020-05-05 19:56:24 +02:00
Valentin Lorentz
16b7183c28
Add python 3.8 classifier.
2020-05-05 19:54:51 +02:00
Valentin Lorentz
482658529b
Scheduler: Add --delay option, to add an offset before the first run.
...
Closes GH-397.
2020-05-02 20:02:06 +02:00
Valentin Lorentz
ad05468257
Scheduler: Preserve period offset on restarts.
...
Partial fix for GH-397.
2020-05-02 18:28:41 +02:00
Valentin Lorentz
3ecc18e659
Scheduler: Add persistence tests.
2020-05-02 17:37:46 +02:00
Valentin Lorentz
fc4cc956ba
Merge branch 'sts' into testing
2020-05-02 17:10:13 +02:00
Valentin Lorentz
8d377e4416
Fix non-deterministic test on python <= 3.6
2020-05-02 00:06:55 +02:00
Valentin Lorentz
01dcbf412b
Fix edge case of server tags unescaping, when the backslash is followed by an 'invalid' char.
2020-05-01 23:46:34 +02:00
Valentin Lorentz
e92156711b
Only spaces are token separators, not all whitespaces.
2020-05-01 23:44:38 +02:00
Valentin Lorentz
f4d5b866d9
tests: raw strings for better readability.
2020-05-01 23:37:59 +02:00
Valentin Lorentz
1854d86476
Add support for outputting server tags.
...
Will be useful when we start sending client tags.
2020-05-01 23:35:52 +02:00
Valentin Lorentz
73b604f875
supybot-test: Simplify impl of --exclude.
2020-05-01 21:38:35 +02:00
Valentin Lorentz
309fc1233b
Add postTransition method to IrcCallback, called when irc.state.fsm changes.
2020-05-01 20:19:53 +02:00
Valentin Lorentz
f7130f2629
Add missing transition trigger on MOTD start.
2020-05-01 20:19:00 +02:00
Valentin Lorentz
22120ee862
Fix various issues with STS handling.
2020-05-01 19:46:19 +02:00
Valentin Lorentz
51ff013fcc
Apply STS policies when connecting to a server.
2020-05-01 19:46:19 +02:00
Valentin Lorentz
ecc2c32950
Add support for storing STS policies.
...
If on an insecure connection: reconnect.
If on a secure connect: store it and do nothing else.
For now, stored STS policies are not read when connecting to an
insecure server.
2020-05-01 19:46:19 +02:00