A statically configured announcement is not supported: it cannot be removed via
the runtime API and disappears from the running session once the admin settings
load (they read the store, not config.json). Make the store the single source
of truth, config.json always reflects it and a statically configured
options.announcement is ignored.
Replace the go-micro store with a NATS JetStream key-value bucket, created via
reva's cache.NewNatsKeyValue, so the web service no longer depends on go-micro
stores. The store methods now take a context, threaded through the config.json
render path and the management handlers. Tests use a mockery mock of
jetstream.KeyValue.
Add a logger to the announcement service and log server-side errors before
returning a 5xx, tagged with the request id so they correlate with the
request log line from the logging middleware.
Make the store authoritative only once it manages an announcement: an
enabled record is exposed, a disabled record clears any static config, and
an empty store falls back to a statically configured
web.config.options.announcement. This matches the review request and stops
a static announcement from being silently dropped.
Always reflect the stored announcement in config.json: expose it while live
and clear it otherwise. A disabled announcement now clears the config output
instead of falling back to a statically configured one, which removes the
precedence ambiguity raised in review.
* enhancement: introduce theme processing
* enhancement: introduce theme processing
* enhancement: add theme processing tests and changelog
* Update services/web/pkg/config/config.go
Co-authored-by: Michael Barz <michael.barz@zeitgestalten.eu>
* fix: ci findings
* Apply suggestions from code review
Co-authored-by: Martin <github@diemattels.at>
* enhancement: use the theme assets from web instead of having them inside the oCis repo (license clash Apache vs. AGPLv3)
* fix: golangci tagalign order
* fix: rename UnifiedRoleUploader to UnifiedRoleEditorLite
* fix: some typos
Co-authored-by: Michael Barz <michael.barz@zeitgestalten.eu>
* enhancement: export supported theme logo upload filetypes
* chore: bump reva
* fix: allow init func
---------
Co-authored-by: Michael Barz <michael.barz@zeitgestalten.eu>
Co-authored-by: Martin <github@diemattels.at>
* enhancement: allow ocis to provide custom web applications
* enhancement: add an option to disable web apps
* test: add default logger tests
* test: add app loading tests
* test: add asset server tests
* enhancement: make use of dedicated app conf file and app asset paths
* enhancement: adjust asset locations and deprecate WEB_ASSET_PATH
* enhancement: get rid of default logger and use the service level logger instead
* Apply suggestions from code review
Co-authored-by: Benedikt Kulmann <benedikt@kulmann.biz>
Co-authored-by: kobergj <juliankoberg@googlemail.com>
* enhancement: use basename as app id
* Apply suggestions from code review
Co-authored-by: Martin <github@diemattels.at>
* enhancement: use afero as fs abstraction
* enhancement: simplify logo upload
* enhancement: make use of introductionVersion field annotations
---------
Co-authored-by: Benedikt Kulmann <benedikt@kulmann.biz>
Co-authored-by: kobergj <juliankoberg@googlemail.com>
Co-authored-by: Martin <github@diemattels.at>
* enhancement: use reva client pool selectors
register mock service to registry and pass tests
* enhancement: bump reva
* Fix a couple of linter issues
---------
Co-authored-by: Ralf Haferkamp <rhaferkamp@owncloud.com>
* walk and log chi routes, ocs cleanup
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* make linter happy
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>