Commit Graph
23926 Commits
Author SHA1 Message Date
Dominik Schmidt 853a6444a7 feat(search): aggregation filter tokens
Server-issued aggregationFilterToken on buckets, consumed verbatim via
searchRequest.aggregationFilters as exact, case-sensitive matches.
Range tokens use the MS Graph spelling (range(min, 1980),
range(2010, max, to="le")); decoding accepts optional whitespace and
the le marker, and maps the upper bound exclusively so a drilldown
returns exactly the matches the bucket counted.
2026-10-02 14:40:40 +02:00
Dominik Schmidt 0fe98ec490 feat(search): nested aggregations
Sub-aggregations on both engines. bleve folds child buckets from doc values through the same collector as the metrics, terms and ranges alike; the service unions nested buckets across spaces. AGG-10 to AGG-16 in the parity suite.
2026-10-02 14:40:40 +02:00
Dominik Schmidt 91dbb31a3f feat(search): metric aggregations
sum/min/max/avg over a numeric field, carried as the proto
MetricDefinition/Metric message pair end to end: the engines emit a
Metric result (avg as sum/count accumulators), the service layer
reduces metrics across spaces, the graph layer maps them from and to
the libregraph metricDefinition/searchMetric objects.
2026-10-02 14:39:47 +02:00
Dominik Schmidt 0fbd21ae4c feat(search): range aggregations
Numeric and date ranges on both engines: bleve numeric and date-time range facets, OpenSearch range and date_range aggregations, a bound that is neither number nor date is rejected. A terms aggregation on a numeric field now points to ranges as the alternative. AGG-04, 05 and 07 to 09 in the parity suite.
2026-10-02 14:39:25 +02:00
Dominik Schmidt 80abee9b85 feat(search): terms aggregations
Term buckets on both engines: bleve facets, OpenSearch terms aggregations, buckets merged across spaces and post-processed per BucketDefinition (minimum count, sort, size). Terms aggregations on numeric fields are rejected at the graph endpoint. Pinned in the parity suite as AGG-01 to AGG-03. Ranges, metrics and sub-aggregations are declined until the engines evaluate them.
2026-10-02 14:39:25 +02:00
Dominik Schmidt db9027efc3 feat(graph): POST /search/query
MS Graph style search endpoint: searchRequest with KQL queryString,
from/size pagination (clamped to the spec's bounds), entityTypes
validated to driveItem, hits as driveItems with webUrl. The proto
carries metric aggregations as a MetricDefinition/Metric message pair
so an unset definition is distinguishable from any kind.
2026-10-02 14:39:25 +02:00
Florian Schade c10b106f1b Merge pull request #3633 from fschade/fix-collaboration-extension-handling
feat(collaboration): let admins disable wopi extensions
2026-10-02 13:37:02 +02:00
Dominik Schmidt 3b37e292bd Merge pull request #3643 from opencloud-eu/fix/parity-matrix-runes
fix(search): ellipsize parity matrix labels by runes, not bytes
2026-10-02 13:36:57 +02:00
Florian Schade baf56882bc Merge pull request #3636 from fschade/fix-collaboration-checkfileinfo-fields
fix(collaboration): send LastModifiedTime and the EuroOffice file size
2026-10-02 13:34:36 +02:00
Dominik Schmidt 654a5c0093 Merge pull request #3645 from opencloud-eu/chore/bump-libre-graph-api-go-v1.0.8
chore: bump libre-graph-api-go to v1.0.8
2026-10-02 13:34:28 +02:00
Dominik Schmidt b2039f6abe fix(search): ellipsize parity matrix labels by runes, not bytes
The byte-based truncation cut through the two-byte UTF-8 sequence of
Motörhead's ö, committing invalid UTF-8 into the parity README. Shared
rune-based ellipsize helper; matrix regenerated.
2026-10-02 12:48:51 +02:00
Dominik Schmidt 2a00f7c34a chore: bump libre-graph-api-go to v1.0.8
First tagged release carrying the merged search spec: the search query
endpoint with aggregations (metricDefinition/searchMetric,
geohashDefinition, aggregationFilterToken), sortProperty and the
auth-guest additions.
2026-10-02 12:48:21 +02:00
Florian Schade 938687d1d5 fix(collaboration): send LastModifiedTime and the EuroOffice file size 2026-10-02 12:20:04 +02:00
Florian Schade ec88020c1e feat(collaboration): let admins disable wopi extensions 2026-10-02 12:19:54 +02:00
Florian Schade e848d469d5 fix(collaboration): mint the mobile view test token with the token manager secret (#3647) 2026-10-02 12:18:17 +02:00
Viktor Scharf 97adf2e0d8 Set milestones to stable prs (#3641)
* set next-stable milestone in the gh actions

* add stable-7.2 to backport
2026-10-02 11:08:27 +02:00
Florian Schade 94448630e3 Merge pull request #3635 from fschade/feat-collaboration-eurooffice-mobile-view
feat(collaboration): mobile web view for EuroOffice
2026-10-02 10:16:08 +02:00
Viktor Scharf bb21ecd3ee fix(ci): pin phpunit to 13.3.x) (#3644) 2026-10-02 09:53:53 +02:00
Michael Barz 6aa9d31b32 Merge pull request #3630 from fschade/harden-collaboration-wopi-tokens
fix(collaboration): harden wopi token handling
2026-10-01 23:04:21 +02:00
Florian Schade 8edd60296a feat(collaboration): mobile web view for EuroOffice 2026-10-01 16:13:42 +02:00
Florian Schade a1982c6908 Merge pull request #3619 from opencloud-eu/bump/go-micro-v4.11.3
build(deps): bump go-micro and reva
2026-10-01 12:00:55 +02:00
Jörn Friedrich Dreyer 076a3b0212 build(deps): bump go-micro to v4.11.4-0.20260929213538-cd412c159a26
Point the go-micro.dev/v4 replace at the latest main-v4 maintenance
branch commit in butonic/go-micro (cd412c15) instead of the v4.11.3
tag. The new base is upstream v4.11.1 plus the registry cache
node-TTL fixes (upstream #2715, #2736, #2740), the concurrent map
access fix (upstream #2794), plus further dependency updates and test
fixes on the maintenance branch.

The branch also modernizes go-micro's own go.mod (go 1.26, lego,
dario.cat/mergo v1, x/deque v2, ...), and MVS pulls the aligned
versions into this module: lego v4.35.2 -> lego/v5 v5.5.2,
go-jose/go-jose/v4 -> v4.1.5, gofrs/flock -> v0.13.1,
mattn/go-isatty -> v0.0.24, go.uber.org/zap -> v1.28.0, x/net ->
0.59.0, miekg/dns -> 1.1.73, moby api/client, ProtonMail/go-crypto
-> 1.5.2, klauspost/compress -> 1.20.1, gorilla/handlers -> 1.5.2,
gobwas/ws -> 1.4.0, nxadm/tail -> 1.4.11, ...

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2026-10-01 11:14:15 +02:00
Florian Schade 24545be7ad fix(collaboration): harden wopi token handling 2026-09-30 16:40:44 +02:00
Viktor Scharf c8dd8ce1ca fix translation update pipeline (#3613) 2026-09-30 09:33:12 +02:00
Andre Duffeck eb32a80e01 Merge pull request #3602 from aduffeck/fix/search-trashed-path-collision
fix(search): keep trashed and live folders at the same path apart
2026-09-28 13:45:09 +02:00
André Duffeck b1efb8c616 Pass the query into the bleve descendant walk
Instead of deleted/onlyDeleted bool parameters, the caller now builds
the query and forEachMatch only does the paging.
2026-09-28 11:49:47 +02:00
Jörn Friedrich Dreyer 7fbecd06f1 Merge pull request #3603 from opencloud-eu/fix/uploads-cli-no-async-consumer
Fix/uploads cli no async consumer
2026-09-28 08:59:48 +02:00
Jörn Friedrich Dreyer eab5eb3528 api-test: wait for upload session cleanup after scenario
The AfterScenario hook only asserted that the clean command returned
200, but cleaning sessions happens asynchronously in the daemon. Poll
the session list until it is empty (60s deadline) so leftover sessions
do not leak into the next scenario.
2026-09-25 17:34:50 +02:00
Jörn Friedrich Dreyer 04ad5b84bb fix(storage-users): keep uploads sessions CLI out of the dcfs event queue
The uploads sessions command builds a posix driver with async file
uploads enabled, which makes it join the "dcfs" JetStream queue group.
Clean/restart/resume events published by the command itself can then be
routed to the CLI's own short-lived consumer; the nats client auto-acks
them and they are lost when the process exits, leaving stale upload
sessions behind.

Disable asyncfileuploads for the CLI driver instance so it only lists
sessions and publishes events. Also emit [] instead of null when the
session list is empty so the JSON output stays parseable.
2026-09-25 15:47:47 +02:00
André Duffeck ad4c8ad112 fix(search): keep trashed and live folders at the same path apart
A trashed folder keeps its path in the index, so a new folder can take
the same one. The descendant lookup behind move, delete, restore and
purge matched on space and path only: purging the trashed folder took
the live folder and its descendants out of the index, and moving the
live folder carried the trashed tree along.

Both engines now also match the root's trash state; purge with
onlyDeleted keeps matching the trashed ones only.
2026-09-25 15:31:31 +02:00
Andre Duffeck 74462d32d7 Merge pull request #3495 from opencloud-eu/feat/search-hierarchy-tokenizer
refactor(search): stream bleve descendants
2026-09-25 15:19:52 +02:00
Andre Duffeck cf1737babe Merge pull request #3493 from opencloud-eu/cleanup-split-changes
align the handler verifier, update docs
2026-09-25 14:27:03 +02:00
dependabot[bot] f7e6d5d0dd build(deps): bump github.com/nats-io/nats.go from 1.53.1 to 1.54.0
Bumps [github.com/nats-io/nats.go](https://github.com/nats-io/nats.go) from 1.53.1 to 1.54.0.
- [Release notes](https://github.com/nats-io/nats.go/releases)
- [Commits](https://github.com/nats-io/nats.go/compare/v1.53.1...v1.54.0)

---
updated-dependencies:
- dependency-name: github.com/nats-io/nats.go
  dependency-version: 1.54.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-24 13:35:18 +02:00
Jörn Friedrich Dreyer 040c3bf08e Merge pull request #3591 from opencloud-eu/port-11693
fix(storage-users): publish CleanUpload event instead of purging directly
2026-09-24 12:44:56 +02:00
Jörn Friedrich Dreyer caa28372aa chore: bump reva to 7fa82c610
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2026-09-24 11:42:05 +02:00
Jörn Friedrich Dreyer 27c42ad135 fix(storage-users): publish CleanUpload event instead of purging directly
Ported from owncloud/ocis#11693. The uploads clean command now emits an events.CleanUpload event via the event stream rather than calling Purge directly. Requires the corresponding reva bump (vendor changes pulled in separately).
2026-09-24 11:21:28 +02:00
dependabot[bot] 596680c8a2 build(deps): bump github.com/onsi/gomega from 1.42.1 to 1.43.1
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.42.1 to 1.43.1.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.42.1...v1.43.1)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-version: 1.43.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-24 09:02:32 +02:00
dependabot[bot] 24a6d0ca2b build(deps): bump google.golang.org/grpc from 1.83.2 to 1.84.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.83.2 to 1.84.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.83.2...v1.84.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.84.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-24 08:21:15 +02:00
Jörn Friedrich Dreyer bd4d6e8386 Merge pull request #3585 from opencloud-eu/port-11108
feat: postprocessing logs
2026-09-23 18:44:18 +02:00
dependabot[bot] a1050885eb build(deps): bump github.com/beevik/etree from 1.7.1 to 1.8.0
Bumps [github.com/beevik/etree](https://github.com/beevik/etree) from 1.7.1 to 1.8.0.
- [Release notes](https://github.com/beevik/etree/releases)
- [Changelog](https://github.com/beevik/etree/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/beevik/etree/compare/v1.7.1...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/beevik/etree
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-23 17:42:37 +02:00
Michal Klos f090b32c9a feat: postprocessing logs
cleanup and fix the upload id

tweak error messages

(cherry picked from commit f7e53bb94698875efd092abaa6f38b6608dad4d4)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2026-09-23 17:05:01 +02:00
Viktor Scharf 624380e725 run cli tests with decomposed nightly (#3580) 2026-09-23 16:49:26 +02:00
Sawjan Gurungandv.scharf 8b024b8f1c [decomposed] test(api): remove passing notification tests from expected failure (#3555)
* test: remove passing notification tests from expected failure

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* fix cleanupEmptyTrashBin.feature:5 test for decomposed

---------

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>
Co-authored-by: v.scharf <v.scharf@opencloud.eu>
2026-09-23 16:44:57 +02:00
dependabot[bot] 1b95daf527 build(deps): bump golang.org/x/image from 0.45.0 to 0.46.0
Bumps [golang.org/x/image](https://github.com/golang/image) from 0.45.0 to 0.46.0.
- [Commits](https://github.com/golang/image/compare/v0.45.0...v0.46.0)

---
updated-dependencies:
- dependency-name: golang.org/x/image
  dependency-version: 0.46.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-23 11:56:46 +02:00
dependabot[bot] a2318852bc build(deps): bump github.com/nats-io/nats-server/v2
Bumps [github.com/nats-io/nats-server/v2](https://github.com/nats-io/nats-server) from 2.14.5 to 2.15.0.
- [Release notes](https://github.com/nats-io/nats-server/releases)
- [Changelog](https://github.com/nats-io/nats-server/blob/main/RELEASES.md)
- [Commits](https://github.com/nats-io/nats-server/compare/v2.14.5...v2.15.0)

---
updated-dependencies:
- dependency-name: github.com/nats-io/nats-server/v2
  dependency-version: 2.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-23 09:54:35 +02:00
dependabot[bot] 17d665b54f build(deps): bump golang.org/x/text from 0.41.0 to 0.42.0
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.41.0 to 0.42.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.41.0...v0.42.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-23 07:58:00 +02:00
Jörn Friedrich Dreyer 98d699e362 add posixfs index command
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2026-09-23 07:57:56 +02:00
Alex Ababii b69142157c fix(collaboration): restricted endpoints for collaboration service 2026-09-22 17:11:56 +02:00
dependabot[bot] b803e31336 build(deps): bump golang.org/x/sync from 0.22.0 to 0.23.0
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/sync/compare/v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sync
  dependency-version: 0.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-22 17:11:08 +02:00
dependabot[bot] 390f2e367a build(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
Bumps [go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc](https://github.com/open-telemetry/opentelemetry-go-contrib) from 0.70.0 to 0.71.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.70.0...zpages/v0.71.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
  dependency-version: 0.71.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-22 16:30:05 +02:00