d2091e8 | Valentin Lorentz | 11 November 2021, 18:07:31 UTC | Geography: Always prefer IANA timezones over UTC offsets Even if the UTC offsets are given on a more specific entity, they are usually worthless to us (eg. DST). | 11 November 2021, 18:07:36 UTC |
76b9d6f | Valentin Lorentz | 09 November 2021, 22:38:31 UTC | Geography: Properly handle missing timezones | 09 November 2021, 22:38:31 UTC |
93a407a | Valentin Lorentz | 09 November 2021, 22:10:55 UTC | Geography: Add 'localtime' command | 09 November 2021, 22:10:59 UTC |
36ade18 | Valentin Lorentz | 09 November 2021, 21:32:29 UTC | Geography: Add 'timezone' command | 09 November 2021, 21:41:40 UTC |
696d82c | Valentin Lorentz | 09 November 2021, 21:01:59 UTC | Geography: Fix crash in nominatim.py when some results are not OSM objects | 09 November 2021, 21:41:40 UTC |
162e974 | Valentin Lorentz | 09 November 2021, 19:42:42 UTC | Geography: Implement search for OSM IDs using Nominatim. | 09 November 2021, 21:41:40 UTC |
35c1407 | Valentin Lorentz | 09 November 2021, 19:41:38 UTC | Geography: Add support for querying Wikidata from an OSM ID. | 09 November 2021, 21:41:40 UTC |
1a72a7d | Valentin Lorentz | 09 November 2021, 19:40:35 UTC | Geography: run Black | 09 November 2021, 21:41:40 UTC |
849acb2 | Valentin Lorentz | 08 November 2021, 22:46:51 UTC | Geography: Clean up the SPARQL statement. | 09 November 2021, 21:41:40 UTC |
3b7379e | Valentin Lorentz | 08 November 2021, 22:42:55 UTC | Geography: Fix typo, preventing exclusion of non-constant offset statements on timezones eg. it did not exclude the offsets from Q941023 (Eastern Time Zone) | 09 November 2021, 21:41:40 UTC |
0a6f598 | Valentin Lorentz | 08 November 2021, 22:41:26 UTC | Geography: Set a better user-agent to access Wikidata | 09 November 2021, 21:41:40 UTC |
27c5131 | Valentin Lorentz | 08 November 2021, 22:22:17 UTC | Geography: Early draft, with buggy implementation of timezone_from_qid. | 09 November 2021, 21:41:40 UTC |
5aefd63 | Valentin Lorentz | 09 November 2021, 21:33:23 UTC | Time: Fix error handling in @tztime. | 09 November 2021, 21:33:23 UTC |
8326d6e | Valentin Lorentz | 09 November 2021, 21:33:12 UTC | Fediverse and Poll: Run Black | 09 November 2021, 21:33:12 UTC |
feaa02a | Valentin Lorentz | 08 November 2021, 22:20:28 UTC | Add docstring to supybot.utils.time.iana_timezone | 08 November 2021, 22:20:28 UTC |
12c526b | Valentin Lorentz | 08 November 2021, 22:20:13 UTC | Update default user agent to mention Limnoria | 08 November 2021, 22:20:13 UTC |
abe5902 | Valentin Lorentz | 08 November 2021, 20:59:05 UTC | irclib: Remove broken + useless code This function does not exist anymore | 08 November 2021, 20:59:05 UTC |
8b26b67 | Valentin Lorentz | 08 November 2021, 19:24:50 UTC | Use stdlib instead of pytz on Python >= 3.9 Python 3.9 introduced the zoneinfo module, which provides the only feature we used pytz for (getting a datetime.tzinfo object from an IANA timezone id); so let's use it instead of a third-party dependency. | 08 November 2021, 20:46:48 UTC |
a5cd930 | Valentin Lorentz | 08 November 2021, 19:33:45 UTC | Update CI/setup.py/README: Python 3.10 is now released. | 08 November 2021, 20:30:00 UTC |
ce7e4b7 | Valentin Lorentz | 08 November 2021, 20:10:51 UTC | Replace deprecated unittest function calls. | 08 November 2021, 20:29:59 UTC |
93c6309 | Valentin Lorentz | 08 November 2021, 19:42:29 UTC | Remove SQLAlchemy from the dependencies. It's only used by Aka when sqlite3 is not available, so basically never. And SQLAlchemy probably can't work without sqlite3 anyway. Plus, SQLAlchemy depends on greenlet, which does not support Python 3.11a2 yet: https://github.com/python-greenlet/greenlet/issues/273 | 08 November 2021, 20:29:59 UTC |
417cd7d | James Lu | 21 October 2021, 00:39:50 UTC | LogToIrc: add missing import | 21 October 2021, 00:39:50 UTC |
1f618b9 | Valentin Lorentz | 18 October 2021, 08:08:31 UTC | log: Fix support of 'supybot-test --clean' Broken in dff394df64b275833eba3b12f253f1e66c80db27. | 18 October 2021, 08:08:41 UTC |
63eb667 | Valentin Lorentz | 17 October 2021, 07:54:06 UTC | Revert generic 'The Limnoria Contributors' in copyright notices This commit reverts db7ef3f02517f9f2a3c56829a22b9fad3c36e374 (though it keeps the year updates) After discussion with several people, it seems better to mention copyright owners explicitly. eg. https://reuse.software/faq/#vcs-copyright explains the issue of using VCSs to track copyright. As db7ef3f02517f9f2a3c56829a22b9fad3c36e374 only replaced mentions of my name with 'The Limnoria Contributors', this commit only needs to undo that + add one person who contributed to setup.py. | 17 October 2021, 07:57:55 UTC |
dff394d | Valentin Lorentz | 14 October 2021, 21:52:16 UTC | log: Add support for rotating messages.log. | 14 October 2021, 21:52:16 UTC |
666acd9 | Valentin Lorentz | 14 October 2021, 21:45:28 UTC | log: Simplify encoding in BetterFileHandler. I don't think any these cases are useful anymore. Let's keep the last one anyway, just in case I'm wrong. | 14 October 2021, 21:47:32 UTC |
e972894 | Valentin Lorentz | 14 October 2021, 21:43:40 UTC | supybot-wizard: Fix variable shadowing. | 14 October 2021, 21:43:40 UTC |
f31e5c4 | PeGaSuS | 09 October 2021, 20:08:31 UTC | LogToIrc: Synchronize README with config.py Better document the format of the 'target' config var | 09 October 2021, 20:53:13 UTC |
3f27c03 | Valentin Lorentz | 09 October 2021, 19:08:48 UTC | LogToIrc: better document the format of the 'target' config var | 09 October 2021, 19:08:48 UTC |
163e717 | Valentin Lorentz | 07 October 2021, 23:03:31 UTC | Fediverse: increase again to fix failures on the CI... | 07 October 2021, 23:03:31 UTC |
d844243 | Valentin Lorentz | 07 October 2021, 22:15:45 UTC | Fediverse: increase max heap size to mitigate crashes on pypy | 07 October 2021, 22:15:45 UTC |
bc0c5bd | Valentin Lorentz | 07 October 2021, 19:34:04 UTC | ChannelLogger: Log away messages | 07 October 2021, 19:34:04 UTC |
ebaa346 | Valentin Lorentz | 22 September 2021, 19:48:59 UTC | callbacks: Don't raise AssertionError when addressd() is called with a NOTICE Some plugins (like LinkRelay) share code between NOTICE and PRIVMSG and they might call it unconditionally. | 22 September 2021, 19:48:59 UTC |
de277ed | Valentin Lorentz | 22 September 2021, 16:54:45 UTC | irclib: Make requestCapabilities a public method So it can be used by plugins like Sigyn. | 22 September 2021, 16:54:47 UTC |
4d97486 | Valentin Lorentz | 21 September 2021, 19:41:25 UTC | String: Fix TypeError. | 21 September 2021, 19:41:25 UTC |
f468557 | Valentin Lorentz | 21 September 2021, 19:21:21 UTC | Channel: Fix capability check in alertOps, to check the target instead of sender. | 21 September 2021, 19:21:21 UTC |
c934939 | Valentin Lorentz | 21 September 2021, 19:19:03 UTC | Fediverse & String: Increase test timeouts, they can be flaky on CIs | 21 September 2021, 19:19:03 UTC |
749b8e1 | Valentin Lorentz | 14 September 2021, 19:03:15 UTC | fix test | 14 September 2021, 19:03:15 UTC |
dc79ab1 | Valentin Lorentz | 14 September 2021, 18:30:47 UTC | Update capitalization of my Github username | 14 September 2021, 18:30:47 UTC |
5b9ec4f | Valentin Lorentz | 13 September 2021, 17:07:34 UTC | LogToIrc: Prevent loop when sending to non-existing channels When the target is a channel it is not in, it would treat it as a user; which, if userCapabilityRequired is empty, would unconditionally send it to a channel. This would usually result in an error, that would be logged, hence the loop. | 13 September 2021, 17:07:34 UTC |
070090f | Valentin Lorentz | 13 September 2021, 17:01:46 UTC | LogToIrc: Honor the configured log level | 13 September 2021, 17:05:42 UTC |
76bd1c8 | Valentin Lorentz | 13 September 2021, 16:45:49 UTC | Socket: Gracefully handle invalid lines with UTF8ONLY Just skip the line, instead of crashing the whole loop (which contains the next lines from the same server too) | 13 September 2021, 16:45:49 UTC |
ee9f0dc | Valentin Lorentz | 03 September 2021, 18:15:18 UTC | STS: When persisting STS keys, use the actual port instead of the one from the policy 'Servers MAY send this key to securely connected clients, but it will be ignored.' -- https://ircv3.net/specs/extensions/sts\#the-port-key | 03 September 2021, 18:15:18 UTC |
74073b2 | Valentin Lorentz | 01 September 2021, 16:25:54 UTC | irclib: Log the server's error message on SASL failure. | 01 September 2021, 16:25:54 UTC |
e638586 | Valentin Lorentz | 28 August 2021, 21:48:19 UTC | Fediverse: Better assertionerror messages | 28 August 2021, 21:48:19 UTC |
52a5cef | Valentin Lorentz | 28 August 2021, 21:36:05 UTC | Move stripformatting from Format to Filter, for consistency | 28 August 2021, 21:37:21 UTC |
d593f84 | Valentin Lorentz | 27 August 2021, 17:03:18 UTC | Socket: disable charset heuristics when the server advertizes UTF8ONLY. | 27 August 2021, 17:03:18 UTC |
db05081 | Valentin Lorentz | 25 August 2021, 21:28:25 UTC | commands: fix _checkUrl | 25 August 2021, 21:28:25 UTC |
0131cd0 | Valentin Lorentz | 25 August 2021, 19:55:31 UTC | commands: Add converters for IRIs Since the 'url' and 'httpUrl' converters no longer support them... | 25 August 2021, 19:55:31 UTC |
be88530 | Valentin Lorentz | 25 August 2021, 19:53:05 UTC | commands: Disallow IRIs from 'url' and 'httpUrl' converters. urllib doesn't support IRIs, and gives out a cryptic 'UnicodeEncodeError: 'ascii' codec can't encode character ...' if we don't validate it. | 25 August 2021, 19:54:55 UTC |
62db3a9 | Valentin Lorentz | 25 August 2021, 19:29:19 UTC | callbacks: Print unexpected commands | 25 August 2021, 19:29:19 UTC |
ca624d7 | Valentin Lorentz | 22 August 2021, 17:23:05 UTC | RSS: Fix nondeterministic test failures Caused by 'rss announce add' triggering headline announces, that would delay the execution of the 'remove' commands. Thanks to @mapreri and @Unit193 for help in reproducing the issue and confirming the patch. | 22 August 2021, 17:23:05 UTC |
0c8e455 | Valentin Lorentz | 22 August 2021, 17:21:28 UTC | RSS: When deleting a named feed, preserve anonymous feed of the same URL. | 22 August 2021, 17:21:28 UTC |
cbd2b31 | Valentin Lorentz | 12 August 2021, 19:28:50 UTC | Add error message in case setuptools is not installed. | 12 August 2021, 19:32:24 UTC |
37ba0ef | Ian Wienand | 31 May 2021, 00:24:06 UTC | setup.py: switch import to setuptools Switch to standard setuptools import, add suggested entries to pyproject.toml. Remove the --clean argument. As the comment suggests I'm sure there is history here, but having setup.py remove parts of the package does not seem like something required at this point. Also clean up the imports to remove unused and group them together at the top. | 12 August 2021, 19:23:48 UTC |
49b9a9a | Valentin Lorentz | 12 August 2021, 18:00:25 UTC | Add missing (optional) dependency, pyxmpp2-scram | 12 August 2021, 18:00:25 UTC |
0939247 | James Lu | 01 August 2021, 20:35:45 UTC | getUrlFd: chain the original exception so that plugins can handle them further (#1487) | 01 August 2021, 20:35:45 UTC |
db7ef3f | Valentin Lorentz | 01 August 2021, 19:47:37 UTC | all: Add generic 'The Limnoria Contributors' to copyright notices. No need to bother with details (that are all outdated / out of sync anyway), just look up the git history. | 01 August 2021, 19:54:49 UTC |
a86b2a6 | Valentin Lorentz | 31 July 2021, 15:57:53 UTC | More verbose irctest logging. trying to figure out why it freezes on the CI... | 31 July 2021, 15:57:53 UTC |
747ef77 | Valentin Lorentz | 31 July 2021, 12:40:44 UTC | Fix tests when pyxmpp2_scram is not installed. | 31 July 2021, 12:40:44 UTC |
c008d11 | Valentin Lorentz | 31 July 2021, 12:33:34 UTC | RSS: Fix crashes when the set of channels changed while iterating. | 31 July 2021, 12:33:34 UTC |
ade5a02 | Valentin Lorentz | 31 July 2021, 11:05:36 UTC | Fix/update SASL tests, broken by the previous commit. | 31 July 2021, 11:05:39 UTC |
5e2c212 | Valentin Lorentz | 31 July 2021, 09:40:28 UTC | Add as scram-sha-256 prefered SASL mechanism. | 31 July 2021, 09:40:28 UTC |
406369d | Valentin Lorentz | 21 July 2021, 07:45:28 UTC | Expose standardSubstitute's var dictionary So it can be reused by plugins if they want to use a different templating engine. | 21 July 2021, 07:45:28 UTC |
8fe517f | Valentin Lorentz | 16 July 2021, 20:53:38 UTC | irclib: Fix previous commits so RPL_NAMREPLY actually works Turns out irclib parses ISUPPORT PREFIX properly, so it's not just a raw string; but I didn't test the change live... | 16 July 2021, 20:53:38 UTC |
45c7615 | Valentin Lorentz | 16 July 2021, 17:53:25 UTC | irclib: Properly populate nickToHostmasks on RPL_NAMREPLY It used to set the nick instead of the hostmask as values... | 16 July 2021, 17:53:25 UTC |
d308329 | Valentin Lorentz | 16 July 2021, 17:50:12 UTC | irclib: Fix support of power prefix chars in RPL_NAMREPLY nickFromHostmask now (legitimately) complains when it's getting @ or ! at the beginning of a hostmask; so we need to strip them before passing it to nickFromHostmask. Then re-add them before calling c.addUser, because it uses them to sort users in the right sets (ops/halfops/voices). Additionally, this commit replaces the hardcoded set of prefix chars (`@%+&~!`) with the one advertised in ISUPPORT when possible. | 16 July 2021, 17:50:13 UTC |
aa6bd72 | Valentin Lorentz | 15 July 2021, 20:29:56 UTC | Deprecate Python 3.4 and 3.5. | 15 July 2021, 20:29:56 UTC |
bdb80b1 | Valentin Lorentz | 15 July 2021, 20:19:03 UTC | Switch from Travis-CI to Github Actions Travis is dead now. Closes GH-1481. | 15 July 2021, 20:19:03 UTC |
0f10110 | Valentin Lorentz | 14 July 2021, 21:55:31 UTC | Socket: Fix cascading crash when Socket.run() crashes. When a driver's run() method crashes, supybot.drivers.run() marks it as dead and sets its 'irc' attribute to None. This would be fine for "normal" independent drivers (like Socket used to be), because this driver would never be called again. But now that we use select(), some other thread may hold a reference to this driver in a select() call frame, and call the dead driver's '_read()' method when there is data to be read from the socket. There is already a safeguard in '_read()' in the case the socket could be read from, but this safeguard was missing from _handleSocketError. This caused the "live" driver's select() to crash, which propagagated to its run(), which caused the driver to be marked as dead, etc. Eventually, all drivers could die, and we end up with the dreadful "Schedule is the only remaining driver, why do we continue to live?" in an infinite loop. | 14 July 2021, 21:55:31 UTC |
e19282a | Valentin Lorentz | 14 July 2021, 21:42:35 UTC | Actually parse weird hostmasks like RFC1459 recommends Thanks to @Noisytoot for pointing out the RFC actually specific them with this: <user> ::= <nonwhite> { <nonwhite> } | 14 July 2021, 21:43:11 UTC |
5baf87d | Valentin Lorentz | 14 July 2021, 21:25:11 UTC | ircutils: Improve robustness when faced with invalid hostmasks eg. @ in nicks, which happened on pissnet earlier today. | 14 July 2021, 21:25:11 UTC |
0af4af1 | Valentin Lorentz | 04 July 2021, 08:46:51 UTC | RSS: Fix random test failure Closes GH-1479 | 04 July 2021, 08:46:51 UTC |
64ae28c | James Lu | 03 July 2021, 23:42:13 UTC | Remove references to my old nick | 03 July 2021, 23:42:13 UTC |
b8aa5aa | Valentin Lorentz | 30 June 2021, 19:27:36 UTC | User: Make @register automatically add the account tag No need for '@nickauth nick add' right after registering anymore. | 30 June 2021, 19:28:17 UTC |
c23227c | Valentin Lorentz | 28 June 2021, 21:10:21 UTC | MessageParser: Show error when the action has a syntax error Instead of being silent | 28 June 2021, 21:10:36 UTC |
6b72672 | Valentin Lorentz | 23 June 2021, 09:37:37 UTC | Poll: Fix typo in documentation | 28 June 2021, 21:10:36 UTC |
1952dae | Mikaela Suomalainen | 25 June 2021, 22:43:26 UTC | src/conf.py: fix typo in supybot.reply.error.withNotice Co-authored-by: MetaNova <MetaNova@users.noreply.github.com> Co-authored-by: Val Lorentz <progval+github@progval.net> | 25 June 2021, 23:23:36 UTC |
a7216d2 | James Lu | 25 June 2021, 05:36:04 UTC | Remove Spanish translations as requested by the author | 25 June 2021, 05:36:04 UTC |
6490484 | Tim Gates | 20 June 2021, 23:07:50 UTC | Fix a few simple typos (#1476) Closes #1475 | 20 June 2021, 23:07:50 UTC |
65ab65c | Valentin Lorentz | 20 June 2021, 21:59:51 UTC | irclib: Fix crashes when ERROR is part of a batch. | 20 June 2021, 21:59:51 UTC |
a7c4c9b | Valentin Lorentz | 19 June 2021, 14:56:10 UTC | Poll: Document usage. | 19 June 2021, 14:56:17 UTC |
936d7eb | Valentin Lorentz | 19 June 2021, 14:48:40 UTC | Poll Disallow 0 as poll id. | 19 June 2021, 14:48:40 UTC |
d919e21 | Valentin Lorentz | 19 June 2021, 14:39:23 UTC | Poll: Initial commit with basic features. | 19 June 2021, 14:44:21 UTC |
3b25a94 | Valentin Lorentz | 19 June 2021, 14:44:15 UTC | Regenerate READMEs. | 19 June 2021, 14:44:21 UTC |
2293d1c | Valentin Lorentz | 15 June 2021, 18:34:50 UTC | Services: Update to the latest version of the draft/account-registration spec. | 15 June 2021, 18:35:55 UTC |
67a39a3 | Clark Boylan | 14 June 2021, 21:15:43 UTC | Fix joins to many channels (#1473) * Fix joins to many channels If you have enough channels that the 512 byte message limit on the JOIN message is hit then limnoria was losing the channel that put it over the limit and not including it in the next JOIN message. This resulted in losing one channel for every JOIN message that pushed us over 512 bytes. We fix this by generating the JOIN message immediately after resetting the channels list to ensure we include the channel that pushed us over the limit. Then the next time through our JOIN msg construction we'll add subsequent channels without forgetting the one that pushed us over. * Add test for channel join lists This adds a test for the issue that is fixed in the previous commit. We ensure that when JOINs are split over multiple messages we JOIN to all channels that were part of the input list and don't forget any of them. | 14 June 2021, 21:15:43 UTC |
4b82934 | Valentin Lorentz | 14 June 2021, 19:47:36 UTC | Services: Add @nickserv and @chanserv command, to message services directly This is because the recommended method ('owner ircquote nickserv register mypassword bot@example.com') does not work on charybdis, as Limnoria inserts a colon before the trailing argument and Charybdis' m_alias module does not parse commands using the IRC syntax, so it considers the leading colon to be part of the email address. The alternative would be to change the recommended command to: 'owner ircquote PRIVMSG nickserv :register mypassword bot@example.com' but it is prone to typos, so I think we should avoid it. | 14 June 2021, 19:47:36 UTC |
c8053da | Valentin Lorentz | 12 June 2021, 19:03:15 UTC | Socket: Silence TLS warning for Tor hidden services. They are already end-to-end encrypted and don't need TLS. | 12 June 2021, 19:03:15 UTC |
69c948b | Valentin Lorentz | 08 June 2021, 19:20:52 UTC | irclib: fix _getTarget when to= is given and self.private=True | 08 June 2021, 19:56:42 UTC |
8a52902 | Valentin Lorentz | 08 June 2021, 17:41:25 UTC | irclib: Fix overhead computation by using the real target computation algo | 08 June 2021, 19:56:08 UTC |
225c249 | Valentin Lorentz | 05 June 2021, 13:50:00 UTC | irclib: Fix crash on SASL authentication failure | 05 June 2021, 13:50:05 UTC |
ac4083e | Valentin Lorentz | 05 June 2021, 08:29:21 UTC | README: Synchronize description with the website. | 05 June 2021, 08:29:21 UTC |
aaca81c | Valentin Lorentz | 02 June 2021, 14:51:09 UTC | drivers: Fix log message when the STS policy uses the same port as configured. | 02 June 2021, 14:51:09 UTC |
a475814 | Valentin Lorentz | 01 June 2021, 10:16:34 UTC | Factoids: Fix NameErrors in HTTP callback. | 01 June 2021, 10:16:34 UTC |
4caf35f | Valentin Lorentz | 01 June 2021, 08:42:53 UTC | Dunno: Document command substitution | 01 June 2021, 08:43:05 UTC |
a0b1334 | Mattia Rizzolo | 01 June 2021, 05:32:31 UTC | increase the timeout for Fediverse's tests At least in Debian CI they routinely timeout when they run in the busiest server. Signed-off-by: Mattia Rizzolo <mattia@mapreri.org> | 01 June 2021, 06:58:56 UTC |
43aada5 | Valentin Lorentz | 30 May 2021, 17:06:19 UTC | Store ignored hostmasks in Expiring HostmaskSet to prevent their pattern cache from expiring too soon See e0fdcb67c09b26a79bbb3cbb2244d18149c5b0c2 for the rationale (tl;dr: prevents triggering a degenerate case of the LRU cache when there are over 1000 ignore masks) | 30 May 2021, 17:35:05 UTC |
698dfc2 | Valentin Lorentz | 29 May 2021, 09:44:19 UTC | httpserver: Hide well-known callback from the index Closes GH-1460. | 29 May 2021, 09:44:22 UTC |
2e2c243 | Valentin Lorentz | 28 May 2021, 17:37:37 UTC | RSS: Remove flaky test | 28 May 2021, 17:37:37 UTC |