Commit Graph

57 Commits

Author SHA1 Message Date
Jakub Onderka 1992d11d7d Fix warning in AppFetcher.php when appstore is disabled
Signed-off-by: Jakub Onderka <ahoj@jakubonderka.cz>
2021-03-10 16:30:02 +01:00
Christoph Wurst 652bf9d363
Revert "Fix comparison of PHP versions"
This reverts commit bedd9acf78.
2021-01-26 13:48:06 +01:00
Damien Goutte-Gattat bedd9acf78 Fix comparison of PHP versions
Use the builtin function `version_compare` to check an app's
compatibility with the available PHP version, instead of reusing
the `OC\App\CompareVersion::isCompatible` method which is intended
to compare Nextcloud versions. PHP version strings do not always
necessarily follow the simple Major.Minor.Patch format used by
Nextcloud and therefore cannot be properly compared by that method.

Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
2021-01-14 23:03:20 +00:00
Christoph Wurst d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
Christoph Wurst 24237f1a34
Check php compatibility of app store app releases
Apps might increase the minimum php version requirement, in which case
an update could break the app or even the whole instance. We must not
install those releases, or better, don't even show them for
update/installation. This extends the app fetcher code to filter out the
releases that are not installable.

The filter respects minimum and maximum requirements. E.g. apps that are
still only released for php7.3 won't show up for php7.4 instances. This
behavior is new but if an app lists an explicit version requirement,
then we ought to repect that.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-04 16:52:31 +01:00
Julius Härtl 4512c73293
Only retry fetching app store data once every 5 minutes in case it fails
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-16 14:32:58 +02:00
Christoph Wurst 2a054e6c04
Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +02:00
John Molakvoæ (skjnldsv) 9e962fb69f
Allow to update to nightly
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-08-07 13:51:39 +02:00
Joas Schilling b6d5979d0a
Increase timeout of the appstore requests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-12 13:01:06 +02:00
Morris Jobke 8123737a40
Revert "Compress the appstore requests by default"
This reverts commit 6ffde128ad.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-05-20 13:37:28 +02:00
Morris Jobke 6ffde128ad
Compress the appstore requests by default
In test it reduced the transfered data from 5 MB to 2 MB. This should reduce the load on the appstore significantly.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-05-20 09:51:07 +02:00
Morris Jobke 3e0d8df036
Cache appstore requests for 60 instead of 5 minutes
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-05-20 09:51:06 +02:00
Christoph Wurst cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Christoph Wurst 28f8eb5dba
Add visibility to all constants
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:54:27 +02:00
Christoph Wurst caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst 1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Christoph Wurst 74936c49ea
Remove unused imports
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:08:08 +01:00
Roeland Jago Douma 1bf44e1d97
Merge pull request #18860 from nextcloud/fix/license-headers
Fix license headers
2020-01-13 16:47:12 +01:00
Christoph Wurst 6127c288e8 Fix license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-01-13 14:23:49 +01:00
Georg Ehrke 2f89f5fd13
AppFetcher: Distinguish between fileName and endpointName
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-01-09 17:29:00 +01:00
Julius Härtl ac96554aaa
Fix broken upgrade caused by undefined method call
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-23 10:41:41 +01:00
Georg Ehrke f0bef8881d
Restore old behavior allowing to set custom appstore
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-12-22 15:06:31 +01:00
Christoph Wurst 1b46621cd3
Update license headers for 18
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-20 09:23:25 +01:00
Daniel Kesselberg dbb1eef446
Don't log the stack trace for ConnectException
The stack trace for ConnectException could contain the old apps.json content and is probably huge.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-12-08 18:17:06 +01:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Joas Schilling 17096adff9
Correctly remove apps without any releases
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-20 14:47:46 +02:00
Joas Schilling 8e278a2c38
Enable pre-releases for beta and daily channel
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-04-08 15:23:44 +02:00
Joas Schilling 2d00e2bbe7
Do not ignore the max-version for the "update-available" check
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-20 15:16:13 +01:00
Joas Schilling 95c9e0edd2
Remove apps from the list which have no release at all
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-20 15:16:13 +01:00
Roeland Jago Douma 769cb629ae
allow enforcing apps to ignore the max version
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-20 15:16:11 +01:00
Arthur Schiwon 38a90130ce
move log constants to ILogger
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 10:45:52 +02:00
Morris Jobke 3d80ade8d7
Log possible exception caused by wrong version number
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-04-11 10:08:23 +02:00
Christoph Wurst ac939e8fd4
Fix version comparison with minor and patch level requirements
If an app requires a specific minor or path level server version,
the version_compare prevented the installation as only the major
version had been compared and that checks obviously returns `false`.

Now the full version is used for comparison, making it possible to
release apps for a specific minor or patch level version of Nextcloud.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-04-11 10:08:23 +02:00
Christoph Wurst 6248b61193 Fix AppFetcher::setVersion phpdoc
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-04-10 12:32:56 +02:00
Joas Schilling 029e8cdc5b
Also allow to specify the cache file name
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-28 11:31:33 +01:00
Joas Schilling 2c840ca278
Log exceptions that happen when writing the app store reply to storage
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-21 14:14:33 +01:00
Morris Jobke c5f852d90c
Also log exception for failed appstore request
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-02 09:40:03 +01:00
Roeland Jago Douma 752055220f
Don't spam the log when we could not properly connect to the appstore
If we can't connect to the appstore for some reason we don't have to log
the exception just an info entry is enough.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-29 15:55:05 +01:00
Roeland Jago Douma 2eb2b6e437
If there is no internet connection don't try to contact appstore
Fixes #7119

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-17 20:35:04 +01:00
Morris Jobke 0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Lukas Reschke 48a9a4bd81 Merge pull request #4825 from nextcloud/add-timeout-appstore
Add timeout for requests to appstore
2017-05-12 12:37:18 +02:00
Morris Jobke 72943c99a4 Add timeout for requests to appstore
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-11 17:49:03 -05:00
Morris Jobke c90d832ce4 Log connectiong problems while fetching data from appstore
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-11 17:46:41 -05:00
Joas Schilling 538d32fe87
Automatic injection into the Fetchers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-10 09:56:38 +02:00
Roeland Jago Douma e79424932a
Make sure the AppFetcher fetches the new applist from the appstore
When in the upgrade process the version in the config is still the old
version. (Since we only upgrade it after the upgrade is complete).
However the app list fetched from the appstore must be the new list.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-02 10:24:10 +02:00
Roeland Jago Douma 095463d568
Do not do ETag caching when the version is updated
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-02 08:44:20 +02:00
Morris Jobke f3bfacc976
Fix unit tests and improve appstore logic
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-24 08:34:14 +01:00
Steffen Lindner cfb6223de7
Add back appstoreenabled config switch
Signed-off-by: Steffen Lindner <mail@steffen-lindner.de>
2017-02-24 08:31:56 +01:00
Roeland Jago Douma fc04779a26
Add ETag validation to appstore requests
* If the ETag if present store it
* If a stored ETag is present then pass it along (with the original
response) to get
* Add tests
* Added files to classmap

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-01-05 14:26:09 +01:00