Manos Pitsidianakis
7f8c638361
melib/imap: add mailbox creation ability
5 years ago
Manos Pitsidianakis
853fe14128
melib: fix two minor email parsing bugs
...
- windows-1250 encoding not being recognized
- spaces in Message-ID header messing up parsing '<' + msg-id + '>'
structure
5 years ago
Manos Pitsidianakis
6835968d9a
melib/datetime: convert date to utc before converting to unix epoch
5 years ago
Manos Pitsidianakis
86d8419ce7
ui: add manual_refresh, refresh_command settings
...
manual_refresh Ar boolean
(optional) if true, do not monitor account for changes (shortcut listing.refresh)
refresh_command Ar String
(optional) command to execute when manually refreshing (shortcut listing.refresh)
5 years ago
Manos Pitsidianakis
5e912db461
Send timer ID as si_value to SIGALRM handler
...
Associate each alarm signal with the timer of its origin.
5 years ago
Manos Pitsidianakis
a365a846b8
Replace StackVec with smallvec::SmallVec
...
SmallVec has a less buggy and better implementation.
5 years ago
Manos Pitsidianakis
b6403f486b
ui: Remove RefreshMailbox event
...
Leftover from older versions, it wasn't used anywhere
5 years ago
Manos Pitsidianakis
ca7d72e732
melib: Replace String with Cow<'static, str>
5 years ago
Manos Pitsidianakis
9fcc868acd
remove chrono
5 years ago
Manos Pitsidianakis
c0ac643f05
melib: add datetime module
...
Datetime module adds POSIX time functions interface
5 years ago
Manos Pitsidianakis
f6de511abd
plugin-backend: add BackendOp for PluginBackend
5 years ago
Manos Pitsidianakis
beeea9a0c1
ui: implement PosixTimer
...
Add interface for posix timers timer_create(2) time(7)
5 years ago
Manos Pitsidianakis
6671fe926e
melib: don't treat missing end boundary as error
...
Don't treat missing end boundary as error in multipart attachments.
python3's nntplib seems to return MIME attachments with this property
5 years ago
Manos Pitsidianakis
8694278369
ui: add auto_choose_multipart_alternative
...
Choose text/html by default if text/plain is empty in
multipart/alternative attachments
This happens in some newsletters I've come upon
5 years ago
Manos Pitsidianakis
3d84f3b9ad
notmuch: remove needless clones
5 years ago
Manos Pitsidianakis
b964a6a033
Plugins WIP #2
5 years ago
Manos Pitsidianakis
12509748f6
Plugins WIP
5 years ago
Manos Pitsidianakis
21526b5faf
melib: make Work use FnOnce closures
...
There was no need to use Fn() instead of FnOnce()
5 years ago
Manos Pitsidianakis
8de5a9412d
ui/compose: small panic fix
...
if user (Esc)apes from the send dialog the selector widget will not
return any values
5 years ago
Manos Pitsidianakis
0739f80f4b
ui/MailView: print attachment tree instead of list
5 years ago
Manos Pitsidianakis
92826f982f
melib/attachments: add MultipartType::Related kind
5 years ago
Manos Pitsidianakis
9211913405
meli/backends: honor mailbox subscriptions in IMAP/JMAP
5 years ago
Manos Pitsidianakis
7eceef93e9
melib/backends: remove folder_operation
...
folder_operation functionalities will go to BackendFolder trait
5 years ago
Manos Pitsidianakis
9080e0fd96
melib: rename FolderConf `rename` field to alias
5 years ago
Manos Pitsidianakis
450c9f2b1c
Add pre-push git hook
5 years ago
Manos Pitsidianakis
c23cc45edd
melib: fix test import not found
5 years ago
Manos Pitsidianakis
bb18ddc944
ui: make search cache rebuild account-specific
...
ReIndex command is supposed to be account specific yet the account
argument was ignored
5 years ago
Manos Pitsidianakis
2b6f6ab42c
melib: Add BackendFolder methods, move special usage logic to backend
...
- add count() method to return (unseen, total) counts
- add is_subscribed()
- add set_special_usage() and set_is_subscribed()
concerns #8
5 years ago
Manos Pitsidianakis
7bd2b6932d
Fix meli.conf.5 typo and formatting
5 years ago
Manos Pitsidianakis
8f63572584
Small refactors to avoid implicit unwrap() panics
5 years ago
Manos Pitsidianakis
0201241786
melib/backends: MailBackend::refresh() returns Result
...
Handle cases were refresh() would fail properly. Fixes a crash reported in #13
5 years ago
Manos Pitsidianakis
17a0f31b3e
ui/accounts: split StartupCheck event semantics
...
UIEvent::StartupCheck was meant to notify the UI that a folder had made
progress and polling its async worker would return a
Result<Vec<Envelope>>. However the StartupCheck was received by
MailListing components which called account.status() which did the
polling. That means that if the polling got back results, the listing
would have to call account.status() again to show them. This is a
problem in configurations with only one account because there aren't any
other sources of event to force the listing to recheck account.status()
A new event UIEvent::WorkerProgress will do the job of notifying an
Account to poll its workers and the account will send a startupcheck if
it has made progress. That way the refresh progress is as follows:
Worker thread sends WorkerProgress event -> State calls appropriate
account's account.status() method -> account polls workers, and if there
are new results send StartupCheck events -> State passes StartupCheck
events to components -> Listings update themselves when they receive the
event
5 years ago
Manos Pitsidianakis
65efb23f14
melib/MailBackend: add refresh() method
...
Initiate refresh manually.
5 years ago
Manos Pitsidianakis
d2b4057b7b
melib/MailBackend: add connect() method
5 years ago
Manos Pitsidianakis
10368612ab
ui/listing: prevent spinning on is_online check
...
Since self.component is never drawn if account is not online, it will
remain dirty and everything will be redrawn again and again, blocking
the UI.
5 years ago
Manos Pitsidianakis
ab3e01359a
ui/Component: change set_dirty() to set_dirty(value)
...
Next commit will need to set a child component as not dirty so we need
set_dirty(value) instead of set_dirty() that always sets is to true.
5 years ago
Manos Pitsidianakis
2e38ea11e2
melib: make MailBackend::is_online() return Result<()>
...
Return Result<()> instead of bool to indicate connection status in order
to be able to show errors to user.
5 years ago
Manos Pitsidianakis
18a8d22b85
ui/shortcuts: Replace arrow key use with configurable shortcuts
5 years ago
Manos Pitsidianakis
41a4de394a
Add optional 'jmap' feature in binary Cargo.toml.
5 years ago
Manos Pitsidianakis
2ed9ffb145
melib/jmap: construct session resource url from user settings
5 years ago
Manos Pitsidianakis
b3cf45b457
Update manpages for JMAP
5 years ago
Manos Pitsidianakis
da8cd4e85f
Remove jmap from default features
5 years ago
Manos Pitsidianakis
8465864dc0
Merge branch 'jmap'
5 years ago
Manos Pitsidianakis
14eb99f515
JMAP WIP #7
5 years ago
Manos Pitsidianakis
d44a453aed
jmap: add keyword->tag support
5 years ago
Manos Pitsidianakis
aa9a6a3128
melib: add SpecialUseMailbox::detect_usage method
5 years ago
Manos Pitsidianakis
30e9114d9c
jmap: fix warnings
5 years ago
Manos Pitsidianakis
d69be5bb0b
ui/accounts: don't panic if Backend::folders is_err
5 years ago
Manos Pitsidianakis
275c9f421f
JMAP WIP #6
5 years ago
Manos Pitsidianakis
791033d2fc
melib/jmap: add byte operations
5 years ago