Mateusz Kwasniewski
772682176e
feat: pagination reset on feature list ( #5644 )
2023-12-14 13:44:27 +01:00
Jaanus Sellin
1191094981
feat: add tests for filters component ( #5632 )
2023-12-13 16:05:09 +02:00
Fredrik Strand Oseberg
c552f3ae72
Feat/new strategy configuration general tab ( #5628 )
...
* Adds the new general tab settings behind a feature flag
* Adds a test for the FlexibleStrategy component
2023-12-13 12:34:43 +01:00
Jaanus Sellin
ed4a182e7e
refactor: filter abstraction ( #5625 )
2023-12-13 11:43:02 +02:00
Jaanus Sellin
c0c1dba9b0
refactor: simplify configuration for filters ( #5622 )
...
This is building block of abstraction for filters.
2023-12-13 10:23:59 +02:00
Mateusz Kwasniewski
2b7e127680
test: feature toggle list table ( #5618 )
2023-12-13 08:13:19 +01:00
Jaanus Sellin
4f207f18e6
feat: filters for project overview ( #5620 )
2023-12-12 22:50:49 +02:00
andreas-unleash
4376697250
feat: show Changes scheduled in feature variants even when CR are dis… ( #5613 )
...
show Changes scheduled in feature variants even when CR are disabled
Modifies existing hook to call the new `change-requests/scheduled`
endpoint that returns the relevant scheduled change requests even when
change requests are disabled
Rename the ChangeRequestIdentityData to ScheduledChangeRequestViewModel
for consistency (finalised schemas will replace the BE and FE types in a
follow up PR)
Closes #
[1-1746](https://linear.app/unleash/issue/1-1746/show-change-scheduled-badge-in-feature-environment-variants-even-if )
<img width="1486" alt="Screenshot 2023-12-12 at 14 24 44"
src="https://github.com/Unleash/unleash/assets/104830839/7c4e92ef-81d8-423e-8b78-9015ede59952 ">
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-12 15:34:32 +02:00
Jaanus Sellin
386c4baa86
feat: keep filters ordered based on user selection ( #5609 )
2023-12-12 13:01:23 +02:00
andreas-unleash
e02c252636
fix: show Changes scheduled badge for strategies even if change reque… ( #5599 )
...
show Changes scheduled badge for strategies even if change requests are
disabled
Closes #
[1-1745](https://linear.app/unleash/issue/1-1745/show-changes-scheduled-badge-in-strategy-item-even-if-change-requests )
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-12 09:30:57 +02:00
Jaanus Sellin
74f6f15247
feat: do not show project if not multiple projects exist ( #5598 )
2023-12-11 16:02:10 +02:00
Fredrik Strand Oseberg
9dbb7ea9a9
feat: add initial setup for tabs ( #5586 )
...
This PR sets up the initial tab structure for the new strategy form
2023-12-11 13:39:21 +01:00
Mateusz Kwasniewski
ba50d1ef69
feat: adjust styling for search filters ( #5587 )
2023-12-11 13:11:26 +01:00
Jaanus Sellin
9bae14a2cc
feat: add tags filter ( #5584 )
2023-12-11 14:10:03 +02:00
Fredrik Strand Oseberg
ec670450fd
feat: initial setup ( #5583 )
...
This PR sets up the feature flag for the new strategy configuration and
duplicates the components for the new setup
2023-12-11 12:23:18 +01:00
Jaanus Sellin
5d80f5fa4d
feat: test filter date item ( #5576 )
2023-12-11 12:22:00 +02:00
Jaanus Sellin
1173b664da
feat: add created date filter component ( #5569 )
2023-12-08 10:07:57 +02:00
Jaanus Sellin
e89ebf358e
refactor: split filter configuration with filter visibility state ( #5563 )
...
This PR splits the filter configuration with filter visibility state.
This will simplify adding different filter types in future, for example
date filters.
2023-12-07 11:59:35 +02:00
Mateusz Kwasniewski
38d02e1a85
feat: segments operators ( #5562 )
2023-12-06 17:38:36 +02:00
Thomas Heartman
a228f54344
feat: show scheduled CRs using strategies when removing it ( #5560 )
...
Show a warning about how deleting a strategy might mess up scheduled
change requests.
If there are change requests, list them. If there are no conflicts, show
nothing. If we don't know (because of no successful response from the
API), say that it might cause issues.
![image](https://github.com/Unleash/unleash/assets/17786332/2c6a4257-69f5-458a-ab6f-9b2ea2f5d550 )
2023-12-06 15:39:17 +01:00
Mateusz Kwasniewski
87ebbb0fa2
feat: segments filter ( #5558 )
...
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2023-12-06 14:50:18 +02:00
Jaanus Sellin
eda4186a6c
fix: state now persist to filters ( #5559 )
...
When navigating to features list, now it will respect the query params.
2023-12-06 14:17:49 +02:00
Jaanus Sellin
eb43d37379
feat: segment cell and orval types ( #5543 )
2023-12-06 12:51:00 +02:00
Jaanus Sellin
b8fabbd726
feat: add new filter button with state ( #5556 )
...
[Screencast from 2023-12-05
16-59-28.webm](https://github.com/Unleash/unleash/assets/964450/793c771b-6246-4e28-8c13-920696a48bd5 )
---------
Co-authored-by: kwasniew <kwasniewski.mateusz@gmail.com>
2023-12-06 12:50:33 +02:00
Mateusz Kwasniewski
2dcf4af7b1
feat: filter persisted in url ( #5549 )
2023-12-05 17:31:23 +01:00
Tymoteusz Czech
b5122a74e7
refactor: table state management in withTableState ( #5531 )
2023-12-05 12:16:58 +01:00
Tymoteusz Czech
795c67306c
fix: features sidebar scroll ( #5524 )
...
Feature toggle overview screen - the sidebar getting sticky was making it hard to see many environments
2023-12-05 09:08:02 +01:00
Tymoteusz Czech
a506b92544
feat: Refactor Table State Persistence in Feature Toggle List ( #5527 )
...
new custom hook, `usePersistentTableState`
Co-authored-by: Mateusz Kwasniewski <kwasniewski.mateusz@gmail.com>
2023-12-04 13:21:03 +00:00
Tymoteusz Czech
755c22f3b9
feat: features list pagination ( #5496 )
...
New paginated table - tested on /features-new behind a flag
2023-12-01 14:53:05 +00:00
Tymoteusz Czech
f690fe86da
feat: new search for feature toggle list table ( #5454 )
...
Filtering of feature toggles list with backend
2023-11-29 10:42:35 +01:00
renovate[bot]
c7498dcac6
chore(deps): update dependency @biomejs/biome to v1.4.0 ( #5288 )
...
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@biomejs/biome](https://biomejs.dev )
([source](https://togithub.com/biomejs/biome )) | [`1.3.3` ->
`1.4.0`](https://renovatebot.com/diffs/npm/@biomejs%2fbiome/1.3.3/1.4.0 )
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@biomejs%2fbiome/1.4.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@biomejs%2fbiome/1.4.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@biomejs%2fbiome/1.3.3/1.4.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@biomejs%2fbiome/1.3.3/1.4.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>biomejs/biome (@​biomejs/biome)</summary>
###
[`v1.4.0`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#140-2023-11-27 )
[Compare
Source](af24597c18...889593e3f9
)
##### CLI
- Remove the CLI options from the `lsp-proxy`, as they were never meant
to be passed to that command. Contributed by
[@​ematipico](https://togithub.com/ematipico )
- Add option `--config-path` to `lsp-proxy` and `start` commands. It's
now possible to tell the Daemon server to load `biome.json` from a
custom path. Contributed by
[@​ematipico](https://togithub.com/ematipico )
- Add new `--diagnostic-level` option to let users control the level of
diagnostics printed by the CLI. Possible values are: `"info"`, `"warn"`,
`"hint"`. Contributed by
[@​simonxabris](https://togithub.com/simonxabris )
- Add option `--line-feed` to the `format` command. Contributed by
[@​SuperchupuDev](https://togithub.com/SuperchupuDev )
- Add option `--bracket-same-line` to the `format` command. Contributed
by [@​faultyserve](https://togithub.com/faultyserve )
- Add option `--bracket-spacing` to the `format` command. Contributed by
[@​faultyserve](https://togithub.com/faultyserve )
##### Bug fixes
- Fix the command `format`, now it returns a non-zero exit code when if
there pending diffs. Contributed by
[@​ematipico](https://togithub.com/ematipico )
##### Configuration
- Add option `formatter.lineFeed`. Contributed by
[@​SuperchupuDev](https://togithub.com/SuperchupuDev )
- Add option `javascript.formatter.bracketSameLine`. Contributed by
[@​faultyserve](https://togithub.com/faultyserve )
- Add option `javascript.formatter.bracketSpacing`. Contributed by
[@​faultyserve](https://togithub.com/faultyserve )
##### Formatter
##### New features
- Add a new option
[`--line-ending`](https://biomejs.dev/reference/configuration/#formatterlineending ).
This option allows changing the type of line endings. Contributed by
[@​SuperchupuDev](https://togithub.com/SuperchupuDev )
- Added a new option called `--bracket-spacing` to the formatter. This
option allows you to control whether spaces are inserted around the
brackets of object literals.
[#​627](https://togithub.com/biomejs/biome/issues/627 ).
Contributed by [@​faultyserver](https://togithub.com/faultyserver )
- Added a new option called `--bracket-same-line` to the formatter. This
option allows you to control whether spaces are inserted around the
brackets of object literals.
[#​627](https://togithub.com/biomejs/biome/issues/627 ).
Contributed by [@​faultyserver](https://togithub.com/faultyserver )
##### Bug fixes
- Fix [#​832](https://togithub.com/biomejs/biome/issues/832 ), the
formatter no longer keeps an unnecessary trailing comma in type
parameter lists. Contributed by
[@​Conaclos](https://togithub.com/Conaclos )
- Fix [#​301](https://togithub.com/biomejs/biome/issues/301 ), the
formatter should not break before the `in` keyword. Contributed by
[@​ematipico](https://togithub.com/ematipico )
##### Linter
##### Promoted rules
-
[a11y/noInteractiveElementToNoninteractiveRole](https://biomejs.dev/linter/rules/no-interactive-element-to-noninteractive-role )
-
[complexity/noThisInStatic](https://biomejs.dev/linter/rules/no-this-in-static )
-
[complexity/useArrowFunction](https://biomejs.dev/linter/rules/use-arrow-function )
-
[correctness/noEmptyCharacterClassInRegex](https://biomejs.dev/linter/rules/no-empty-character-class-in-regex )
-
[correctness/noInvalidNewBuiltin](https://biomejs.dev/linter/rules/no-invalid-new-builtin )
-
[style/noUselessElse](https://biomejs.dev/linter/rules/no-useless-else )
-
[style/useAsConstAssertion](https://biomejs.dev/linter/rules/use-as-const-assertion )
-
[style/useShorthandAssign](https://biomejs.dev/linter/rules/use-shorthand-assign )
-
[suspicious/noApproximativeNumericConstant](https://biomejs.dev/linter/rules/no-approximative-numeric-constant )
-
[suspicious/noMisleadingInstantiator](https://biomejs.dev/linter/rules/no-misleading-instantiator )
-
[suspicious/noMisrefactoredShorthandAssign](https://biomejs.dev/linter/rules/no-misrefactored-shorthand-assign )
The following rules are now recommended:
- [a11y/noAccessKey](https://biomejs.dev/linter/rules/no-access-key )
-
[a11y/useHeadingContent](https://biomejs.dev/linter/rules/use-heading-content )
-
[complexity/useSimpleNumberKeys](https://biomejs.dev/linter/use-simple-number-keys )
The following rules are now deprecated:
-
[correctness/noNewSymbol](https://biomejs.dev/linter/rules/no-new-symbol )
The rule is replaced by
[correctness/noInvalidNewBuiltin](https://biomejs.dev/linter/rules/no-invalid-new-builtin )
##### New features
- Add
[noDefaultExport](https://biomejs.dev/linter/rules/no-default-export )
which disallows `export default`. Contributed by
[@​Conaclos](https://togithub.com/Conaclos )
- Add
[noAriaHiddenOnFocusable](https://biomejs.dev/linter/rules/no-aria-hidden-on-focusable )
which reports hidden and focusable elements. Contributed by
[@​vasucp1207](https://togithub.com/vasucp1207 )
- Add
[noImplicitAnyLet](https://biomejs.dev/linter/rules/no-implicit-any-let )
that reports variables declared with `let` and without initialization
and type annotation. Contributed by
[@​TaKO8Ki](https://togithub.com/TaKO8Ki ) and
[@​b4s36t4](https://togithub.com/b4s36t4 )
- Add [useAwait](https://biomejs.dev/linter/rules/use-await ) that
reports `async` functions that don't use an `await` expression.
- Add
[useValidAriaRole](https://biomejs.dev/linter/rules/use-valid-aria-role ).
Contributed by [@​vasucp1207](https://togithub.com/vasucp1207 )
- Add [useRegexLiterals](https://biomejs.dev/linter/use-regex-literals )
that suggests turning call to the regex constructor into regex literals.
COntributed by [@​Yuiki](https://togithub.com/Yuiki )
##### Enhancements
- Add an unsafe code fix for
[a11y/useAriaActivedescendantWithTabindex](https://biomejs.dev/linter/rules/use-aria-activedescendant-with-tabindex )
##### Bug fixes
- Fix [#​639](https://togithub.com/biomejs/biome/issues/639 ) by
ignoring unused TypeScript's mapped key. Contributed by
[@​Conaclos](https://togithub.com/Conaclos )
- Fix [#​565](https://togithub.com/biomejs/biome/issues/565 ) by
handling several `infer` with the same name in extends clauses of
TypeScript's conditional types. Contributed by
[@​Conaclos](https://togithub.com/Conaclos )
- Fix [#​653](https://togithub.com/biomejs/biome/issues/653 ).
[noUnusedImports](https://biomejs.dev/linter/rules/no-unused-imports )
now correctly removes the entire line where the unused `import` is.
Contributed by [@​Conaclos](https://togithub.com/Conaclos )
- Fix [#​607](https://togithub.com/biomejs/biome/issues/609 )
`useExhaustiveDependencies`, ignore optional chaining, Contributed by
[@​msdlisper](https://togithub.com/msdlisper )
- Fix [#​676](https://togithub.com/biomejs/biome/issues/676 ), by
using the correct node for the `"noreferrer"` when applying the code
action. Contributed by
[@​ematipico](https://togithub.com/ematipico )
- Fix [#​455](https://togithub.com/biomejs/biome/issues/455 ). The
CLI can now print complex emojis to the console correctly.
- Fix [#​727](https://togithub.com/biomejs/biome/issues/727 ).
[noInferrableTypes](https://biomejs.dev/linter/rules/no-inferrable-types )
now correctly keeps type annotations when the initialization expression
is `null`. Contributed by
[@​Conaclos](https://togithub.com/Conaclos )
- Fix [#​784](https://togithub.com/biomejs/biome/issues/784 ),
[noSvgWithoutTitle](https://biomejs.dev/linter/rules/no-svg-without-title )
fixes false-positives to `aria-label` and reports svg's role attribute
is implicit. Contributed by
[@​unvalley](https://togithub.com/unvalley )
- Fix [#​834](https://togithub.com/biomejs/biome/issues/834 ) that
made
[noUselessLoneBlockStatements](https://biomejs.dev/linter/rules/no-useless-lone-block-statements )
reports block statements of switch clauses. Contributed by
[@​vasucp1207](https://togithub.com/vasucp1207 )
- Fix [#​783](https://togithub.com/biomejs/biome/issues/834 ) that
made
[noUselessLoneBlockStatements](https://biomejs.dev/linter/rules/no-useless-lone-block-statements )
reports block statements of `try-catch` structures. Contributed by
[@​hougesen](https://togithub.com/hougesen )
- Fix [#​69](https://togithub.com/biomejs/biome/issues/69 ) that
made
[correctness/noUnnecessaryContinue](https://biomejs.dev/linter/rules/no-unnecessary-continue )
incorrectly reports a `continue` used to break a switch clause.
Contributed by [@​TaKO8Ki](https://togithub.com/TaKO8Ki )
- Fix [#​664](https://togithub.com/biomejs/biome/issues/664 ) by
improving the diagnostic of
[style/useNamingConvention](https://biomejs.dev/linter/use-naming-convention )
when double capital are detected in strict camel case mode. Contributed
by [@​vasucp1207](https://togithub.com/vasucp1207 )
- Fix [#​643](https://togithub.com/biomejs/biome/issues/643 ) that
erroneously parsed the option of
[complexity/useExhaustiveDependencies](https://biomejs.dev/linter/use-naming-convention ).
Contributed by [@​arendjr](https://togithub.com/arendjr )
##### Parser
##### Bug fixes
- Fix [#​846](https://togithub.com/biomejs/biome/issues/846 ) that
erroneously parsed `<const T,>() => {}` as a JSX tag instead of an arrow
function when both TypeScript and JSX are enabled.
##### VSCode
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40Ni4wIiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Christopher Kolstad <chriswk@getunleash.io>
2023-11-28 09:32:00 +00:00
Mateusz Kwasniewski
de287a75fe
chore: remove dependent feature flags ( #5419 )
2023-11-27 14:54:40 +01:00
Tymoteusz Czech
ffe37ac709
Basic filter label ( #5387 )
2023-11-24 10:07:42 +01:00
andreas-unleash
937a605888
chore: remove variantTypeNumber flag ( #5382 )
...
Closes #
[1-1648](https://linear.app/unleash/issue/1-1648/clean-varianttypenumber-flag-for-release )
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-23 11:12:56 +02:00
Fredrik Strand Oseberg
5414fa6663
Refactor/remove last seen at flag ( #5394 )
...
This PR removes the feature flag for displaying the new last seen by
environments component.
2023-11-22 13:32:38 +01:00
Nuno Góis
5dc3e830a8
feat: add CREATE_TAG_TYPE permission ( #5386 )
...
https://linear.app/unleash/issue/2-1164/update-tag-type-covers-both-creation-and-update
Adds a new `CREATE_TAG_TYPE` permission instead of using
`UPDATE_TAG_TYPE` for both actions.
2023-11-22 10:20:19 +00:00
Thomas Heartman
90d6c7c0ba
chore: remove usage of feature naming pattern flag ( #5364 )
...
In preparation for this feature going GA
2023-11-20 12:42:24 +01:00
Jaanus Sellin
069d90d8cb
fix: date should sort asc/desc properly ( #5335 )
2023-11-14 14:47:28 +02:00
Tymoteusz Czech
fd3a7f12cb
chore: remove featureSwitchRefactor flag ( #5329 )
...
Cleanup. This change has been rolled out to significant number of
customers already, and we have another parallel version behind a flag.
2023-11-14 13:03:23 +01:00
Fredrik Strand Oseberg
ddd718fd23
refactor/reshape table ( #5328 )
...
This PR fixes a couple of issues with the pagination bar:
* Fixes an issue where padding bottom would be broken due to disabling
padding on the parent container
* Remove padding on the entire table to create more space and remove
header bar border radius as per discussion with @nicolaesocaciu
2023-11-14 08:44:36 +01:00
Fredrik Strand Oseberg
834ae1d8a4
Feat/pagination loading ( #5325 )
...
This PR makes changes to how the project overview skeleton screen works.
Important changes:
- Add skeleton screens to missing elements, creating a more
comprehensive loading screen
- Split the page into different loading sections, so that we can load
the table when we fetch the next page without affecting the rest of the
page.
https://www.loom.com/share/e5d30dc897ac488ea80cfae11ffab646
Next steps:
* Hide bar if total is less than 25
* Add FE testing
2023-11-13 14:08:48 +01:00
andreas-unleash
77db9f3258
feat: add Changes Scheduled badge to feature variants ( #5312 )
...
Adds the Changes Scheduled badge to environment variant when appropriate
Closes #
[1-1625](https://linear.app/unleash/issue/1-1625/show-a-badge-when-variant-in-scheduled-request )
<img width="1006" alt="Screenshot 2023-11-09 at 15 42 37"
src="https://github.com/Unleash/unleash/assets/104830839/118a3f0b-9acf-4a49-92d2-49bbe49a4c91 ">
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-11-09 14:58:58 +00:00
andreas-unleash
100c22b42a
Feat: scheduled change request badges ( #5300 )
...
Adds a new badge to strategies that have changes in an a scheduled
change request
Closes #
[1-1620](https://linear.app/unleash/issue/1-1620/create-a-new-badge-for-flag-that-is-part-of-scheduled-change )
<img width="1671" alt="Screenshot 2023-11-09 at 11 49 53"
src="https://github.com/Unleash/unleash/assets/104830839/596abbc0-f9ab-4642-9ed2-79ef50fb6c05 ">
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-11-09 13:48:29 +02:00
Fredrik Strand Oseberg
92e2b1890c
Refactor/project overview api calls ( #5279 )
...
This PR reduces the overhead of making API calls on pages with heavy
renders. We forego loading states and default error handling in favor of
more speed by avoiding triggering multiple re-renders from the API call.
2023-11-07 09:19:55 +01:00
Mohan Raj A
0c43089ea2
feat: add copy button to feature flag name ( #4098 ) ( #5031 )
...
In ActionsCell.tsx file, 'Copy' with FileCopy icon is changed to 'Clone'
with 'LibraryAdd' icon as this feature is used to clone a new feature
from existing one. Upon copying the icon and text will change to 'Check'
icon with 'Copied!' for one sec and closes automatically.
2023-10-30 15:38:59 +01:00
Jaanus Sellin
26dcc70e85
bug: remove strategies from copy breadcrumbs ( #5137 )
2023-10-25 09:12:32 +03:00
Fredrik Strand Oseberg
5acf691845
fix: last seen at rendering logic ( #5136 )
...
This PR fixes a bug where the rendering in the frontend would only
render the last seen component if feature.lastSeenAt was set, the new
changes considers whether or not environments last seen at is present
and takes precedent over the legacy last seen at field.
2023-10-24 13:58:55 +02:00
Jaanus Sellin
604c19c27e
fix: fix linting for copyfeature ( #5138 )
2023-10-24 12:21:01 +02:00
sjaanus
b47dbd37ff
fix: fix copy functionality always being disabled
2023-10-24 12:50:42 +03:00
Mateusz Kwasniewski
599da89288
feat: improved has children/has parent indicator ( #5135 )
2023-10-24 10:51:38 +02:00