| Commit message (Expand) | Author | Age | Files | Lines |
| * | Hold on to tags and type for BATCHes | jesopo | 2019-02-11 | 1 | -0/+7 |
| * | IRCServer should handle ping_sent, not IRCSocket | jesopo | 2019-02-11 | 2 | -2/+5 |
| * | last_read/last_send is now handled by IRCSocket.py | jesopo | 2019-02-11 | 2 | -5/+5 |
| * | `socket.getpeername()` can return more than 2 values (IRCSocket) | jesopo | 2019-02-11 | 1 | -1/+1 |
| * | `connected` status is now tracked by IRCSockets | jesopo | 2019-02-11 | 3 | -3/+4 |
| * | Add `IRCSocket.connected_ip` to hold on to the IP address we connected to (e.g.•••so we know which IP we picked from a round robin DNS)
| jesopo | 2019-02-11 | 1 | -0/+3 |
| * | Shift socket.socket related logic to IRCSocket.py | jesopo | 2019-02-11 | 3 | -161/+209 |
| * | We don't need to send `writebuffer.empty` event any more (src/IRCServer.py) | jesopo | 2019-02-11 | 1 | -3/+0 |
| * | Actually return `str` object from IRCLine.__str__ | jesopo | 2019-02-10 | 1 | -1/+1 |
| * | Add _char_limit return type hint, fix decoded_data return type hint•••(src/IRCLine.py)
| jesopo | 2019-02-10 | 1 | -2/+2 |
| * | Import IRCServer in IRCLine so type hint comment is valid (src/IRCLine.py) | jesopo | 2019-02-10 | 1 | -1/+1 |
| * | Add a comment as to why IRCLine's LINE_CUTOFF is 470, not 510 | jesopo | 2019-02-10 | 1 | -0/+1 |
| * | Change LINE_CUTOFF to 470, now that we compute max char counts (src/IRCLine.py) | jesopo | 2019-02-10 | 1 | -1/+1 |
| * | Let IRCLine.Line handle truncating command output | jesopo | 2019-02-10 | 2 | -5/+23 |
| * | Parse sent data in IRCServer._send, not IRCServer.send | jesopo | 2019-02-10 | 1 | -2/+6 |
| * | Add `IRCServer.hostmask()` to construct our nick!user@host hostmask | jesopo | 2019-02-10 | 1 | -0/+3 |
| * | Shift encoding/truncating IRC lines to src/IRCLine.py | jesopo | 2019-02-10 | 2 | -14/+16 |
| * | Return truncted data from encode_truncate and hold it in IRCLine.Line | jesopo | 2019-02-10 | 3 | -6/+12 |
| * | Make use of utils.truncate_encode, to avoid cutting utf8 sequences in half | jesopo | 2019-02-10 | 1 | -4/+3 |
| * | add `utils.truncate_encode`, to encode and truncate a string while respecting... | jesopo | 2019-02-10 | 1 | -0/+10 |
| * | Don't send empty space with JOIN if key=="" (src/IRCServer.py) | jesopo | 2019-02-10 | 1 | -1/+1 |
| * | Return IRCLine object from IRCServer.send() (and functions that call .send()) | jesopo | 2019-02-10 | 1 | -48/+55 |
| * | fix `self.batches` type hint (src/IRCServer.py) | jesopo | 2019-02-10 | 1 | -1/+1 |
| * | IRCLine's `data` should be bytes | jesopo | 2019-02-10 | 1 | -1/+1 |
| * | Add missing src/IRCLine.py file | jesopo | 2019-02-10 | 1 | -0/+20 |
| * | `now` isn't defined now that throttle code has been separated out (src/IRCSer... | jesopo | 2019-02-10 | 1 | -1/+1 |
| * | Track lines-to-be-sent up until they're completely sent, queue up more than 1•••line at a time in write buffer if we've got space (src/IRCServer.py)
| jesopo | 2019-02-10 | 1 | -14/+43 |
| * | rename, 'IRCLine' -> 'IRCParsedLine' (utils.irc) | jesopo | 2019-02-10 | 1 | -3/+3 |
| * | Make line cutoff character count a const (src/IRCServer.py) | jesopo | 2019-02-10 | 1 | -2/+3 |
| * | Add TimersContext.find_all | jesopo | 2019-02-10 | 1 | -0/+2 |
| * | Add Timers.find_all, to find all timers of a certain name | jesopo | 2019-02-10 | 1 | -0/+10 |
| * | Abstract ssl socket wrapping away so we can reuse it | jesopo | 2019-02-10 | 3 | -14/+28 |
| * | Old copypaste fail - we were returning the most recent user id when creating ...•••(Database.py)
| jesopo | 2019-02-10 | 1 | -1/+1 |
| * | Set default values for various types of channel modes (src/IRCServer.py) | jesopo | 2019-02-09 | 1 | -4/+9 |
| * | Also capture channel setting-related modes (e.g. +f for flood settings) | jesopo | 2019-02-09 | 1 | -0/+1 |
| * | Return "0s" from utils.to_pretty_time when given 0 seconds | jesopo | 2019-02-07 | 1 | -0/+3 |
| * | Send `CAP LS` after we send `PASS` (if applicable) (src/IRCServer.py) | jesopo | 2019-02-07 | 1 | -1/+2 |
| * | Add optional `default` param to `Exports.get_one()` (src/Exports.py) | jesopo | 2019-02-07 | 1 | -3/+5 |
| * | Implement ExportsContext.get_one | jesopo | 2019-02-07 | 1 | -0/+2 |
| * | Implement `Exports.get_one()` | jesopo | 2019-02-07 | 1 | -0/+3 |
| * | Fix mypy typing issue with importspec loader Optionalness (src/ModuleManager.py) | jesopo | 2019-02-06 | 1 | -1/+2 |
| * | If a server has a hostname that's not an IP, use it as SNI server name | jesopo | 2019-02-06 | 2 | -2/+14 |
| * | Don't break if we try to "finish" a waiting CAP when it's already finished | jesopo | 2019-02-06 | 1 | -1/+1 |
| * | Don't .lower() nicknames in Database.py, it doesn't know about IRC casemapping | jesopo | 2019-02-06 | 2 | -4/+5 |
| * | STARTTLS was removed long ago | jesopo | 2019-02-05 | 1 | -2/+0 |
| * | Manually count ACK/NAK for REQed CAPs before ENDing CAP negotiation | jesopo | 2019-02-05 | 1 | -0/+2 |
| * | Switch to using __init__.py as main file of directory modules, so they behave•••like a package (also put the modules manually in sys.modules
| jesopo | 2019-02-05 | 1 | -3/+4 |
| * | Switch to a non-deprecated method of loading files by filename•••(`importlib.util.spec_from_file_location`)
| jesopo | 2019-02-05 | 1 | -2/+4 |
| * | Add `make_event(..)` to EventHookContext | jesopo | 2019-01-30 | 1 | -0/+4 |
| * | Make sure to call the specific hook we've decided is valid (commands.py) | jesopo | 2019-01-30 | 1 | -0/+2 |