1. 20 Mar, 2020 2 commits
    • Igor Poboiko's avatar
      [resources/maildir] Don't create junk files · 595303e5
      Igor Poboiko authored
      As user types path inside configuration dialog, it gets checked to display
      the comment whether it's a valid maildir or not. Under the hood, it calls
      `maildir.isValid(createMissingFolders=false)`. There was a codepath, however,
      where `createMissingFolders` is not provided (and the default value is `true`),
      thus creating `cur/new/tmp` folders all over the place as user types the path.
      Test Plan:
      1) Try to create maildir inside `/tmp/dummy`
      2) Observe `cur/new/tmp` folders being created everywhere inside `/tmp/*`
      3) After applying the patch, they don't
      Reviewers: dvratil, mlaurent
      Reviewed By: dvratil
      Subscribers: kde-pim
      Tags: #kde_pim
      Differential Revision: https://phabricator.kde.org/D27906
    • Igor Poboiko's avatar
      [resources/ews] Save password to wallet · 7afd99ab
      Igor Poboiko authored
      Seems like the password entered via the UI actually never gets saved anywhere.
      Just do it explicitly.
      BUG: 393002
      CCBUG: 390798
      CCBUG: 402780
      CCBUG: 414789
      Test Plan:
      1) Try to setup EWS account using autodiscovery, using Username/Password auth
      2) Set Username, Password, hit "Try connect" -> it works fine
      3) Hit "OK" -> observe "Authentication failure" resource error
      4) Browse `akonadi-ews` via `KWalletManager` -> it's empty
      5) Apply the patch, repeat 1-4 - authentication succeeds, password entry inside wallet appears
      Reviewers: dvratil, nowicki
      Reviewed By: dvratil
      Subscribers: kde-pim
      Tags: #kde_pim
      Differential Revision: https://phabricator.kde.org/D27813
  2. 15 Mar, 2020 1 commit
  3. 12 Mar, 2020 3 commits
  4. 11 Mar, 2020 1 commit
  5. 09 Mar, 2020 1 commit
  6. 08 Mar, 2020 2 commits
  7. 06 Mar, 2020 3 commits
  8. 05 Mar, 2020 2 commits
  9. 03 Mar, 2020 1 commit
  10. 02 Mar, 2020 1 commit
  11. 01 Mar, 2020 2 commits
    • Igor Poboiko's avatar
      [resources/maildir] Don't save "file:" schema to the config · 93ecfacf
      Igor Poboiko authored
      `ConfigWidget` uses `KConfig` underneath, and utilizes `KUrlRequester` custom
      widget. The `USER` property of this widget (which is used by `KConfig`) is of
      type `QUrl`, and thus when dialog is accepted, the `path` config property
      gets overriden with `QUrl::toString()` value, which prepends `file:` schema
      (this is basically because `KCoreConfigSkeleton::ItemPath` is inherited from
      `ItemString`, and when someone calls `ItemString::setProperty`, it gets
      casted as `QVariant::toString`).
      Inside the `ConfigWidget::save` the code calls `setPath` method on
      `url.toLocalFile`, which drops the scheme. Because of that, the `pathItem`
      and `path` property of `mSettings` have different values, first has schema
      and the second hasn't. Eventually, the value stored by `pathItem` wins, and
      `mSettings->path()` returns URL with schema. However, `Maildir` doesn't expect
      it and misinterprets it as the relative path to current WORKDIR (which is home
      directory), thus creating `/home/user/file:/home/user/...` file structure.
      The proposed solution is to simply call `mSettings->save()`, which overrides
      `pathItem` value and drops schema from it.
      It also fixes the `AkoNotes` resource, which uses the same `ConfigWidget`.
      Funny enough, `Contacts` resource, which is somewhat similar, is not affected
      as it has the same `Settings->save()` call.
      Alternative approaches include:
      1) Teach `Maildir` to drop the schema (if it's there).
      2) Teach `KCoreConfigSkeleton::ItemPath` to work with `QUrl` and don't append
      schema (it makes sense, because `ItemPath` corresponds to local file. Although
      it's not documented that it shouldn't have schema, it seems from the tests that
      it was the original intent). This could save the headache of having such issue
      in the future, but it could mess up with other programs in funny ways (as
      currently `file:` sometimes gets prepended, and some code might implicitly rely
      on it)
      Additional note:
      There are `ui.kcfg_Path->url().isLocalFile()` checks around, which doesn't make
      sense to me, as `KUrlRequester` is used for local files and it seems like it
      always returns `QUrl` pointing to local file (i.e. have the `file:` schema).
      BUG: 408354
      BUG: 411269
      BUG: 413588
      Test Plan:
      1) Open `akonadiconsole -> Local Folders` properties, change the folder, save
      2) `cat ~/.config/akonadi_maildir_resource_0rc`. `file:` schema gets prepended
      2.1) `akonadictl restart`. `file:` folder gets created inside homedir
      3) Apply patch, repeat (1)-(2.1). `file:` schema is dropped.
      Reviewers: dvratil, mlaurent
      Reviewed By: dvratil
      Subscribers: kde-pim
      Tags: #kde_pim
      Differential Revision: https://phabricator.kde.org/D27722
    • Volker Krause's avatar
      Port imap, pop3 and ews away from deprecated QSet::fromList · 4df13613
      Volker Krause authored
      Reviewers: dvratil
      Reviewed By: dvratil
      Subscribers: kde-pim
      Tags: #kde_pim
      Differential Revision: https://phabricator.kde.org/D27759
  12. 26 Feb, 2020 1 commit
  13. 21 Feb, 2020 1 commit
  14. 16 Feb, 2020 1 commit
  15. 14 Feb, 2020 2 commits
  16. 12 Feb, 2020 1 commit
  17. 11 Feb, 2020 1 commit
  18. 07 Feb, 2020 1 commit
  19. 03 Feb, 2020 1 commit
  20. 29 Jan, 2020 1 commit
  21. 24 Jan, 2020 1 commit
  22. 22 Jan, 2020 2 commits
  23. 17 Jan, 2020 2 commits
  24. 15 Jan, 2020 1 commit
  25. 10 Jan, 2020 1 commit
  26. 09 Jan, 2020 1 commit
  27. 07 Jan, 2020 2 commits
  28. 05 Jan, 2020 1 commit