<feed xmlns='http://www.w3.org/2005/Atom'>
<title>aerc/worker/imap, branch 0.2.1</title>
<subtitle>Mirror of https://git.sr.ht/~sircmpwn/aerc
</subtitle>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/'/>
<entry>
<title>Register worker in init.</title>
<updated>2019-07-19T19:37:55+00:00</updated>
<author>
<name>Reto Brunner</name>
<email>reto@labrat.space</email>
</author>
<published>2019-07-18T04:25:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=6fed04bb9fa43d3886d47d0c845d32fff11569b5'/>
<id>6fed04bb9fa43d3886d47d0c845d32fff11569b5</id>
<content type='text'>
This allows backends which can't always be compiled due to missing
dependencies (say libnotmuch) to be compiled conditionally with buildflags.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows backends which can't always be compiled due to missing
dependencies (say libnotmuch) to be compiled conditionally with buildflags.
</pre>
</div>
</content>
</entry>
<entry>
<title>#190 Handle gmail duplicate folder</title>
<updated>2019-07-11T23:38:40+00:00</updated>
<author>
<name>Daniel Bridges</name>
<email>bridges2@gmail.com</email>
</author>
<published>2019-07-11T04:49:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=06da4512b98e6dd0526522f5350d22555d7e5d83'/>
<id>06da4512b98e6dd0526522f5350d22555d7e5d83</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support imaps with oauthbearer authentication (Gmail)</title>
<updated>2019-07-11T23:36:14+00:00</updated>
<author>
<name>Frode Aannevik</name>
<email>frode.aa@gmail.com</email>
</author>
<published>2019-07-10T19:00:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=b0eaf5191c9bc5b128e347625b7eef998ba63c41'/>
<id>b0eaf5191c9bc5b128e347625b7eef998ba63c41</id>
<content type='text'>
    imaps+oauthbearer://user:token@host?token_endpoint=...

 - the config Source password is used as access token if
   no token_endpoint parameter is set
 - the config Source password is used as refresh token if
   token_endpoint parameter is set, and used to exchange
   with an access token

The implementation has only been tested with Gmail.

    source = imaps+oauthbearer://{username}:{refersh_token}@imap.gmail.com:993? \
    client_id=XX&amp;\
    client_secret=XX&amp;\
    token_endpoint=https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Ftoken

client credentials created with

    https://console.developers.google.com/apis/credentials

refresh token created with

    https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py

rel: https://todo.sr.ht/~sircmpwn/aerc2/42
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
    imaps+oauthbearer://user:token@host?token_endpoint=...

 - the config Source password is used as access token if
   no token_endpoint parameter is set
 - the config Source password is used as refresh token if
   token_endpoint parameter is set, and used to exchange
   with an access token

The implementation has only been tested with Gmail.

    source = imaps+oauthbearer://{username}:{refersh_token}@imap.gmail.com:993? \
    client_id=XX&amp;\
    client_secret=XX&amp;\
    token_endpoint=https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Ftoken

client credentials created with

    https://console.developers.google.com/apis/credentials

refresh token created with

    https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py

rel: https://todo.sr.ht/~sircmpwn/aerc2/42
</pre>
</div>
</content>
</entry>
<entry>
<title>Factor IMAP-specific structs out of UI models</title>
<updated>2019-07-08T20:06:28+00:00</updated>
<author>
<name>Ben Burwell</name>
<email>ben@benburwell.com</email>
</author>
<published>2019-07-08T02:43:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=c610c3cd9dd47c400e52c1858e987f5f32a7a45b'/>
<id>c610c3cd9dd47c400e52c1858e987f5f32a7a45b</id>
<content type='text'>
Before, we were using several IMAP-specific concepts to represent
information being displayed in the UI. Factor these structures out of
the IMAP package to make it easier for other backends to provide the
required information.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before, we were using several IMAP-specific concepts to represent
information being displayed in the UI. Factor these structures out of
the IMAP package to make it easier for other backends to provide the
required information.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use []uint32 instead of imap.SeqSet</title>
<updated>2019-07-08T20:06:26+00:00</updated>
<author>
<name>Ben Burwell</name>
<email>ben@benburwell.com</email>
</author>
<published>2019-07-08T02:43:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=88c379dcbaaf9fd549cd271817e79fe634b1dd84'/>
<id>88c379dcbaaf9fd549cd271817e79fe634b1dd84</id>
<content type='text'>
A sequence-set is an IMAP-specific implementation detail. Throughout the
UI, aerc simply operates using lists of opaque identifiers. In order to
loosen the coupling between the UI and IMAP in particular, replace most
usages of imap.SeqSet with []uint32, leaving the translation to a SeqSet
to the IMAP backend as needed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A sequence-set is an IMAP-specific implementation detail. Throughout the
UI, aerc simply operates using lists of opaque identifiers. In order to
loosen the coupling between the UI and IMAP in particular, replace most
usages of imap.SeqSet with []uint32, leaving the translation to a SeqSet
to the IMAP backend as needed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Factor UI models out of the worker message package</title>
<updated>2019-07-08T20:06:23+00:00</updated>
<author>
<name>Ben Burwell</name>
<email>ben@benburwell.com</email>
</author>
<published>2019-07-08T02:43:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=cce7cb48081ca090ac2d3a0e781dfbc25d581946'/>
<id>cce7cb48081ca090ac2d3a0e781dfbc25d581946</id>
<content type='text'>
Before, the information needed to display different parts of the UI was
tightly coupled to the specific messages being sent back and forth to
the backend worker. Separating out a models package allows us to be more
specific about exactly what a backend is able to and required to
provide for the UI.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before, the information needed to display different parts of the UI was
tightly coupled to the specific messages being sent back and forth to
the backend worker. Separating out a models package allows us to be more
specific about exactly what a backend is able to and required to
provide for the UI.
</pre>
</div>
</content>
</entry>
<entry>
<title>Sort out dirstore once and for all</title>
<updated>2019-07-04T16:31:27+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-07-04T16:31:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=f7387f8c60d140b8b1c7236dfc2aa8d0471d05e7'/>
<id>f7387f8c60d140b8b1c7236dfc2aa8d0471d05e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>worker/imap: rig up search directory handler</title>
<updated>2019-06-24T20:31:37+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-06-24T20:31:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=198661bfbdf97690ea766da7396c496555b3a4e0'/>
<id>198661bfbdf97690ea766da7396c496555b3a4e0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>worker/imap: implement search</title>
<updated>2019-06-24T20:29:25+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-06-24T20:29:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=0e9c411751c752eeef4e2132f778308689001388'/>
<id>0e9c411751c752eeef4e2132f778308689001388</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>imap: block until directory list is fully received</title>
<updated>2019-06-14T14:49:31+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-06-14T14:49:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=fd0265d917edaf6d9448bdf9df2708f5de380cab'/>
<id>fd0265d917edaf6d9448bdf9df2708f5de380cab</id>
<content type='text'>
This fixes issues with INBOX mysteriously not being present at times
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes issues with INBOX mysteriously not being present at times
</pre>
</div>
</content>
</entry>
</feed>
