Commit Graph
35 Commits
Author SHA1 Message Date
Dominik Schmidt d27b7ef40a refactor: drop static config for the announcement, runtime store only
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.
2026-07-29 11:52:09 +02:00
Dominik Schmidt 27bdda265f refactor: back the announcement store with plain NATS JetStream
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.
2026-07-29 10:22:43 +02:00
Dominik Schmidt 7d59a83c18 feat: log announcement handler errors with the request id
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.
2026-07-29 10:08:47 +02:00
Dominik Schmidt 809d32c4d8 fix: keep a static announcement as fallback when the store is empty
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.
2026-07-29 08:29:58 +02:00
Dominik Schmidt 046f46ce8d fix: make the runtime store authoritative for the announcement
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.
2026-07-29 08:18:56 +02:00
Dominik Schmidt 51dd107767 feat: add announcement banner 2026-07-29 00:39:59 +02:00
Florian Schade 159785a3b5 enhancement: make collaboration font management functionality public 2026-06-11 09:28:37 +02:00
Benedikt Kulmann 614d916978 fix: enforce trailing slash for server url 2025-12-09 10:14:08 +01:00
André Duffeck e8d35e1280 Use the opencloud reva from now on 2025-01-21 11:16:38 +01:00
Jörn Friedrich Dreyer b07b5a1149 use plain pkg module
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-01-13 16:42:19 +01:00
Jörn Friedrich Dreyer 8e028f17e9 change module name
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-01-13 09:58:18 +01:00
Thomas MüllerandFlorian Schade 1453f904e3 chore: code cleanup services/web (#9034)
* chore: code cleanup services/web

* fix: export private member to keep the test external

* chore: backport changes

---------

Co-authored-by: Florian Schade <f.schade@icloud.com>
2024-06-04 12:28:49 +02:00
eb7c36443f enhancement: introduce theme processing (#9133)
* 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>
2024-05-29 15:48:49 +02:00
6814c61506 [full-ci] enhancement: allow ocis to provide custom web applications (#8523)
* 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>
2024-03-05 14:11:18 +01:00
Roman Perekhod 03f302227f fix update and reset the logo 2024-01-16 13:05:15 +01:00
Jannik Stehle 973849e0e0 fix: updating logo with new theme structure
Fixes updating and resetting the logo when using the new `theme.json` structure in Web.
2023-12-11 13:42:47 +01:00
jkoberg 2cd6ee361e dont reload web config on request
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-09-27 11:44:52 +02:00
Daniël Franke 9203478605 Convert web to service trace provider.
This converts the web service to use the service trace provider.
2023-08-03 11:07:15 +02:00
Michael Barz f8e6b23d5f Fix cache header for web and theme assets 2023-07-28 11:33:06 +02:00
Florian SchadeandRalf Haferkamp 4f26424db6 [full-ci] enhancement: use reva client pool selectors (#6452)
* 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>
2023-06-08 12:41:04 +02:00
jkoberg 5eae568a32 use correct logo permission name
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-05-31 15:02:14 +02:00
Michael Barz e05e3b980f add common part, make the logic theme name agnostic 2023-03-06 10:54:43 +01:00
David Christofas 45d1ba25c0 add logo reset endpoint
when resetting the logo we are falling back to the embedded logo asset
2023-02-13 13:48:44 +01:00
David Christofas 7c17ddb0b0 add a permission check to the logo upload 2023-02-13 13:48:39 +01:00
David Christofas 6e83effb45 add simple filetype validator for the logo upload 2023-02-13 13:36:48 +01:00
David Christofas 3a685b6f50 clean up the logo upload 2023-02-13 13:36:43 +01:00
David Christofas 85f79dd765 first implementation of the logo update 2023-02-13 13:36:34 +01:00
David Christofas 20e4e56d28 implement first prototype of the logo upload API 2023-02-13 13:36:30 +01:00
Jörn Friedrich Dreyer 32cc9beb0b walk and log chi routes, ocs cleanup (#5428)
* 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>
2023-01-23 12:30:34 +01:00
Florian Schade ff4f160fdc disable cache for certain resources and respect try_files 2022-10-13 16:41:11 +02:00
Willy Kloucek fbf1eeb4c5 don't cache the web index.html 2022-10-13 16:41:11 +02:00
Willy Kloucek 0a46ef0b0b bring back the settings ui (#4691) 2022-09-27 18:50:45 +02:00
Willy Kloucek 6154466bbc rename extensions to services (leftover occurences) 2022-08-17 15:36:52 +02:00
Christian Richter f8f1320501 refactor extensions -> services
Signed-off-by: Christian Richter <crichter@owncloud.com>
2022-06-27 14:05:36 +02:00
Christian Richter 78064e6bab rename folder extensions -> services
Signed-off-by: Christian Richter <crichter@owncloud.com>
2022-06-27 14:05:36 +02:00