Commit graph

28 commits

Author SHA1 Message Date
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
Roeland Jago Douma
245501fb0c
Clear appstore cache on version upgrade
* Add version to cached json
* Compare version
* Updated calls
* Updated tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-12-15 22:04:03 +01:00
Joas Schilling
77b6b7b23e
Use the mocked config version
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-14 10:45:27 +01:00
Lukas Reschke
29402e2c0a
Exclude pre-release versions as per SemVer
As SemVer can be used apps could define a release like "10.0.0-alpha". This is something that we don't support at the moment in the server and we should filter all prereleases.

Ref https://github.com/nextcloud/server/pull/2307#issuecomment-262911588

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-25 11:32:46 +01:00
Lukas Reschke
6a4c0cf237
Loop for newest version in appstore response
The current implementation when fetching apps from the appstore is to assume that the first element is the newest version, this is now always applicable and leads to the fact that for some apps (e.g. nextant) the newest version is not delivered. This can be easily tested by comparing the version of the downloaded Nextant version.

This change will loop over all releases delivered by the appstore and chooses the newest compatible one. While not the cleanest solution, it does its job.

Most of the code are actually unit tests. Whereas I have copied the whole original response from the appstore and also have performed the transformation. So that's why the diff looks so huge.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-24 14:29:57 +01:00
Lukas Reschke
01c566883e
%d instead %s
These are only numbers. THX @nickvergessen

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:46 +01:00
Lukas Reschke
067fb18670
Read array elements instead of substr
Otherwise this would break with 11.0.0

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:45 +01:00
Lukas Reschke
32cf661215
Use new appstore API
This change introduces the new appstore API in Nextcloud.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:44 +01:00