-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support asynchronous retrieval #40
Comments
This is a very nice feature for sure. I don't mind the current behavior but it could definitely be a great addition for some people. Also if we ever wanted to implement displaying comments, this could be very useful for pulling comment threads which might get way larger than the news feed. |
For posterity, I'll be working on this feature in the branches |
@clarete @naclander Sorry about the delay on the asynchronous front further to #44 (comment). Here's a status update for the Both synchronous and asynchronous retrieval work OOTB on all supported Emacs versions via either What's left to do:
So, not too much left to iron out. If tomorrow goes well I might have something almost ready. :) |
Once again, I'm sorry for promising and not delivering anything other than some WIP branches. The preceding months proved too busy to tidy up the implementation and feature branches for this, and I'm currently in an important and uncertain transition period in my academic career, so no big promises until September. Some notes on my older notes:
The latest implementation I was working on tried to generalise this as much as possible by implementing each variation as a separate backend. What is still TBD, though, is how this should interplay with the new
Following the decision to generalise variations as different backends, the only abstraction still needed is to provide a mostly uniform interface to both process invocation and
Still to-do.
I was doing this as I went.
Whenever I tried figuring out a way to do this I came to the conclusion it's too low-priority and too complicated to pursue it. One problem, for example, is how to dynamically load a backend after a user changes
Famous last words. Plot twist: I didn't have something ready tomorrow. ;) Another problem I was contemplating while working on this which I haven't addressed yet, is how to handle quits (C-g) during both sync and async retrieval, i.e. how to ensure a quit doesn't corrupt a/sync state beyond repair/reason, and how to quit async retrieval ASAP following a quit. |
Yet another idea I was contemplating was how best or in how many ways it's possible to report retrieval progress. For example, it might be nice to have the progress report in the |
It should be possible to continue using Emacs whilst news are fetched (and rendered), either optionally or by default. This would be especially nice for fetching large numbers of articles in one go.
I think something like the
man.el
user optionMan-notify-method
would be the best way for users to choose how finalisedhackernews
buffers are notified/presented.If #39 is implemented, a uniform asynchronous interface to both
url.el
and subprocess invocations could in theory be straightforward, given the correspondence ofurl.el
callbacks to process sentinels.The text was updated successfully, but these errors were encountered: