Feed Advanced Search

Sep 26 2017

cmollekopf added a comment to T1678: Credential storage.

What we have now is that the password get's cached locally and is distributed to resource. What we miss is:

  • Secure storage of the passphrase (so you can unlock a seperate keyring instead)*
  • A password dialog that deals with accounts that require multiple passwords
  • A sane mechanism that deals with the multi-account situation. Right now we just move into the login screen whenever we activate an account that has a locked keyring, and the login screen cannot be escaped. For proper multi-account support we probably want to make this more opt-in:
    • An account could in principle be usable without password, just offline only. Whether that is useful is questionable though, it probably makes sense to keep unlocking the keyring a requirement for access (this will then also work if we decided to actually encrypt local caches etc).
    • Right now the account switcher is inside the mail-view which, cannot be accesses from the login screen. Either the account switcher needs to change, or the login screen needs to get an account switcher.
Sep 26 2017, 10:32 AM · Kube (0.5), Sink

Sep 18 2017

cmollekopf moved T1678: Credential storage from Backlog to In Progress on the Kube (0.5) board.
Sep 18 2017, 6:08 AM · Kube (0.5), Sink

Sep 16 2017

cmollekopf created T7019: Merge https://github.com/KDE/sink/pull/2.
Sep 16 2017, 10:18 AM · Sink

Sep 8 2017

cmollekopf added a comment to T1678: Credential storage.

First implementation:

  • Client registers a callback with libsink to provide the password.
  • Resources send a command requesting the password and wait with logging in until the password is available.
  • Callback provides requested password by sending it via command to resource.
  • The resource caches the password in-memory for duration of process
  • The client caches the password in-memory for the duration of the process (because resources can die in-between).
  • The client simply requests the password from the user on every start.
Sep 8 2017, 7:09 AM · Kube (0.5), Sink

Sep 6 2017

cmollekopf added a comment to T1678: Credential storage.

https://developer.pidgin.im/wiki/PlainTextPasswords

Sep 6 2017, 10:53 AM · Kube (0.5), Sink

Aug 29 2017

cmollekopf closed T6890: Synchronizer process does sometimes not die without clients as Resolved by committing R9:dd2d4263459c: use Q_GLOBAL_STATIC.
Aug 29 2017, 3:29 AM · Sink
cmollekopf added a comment to T6890: Synchronizer process does sometimes not die without clients.

The process is in the "interruptible sleep" state which means it's waiting on I/O. I think that matches the mutex lock call we see.

Aug 29 2017, 12:17 AM · Sink

Aug 28 2017

cmollekopf added a comment to T6890: Synchronizer process does sometimes not die without clients.

This backtrace doesn't seem to make a lot of sense... We can hardly get from the QueryBase destructor into the QSettings destructor, or at least I don't know how. QList::last to Sink::Store::modify is also rather interesting.

Aug 28 2017, 11:52 PM · Sink
cmollekopf created T6890: Synchronizer process does sometimes not die without clients.
Aug 28 2017, 11:45 PM · Sink

Aug 25 2017

cmollekopf moved T1678: Credential storage from Backlog to 0.5 on the Kube board.
Aug 25 2017, 8:44 PM · Kube (0.5), Sink
cmollekopf closed T6174: Improve IMAP Fetch performance by avoiding parsing as Resolved.
Aug 25 2017, 8:40 PM · Kube, Sink, KIMAP2

Aug 23 2017

cmollekopf closed T5570: Deadlock on Kube exit as Resolved by committing R162:dfa1c2dab991: Install the webengineprofile as singleton.
Aug 23 2017, 2:29 AM · Kube (0.4), Sink
cmollekopf moved T5570: Deadlock on Kube exit from Backlog to Done on the Kube (0.4) board.
Aug 23 2017, 2:25 AM · Kube (0.4), Sink
cmollekopf moved T5570: Deadlock on Kube exit from Backlog to 0.4 on the Kube board.
Aug 23 2017, 2:23 AM · Kube (0.4), Sink

Jul 3 2017

mbohlender closed T5795: KDAV: Remove KIO dependency as Resolved.
Jul 3 2017, 1:44 PM · Kube (0.3), KDE PIM, Sink
mbohlender closed T5326: Initial Gmail support as Resolved.
Jul 3 2017, 1:44 PM · Kube (0.3), Sink
mbohlender closed T6194: Remove threading by subject as Resolved.
Jul 3 2017, 1:43 PM · Kube (0.3), Sink

Jun 30 2017

mbohlender moved T5795: KDAV: Remove KIO dependency from In Progress to Done on the Kube (0.3) board.
Jun 30 2017, 12:47 PM · Kube (0.3), KDE PIM, Sink

Jun 26 2017

cmollekopf moved T5795: KDAV: Remove KIO dependency from Backlog to In Progress on the Kube (0.3) board.
Jun 26 2017, 1:29 PM · Kube (0.3), KDE PIM, Sink
cmollekopf moved T5795: KDAV: Remove KIO dependency from Backlog to 0.3 on the Kube board.
Jun 26 2017, 1:28 PM · Kube (0.3), KDE PIM, Sink

Jun 25 2017

cmollekopf added a comment to T5795: KDAV: Remove KIO dependency.

This will be resolved with: https://phabricator.kde.org/source/kdav/browse/dev%252Fnokio/

Jun 25 2017, 9:39 PM · Kube (0.3), KDE PIM, Sink

Jun 21 2017

cmollekopf created T6375: Imap Resource: Fetch messages from server in reverse order (latest first).
Jun 21 2017, 2:18 PM · Sink
cmollekopf added a comment to T6174: Improve IMAP Fetch performance by avoiding parsing.

This will be available in kimap 0.2

Jun 21 2017, 2:16 PM · Kube, Sink, KIMAP2

May 24 2017

cmollekopf lowered the priority of T6194: Remove threading by subject from Normal to Low.
May 24 2017, 12:25 PM · Kube (0.3), Sink
cmollekopf created T6194: Remove threading by subject.
May 24 2017, 9:57 AM · Kube (0.3), Sink

May 21 2017

cmollekopf created T6174: Improve IMAP Fetch performance by avoiding parsing.
May 21 2017, 8:49 AM · Kube, Sink, KIMAP2

May 13 2017

cmollekopf created T6101: Storage upgrade (new indexes and stuff)..
May 13 2017, 9:00 AM · Kube (0.6), Sink

May 4 2017

cmollekopf added a comment to T5570: Deadlock on Kube exit.

Not sure about the above backtrace, but webengine requestinterceptor is the current cause for kube to not shut down as it should.

May 4 2017, 3:22 PM · Kube (0.4), Sink
cmollekopf closed T5880: Crash on opening the wrong database as Resolved.

Seems to be fixed with R9:00efa772f1b3

May 4 2017, 6:20 AM · Sink

May 3 2017

cmollekopf added a comment to T5880: Crash on opening the wrong database.

Found it maybe:

void EntityStore::cleanupEntityRevisionsUntil(qint64 revision)
{
    const auto uid = DataStore::getUidFromRevision(d->transaction, revision);
    //<-- Here we read bufferType, but internally it still points to memory that according to the documentation is valid until the next modification,
    //or the end of the transaction
    const auto bufferType = DataStore::getTypeFromRevision(d->transaction, revision);
    if (bufferType.isEmpty() || uid.isEmpty()) {
        SinkErrorCtx(d->logCtx) << "Failed to find revision during cleanup: " << revision;
        Q_ASSERT(false);
        return;
    }
    SinkTraceCtx(d->logCtx) << "Cleaning up revision " << revision << uid << bufferType;
    DataStore::mainDatabase(d->transaction, bufferType)
        .scan(uid,
            [&](const QByteArray &key, const QByteArray &data) -> bool {
                EntityBuffer buffer(const_cast<const char *>(data.data()), data.size());
                if (!buffer.isValid()) {
                    SinkWarningCtx(d->logCtx) << "Read invalid buffer from disk";
                } else {
                    const auto metadata = flatbuffers::GetRoot<Metadata>(buffer.metadataBuffer());
                    const qint64 rev = metadata->revision();
                    const auto isRemoval = metadata->operation() == Operation_Removal;
                    // Remove old revisions, and the current if the entity has already been removed
                    if (rev < revision || isRemoval) {
                        //<-- This modification might invalidate the storage pointed to in bufferType
                        DataStore::removeRevision(d->transaction, rev);
                        //<-- This is where we crash because of garbage in bufferType
                        DataStore::mainDatabase(d->transaction, bufferType).remove(key);
                    }
                    if (isRemoval) {
                        const auto directory = d->entityBlobStoragePath(uid);
                        QDir dir(directory);
                        if (!dir.removeRecursively()) {
                            SinkErrorCtx(d->logCtx) << "Failed to cleanup: " << directory;
                        }
                    }
                    //Don't cleanup more than specified
                    if (rev >= revision) {
                        return false;
                    }
                }
May 3 2017, 7:20 PM · Sink
cmollekopf added a comment to T5880: Crash on opening the wrong database.
bash-4.3$ sinksh inspect mail --resource {db036a30-0b44-47c5-8086-e96e4b3e8507}
Warning: sinksh.storage            : Opened the wrong database, got  "il\x00\x04.main"  instead of  "il"
Warning: sinksh.storage            : Failed to open the database correctly "il"
ASSERT: "false" in file /work/source/Sink/common/storage_lmdb.cpp, line 677
Aborted (core dumped)
May 3 2017, 2:50 PM · Sink
cmollekopf added a comment to T5880: Crash on opening the wrong database.

From the db. This looks almost as if that weird "il\00\04.main" was actually created by something.

VERSION=3
format=print
database=__flagtable
type=btree
mapsize=83886080000
maxreaders=126
db_pagesize=4096
HEADER=END
 __internal_dbname
 __flagtable
 default
 default
 folder.index.name
 folder.index.name
 folder.index.parent
 folder.index.parent
 folder.main
 folder.main
 il\00\04.main
 il\00\04.main
 mail.index.date
 mail.index.date
 mail.index.folder
 mail.index.folder
 mail.index.folder.sort.date
 mail.index.folder.sort.date
 mail.index.messageId
 mail.index.messageId
 mail.index.messageIdthreadId
 mail.index.messageIdthreadId
 mail.index.parentMessageId
 mail.index.parentMessageId
 mail.index.subjectthreadId
 mail.index.subjectthreadId
 mail.index.threadIdmessageId
 mail.index.threadIdmessageId
 mail.main
 mail.main
 revisionType
 revisionType
 revisions
 revisions
 uids
 uids
DATA=END

...

VERSION=3
format=print
database=il
type=btree
mapsize=83886080000
maxreaders=126
db_pagesize=4096
HEADER=END
 __internal_dbname
 il\00\04.main
DATA=END
May 3 2017, 2:47 PM · Sink
cmollekopf added a comment to T5880: Crash on opening the wrong database.

Another corrupt db (see above). Dump with:
mdb_dump -pan ~/.local/share/sink/storage/\{db036a30-0b44-47c5-8086-e96e4b3e8507\}/data.mdb

May 3 2017, 2:38 PM · Sink
cmollekopf added a comment to T5880: Crash on opening the wrong database.
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  0  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  1  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  2  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  3  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  4  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  5  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  6  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  7  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  8  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  9  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  10  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  11  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  12  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  13  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  14  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  15  out of  428
Log:     {e791a06b-8a53-4ecd-8fcc-19fbe852a8ac}.synchronizer : Done Synchronizing
Log:     {e791a06b-8a53-4ecd-8fcc-19fbe852a8ac}.synchronizer : All requests processed.
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  16  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  17  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  18  out of  428
Log:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.imapresource       : Progress:  19  out of  428
^CLog:     {db036a30-0b44-47c5-8086-e96e4b3e8507}.communication      : "Dropped connection: PID: 6027 ResourceAccess: 32613200" QLocalSocket(0x1c00000)
Log:     kolabnowImap.communication : "Dropped connection: PID: 6027 ResourceAccess: 38466624" QLocalSocket(0xaf0f00)
Log:     {e791a06b-8a53-4ecd-8fcc-19fbe852a8ac}.communication : "Dropped connection: PID: 6027 ResourceAccess: 38475600" QLocalSocket(0x2124020)
Log:     kolabnowDav.communication : "Dropped connection: PID: 6027 ResourceAccess: 38462960" QLocalSocket(0xb2bf50)
Log:     {a26ababb-24bb-4c9d-83d9-68a90dc05206}.communication         : "Dropped connection: PID: 6027 ResourceAccess: 38323184" QLocalSocket(0x12d2030)
Log:     kolabnowSmtp.communication : "Dropped connection: PID: 6027 ResourceAccess: 38288016" QLocalSocket(0x115af40)
May 3 2017, 1:19 PM · Sink

May 2 2017

mbohlender added a comment to T5326: Initial Gmail support.

Works good enough for my daily needs so far.

May 2 2017, 12:14 PM · Kube (0.3), Sink
cmollekopf added a comment to T5880: Crash on opening the wrong database.

And again:

May 2 2017, 9:40 AM · Sink

Apr 27 2017

cmollekopf moved T5326: Initial Gmail support from In Progress to Done on the Kube (0.3) board.
Apr 27 2017, 7:48 AM · Kube (0.3), Sink
cmollekopf added a comment to T5326: Initial Gmail support.

We now only sync inbox/sent/drafts/trash and ignore everything else on gmail.

Apr 27 2017, 7:48 AM · Kube (0.3), Sink
cmollekopf moved T5326: Initial Gmail support from Backlog to In Progress on the Kube (0.3) board.
Apr 27 2017, 7:47 AM · Kube (0.3), Sink

Apr 21 2017

cmollekopf added a comment to T5326: Initial Gmail support.

We currently require that the user enables less secure apps:
https://myaccount.google.com/lesssecureapps

Apr 21 2017, 10:30 AM · Kube (0.3), Sink
cmollekopf raised the priority of T5880: Crash on opening the wrong database from Normal to High.
Apr 21 2017, 10:29 AM · Sink
cmollekopf updated the task description for T5880: Crash on opening the wrong database.
Apr 21 2017, 10:28 AM · Sink
cmollekopf added a comment to T5880: Crash on opening the wrong database.

The corrupt db file (from what you see above):

Apr 21 2017, 10:24 AM · Sink
cmollekopf added a comment to T5880: Crash on opening the wrong database.

I managed to corrupt a db again:

Log:     gmailresource1.imapserverproxy    : Found mailbox:  "INBOX" ("\\hasnochildren") \Noselect false  sub:  true
Log:     gmailresource1.imapserverproxy    : Found mailbox:  "[Gmail]/Entwürfe" ("\\drafts", "\\hasnochildren") \Noselect false  sub:  true
Log:     gmailresource1.imapserverproxy    : Found mailbox:  "[Gmail]/Gesendet" ("\\hasnochildren", "\\sent") \Noselect false  sub:  true
Log:     gmailresource1.imapserverproxy    : Found mailbox:  "[Gmail]/Papierkorb" ("\\hasnochildren", "\\trash") \Noselect false  sub:  true
Log:     gmailresource1.imapresource       : Syncing folder  "INBOX"
Log:     gmailresource1.imapresource       :  with date-range  QDate("2017-04-06")
Log:     gmailresource1.synchronizer       : Synchronizing mails:  "INBOX"
Log:     gmailresource1.synchronizer       :  fetching headers also:  false
Log:     gmailresource1.synchronizer       : About to update flags "INBOX" changedsince:  273911
Log:     gmailresource1.synchronizer       : Flags updated. New changedsince value:  274018
Log:     gmailresource1.synchronizer       : Fetching messages since:  QDate("2017-04-06")
Log:     gmailresource1.imapresource       : Progress:  0  out of  0
Log:     gmailresource1.synchronizer       : UIDMAX:  0 "INBOX"
Log:     gmailresource1.synchronizer       : No additional headers to fetch.
Log:     gmailresource1.imapresource       : Removed  2  mails in  "INBOX" 25 [ms]   12  [ms/mail]
Log:     gmailresource1.imapresource       : Syncing folder  "[Gmail]/Entwürfe"
Log:     gmailresource1.imapresource       :  with date-range  QDate("2017-04-06")
Log:     gmailresource1.synchronizer       : Synchronizing mails:  "[Gmail]/Entw\xC3\xBCrfe"
Log:     gmailresource1.synchronizer       :  fetching headers also:  false
Log:     gmailresource1.synchronizer       : About to update flags "[Gmail]/Entwürfe" changedsince:  273911
Log:     gmailresource1.synchronizer       : Flags updated. New changedsince value:  274018
Log:     gmailresource1.synchronizer       : Fetching messages since:  QDate("2017-04-06")
Log:     gmailresource1.imapresource       : Progress:  0  out of  0
Log:     gmailresource1.synchronizer       : UIDMAX:  0 "[Gmail]/Entwürfe"
Log:     gmailresource1.synchronizer       : No additional headers to fetch.
Log:     gmailresource1.imapresource       : Removed  0  mails in  "[Gmail]/Entw\xC3\xBCrfe" 0 [ms]   0  [ms/mail]
Log:     gmailresource1.imapresource       : Syncing folder  "[Gmail]/Gesendet"
Log:     gmailresource1.imapresource       :  with date-range  QDate("2017-04-06")
Log:     gmailresource1.synchronizer       : Synchronizing mails:  "[Gmail]/Gesendet"
Log:     gmailresource1.synchronizer       :  fetching headers also:  false
Log:     gmailresource1.synchronizer       : About to update flags "[Gmail]/Gesendet" changedsince:  273911
Log:     gmailresource1.synchronizer       : Flags updated. New changedsince value:  274018
Log:     gmailresource1.synchronizer       : Fetching messages since:  QDate("2017-04-06")
Log:     gmailresource1.imapresource       : Progress:  0  out of  0
Log:     gmailresource1.synchronizer       : UIDMAX:  0 "[Gmail]/Gesendet"
Log:     gmailresource1.synchronizer       : No additional headers to fetch.
Log:     gmailresource1.imapresource       : Removed  0  mails in  "[Gmail]/Gesendet" 2 [ms]   2  [ms/mail]
Log:     gmailresource1.imapresource       : Syncing folder  "[Gmail]/Papierkorb"
Log:     gmailresource1.imapresource       :  with date-range  QDate("2017-04-06")
Log:     gmailresource1.synchronizer       : Synchronizing mails:  "[Gmail]/Papierkorb"
Log:     gmailresource1.synchronizer       :  fetching headers also:  false
Log:     gmailresource1.synchronizer       : About to update flags "[Gmail]/Papierkorb" changedsince:  273911
Log:     gmailresource1.synchronizer       : Flags updated. New changedsince value:  274018
Log:     gmailresource1.synchronizer       : Fetching messages since:  QDate("2017-04-06")
Log:     gmailresource1.imapresource       : Progress:  0  out of  0
Log:     gmailresource1.synchronizer       : UIDMAX:  0 "[Gmail]/Papierkorb"
Log:     gmailresource1.synchronizer       : No additional headers to fetch.
Log:     gmailresource1.imapresource       : Removed  0  mails in  "[Gmail]/Papierkorb" 0 [ms]   0  [ms/mail]
Log:     gmailresource1.synchronizer       : Done Synchronizing
Log:     gmailresource1.synchronizer       : Replaying changes.
Synchronization complete!
bash-4.3$ Log:     gmailresource1.communication      : "Dropped connection: PID: 407 ResourceAccess: 27295808" QLocalSocket(0x6d7820)
Log:     gmailresource1.synchronizer       : Done replaying changes
Warning: gmailresource1.storage            : Database error in  "gmailresource1lder.main" , code  4 , message:  "Error on mdb_del: -30798 MDB_NOTFOUND: No matching key/data pair found"
Warning: gmailresource1.storage            : Database error in  "gmailresource1lder\x00\x06.main" , code  4 , message:  "Error on mdb_del: -30798 MDB_NOTFOUND: No matching key/data pair found"
Warning: gmailresource1.storage            : Database error in  "gmailresource1lder\x00\x06.main" , code  4 , message:  "Error on mdb_del: -30798 MDB_NOTFOUND: No matching key/data pair found"
Warning: gmailresource1.storage            : Database error in  "gmailresource143mail.main" , code  4 , message:  "Error on mdb_del: -30798 MDB_NOTFOUND: No matching key/data pair found"
Log:     gmailresource1.synchronizer       : All requests processed.
Log:     gmailresource1.synchronizer       : All requests processed.
Log:     gmailresource1.main               : Exiting:  "gmailresource1"
Apr 21 2017, 10:23 AM · Sink

Apr 20 2017

cmollekopf added a comment to T1746: Fulltext search.

We'll likely start off with fulltext query only when connected to the server. Locally you can still filter by subject, sender etc.

Apr 20 2017, 8:45 AM · Kube (0.6), Sink
cmollekopf moved T1746: Fulltext search from 0.4 to Backlog on the Kube board.
Apr 20 2017, 8:37 AM · Kube (0.6), Sink
cmollekopf added a comment to T1678: Credential storage.

As a second step we could start using the gpg key that we will setup with every account to encrypt credentials. This would serve as a portable, but kube specific keyring.

Apr 20 2017, 5:55 AM · Kube (0.5), Sink

Apr 19 2017

cmollekopf moved T1746: Fulltext search from 0.3 to 0.4 on the Kube board.
Apr 19 2017, 11:44 AM · Kube (0.6), Sink

Apr 13 2017

cmollekopf created T5880: Crash on opening the wrong database.
Apr 13 2017, 3:13 PM · Sink
cmollekopf closed T1213: Synchronize should fail if the maildir is not configured as Resolved.
Apr 13 2017, 3:10 PM · Sink
cmollekopf merged task T3657: stop storing email server passwords in plain text in ini files into T1678: Credential storage.
Apr 13 2017, 11:59 AM · Sink
cmollekopf merged T3657: stop storing email server passwords in plain text in ini files into T1678: Credential storage.
Apr 13 2017, 11:59 AM · Kube (0.5), Sink
cmollekopf added a comment to T1678: Credential storage.

In it's most basic form Kube should request the password from the user, hold it in memory, and pass it to the resource which will itself hold it in memory. This way the password will need to be entered every time kube is started, but not every time the resource is started. The password will only remain in memory and in no configuration file.

Apr 13 2017, 11:58 AM · Kube (0.5), Sink
cmollekopf added a project to T1678: Credential storage: Sink.
Apr 13 2017, 11:48 AM · Kube (0.5), Sink

Apr 12 2017

cmollekopf added a comment to T5865: Treat all actions as modifications internally.

This is basically a necessity for preprocessors to do things like transforming a modification to a removal (because otherwise we are in completely separate codepaths).

Apr 12 2017, 7:54 AM · Sink
cmollekopf moved T5865: Treat all actions as modifications internally from Backlog to Enhancements on the Sink board.
Apr 12 2017, 7:52 AM · Sink
cmollekopf created T5865: Treat all actions as modifications internally.
Apr 12 2017, 7:52 AM · Sink

Apr 11 2017

mbohlender moved T5326: Initial Gmail support from 0.2 to 0.3 on the Kube board.
Apr 11 2017, 5:15 PM · Kube (0.3), Sink

Mar 31 2017

cmollekopf created T5795: KDAV: Remove KIO dependency.
Mar 31 2017, 12:37 PM · Kube (0.3), KDE PIM, Sink

Mar 20 2017

cmollekopf added a parent task for T5713: Error store: T5696: Error notification viewer.
Mar 20 2017, 4:51 PM · Kube, Sink
cmollekopf created T5713: Error store.
Mar 20 2017, 1:31 PM · Kube, Sink

Mar 17 2017

cmollekopf removed a project from T3657: stop storing email server passwords in plain text in ini files: Kube.
Mar 17 2017, 4:06 PM · Sink
cmollekopf added a project to T3657: stop storing email server passwords in plain text in ini files: Kube.
Mar 17 2017, 4:05 PM · Sink
cmollekopf added a comment to T1746: Fulltext search.

Search will work along those lines:

  • A search query is issued, i.e. a simple fulltext query matching "anything" (meaning we'll have to define which properties that entails exactly).
  • The search is executed against the local search store, resulting in some immediate results. This is of course only possible for already downloaded content (that is also being indexed), so worst case this will yield no results.
  • Simultaneously the search is also sent to the resource in the form of a search command. This will trigger a search in the backend.
  • The results from the backend are transported back to the query and a the download of any match is triggered (so we have subject etc available).
  • As soon as the result is downloaded with sufficient data it can become part of the visible query result.
Mar 17 2017, 4:02 PM · Kube (0.6), Sink

Mar 10 2017

cmollekopf added a project to T5570: Deadlock on Kube exit: Sink.
Mar 10 2017, 4:20 PM · Kube (0.4), Sink

Mar 7 2017

cmollekopf added a comment to T5554: The libmaildir library installed by sink conflicts with kdepim-runtime.

Or just compile this single file library directly into the maildir resource...

Mar 7 2017, 11:14 PM · Sink
cmollekopf created T5554: The libmaildir library installed by sink conflicts with kdepim-runtime.
Mar 7 2017, 11:14 PM · Sink
cmollekopf closed T5458: Merge sync requests as Resolved.
Mar 7 2017, 2:01 PM · Kube (0.2), Sink

Mar 4 2017

filipesaraiva closed D4927: Create and add FindLMDB to CMakeLists.txt.
Mar 4 2017, 8:31 PM · Sink
cmollekopf accepted D4927: Create and add FindLMDB to CMakeLists.txt.
Mar 4 2017, 6:24 PM · Sink

Mar 3 2017

filipesaraiva added a comment to D4927: Create and add FindLMDB to CMakeLists.txt.

The FindLMDB.cmake was based in this version.

Mar 3 2017, 6:02 PM · Sink
filipesaraiva added a project to D4927: Create and add FindLMDB to CMakeLists.txt: Sink.
Mar 3 2017, 6:01 PM · Sink

Mar 2 2017

cmollekopf raised the priority of T5458: Merge sync requests from Low to Normal.
Mar 2 2017, 10:27 PM · Kube (0.2), Sink
cmollekopf lowered the priority of T5326: Initial Gmail support from Normal to Low.
Mar 2 2017, 10:26 PM · Kube (0.3), Sink

Mar 1 2017

cmollekopf raised the priority of T5458: Merge sync requests from Wishlist to Low.
Mar 1 2017, 10:04 AM · Kube (0.2), Sink
cmollekopf lowered the priority of T5458: Merge sync requests from Normal to Wishlist.
Mar 1 2017, 10:04 AM · Kube (0.2), Sink
cmollekopf added a project to T5458: Merge sync requests: Kube.
Mar 1 2017, 10:00 AM · Kube (0.2), Sink
cmollekopf closed T2162: Separate configuration from data as Resolved.
Mar 1 2017, 9:54 AM · Sink
cmollekopf closed T5445: Gracefully handle a full disk condition. as Resolved.

We now use an uncaught exception to trigger the terminate handler.

Mar 1 2017, 9:53 AM · Sink
cmollekopf closed T5459: Failure to open correct named database. as Resolved.

This should now be fixed by ensuring that the first thread to access the db opens all available dbi's and persists them for other threads to use.
At least I can no longer reproduce the issue.

Mar 1 2017, 9:52 AM · Sink

Feb 28 2017

cmollekopf moved T1746: Fulltext search from Backlog to 0.3 on the Kube board.
Feb 28 2017, 5:14 PM · Kube (0.6), Sink

Feb 24 2017

cmollekopf added a comment to T5459: Failure to open correct named database..

Feb 24 2017, 4:57 PM · Sink
cmollekopf created T5459: Failure to open correct named database..
Feb 24 2017, 4:50 PM · Sink
cmollekopf created T5458: Merge sync requests.
Feb 24 2017, 4:44 PM · Kube (0.2), Sink

Feb 22 2017

cmollekopf moved T5326: Initial Gmail support from Backlog to Milestone: Production Ready on the Sink board.
Feb 22 2017, 5:03 PM · Kube (0.3), Sink
cmollekopf moved T5351: Handle a change of threadleaders using a modification in the model. from Backlog to Enhancements on the Sink board.
Feb 22 2017, 5:03 PM · Kube, Sink
cmollekopf moved T5445: Gracefully handle a full disk condition. from Backlog to Milestone: Production Ready on the Sink board.
Feb 22 2017, 5:02 PM · Sink
cmollekopf renamed T5445: Gracefully handle a full disk condition. from Gracefull handle a full disk condition. to Gracefully handle a full disk condition..
Feb 22 2017, 5:02 PM · Sink
cmollekopf created T5445: Gracefully handle a full disk condition..
Feb 22 2017, 5:02 PM · Sink
cmollekopf closed T4243: CardDAV Resource as Resolved.
Feb 22 2017, 4:58 PM · Sink
cmollekopf merged Restricted Maniphest Task into T1746: Fulltext search.
Feb 22 2017, 4:57 PM · Kube (0.6), Sink
cmollekopf closed T4597: CardDAV Resource as Resolved.

We have a carddav resource.

Feb 22 2017, 4:56 PM · Sink

Feb 21 2017

cmollekopf moved T2397: Testing infrastructure for Kube actions/Sink from Backlog to Misc on the Kube board.
Feb 21 2017, 12:47 PM · Kube, Sink
cmollekopf moved T1325: Introduce static checks from Backlog to Misc on the Kube board.
Feb 21 2017, 12:47 PM · Kube, Sink
cmollekopf moved T1746: Fulltext search from 0.2 to Backlog on the Kube board.
Feb 21 2017, 12:40 PM · Kube (0.6), Sink
cmollekopf moved T5326: Initial Gmail support from Backlog to 0.2 on the Kube board.
Feb 21 2017, 12:39 PM · Kube (0.3), Sink
cmollekopf moved T5326: Initial Gmail support from 0.2 to Backlog on the Kube board.
Feb 21 2017, 12:38 PM · Kube (0.3), Sink
cmollekopf moved T2397: Testing infrastructure for Kube actions/Sink from 0.2 to Backlog on the Kube board.
Feb 21 2017, 12:38 PM · Kube, Sink
cmollekopf moved T1325: Introduce static checks from 0.2 to Backlog on the Kube board.
Feb 21 2017, 12:38 PM · Kube, Sink

Feb 15 2017

cmollekopf closed T1203: Support controlling the debug output for different parts of the system as Resolved.
Feb 15 2017, 8:28 AM · Sink