Dominik Bruhn | 1 Dec 11:37
Picon
Favicon
Gravatar

IDLE again

Hy,
whats the current status of the implementaiton of the IDLE-Command?
I know there was an implmenetation which got removed because of various
bugs.
So is it possible to implement IDLE in Offlineimap? Is this a problem of
the libray? How much work is it? Are there any patches available?

Thanks
--

-- 
Dominik Bruhn
mailto: dominik <at> dbruhn.de
_______________________________________________
OfflineIMAP-project mailing list
OfflineIMAP-project <at> lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/offlineimap-project

OfflineIMAP homepage: http://software.complete.org/offlineimap
Dominic LoBue | 3 Dec 13:05
Picon

Re: IDLE again

On Tue, Dec 1, 2009 at 2:37 AM, Dominik Bruhn <dominik <at> dbruhn.de> wrote:
> Hy,
> whats the current status of the implementaiton of the IDLE-Command?
> I know there was an implmenetation which got removed because of various
> bugs.
> So is it possible to implement IDLE in Offlineimap? Is this a problem of
> the libray? How much work is it? Are there any patches available?
>
> Thanks
> --
> Dominik Bruhn
> mailto: dominik <at> dbruhn.de
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEARECAAYFAksU8dwACgkQL62MPsbzkm0d0QCfQPgnJ/G+viY08EvkQrYrRLuL
> y6IAn2qUwyZCIlRUVgh7+k/9d6R/Hrwr
> =kPr8
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> OfflineIMAP-project mailing list
> OfflineIMAP-project <at> lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/offlineimap-project
>
> OfflineIMAP homepage: http://software.complete.org/offlineimap
>

John,
(Continue reading)

Tim Gray | 3 Dec 16:23
Favicon

Re: IDLE again

On Thu  3, Dec'09 at  4:05 AM -0800, Dominic LoBue wrote:
> I too would like to see this feature brought back. I had to stop using
> offlineimap because the removal of IDLE support caused offlineimap to
> peg my workstation's CPUs at 100%.

I would love to see it come back too.  I use it all the time.  I'm still on 
6.1.2 because IDLE was still implemented there and it works fine for me.

_______________________________________________
OfflineIMAP-project mailing list
OfflineIMAP-project <at> lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/offlineimap-project

OfflineIMAP homepage: http://software.complete.org/offlineimap

John Goerzen | 3 Dec 18:00
Favicon

Re: IDLE again

Dominic LoBue wrote:

> I am willing to do the legwork myself on this one to get it working,
> though I could use your assistance in determining the best approach to
> take.

Great!

I suspect that the easiest options would be:

1) Identify and fix the bugs from imaplib2

2) Add IDLE support to imaplib (or use imaplib to provide it)

imaplib2 proved to be a massive user experience problem.  I don't like
the idea of being "buggy by default" (defaulting to imaplib2 with an
option to revert to imaplib), nor do I like a "more bugs please, but
also enable IDLE" sort of option (imaplib default with imaplib2 as an
option).  Enabling IDLE shouldn't cause people to have trouble.

> My other thought is to add IDLE support to the twisted imap client
> library, and switch offlineimap over to twisted.

I attempted that conversion myself some years ago, and had it mostly
working, but it was terrible to maintain.  There also seem to be
questions about the long-term viability of Twisted; I have heard that
they intend to never port it to Python 3.

> Can you point me towards any bug reports that you believe imaplib2 was
> responsible for?
(Continue reading)

exarkun | 3 Dec 18:58

Re: IDLE again

On 05:00 pm, jgoerzen <at> complete.org wrote:
>Dominic LoBue wrote:
>>I am willing to do the legwork myself on this one to get it working,
>>though I could use your assistance in determining the best approach to
>>take.
>
>Great!
>
>I suspect that the easiest options would be:
>
>1) Identify and fix the bugs from imaplib2
>
>2) Add IDLE support to imaplib (or use imaplib to provide it)
>
>imaplib2 proved to be a massive user experience problem.  I don't like
>the idea of being "buggy by default" (defaulting to imaplib2 with an
>option to revert to imaplib), nor do I like a "more bugs please, but
>also enable IDLE" sort of option (imaplib default with imaplib2 as an
>option).  Enabling IDLE shouldn't cause people to have trouble.
>>My other thought is to add IDLE support to the twisted imap client
>>library, and switch offlineimap over to twisted.
>
>I attempted that conversion myself some years ago, and had it mostly
>working, but it was terrible to maintain.  There also seem to be
>questions about the long-term viability of Twisted; I have heard that
>they intend to never port it to Python 3.

Aside from there being questions about the long-term viability of Python 
3 (wink), you can read about Twisted's Python 3 porting plans here:

(Continue reading)

John Goerzen | 3 Dec 20:07
Favicon

Re: IDLE again

exarkun <at> twistedmatrix.com wrote:
> If we can momentarily pretend that the Python 3 question is answered, 
> then I'll just toss in that I'd be quite interested to see offlineimap 
> use Twisted for it's protocol needs.

In that case, I'll offer this:

If someone wants to port OfflineIMAP to Twisted, and produces a stable
and maintainable result, I will happily call it OfflineIMAP 7 and turn
the OfflineIMAP maintainer hat over to you.  You will get admin access
to the software.complete.org project and mailing list and I will retire
from maintaining the project :-)

I don't see this as a bad thing, as I've been trying to retire from this
project for years now.  And, in fact, have tried to hand over the
maintainer hat once or twice, only to find the new maintainer lose
interest after a couple of weeks.  So if someone's proposal to port it
to twisted is accompanied by a credible intention to maintain the
project for years to come, then that's fine with me.

> issues or adding the necessary features to imaplib (although I do *feel* 
> like imaplib is so low-level that, overall, using Twisted's APIs would 
> have to be an improvement).

That's why I initially embarked on that project myself.  You'd think
that, but really the callbacks proved to be so spaghetti-inducing, and
debugging so difficult, that although it ran, it wasn't really maintainable.

I think that both imaplib and Twisted are fundamentally wrong
approaches, each in their own unique way.
(Continue reading)

Gour | 4 Dec 11:34
Gravatar

Re: IDLE again

On Thu, 03 Dec 2009 13:07:54 -0600
>>>>>> "John" == John Goerzen <jgoerzen <at> complete.org> wrote:

John> If I ever get the spare time (haven't in the 2 or 3 years I've
John> been considering this, so don't hold your breath), I'd love to
John> rewrite OfflineIMAP in Haskell, and solve this problem and some
John> others (not crashing when a connection goes down, etc) in one
John> fell swoop.  

This would be great considering that Offlineimap is still
non-replaceable package with no prospect that this situation will
change soon.

Sincerely,
Gour

--

-- 

Gour  | Hlapicina, Croatia  | GPG key: F96FF5F6
----------------------------------------------------------------
_______________________________________________
OfflineIMAP-project mailing list
OfflineIMAP-project <at> lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/offlineimap-project

OfflineIMAP homepage: http://software.complete.org/offlineimap
Dominic LoBue | 3 Dec 23:47
Picon

Re: IDLE again

On Thu, Dec 3, 2009 at 9:58 AM,  <exarkun <at> twistedmatrix.com> wrote:
> On 05:00 pm, jgoerzen <at> complete.org wrote:
>>
>> Dominic LoBue wrote:
>>>
>>> I am willing to do the legwork myself on this one to get it working,
>>> though I could use your assistance in determining the best approach to
>>> take.
>>
>> Great!
>>
>> I suspect that the easiest options would be:
>>
>> 1) Identify and fix the bugs from imaplib2
>>
>> 2) Add IDLE support to imaplib (or use imaplib to provide it)
>>
>> imaplib2 proved to be a massive user experience problem.  I don't like
>> the idea of being "buggy by default" (defaulting to imaplib2 with an
>> option to revert to imaplib), nor do I like a "more bugs please, but
>> also enable IDLE" sort of option (imaplib default with imaplib2 as an
>> option).  Enabling IDLE shouldn't cause people to have trouble.
>>>
>>> My other thought is to add IDLE support to the twisted imap client
>>> library, and switch offlineimap over to twisted.
>>
>> I attempted that conversion myself some years ago, and had it mostly
>> working, but it was terrible to maintain.  There also seem to be
>> questions about the long-term viability of Twisted; I have heard that
>> they intend to never port it to Python 3.
(Continue reading)

Dominic LoBue | 4 Dec 06:45
Picon

Re: IDLE again

On Thu, Dec 3, 2009 at 2:47 PM, Dominic LoBue <dom.lobue <at> gmail.com> wrote:
> On Thu, Dec 3, 2009 at 9:58 AM,  <exarkun <at> twistedmatrix.com> wrote:
>> On 05:00 pm, jgoerzen <at> complete.org wrote:
>>>
>>> Dominic LoBue wrote:
>>>>
>>>> I am willing to do the legwork myself on this one to get it working,
>>>> though I could use your assistance in determining the best approach to
>>>> take.
>>>
>>> Great!
>>>
>>> I suspect that the easiest options would be:
>>>
>>> 1) Identify and fix the bugs from imaplib2
>>>
>>> 2) Add IDLE support to imaplib (or use imaplib to provide it)
>>>
>>> imaplib2 proved to be a massive user experience problem.  I don't like
>>> the idea of being "buggy by default" (defaulting to imaplib2 with an
>>> option to revert to imaplib), nor do I like a "more bugs please, but
>>> also enable IDLE" sort of option (imaplib default with imaplib2 as an
>>> option).  Enabling IDLE shouldn't cause people to have trouble.
>>>>
>>>> My other thought is to add IDLE support to the twisted imap client
>>>> library, and switch offlineimap over to twisted.
>>>
>>> I attempted that conversion myself some years ago, and had it mostly
>>> working, but it was terrible to maintain.  There also seem to be
>>> questions about the long-term viability of Twisted; I have heard that
(Continue reading)

exarkun | 4 Dec 07:32

Re: IDLE again

On 05:45 am, dom.lobue <at> gmail.com wrote:
>
>Jean-Paul,
>
>I read over the IMAP IDLE RFC and went through the IMAP4 twisted
>library and I've sketched out a rough outline of how to implement
>IDLE. I've run into some things in Twisted however that I don't really
>understand well, and I'm hoping you can point me in the correct
>direction.

Cool.  That was quick. :)  Before I get into things, since this thread 
is likely to go into a lot of Twisted-specific details which may not be 
generally interesting, if there's anyone who'd like off the cc list, 
please speak up. :)
>First, just to verify my understanding: the IMAP4Client class is a
>Protocol class.

Yep.  And to expand on that, instances of Protocol classes typically 
have a one-to-one relationship with a connection.
>All IMAP commands are represented by at least two
>methods in the IMAP4Client class - one for what to do when the command
>is received from the server, and one for when the command is sent to
>the server.

Generally, though there are some exceptions.  For example, AUTHENTICATE 
is implemented with one method that starts by possibly sending a 
CAPABILITY (IMAP4Client.authenticate) command, then another method which 
will actually send AUTHENTICATE (IMAP4Client.__cbAuthenticate), then two 
more methods for dealing with the response to the AUTHENTICATE 
(IMAP4Client.__cbContinueAuth and IMAP4Client.__cbAuthTLS).
(Continue reading)

Dominic LoBue | 4 Dec 09:26
Picon

Re: IDLE again

On Thu, Dec 3, 2009 at 10:32 PM,  <exarkun <at> twistedmatrix.com> wrote:
> On 05:45 am, dom.lobue <at> gmail.com wrote:
>>
>> Jean-Paul,
>>
>> I read over the IMAP IDLE RFC and went through the IMAP4 twisted
>> library and I've sketched out a rough outline of how to implement
>> IDLE. I've run into some things in Twisted however that I don't really
>> understand well, and I'm hoping you can point me in the correct
>> direction.
>
> Cool.  That was quick. :)  Before I get into things, since this thread is
> likely to go into a lot of Twisted-specific details which may not be
> generally interesting, if there's anyone who'd like off the cc list, please
> speak up. :)
>>
>> First, just to verify my understanding: the IMAP4Client class is a
>> Protocol class.
>
> Yep.  And to expand on that, instances of Protocol classes typically have a
> one-to-one relationship with a connection.
>>
>> All IMAP commands are represented by at least two
>> methods in the IMAP4Client class - one for what to do when the command
>> is received from the server, and one for when the command is sent to
>> the server.
>
> Generally, though there are some exceptions.  For example, AUTHENTICATE is
> implemented with one method that starts by possibly sending a CAPABILITY
> (IMAP4Client.authenticate) command, then another method which will actually
(Continue reading)

exarkun | 4 Dec 18:26

Re: IDLE again

On 08:26 am, dom.lobue <at> gmail.com wrote:
>On Thu, Dec 3, 2009 at 10:32 PM,  <exarkun <at> twistedmatrix.com> wrote:
>>On 05:45 am, dom.lobue <at> gmail.com wrote:
>>>
>>>Jean-Paul,
>>>
>>>I read over the IMAP IDLE RFC and went through the IMAP4 twisted
>>>library and I've sketched out a rough outline of how to implement
>>>IDLE. I've run into some things in Twisted however that I don't 
>>>really
>>>understand well, and I'm hoping you can point me in the correct
>>>direction.
>>
>>Cool.  That was quick. :)  Before I get into things, since this thread 
>>is
>>likely to go into a lot of Twisted-specific details which may not be
>>generally interesting, if there's anyone who'd like off the cc list, 
>>please
>>speak up. :)
>>>
>>>First, just to verify my understanding: the IMAP4Client class is a
>>>Protocol class.
>>
>>Yep.  And to expand on that, instances of Protocol classes typically 
>>have a
>>one-to-one relationship with a connection.
>>>
>>>All IMAP commands are represented by at least two
>>>methods in the IMAP4Client class - one for what to do when the 
>>>command
(Continue reading)

Dominic LoBue | 4 Dec 20:45
Picon

Re: IDLE again

On Fri, Dec 4, 2009 at 9:26 AM,  <exarkun <at> twistedmatrix.com> wrote:
> On 08:26 am, dom.lobue <at> gmail.com wrote:
>>
>> On Thu, Dec 3, 2009 at 10:32 PM,  <exarkun <at> twistedmatrix.com> wrote:
>>>
>>> On 05:45 am, dom.lobue <at> gmail.com wrote:
>>>>
>>>> Jean-Paul,
>>>>
>>>> I read over the IMAP IDLE RFC and went through the IMAP4 twisted
>>>> library and I've sketched out a rough outline of how to implement
>>>> IDLE. I've run into some things in Twisted however that I don't really
>>>> understand well, and I'm hoping you can point me in the correct
>>>> direction.
>>>
>>> Cool.  That was quick. :)  Before I get into things, since this thread is
>>> likely to go into a lot of Twisted-specific details which may not be
>>> generally interesting, if there's anyone who'd like off the cc list,
>>> please
>>> speak up. :)
>>>>
>>>> First, just to verify my understanding: the IMAP4Client class is a
>>>> Protocol class.
>>>
>>> Yep.  And to expand on that, instances of Protocol classes typically have
>>> a
>>> one-to-one relationship with a connection.
>>>>
>>>> All IMAP commands are represented by at least two
>>>> methods in the IMAP4Client class - one for what to do when the command
(Continue reading)

Ng Oon-Ee | 4 Dec 10:26
Picon

Re: IDLE again

On Fri, 2009-12-04 at 06:32 +0000, exarkun <at> twistedmatrix.com wrote:
> 
>  Before I get into things, since this thread 
> is likely to go into a lot of Twisted-specific details which may not be 
> generally interesting, if there's anyone who'd like off the cc list, 
> please speak up. :)

Its going to the whole list, we'd have to cancel our subscriptions
wouldn't we =). Alternatively I'm sure any decent MUA allows blocking of
threads....

Looks like an interesting discussion, in any case.

_______________________________________________
OfflineIMAP-project mailing list
OfflineIMAP-project <at> lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/offlineimap-project

OfflineIMAP homepage: http://software.complete.org/offlineimap


Gmane