Date | Commit message (Collapse) |
|
This makes things more discoverable
|
|
Earth Day!
https://80x24.org/olddoc-public/20190422014906.4253-1-e@80x24.org/
|
|
This release fixes a missing loop check due to References
being out-of-order. This caused cyclic dependencies leading
to lost message roots.
A NEWS file is also bundled in the RubyGem for non-git users.
|
|
|
|
This release fixes a missing loop check due to References
being out-of-order. This caused cyclic dependencies leading
to lost message roots.
|
|
We failed to detect cyclic dependencies, leading to lost thread
roots. In this Ruby version, I also screwed up the `seen' hash
check in a misguided effort to avoid an extra hash lookup.
The same algorithm was recently fixed in public-inbox:
https://public-inbox.org/meta/20180425085249.14974-1-e@80x24.org/
Summarizing what happened with public-inbox: this algorithm can
still be thrown off when the References: order presented to us
is wrong, so sorting messages by age before feeding to
Msgthr#add can improve the results.
Regardless of ordering, messages should not become "lost" by the
algorithm.
|
|
This release adds callback support to the Msgthr#add method,
allowing callers to track progress and potentially group
message. Thanks to Dimid Duchovny for this feature.
Discussion about it begins here:
https://80x24.org/msgthr-public/CANKvuDf7esPfy3eQ0B8aQjg4sTYTcxR_LNNWeDBcENFwmyC_3g@mail.gmail.com/t/
4 changes from Dimid Duchovny:
add callback to Msgthr#add
test: add a more complex test for add_child callback
test: fix add_child callback test
doc: document block parameter of Msgthr#add
|
|
Signed-off-by: Dimid Duchovny <dimidd@gmail.com>
|
|
Signed-off-by: Dimid Duchovny <dimidd@gmail.com>
|
|
Signed-off-by: Dimid Duchovny <dimidd@gmail.com>
|
|
The motivation is to allow the client to have a custom code executed,
whenever a child is added.
Signed-off-by: Dimid Duchovny <dimidd@gmail.com>
|
|
This release simplifies the API to avoid (and raise on) user
errors. If your code worked with previous versions, there
are no changes necessary to make.
This release fixes our API to match the documentation in making
Msgthr#order! optional. Furthermore, the block previously
passed to Msgthr#order! may now be passed to Msgthr#thread!
instead.
For users who truly do not care about ordering, Msgthr#walk_thread
may be called immediately after the last call to Msgthr#add.
Thanks to Dimid Duchovny for the feedback which led to this release:
https://80x24.org/msgthr-public/CANKvuDc2mkxLuh+3+WXWfMXzxK2bShNesrD5xLocGOD1RybbwQ@mail.gmail.com/
|
|
.olddoc.yml requires the rdoc_url to point to the top-level
for NEWS, unfortunately; but attempt to reduce the indirection
in the main README. While we're at it, attempt to use the
metadata field in newer Rubygems.
|
|
This fixes our API to match the documentation in making
Msgthr#order! optional. Furthermore, the block previously
passed to Msgthr#order! may now be passed to Msgthr#thread!
instead.
We accomplish this by tracking internal state explicitly, so a
Msgthr::StateError exception will be raised when methods are
called in an unsupported order. This internal state is reset
with Msgthr#clear.
For users who truly do not care about ordering, Msgthr#walk_thread
may be called immediately after the last call to Msgthr#add.
Thanks to Dimid Duchovny for the feedback which led to this:
https://80x24.org/msgthr-public/CANKvuDc2mkxLuh+3+WXWfMXzxK2bShNesrD5xLocGOD1RybbwQ@mail.gmail.com/
|
|
|
|
Oh, so that's why I hadn't released this project earlier...
|
|
Seems to work...
|
|
Mainly, we want to emphasize the container-agnosticism over the
non-recursive nature of our algorithm; as the former will likely
be more appealing to those not familiar with message threading
at all.
|
|
|
|
Not really a problem, but it is shorter and lighter.
|
|
|