Commit Graph

25 Commits

Author SHA1 Message Date
Linus045
3f19a2a05e feat: Adds progress bar to cloud storage downloads (#13650) 2025-06-19 10:15:40 +02:00
Linus045
998a4222f1 [feat] CloudStorage/WebDAV: show 'file size' property in WebDAV (#13371) 2025-03-11 14:19:48 +01:00
Brendan LeFebvre
798a64998f webdav: show folders with same name as current folder (#12788)
Closes #12783
2024-11-24 08:59:12 +01:00
hius07
1493a092db Cloud storage: fix sorting non-English filenames (#12644)
Reported in #12638.
2024-10-15 09:30:57 +02:00
hius07
ee5a4169d1 webdavapi: fix 'resourcetype' property check 2024-08-31 15:18:18 +02:00
mergen3107
b5a822cf8b WebDav: Simplify path manipulations to fix wonky heuristics (#12038)
This prevents the current directory from appearing in the listing.
2024-06-20 19:46:03 +02:00
mergen3107
9984f3cb7b Fix WebDAV cloud error (#12000)
Fixes #11985
2024-06-09 20:52:56 +02:00
kosmoski
72c1905110 Add 'Content-Length' header to WebDAV upload request (#10567)
Co-authored-by: wojtek <wojtek@pop-os.localdomain>
2023-07-01 07:29:38 +02:00
Steady Quad
fa9f0acf5e cloudstorage: Fix directory listing for some WebDAV servers (#9847)
(sub)folders on some WebDAV servers are not listed in cloudstorage due to strict xml element matching of <d:collection> elements.
2022-12-02 23:47:16 +01:00
weijiuqiao
8500fdd519 Cloud-based sync for 2 plugins: reading statistics and vocabulary builder (#9709)
This commit adds cross-device sync ability for two plugins: reading statistics and vocabulary builder. It relies on user setting up a Cloud server (DropBox and WebDAV but not FTP though) and designating a path. Behind the curtains sqlite databases are being passed around and updated.

UI-wise, for the statistics plugin, two new menu items Synchronize now and Cloud sync to set it up (might not be the best wording) are added. As for vocabulary builder, a similar Cloud sync button is added to the menu and a shortcut icon button to Synchronize now is pinned at the bottom corner.

CloudStorage new features: WebDAV creating folders and uploading files. And a new widget-like sync server chooser. In the end I decided not to add automatic sync, as the SQL commands part seem a bit much.
2022-11-11 15:53:06 +01:00
NiLuJe
25dce4d1b5 WebDAV: Fix a warning with the latest LuaCheck version
(error-prone negation)
2022-11-02 03:48:39 +01:00
weijiuqiao
e8cd2ba498 WebDAV: fix bugs when start folder starts with "/" (#9688) 2022-10-29 17:45:52 +02:00
NiLuJe
83a2965d6b Misc: Unify error logging on network errors (#9523)
Making sure we get the relevant information in the logs, and that the UI feedback (if any), is meaningful and readable.
2022-09-17 00:08:00 +02:00
hius07
e336983fd2 Cloudstorage WebDAV: more fix slash in server address (#9128)
Honor server addresses with or without trailing slash.
Regression since #9061. Closes #9125.
2022-05-25 17:02:46 +02:00
hius07
9de0df81da Cloudstorage WebDAV: fix leading slash for root folder (#9061) 2022-05-03 09:35:25 +03:00
John Beard
27bf5b59dd Add slash to WebDAV starting URL if missing (#8137)
If this is not done, the URL when the file is downloaded will be
something like hostdir/path, rather than host/dir/path.

Also add a debug log to make it more clear when a bogus URL
is being fetched,
2021-08-27 09:40:14 +02:00
John Beard
dac3940ced WebDAV: Unescape XML entities when reading the item list (#8138)
Without this, a file named "A & B.epub" is read as "A &amp; B.pdf"
and will 404 when fetched.
2021-08-27 08:39:15 +02:00
John Beard
5d0ae3dde8 WebDAV: Handle non-self-closing tag for empty collection (#8121)
Some servers serve <D:resourcetype></D:resourcetype> rather
than <D:resourcetype/>. So handle this case when deciding
if an item is not a collection.
2021-08-23 08:51:33 +02:00
NiLuJe
6b31b160a2 CloudStorage: Log download failures (#7834)
Re #7354
2021-06-12 21:11:53 +02:00
John Beard
70c79fd27d Unbreak HTTP authentication (#7425)
Fixes a regression in #7405 that broke Basic auth (OPDS/WebDav).
2021-03-21 14:00:13 +01:00
NiLuJe
2f9db25969 Unify LuaSocket usage (#7405)
* Add a new socketutil module with a few helper functions that allow us to:
  * Always use a sane User-Agent (previously, only Wikipedia did so)
  * Set timeouts in an almost sane manner. Doing it explicitly prevents an interaction with KOSync that does crazy stuff I don't even want to try to understand.
* Unified said timeouts based on the request's intended usage (except for Wikipedia, which already had meaningful timeout values).
* Stopped using LuaSec directly, LuaSocket defers to LuaSec sanely on its own. Everything now transparently supports HTTPS without code duplication.
2021-03-15 01:25:10 +01:00
themanifold
23ebe39031 Support for Apache WebDAV module (#6510)
This change to the parser in `cloudstorage.lua` adds support for the [Apache WebDAV module][1]

It was manually tested using the [bytemark/webdav][2] docker container.

I developed this in Windows, with a docker container that hosted an extracted AppImage and a VNC server that I viewed using a VNC client.

I will write up my work flow at a later point.

Changes have not been tested against other webdav servers (what was this originally tested against?). Please could someone test against other webdav servers?

I also noticed a logic inversion error where we were looking for a slash at the end of the URL and if it exists, then we explicitly set `has_trailing_slash=false` - so I fixed it to set to `true`. I had to do this so that we weren't visiting the URL without a trailing slash - apache sends back a 301 redirect with a `location` header with a trailing slash, if you don't put a trailing slash.

As a side note, I think we should consider replacing this regexp pattern matching parser with the [XML parser in the newsreader plugin[3]

[1]: https://httpd.apache.org/docs/2.4/mod/mod_dav.html
[2]: https://github.com/BytemarkHosting/docker-webdav
[3]: https://github.com/koreader/koreader/blob/master/plugins/newsdownloader.koplugin/lib/xml.lua
2020-08-17 09:54:16 +02:00
jp8
47da9600d1 fix "empty folder" when accessing nextcloud webdav (#5171)
fix for cloud storage webdav nextcloud "empty folder" problem

See https://github.com/koreader/koreader/issues/4879
2019-08-03 08:30:05 +02:00
Robert
cbba7566b7 Cloudstorage - Add option to view unsupported files (#5131)
Option to show all files in cloudstorage also not supported by KOReader. We can also download any file.
To show all files in CS we need to enable option Show unsupported files in file manager (introducing in #5129)
Close: #5006
2019-07-21 21:45:02 +02:00
Yann Muller
a3a17dbbeb WebDav CloudStorage (#4272)
Addition of WebDav to the CloudStorage. The functionality is the same as with Dropbox and FTP, it is possible to browse the files on the server and download a copy.

Tested with:
NextCloud
HubZilla
2018-10-17 14:13:59 +02:00