Commit Graph

14 Commits

Author SHA1 Message Date
Bart De Vries 633f4fd0f0 Use multithreading for feed updates (using ThreadWeaver)
This contains the following changes:
- Use separate db connections for feed updates (required for
  multithreading.
- Add ThreadWeaver dependency.
- Port update job from KJob to ThreadWeaver::Job
- This should also solve the bug where the update process would hang
  on the "processEvents" call, which was intended to keep the UI
  responsive during updates.

BUG: 452585
2022-05-29 15:22:23 +02:00
Salvo 'LtWorf' Tomaselli 5dd19faed9 List the package names on debian
This allows easier installation, without having to manually
track down all the names of the needed packages.
2022-03-18 12:03:18 +00:00
Bart De Vries f861f4e802 Add podcast subscription and episode play state synchronization
This implements the gpodder API from scratch.  It turned out that
libmygpo-qt has several critical bugs, and there's no response to pull
requests upstream.  So using that library was not an option.

The implementation into kasts consists of the following:
- Can sync with gpodder.net or with a nextcloud server that has the
  nextcloud-gpodder app installed.  (This app is mostly API compatible
  with gpodder.)
- Passwords are stored using qtkeychain.  If the keychain is
  unavailable it will fallback to file.
- It syncs podcast subscriptions and episode play positions, including
  marking episodes as played. Episodes that have a non-zero play
  position will be added to the queue automatically.
- It will check for a metered connection before syncing.  This is
  coupled to the allowMeteredFeedUpdates setting.
- Full synchronization can be performed either manually (from the
  settings page) or through automatic triggers: on startup and/or on
  feed refresh.
- There is an additional possibility to trigger quick upload-only syncs
  to make sure that the local changes are immediately uploaded to the
  server (if the connection allows).  This will trigger when
  subscriptions are added or removed, when the pause/play button is
  toggled or an episode is marked as played.
- This implements a few safeguards to avoid having multiple feed URLS
  pointing to the same underlying feed (e.g. http vs https).  This
  solves part of #17

Solves #13
2021-10-29 18:47:55 +02:00
Tobias Fella 044dbf5f23 Implement loading chapters from mpeg files 2021-10-06 21:08:12 +02:00
Christopher Hock d7ac052f73 Update links to Android version 2021-09-14 16:16:44 +02:00
Devin Lin 9539daecf4 Add flathub badge 2021-06-20 15:00:59 +00:00
Bart De Vries 1c44e717ae Renaming alligator to kasts everywhere 2021-05-03 22:31:45 +02:00
Tobias Fella cc5c745608 Update README.md 2020-09-17 18:55:34 +00:00
Tobias Fella fe7723416a Update url to new location 2020-05-18 14:36:48 +02:00
Tobias Fella 262281d9dc Add link to Binary Factory 2020-04-26 23:08:01 +00:00
Bhushan Shah 727d80e718 Use single code-block 2020-04-23 18:13:50 +05:30
Tobias Fella eaa4d41d7c Update README.md 2020-04-23 12:03:25 +00:00
Laurent Montel 42ab8a676a Remove executable attribute 2020-04-21 13:23:25 +02:00
Tobias Fella 5ae34b56f7
Initial Commit 2020-02-28 23:25:08 +01:00