The following sections list the changes in reva 1.8.0 relevant to reva users. The changes are ordered by importance.
Before this fix the Content-Type
header was guessed by w.Write
because WriteHeader
was
called to early. Now the Content-Type
is set correctly and to the same values as in ownCloud 10
https://github.com/owncloud/ocis/issues/1779
The json backend now allows a grantee to fetch a share by id.
https://github.com/cs3org/reva/pull/1650
When moving a file or folder (includes renaming) the filepath in the cache didn’t get updated
which caused subsequent requests to getpath
to fail.
https://github.com/cs3org/reva/issues/1693 https://github.com/cs3org/reva/issues/1696
Fixed stat requests and propfind responses for publicly shared files.
https://github.com/cs3org/reva/pull/1666
The CS3 APIs specify a way to restore a recycle item to a different location than the original by
setting the restore_path
field in the RestoreRecycleItemRequest
. This field had not
been considered until now.
https://github.com/cs3org/reva/pull/1541 https://cs3org.github.io/cs3apis/
It is not intended to statically link the generated binaries for local development workflows. This resulted on segmentation faults and compiller warnings.
https://github.com/cs3org/reva/pull/1718
This PR adds the CLI commands token-list
, token-create
and token-remove
to manage
tokens with limited scope on behalf of registered users.
https://github.com/cs3org/reva/pull/1719
This PR adds the functionality to generate authentication tokens with limited scope on behalf of registered users. These can be used in third party apps or in case primary user credentials cannot be submitted to other parties.
https://github.com/cs3org/reva/issues/1714 https://github.com/cs3org/reva/pull/1719 https://github.com/cs3org/cs3apis/pull/127
transfer-create
creates a share of type transfer.
https://github.com/cs3org/reva/pull/1725
https://github.com/cs3org/reva/pull/1755
Previously we were using errors.New and fmt.Errorf to create errors. Now we use the errors defined in the errtypes package.
https://github.com/cs3org/reva/issues/1673
This provides a new open-in-app
command for the CLI and the implementation on the
appprovider gateway service for the new API, including the option to specify the appplication
to use, thus overriding the preconfigured one.
https://github.com/cs3org/reva/pull/1723
Protobuf oneof fields cannot be properly handled by the native json marshaller, and the protojson package can only handle proto messages. Previously, we were using a workaround of storing these oneof fields separately, which made the code inelegant. Now we marshal these messages as strings before marshalling them via the native json package.
https://github.com/cs3org/reva/pull/1655
Based on feedback in the new ownCloud web frontend we want to omit trying to render user avatars images / profile pictures based on the backend capabilities. Now the OCS communicates a corresponding value.
https://github.com/cs3org/reva/pull/1694
To make reliability calculations possible, a new exporter has been added to Mentix that reads scheduled downtimes from the GOCDB and exposes it through Prometheus metrics.
https://github.com/cs3org/reva/pull/1649
Move away from hardcoding service IP addresses and rely upon name resolution instead. It delegates the address lookup to a static in-memory service registry, which can be re-implemented in multiple forms.
https://github.com/cs3org/reva/pull/1509
In OCS, once we retrieve the shares from the shareprovider service, we stat each of those separately to obtain the required info, which introduces a lot of latency. This PR introduces a resoource info cache in OCS, which would prevent this latency.
https://github.com/cs3org/reva/pull/1643
Recently, a TTL cache was added to OCS to store statted resource infos. This PR adds an interface to define warmup strategies and also adds a cbox specific strategy which starts a goroutine to initialize the cache with all the valid shares present in the system.
https://github.com/cs3org/reva/pull/1664
This PR adds a storage driver which connects to a oc10 storage backend (storage + database). This allows for running oc10 and ocis with the same backend in parallel.
https://github.com/cs3org/reva/pull/1710
Previously, all images were based on golang:1.16 which is built from Debian. Using ‘scratch’ as base, reduces the size of the artifacts well as the attack surface for all the images, plus copying the binary from the build step ensures that only the strictly required software is present on the final image. For the revad images tagged ‘-eos’, eos-slim is used instead. It is still large but it updates the environment as well as the EOS version.
https://github.com/cs3org/reva/pull/1705
Primarily, this PR is meant to introduce the concept of scopes into our tokens. At the moment, it addresses those cases where we impersonate other users without allowing the full scope of what the actual user has access to.
A short explanation for how it works for public shares: - We get the public share using the token provided by the client. - In the public share, we know the resource ID, so we can add this to the allowed scope, but not the path. - However, later OCDav tries to access by path as well. Now this is not allowed at the moment. However, from the allowed scope, we have the resource ID and we’re allowed to stat that. We stat the resource ID, get the path and if the path matches the one passed by OCDav, we allow the request to go through.
https://github.com/cs3org/reva/pull/1669
https://github.com/cs3org/reva/pull/1683
When showing the list of shares to the end-user, the list was not sorted alphabetically. This PR sorts the list of users and groups.
https://github.com/cs3org/reva/issues/1763
This PR adds a warning while an user is building the source code, if he is using a go version not recommended.
https://github.com/cs3org/reva/issues/1758 https://github.com/cs3org/reva/pull/1760
Added checksum
to the header Tus-Extension
and added the Tus-Checksum-Algorithm
header.
https://github.com/owncloud/ocis/issues/1747 https://github.com/cs3org/reva/pull/1702
After accepting or rejecting a share the API includes the updated share in the response.
https://github.com/cs3org/reva/pull/1685 https://github.com/cs3org/reva/pull/1724