Commit Graph

19 Commits

Author SHA1 Message Date
J-P Nurmi
e5b7f2c6df Make CBufLine hold a CMessage internally 2015-08-31 00:24:30 +02:00
J-P Nurmi
2e85eff2fd CQuery: fix buffer playback
A regression caused by d0a58ff. Unlike for CChan, from which the
snippet was copy-pasted, for CQuery the params actually need to be
passed. Otherwise buffer playback PRIVMSGs have empty target nick.
2015-08-18 12:59:21 +02:00
J-P Nurmi
d0a58ff239 Pass CMessage to buffer playback hooks 2015-08-15 13:03:56 +02:00
J-P Nurmi
496a132e32 Resolve #967: separate chan & query buffer size settings 2015-07-19 00:31:10 +02:00
J-P Nurmi
9242307ff7 Merge branch '1.6.x'
Conflicts:
	README.md
	modules/data/webadmin/tmpl/settings.tmpl
	src/Query.cpp
2015-07-14 23:11:17 +02:00
Alexey Sokolov
bae8724a16 Fix build after previous commit... 2015-07-07 22:26:56 +01:00
Alexey Sokolov
326040cf08 Fix query buffer size for users who has 0 in default channel buffer size.
Users who upgrade from <=1.4 to 1.6.0 and have configured 0 for channel buffer, were silently not getting any queries while disconnected anymore.
Thanks to jpnurmi for the idea how to bandaid this in 1.6.x branch.
Proper fix will go to 1.7 and will take form of separate settings for channel and query buffers.

See #967
2015-07-07 20:58:56 +01:00
J-P Nurmi
e3954f4824 Implement IRCv3.2 echo-message capability on the "client side"
http://ircv3.net/specs/extensions/echo-message-3.2.html

TODO: Add echo-message support to CIRCSock when IRCds start supporting it.
Manual echoing won't be necessary for networks that support echo-message.
2015-04-26 19:49:39 +02:00
J-P Nurmi
1d09b41540 Last batch of C++11 range-based for loops (#816) 2015-03-01 21:36:28 +01:00
J-P Nurmi
6a6bb648d1 Use member initialization lists [-Weffc++] (#270) 2015-02-28 21:59:01 +01:00
J-P Nurmi
70c0ffb10b Use nullptr (#816)
Changes applied by 'clang-modernize -use-nullptr [...]'
2015-02-25 09:20:20 +01:00
J-P Nurmi
045f7752cb savebuff: save & load query buffers - fixes #802
The old internal storage format was:

    ::__:SAVEBUFF:__::<buffer lines>

The new storage format for channels:

    ::__:CHANBUFF:__::<buffer name>
    <buffer lines>

The new storage format for queries:

    ::__:QUERYBUFF:__::<buffer name>
    <buffer lines>

See #802 for details why the storage format had to be changed. Reading
the old storage format is still supported so old saved buffers load as
appropriate.
2015-01-16 21:13:44 +01:00
Falk Seidel
2e29d49a53 Welcome to 2015 2014-12-31 11:28:38 +01:00
Alexey Sokolov
c8f49e1da0 Merge pull request #754 from jpnurmi/ready
Add CClient::IsPlaybackActive()
2014-12-04 21:56:13 +00:00
J-P Nurmi
efe1e1ee91 Add CClient::IsPlaybackActive()
To let modules know whether a client is currently in playback mode.
The clientbuffer module (#343) wants to update "last seen message"
timestamps in OnSendToClient() but it must avoid doing that while
in playback mode.
2014-12-01 11:47:24 +01:00
J-P Nurmi
80b799cec0 Pass timestamp to playline hooks
This allows implementing timestamp-based (eg. client specific - #343)
filtering of playback buffers. For clients that don't support server-time,
getting an accurate timestamp out of a raw buffer playline is impossible.
2014-11-27 20:45:35 +01:00
J-P Nurmi
382ce76ded Add self-message support
https://github.com/ircv3/ircv3-specifications/blob/master/extensions/self-message-3.2.md
2014-11-02 16:59:17 +01:00
NuclearW
73b6936d6d Add ircv3.2 batch and batch channel and query buffer playback. 2014-09-28 14:57:06 -04:00
J-P Nurmi
14a534c953 Full-fledged query buffers
Store query buffers per query the same way it's done for channels.

This allows clients to implement persistent query buffers. Queries
remain open across clients and sessions until a client explicitly
sends a command to clear a (closed) query buffer.

A new config option AutoClearQueryBuffer that default to false
ensures behavioral backwards compatibility, and another config
MaxQueries protects from OOM eg. due to PM attacks.
2014-08-04 10:04:21 +02:00