ManyTheFish
877717cb26
Add a test using Swedish documents
2024-09-19 08:34:04 +02:00
meili-bors[bot]
ff523a2357
Merge #4939
...
4939: Introduce the `STARTS WITH` filter operator r=irevoire a=Kerollmops
This PR fixes #4872 by introducing the `STARTS WITH` filter operator and gating it under the _contains filter_ experimental feature along with the `CONTAINS` one. I also updated [the experimental feature discussion page](https://github.com/orgs/meilisearch/discussions/763 ).
Co-authored-by: Clément Renault <clement@meilisearch.com>
2024-09-18 10:19:48 +00:00
meili-bors[bot]
29c3aca72a
Merge #4929
...
4929: Add facets support to federated r=Kerollmops a=dureuill
# Pull Request
## Related issue
- Fixes #4932 (sprint issue)
- Fixes #4913 (user-opened issue)
## What does this PR do?
See [public usage](https://meilisearch.notion.site/v1-11-Federated-search-59b30e03383c40729d7541a3dffb0069 )
> [!CAUTION]
> This PR introduces a 🚨 **breaking change**🚨 : `queries.facets` when `federation` is present and non-`null` is now **an error**
### Implementation standpoint:
- Facet distribution: fix issue where truncated facet distribution would have a wrong order
- facet distribution: implement Display for OrderBy
Co-authored-by: Louis Dureuil <louis@meilisearch.com>
2024-09-18 09:47:20 +00:00
Louis Dureuil
00f8d03f43
Use f32::min and f32::max
2024-09-18 11:46:10 +02:00
Clément Renault
50981ea778
Update the error messages
2024-09-18 11:44:29 +02:00
Louis Dureuil
c2caff1716
Remove obsolete enum
2024-09-18 11:26:43 +02:00
meili-bors[bot]
4c355bede7
Merge #4937
...
4937: Support iso 639 1 r=ManyTheFish a=ManyTheFish
# Pull Request
## Related issue
Fixes #4827
## What does this PR do?
- Add iso-639-1 variants to the Locales enum
- Convert iso-639-1 into iso-639-3
Co-authored-by: ManyTheFish <many@meilisearch.com>
2024-09-18 05:29:32 +00:00
Louis Dureuil
174d69ff72
Don't override max value in indexes
2024-09-17 18:16:14 +02:00
Louis Dureuil
52a52f97cf
Update tests
2024-09-17 17:49:12 +02:00
Louis Dureuil
5de4b48552
Fixup error messages
2024-09-17 17:49:00 +02:00
Louis Dureuil
df648ce7a6
Update tests
2024-09-17 17:40:14 +02:00
Louis Dureuil
af8edab21d
Remove mention of sort order and recommend changing index settings on inconsistent order error
2024-09-17 17:39:51 +02:00
Louis Dureuil
c42746c4cd
Update tests
2024-09-17 17:22:14 +02:00
Louis Dureuil
98b77aec66
Remove runtime sortFacetValuesBy
2024-09-17 17:22:03 +02:00
Clément Renault
54d3ba3357
Fix tests that check error message content
2024-09-17 17:14:39 +02:00
ManyTheFish
6e058709f2
Rustfmt
2024-09-17 17:02:06 +02:00
ManyTheFish
0fbf9ea5b1
Factorize using macro
2024-09-17 17:00:03 +02:00
Clément Renault
9f1fb4b425
Introduce the STARTS WITH filter operator gated under an experimental feature
2024-09-17 16:44:11 +02:00
ManyTheFish
a197d63ab6
simplify tests
2024-09-17 15:30:12 +02:00
ManyTheFish
390eadb733
Support iso-639-1
2024-09-17 15:01:01 +02:00
meili-bors[bot]
93f0317b94
Merge #4936
...
4936: Update version for the next release (v1.11.0) in Cargo.toml r=curquiza a=meili-bot
⚠️ This PR is automatically generated. Check the new version is the expected one and Cargo.lock has been updated before merging.
Co-authored-by: curquiza <curquiza@users.noreply.github.com>
2024-09-17 11:47:08 +00:00
curquiza
29ff02f3ff
Update version for the next release (v1.11.0) in Cargo.toml
2024-09-17 11:45:48 +00:00
Louis Dureuil
d9e0df74ea
update test
2024-09-17 10:39:48 +02:00
Louis Dureuil
dc8a662209
federated queries: adjust error message
2024-09-17 10:39:48 +02:00
Louis Dureuil
6732dd95d7
Update tests
2024-09-17 10:39:48 +02:00
Louis Dureuil
95da428dc8
Use route in federated
2024-09-17 10:39:48 +02:00
Louis Dureuil
38c4be1c8e
compute_facets accepts Route argument to fixup error code
2024-09-17 10:39:48 +02:00
Louis Dureuil
91dfab317f
New error
2024-09-17 10:39:48 +02:00
Louis Dureuil
47e3c4b5c3
Add new tests
2024-09-17 10:39:48 +02:00
Louis Dureuil
533f1d4345
Federated search: support facets
2024-09-17 10:39:48 +02:00
Louis Dureuil
7b55462610
BREAKING CHANGE: errors if queries.facets in federated search
2024-09-17 10:39:48 +02:00
Louis Dureuil
f6114a1ff2
Introduce ComputedFacets and compute_facet_distribution_stats
2024-09-17 10:39:48 +02:00
Louis Dureuil
7c084b1286
SearchQueriesWithIndex changes
2024-09-17 10:39:47 +02:00
Louis Dureuil
57f9517a98
Required changes to IndexUid
2024-09-17 10:39:47 +02:00
Louis Dureuil
72cc573e0a
Add new error types
2024-09-17 10:39:47 +02:00
Louis Dureuil
a48b1d5a79
Update existing tests following error message changes
2024-09-17 10:39:47 +02:00
Louis Dureuil
a94a87ee54
Slightly changes existing error messages
2024-09-17 10:39:47 +02:00
meili-bors[bot]
4b55ba68bc
Merge #4911
...
4911: Bump quinn-proto from 0.11.3 to 0.11.8 r=Kerollmops a=dependabot[bot]
Bumps [quinn-proto](https://github.com/quinn-rs/quinn ) from 0.11.3 to 0.11.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/quinn-rs/quinn/releases ">quinn-proto's releases</a>.</em></p>
<blockquote>
<h2>quinn-proto 0.11.5</h2>
<h2>What's Changed</h2>
<ul>
<li>No workspace lints by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1955 ">quinn-rs/quinn#1955</a></li>
</ul>
<h2>quinn-proto 0.11.4</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix panic in example due to unset default crypto provider by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1882 ">quinn-rs/quinn#1882</a></li>
<li>Fix zero-length connection IDs by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1883 ">quinn-rs/quinn#1883</a></li>
<li>Add support for NetBSD, fix OpenBSD by <a href="https://github.com/flub "><code>`@flub</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1884 ">quinn-rs/quinn#1884</a></li>
<li>docs(udp): replace AsRawFd and AsRawSocket with AsFd and AsSocket by <a href="https://github.com/mxinden "><code>`@mxinden</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1890 ">quinn-rs/quinn#1890</a></li>
<li>Resolve stopped/received_reset futures on lost connections by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1886 ">quinn-rs/quinn#1886</a></li>
<li>Bump version numbers (quinn 0.11.2, -proto 0.11.3) by <a href="https://github.com/djc "><code>`@djc</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1891 ">quinn-rs/quinn#1891</a></li>
<li>udp: bump version to 0.5.2 by <a href="https://github.com/djc "><code>`@djc</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1892 ">quinn-rs/quinn#1892</a></li>
<li>docs(quinn): Clarify effects of setting AckFrequencyConfig by <a href="https://github.com/gretchenfrage "><code>`@gretchenfrage</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1894 ">quinn-rs/quinn#1894</a></li>
<li>Apply clippy suggestions from Rust 1.79 by <a href="https://github.com/djc "><code>`@djc</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1895 ">quinn-rs/quinn#1895</a></li>
<li>Only send MAX_STREAMS when >1/8 of flow control window is consumed by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1898 ">quinn-rs/quinn#1898</a></li>
<li>fix: remove unused dependency tracing-attributes by <a href="https://github.com/mxinden "><code>`@mxinden</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1903 ">quinn-rs/quinn#1903</a></li>
<li>proto: make initial destination cid configurable by <a href="https://github.com/thynson "><code>`@thynson</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1897 ">quinn-rs/quinn#1897</a></li>
<li>Allow configuring rng seed through <code>EndpointConfig</code> by <a href="https://github.com/aochagavia "><code>`@aochagavia</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1901 ">quinn-rs/quinn#1901</a></li>
<li>quinn: introduce waking helpers by <a href="https://github.com/djc "><code>`@djc</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1908 ">quinn-rs/quinn#1908</a></li>
<li>Wake blocked streams on 0-RTT rejection by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1905 ">quinn-rs/quinn#1905</a></li>
<li>Upgrade to rustc-hash 2 by <a href="https://github.com/djc "><code>`@djc</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1909 ">quinn-rs/quinn#1909</a></li>
<li>Fix unnecessary Incoming warning on Endpoint drop by <a href="https://github.com/gretchenfrage "><code>`@gretchenfrage</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1907 ">quinn-rs/quinn#1907</a></li>
<li>Revise and add additional 0-rtt doc comments by <a href="https://github.com/gretchenfrage "><code>`@gretchenfrage</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1826 ">quinn-rs/quinn#1826</a></li>
<li>docs: remove reference to sendmmsg by <a href="https://github.com/mxinden "><code>`@mxinden</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1914 ">quinn-rs/quinn#1914</a></li>
<li>Fix debug assert with reordered ACKs by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1893 ">quinn-rs/quinn#1893</a></li>
<li>quinn: Make <code>Endpoint::client</code> dual-stack V6 by default by <a href="https://github.com/gretchenfrage "><code>`@gretchenfrage</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1913 ">quinn-rs/quinn#1913</a></li>
<li>bench(udp): measure non-GSO & GSO on localhost by <a href="https://github.com/mxinden "><code>`@mxinden</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1915 ">quinn-rs/quinn#1915</a></li>
<li>proto: avoid overflow in handshake done statistic by <a href="https://github.com/djc "><code>`@djc</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1918 ">quinn-rs/quinn#1918</a></li>
<li>Use workspace dependencies for all external dependencies by <a href="https://github.com/djc "><code>`@djc</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1919 ">quinn-rs/quinn#1919</a></li>
<li>Fix lack of reexport of ConnectionStats and ResetError by <a href="https://github.com/TirushOne "><code>`@TirushOne</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1920 ">quinn-rs/quinn#1920</a></li>
<li>[non-breaking] deps(udp): make tracing optional and add optional log by <a href="https://github.com/mxinden "><code>`@mxinden</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1923 ">quinn-rs/quinn#1923</a></li>
<li>fix(udp): feature flag tracing in windows.rs by <a href="https://github.com/mxinden "><code>`@mxinden</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1932 ">quinn-rs/quinn#1932</a></li>
<li>Bump MSRV to 1.70 following tokio 1.39 by <a href="https://github.com/djc "><code>`@djc</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1939 ">quinn-rs/quinn#1939</a></li>
<li>Raise default idle timeout to 30 seconds by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1938 ">quinn-rs/quinn#1938</a></li>
<li>Discard pre-handshake packets after the handshake by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1937 ">quinn-rs/quinn#1937</a></li>
<li>Apply suggestions from Clippy 1.80 by <a href="https://github.com/djc "><code>`@djc</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1941 ">quinn-rs/quinn#1941</a></li>
<li>chore(quinn): feature flag socket2 imports by <a href="https://github.com/mxinden "><code>`@mxinden</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1933 ">quinn-rs/quinn#1933</a></li>
<li>refactor: move rust-version to workspace Cargo.toml by <a href="https://github.com/mxinden "><code>`@mxinden</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1940 ">quinn-rs/quinn#1940</a></li>
<li>chore: move common package data to workspace Cargo.toml by <a href="https://github.com/mxinden "><code>`@mxinden</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1943 ">quinn-rs/quinn#1943</a></li>
<li>Endpoint stats interface by <a href="https://github.com/ryleung-solana "><code>`@ryleung-solana</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1900 ">quinn-rs/quinn#1900</a></li>
<li>Expose the Handshake Confirmed state by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1944 ">quinn-rs/quinn#1944</a></li>
<li>Exclude metrics with freestanding getters from EndpointStats by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1945 ">quinn-rs/quinn#1945</a></li>
<li>Fix incorrect initial DCID indexing on retried connections by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1946 ">quinn-rs/quinn#1946</a></li>
<li>Add expect message to unwrap in PacketBuilder by <a href="https://github.com/casey "><code>`@casey</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1951 ">quinn-rs/quinn#1951</a></li>
<li>Revert "proto: yield transport error for Initial packets with no CRYPTO" by <a href="https://github.com/Ralith "><code>`@Ralith</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1952 ">quinn-rs/quinn#1952</a></li>
<li>refactor(udp): introduce log facade by <a href="https://github.com/mxinden "><code>`@mxinden</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1935 ">quinn-rs/quinn#1935</a></li>
<li>Update cargo-deny-action to v2 by <a href="https://github.com/djc "><code>`@djc</code></a>` in <a href="https://redirect.github.com/quinn-rs/quinn/pull/1953 ">quinn-rs/quinn#1953</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7c09b02073
"><code>7c09b02</code></a> proto: bump version to 0.11.8 for release (<a href="https://redirect.github.com/quinn-rs/quinn/issues/1981 ">#1981</a>)</li>
<li><a href="59bccd2e7e
"><code>59bccd2</code></a> Version bump <code>quinn</code> to enforce patched <code>quinn-proto</code></li>
<li><a href="a8ec510fd1
"><code>a8ec510</code></a> proto: avoid panicking on rustls server config errors</li>
<li><a href="c26e8cd2f7
"><code>c26e8cd</code></a> Bump versions</li>
<li><a href="e01609ccd8
"><code>e01609c</code></a> Merge commit from fork</li>
<li><a href="c292a3c6a6
"><code>c292a3c</code></a> Fix and test validation of IDCID length</li>
<li><a href="bb02a12a84
"><code>bb02a12</code></a> fix(.github/android): use API level 26</li>
<li><a href="5e5cc93645
"><code>5e5cc93</code></a> fix(.github/android): pass matrix.target and increase api to v26</li>
<li><a href="cef42cccef
"><code>cef42cc</code></a> fix(udp): typo in sendmsg error log</li>
<li><a href="edf16a6f10
"><code>edf16a6</code></a> ci(rust.yml): add workflow testing feature permutations</li>
<li>Additional commits viewable in <a href="https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.3...quinn-proto-0.11.8 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quinn-proto&package-manager=cargo&previous-version=0.11.3&new-version=0.11.8 )](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/meilisearch/meilisearch/network/alerts ).
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 13:32:32 +00:00
Louis Dureuil
23e14138bb
facet distribution: implement Display for OrderBy
2024-09-12 17:43:50 +02:00
Louis Dureuil
e44325683a
Facet distribution: fix issue where truncated facet distribution would have a wrong order
2024-09-12 17:43:49 +02:00
meili-bors[bot]
02c2b660f8
Merge #4920
...
4920: Change OpenAI default model r=dureuill a=dureuill
# Pull Request
## Related issue
Fixes #4856
See also [public usage](https://meilisearch.notion.site/v1-11-AI-search-changes-0e37727193884a70999f254fa953ce6e#b4685a48c4784262a149ec307ec58671 )
## What does this PR do?
- make the `text-embedding-3-small` the default model for OpenAI instead of `text-embedding-ada-002`. Existing embedders are not impacted
Co-authored-by: Louis Dureuil <louis@meilisearch.com>
2024-09-11 07:08:39 +00:00
Louis Dureuil
f18e9cb7b3
Change openai default model
2024-09-09 13:09:35 +02:00
meili-bors[bot]
db0cf3b2ed
Merge #4912
...
4912: Allow Meilitool to dumplessly, offline upgrade v1.9 -> v1.10 in some conditions r=Kerollmops a=dureuill
- bail early if the DB contains at least 1 REST embedder, providing the list of detected REST embedders, and without modifying the DB
- Might depend on the feature set that meilitool was compiled with and the featureset that the Meilisearch that created the DB was compiled with 💀 . In case of runtime error, try again with a different feature set (passing or not passing `-p meilitool` when building after a `cargo clean`)
Co-authored-by: Louis Dureuil <louis@meilisearch.com>
prototype-upgrade-offline-v1_9-v1_10-0
2024-09-05 09:11:23 +00:00
Louis Dureuil
f6abf01d2c
Check REST embedders before touching the DB
2024-09-05 10:49:59 +02:00
Louis Dureuil
28da759f11
meilitool: Support dumpless upgrade from v1.9 to v1.10 when there are no REST embedders
2024-09-05 10:08:38 +02:00
Louis Dureuil
ea96d19525
Change versioning in meili
2024-09-05 10:08:06 +02:00
Louis Dureuil
d352b1ee83
Add serde to meilitool
2024-09-05 10:07:33 +02:00
dependabot[bot]
3f3cebf5f9
Bump quinn-proto from 0.11.3 to 0.11.8
...
Bumps [quinn-proto](https://github.com/quinn-rs/quinn ) from 0.11.3 to 0.11.8.
- [Release notes](https://github.com/quinn-rs/quinn/releases )
- [Commits](https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.3...quinn-proto-0.11.8 )
---
updated-dependencies:
- dependency-name: quinn-proto
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-09-03 20:50:30 +00:00
meili-bors[bot]
b278815617
Merge #4908
...
4908: Bring back changes from release v1.10.1 to main r=dureuill a=irevoire
# Pull Request
Following the [latest release](https://github.com/meilisearch/meilisearch/releases/tag/v1.10.1 ), this PR brings back the changes to main.
Co-authored-by: Tamo <tamo@meilisearch.com>
Co-authored-by: irevoire <irevoire@users.noreply.github.com>
2024-09-03 14:28:12 +00:00
meili-bors[bot]
40e13ceef3
Merge #4892
...
4892: Add a documentTemplateMaxBytes parameter to limit the max length of document templates r=ManyTheFish a=dureuill
# Pull Request
## Related issue
Fixes #4885
See [public usage](https://meilisearch.notion.site/v1-11-AI-search-changes-0e37727193884a70999f254fa953ce6e#a3d63628129e40adba943ae7b8ec06c2 )
Co-authored-by: Louis Dureuil <louis@meilisearch.com>
2024-09-03 11:50:07 +00:00