Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Order results by ID in outer query in litterbox | June McEnroe | 2019-12-30 |
| | |||
* | Use X macro for Type enum | June McEnroe | 2019-12-30 |
| | |||
* | Remove scoop -ABC | June McEnroe | 2019-12-30 |
| | | | | | | I can almost get these to work with an inner and outer SQL query, but when contexts starts overlapping it becomes a disaster, so I'm leavin it out at least for now. | ||
* | Add limit option for litterbox's search query interface | June McEnroe | 2019-12-30 |
| | |||
* | Add prospective scoop manual page | June McEnroe | 2019-12-30 |
| | |||
* | Send fts5 errors in response to queries | June McEnroe | 2019-12-28 |
| | |||
* | Don't insert self-messages | June McEnroe | 2019-12-28 |
| | | | | | Even with NOTICEs litterbox would sometimes receive its own responses, which would create duplicates in the database, essentially. | ||
* | Run PRAGMA optimize in dbClose | June McEnroe | 2019-12-28 |
| | |||
* | Call tls_close and dbClose in atexit | June McEnroe | 2019-12-28 |
| | |||
* | Move querySearch code around | June McEnroe | 2019-12-27 |
| | |||
* | Add nick coloring to search query results | June McEnroe | 2019-12-27 |
| | |||
* | Reply to search queries with NOTICE | June McEnroe | 2019-12-27 |
| | | | | | When connected to pounce, it's possible to receive some of its own PMs, so it should respond with what can't be commands. | ||
* | Add search query interface | June McEnroe | 2019-12-27 |
| | |||
* | Use bsearch to find handler | June McEnroe | 2019-12-26 |
| | | | | | | | | | The code is a bit cleaner this way I think, and performance would be better if the list of handlers ever got very long, and it was sorted anyway. However, I would prefer if there were a way to enforce the list being sorted at compile-time. | ||
* | Handle ERROR | June McEnroe | 2019-12-26 |
| | |||
* | Make sure context exists in handleReplyTopic | June McEnroe | 2019-12-26 |
| | |||
* | Inline queries, move stuff around | June McEnroe | 2019-12-25 |
| | | | | | | No idea now why I wanted to have network bound all the time. Ended up creating a copy of the string for each statement instead of just having one like this. | ||
* | Treat topics like motds | June McEnroe | 2019-12-25 |
| | | | | | It's more like a cache of existing topics. events is still meant to record actual topic events. | ||
* | Insert MOTDs into the database | June McEnroe | 2019-12-25 |
| | |||
* | Insert existing topics into the database | June McEnroe | 2019-12-25 |
| | | | | | | | Not sure how to handle the 333 reply that contains the user who set the topic and the timestamp of when it was set, since they're two separate messages that aren't really easily correlated since there's no guarantee that you're even going to get a 333 at all. | ||
* | Handle SIGINT and SIGTERM | June McEnroe | 2019-12-25 |
| | |||
* | Only send JOIN if there are channels to join | June McEnroe | 2019-12-25 |
| | |||
* | Broadcast nick to user and host if they're unset | June McEnroe | 2019-12-25 |
| | |||
* | Handle NAMES reply | June McEnroe | 2019-12-24 |
| | |||
* | Handle topic | June McEnroe | 2019-12-24 |
| | |||
* | Handle quit | June McEnroe | 2019-12-24 |
| | |||
* | It's The Big Refactor | June McEnroe | 2019-12-24 |
| | |||
* | Actually only use a transaction for handlers that need it | June McEnroe | 2019-12-23 |
| | | | | How did I manage that? | ||
* | Take optional explicit path in dbFind | June McEnroe | 2019-12-23 |
| | |||
* | Factour out verbose, dbStep+reset | June McEnroe | 2019-12-23 |
| | |||
* | Handle NICK | June McEnroe | 2019-12-18 |
| | |||
* | Handle JOIN, PART and KICK | June McEnroe | 2019-12-18 |
| | |||
* | Rearrange SQL and IRC code | June McEnroe | 2019-12-18 |
| | |||
* | Wrap handlers in transactions | June McEnroe | 2019-12-18 |
| | |||
* | Rewrite litterbox statements with functions | June McEnroe | 2019-12-18 |
| | |||
* | Use sqlite3_bind_int | June McEnroe | 2019-12-18 |
| | |||
* | Insert events for PRIVMSG and NOTICE | June McEnroe | 2019-12-17 |
| | |||
* | Separate dbBindText wrappers to allow for transient | June McEnroe | 2019-12-17 |
| | |||
* | Use parameter names for all binds | June McEnroe | 2019-12-17 |
| | |||
* | Handle ISUPPORT | June McEnroe | 2019-12-17 |
| | |||
* | Implement -j join | June McEnroe | 2019-12-17 |
| | |||
* | Implement basic IRC connection and message parsing | June McEnroe | 2019-12-17 |
| | |||
* | Add server-time extension to STANDARDS | June McEnroe | 2019-12-16 |
| | |||
* | Link litterbox with -ltls | June McEnroe | 2019-12-16 |
| | |||
* | Move ARRAY_LEN to database.h | June McEnroe | 2019-12-16 |
| | |||
* | Style cleanup | June McEnroe | 2019-12-13 |
| | |||
* | Compact matcher arrays a little | June McEnroe | 2019-12-13 |
| | |||
* | Index network, context, nick, user, target, message in FTS | June McEnroe | 2019-12-13 |
| | | | | | | This way the FTS query syntax for column filtering can be used like "network:freenode" without having to separately build a WHERE clause. The names.host column is not included since it's mostly just noise. | ||
* | Use a macro to write SQL as C tokens without quotes | June McEnroe | 2019-12-13 |
| | | | | | | | | | | This switches to using :params rather than $params only because $ is allowed in identifiers as an extension, whereas : is always a separate preprocessor token. This has the advantage that # collapses excessive whitespace but otherwise preserves formatting, so the resulting SQL query strings look pretty normal. | ||
* | Document context inferrence in unscoop | June McEnroe | 2019-12-13 |
| |