Commit graph

918 commits

Author SHA1 Message Date
Aaron Weiss
99f772cccb
Merge pull request #192 from andreasots/tag-escapes
Escape and unescape IRCv3 message tag values
2020-01-30 17:07:43 -05:00
Andreas Ots
b903c2595e extract tag value escape and unescape functions 2020-01-30 23:39:47 +02:00
Kaleb Elwert
14e1f845f3 Add features to travis.yml 2020-01-29 15:09:10 -08:00
Kaleb Elwert
dd09555537 Make serde optional 2020-01-29 11:06:58 -08:00
Aaron Weiss
2339ca5fe6
Merge pull request #196 from belak/irc-proto-features
Properly declare required tokio-util features
2020-01-29 14:05:18 -05:00
Aaron Weiss
937b04d91b
Merge pull request #198 from belak/fix-no-user-tracking
Fix client::test::no_user_tracking
2020-01-29 14:03:43 -05:00
Aaron Weiss
52dc41df7f
Merge pull request #197 from belak/upgrade-bytes
Upgrade bytes to match irc-proto
2020-01-29 14:02:37 -05:00
Kaleb Elwert
57e5874852 Fix client::test::no_user_tracking 2020-01-28 22:11:17 -08:00
Kaleb Elwert
3d5b6004eb Upgrade additional packages 2020-01-28 18:25:35 -08:00
Kaleb Elwert
9b80f298b6 Upgrade bytes to match irc-proto 2020-01-28 18:16:48 -08:00
Kaleb Elwert
52eca3642e Properly declare required tokio-util features
Fixes #194
2020-01-28 18:14:27 -08:00
Andreas Ots
2bb980044b Escape/unescape IRCv3 message tag values 2020-01-19 11:44:27 +02:00
Aaron Weiss
a086e0913c
Merge pull request #189 from udoprog/fix-sync-resolve
Avoid synchronously resolving server address
2019-12-30 19:28:34 -05:00
Aaron Weiss
866b5a60a0
Merge pull request #188 from udoprog/fix-outgoing-state
Fix updating outgoing client state
2019-12-30 19:27:29 -05:00
John-John Tedro
b08e2a89ae Avoid synchronously resolving server address 2019-12-29 19:08:31 +01:00
John-John Tedro
731f792686 Fix updating outgoing client state
This also allows us to simplify the channel_tracking_names_part test.
2019-12-28 07:34:48 +01:00
Aaron Weiss
71a703c762
Merge pull request #186 from udoprog/config
Simplify Config structure
2019-12-27 16:57:09 -05:00
Aaron Weiss
4c756654a1
Merge pull request #187 from udoprog/fix-test-todo
Fix test which requires driving the outgoing queue
2019-12-27 16:52:57 -05:00
Aaron Weiss
8a6d8f4017
Merge pull request #185 from udoprog/thiserror
Switch to modern error handling
2019-12-27 16:50:57 -05:00
John-John Tedro
9066824213 Fix test which requires driving the outgoing queue 2019-12-27 17:36:11 +01:00
John-John Tedro
5189b69e7e Simplify Config structure
This simplifies some of the `Config` structure, in particular this
means:

Parameters which are meaningfully equivalent longer stored in
an `Option<T>`, an example of this is `channels`. If you don't
want to join any channels you simply leave it as empty instead.
In effect, `None` is behaviorally equivalent to `vec![]`.

We don't allocate when accessing certain configuration options.
For example, when accessing `channels` we used to allocate a
vector to handle the "empty case", we simply return the slice
corresponding to the list of channels instead.

We skip serializing empty or optional configuration fields.
From a deserialization perspective this is already something
that was mostly supported through use of `Option<T>` and
`#[serde(default)]`.
2019-12-27 17:12:46 +01:00
John-John Tedro
f200a9f281 Switch to modern error handling 2019-12-27 17:01:03 +01:00
Aaron Weiss
cebd250f00
Merge pull request #184 from udoprog/tokio-bump
First stab at bumping the project to tokio 0.2
2019-12-27 10:07:00 -05:00
John-John Tedro
549e2e8722 Port to tokio 0.2 2019-12-18 21:06:04 +01:00
Aaron Weiss
9bb7fa8ba2
Merge pull request #180 from AGausmann/compile-fixes
Fix compilation errors on 0.14
2019-06-13 11:50:27 -04:00
Adam Gausmann
3d78f8e0b7 Test fix 2019-06-10 21:04:18 -05:00
Adam Gausmann
400c982639 Fix compilation errors on 0.14 2019-06-10 20:52:36 -05:00
Aaron Weiss
0b7a7a0f02
fixup! Merge branch 'develop' into 0.14 2019-06-06 13:41:30 -04:00
Aaron Weiss
c383c6241e
Merge branch 'develop' into 0.14 2019-06-06 13:40:55 -04:00
Aaron Weiss
4edb99f000
Merge pull request #178 from jesopo/develop
Don't send an empty CTCP SOURCE response
2019-06-03 14:07:31 -04:00
jesopo
379a2db9fa Update source_response test 2019-05-18 23:08:08 +01:00
jesopo
9dbb04431a Don't send an empty CTCP SOURCE response 2019-05-18 22:51:55 +01:00
Aaron Weiss
67fcfb4e86
Merge pull request #175 from udoprog/send-static
Mark Future in PackedIrcClient as Send + 'static
2019-03-17 10:25:18 -04:00
John-John Tedro
f02362c782 Mark Future in PackedIrcClient as Send + 'static 2019-03-17 11:52:48 +01:00
Aaron Weiss
48b5adf33b
Merge pull request #173 from dgriffen/dev/dgriffen/non-sequential-handler
spawn handler futures on the reactor
2019-01-14 10:16:43 -05:00
Daniel Griffen
971a386ca0
spawn handler futures on the reactor 2019-01-09 20:18:38 -08:00
Aaron Weiss
885e96a495
Merge pull request #171 from Blajda/handle_single_soh
Handle the case of a single SOH in PRIVMSG
2019-01-04 13:21:49 -05:00
David Blajda
199f591e78 Handle the case of a single SOH in PRIVMSG 2019-01-03 19:33:17 +00:00
Aaron Weiss
e3decd470d
Merge pull request #161 from FauxFaux/parse-user
parse traditional USER form
2018-10-21 13:36:00 -04:00
Chris West (Faux)
99fe1256e1 parse traditional USER form
Fixes: #160
2018-10-21 12:25:08 +01:00
Aaron Weiss
47d9c4c78b
Merge pull request #149 from brigand/feat/develop/message-prefix
Introduces Prefix enum
2018-10-15 11:16:30 -04:00
Aaron Weiss
d75ca3b072
Merge pull request #159 from Bassetts/ci-bot
Add test bot for CI
2018-10-13 20:30:04 -04:00
Jason Liquorish
cdf874c23e Re-format ci bot message 2018-10-12 23:11:02 +01:00
Jason Liquorish
f1d7d71471 Add test bot for CI 2018-10-09 19:06:16 +01:00
Aaron Weiss
771200e503
Merge pull request #157 from theduke/packed-client-send-bound
Add 'Send' bound for PackedClient client future.
2018-10-04 14:43:00 -04:00
Christoph Herzog
e112efe7dd Add 'Send' bound for PackedClient client future.
The Future is Send anyway, but this bound on the Box is neccessary
to use the future across threads because the compiler can't figure
out the Send bound otherwise.
2018-10-04 18:20:41 +02:00
Aaron Weiss
8d054dc281
Merge pull request #155 from theduke/owned-config
Refactor IrcClientFuture and ConnectionFuture to own the config
2018-10-03 21:13:57 -04:00
Christoph Herzog
e5089fa317 Use tokio::net::tcp::ConnectFuture instead of deprecated re-export. 2018-10-04 02:53:56 +02:00
Christoph Herzog
2aff64b645 Refactor IrcClientFuture and ConnectionFuture to own the config
This commit refactors IrcClientFuture and ConnectionFuture to own
the config instead of holding a reference.

This is required for reconnecting in dynamic contexts.
This is not possible with the old API, because Config is a reference,
requiring the value to live for the whole execution of the reactor.
2018-10-04 02:52:53 +02:00
Aaron Weiss
df17992f6d
Removed protocol keyword (preventing publish). 2018-10-03 12:54:13 -04:00