4009 Commits
Author SHA1 Message Date
Alexander Skoblikovandnaumov 6416486513 Cb 4460 shared query history for the team (#2598)
* CB-5067 team supervisor

* CB-4460 extended team members info api

* CB-5118 support supervisor role

* CB-4460 api fix

* CB-4460 change role name

* CB-4460 gql fix

* CB-4460 fix unexpected team role modification

* CB-4460 fix unexpected team role modification

* CB-4460 fix unexpected team role modification

* CB-4460 fix anonymous preferences

* CB-4460 adjust compare fn


---------

Co-authored-by: naumov <iamemptyhuh@gmail.com>
2024-05-14 17:30:26 +00:00
b40646e69b Cb 4931 auth dialog focus (#2602)
* CB-4931 focus first child of the auth form

* CB-4931 focus dialog from inner component

---------

Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-05-14 19:27:09 +02:00
serge-rider 003a89be57 24.0.5 version bump 2024-05-14 18:37:03 +02:00
AlexeyandEvgenia Bezborodova 39bfc54ca5 CB-4698 fix: limit grid inline editor (#2608)
Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-05-14 19:03:52 +03:00
bac47d20ce CB-5070 refactor: forms design (#2607)
* CB-5070 refactor: forms design

* Merge remote-tracking branch 'origin/devel' into refactor/cb-5070/forms-design

* CB-5070 fix: html semantics

* CB-5070 fix: table header styles

* CB-5070 fix: table header styles

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-05-14 19:03:11 +03:00
alexandDaria Marutkina 5fce0a544b CB-5085 make errors focusable (#2585)
* CB-5085 make errors focusable

* CB-5085 add lazy import

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-05-14 16:36:24 +03:00
833dae58ce CB-5060 add beta features config param (#2599)
* CB-5109 add beta features config param

* CB-5109 rename param

* CB-5060 feat: disable beta features

* CB-5109 add param to config file

---------

Co-authored-by: Alexey <wrouds@gmail.com>
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
2024-05-14 09:31:24 +00:00
d280171b97 CB-4978 feat: handle app update (#2579)
* CB-4978 feat: handle app update

* CB-4978 fix: app loading status info

* feat: async module loading and preload api

* chore: disable SW in dev env

* CB-4978 feat: improve precaching

* CB-4978 fix: split style chunks in two file

* CB-4978 fix: App rebinding

* CB-4978 fix: styles specificity

* CB-4978 fix: app loading

* CB-4978 fix: styles specificity

* CB-4978 fix: flickering bad positioned loader

* CB-4978 fix: styles specificity

* CB-4978 fix: table presentation scrolls

* CB-4978 chore: add extra error logging

* CB-4978 chore: add extra error logging

* CB-4978 fix: toolbar scrolling

* CB-4978 fix: log viewer empty message

* CB-4978 fix: cell styles

* CB-4978 fix: tabs styles

* CB-4978 fix: tests

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
2024-05-14 09:16:46 +03:00
alexandDaria Marutkina c8ec5716b8 CB-4931 make export and import dialog focusable (#2584)
* CB-4931 make export and import dialog focusable

* CB-4931 always focus the dialog

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-05-10 16:51:08 +03:00
AlexeyandDaria Marutkina bdea460218 CB-4837 fix: show in value panel menu button (#2596)
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-05-09 13:19:08 +03:00
674c522d55 Cb 5076 remove reshadow leftovers (#2582)
* CB-3960 removes unused SlideBox styles

* CB-3960 makes menu panel reshadowless

* CB-3960 makes menu bar small item reshadowless

* CB-3960 removes reshadow from loaders

* CB-5076 some reshadow

* CB-5076 makes auto refresh reshadowless

* CB-5076 removes reshadow from result set grouping presentation

* CB-5076 makes data grid reshadowless

* CB-5076 makes object viewer table reshadowless

* CB-5076 makes value panel GIS presentation reshadowless

* CB-5076 removes reshadow's all dependencies

* CB-5076 removes ComponentStyles from tsx files

* CB-5076 fixes shortcut dialog titles paddings

* CB-5076 federated auth providers has more space for providers list container

* CB-5076 removes unneeded global from base scss

* CB-5076 import base styles as regular styles (not moduled)

* CB-5076 fix: styles

* CB-5076 chore: add packageManager

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: Aleksei Potsetsuev <wrouds@gmail.com>
2024-05-09 13:17:13 +03:00
alexandEvgenia Bezborodova 56143132d6 CB-5077 adjust contrast ratio (#2583)
Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-05-08 13:56:02 +03:00
sergeyteleshevandmr-anton-t c8457c2004 Cb 3960 migrate core blocks components to css modules (#2578)
* CB-3960 removes unused SlideBox styles

* CB-3960 makes menu panel reshadowless

* CB-3960 makes menu bar small item reshadowless

* CB-3960 removes reshadow from loaders

* fix: loader styles are the same as was

* fix: CB-3960 fix hidden actions in table footer

* fix: menu trigger

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2024-04-29 21:22:57 +03:00
1f3ae6a508 CB-5020 feat: wait till domain available (#2567)
* CB-5020 feat: wait till domain available

* CB-5020 fix: group styles

* CB-5020 add header to status endpoint

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
Co-authored-by: Ainur <ainur.iagudin@dbeaver.com>
2024-04-29 16:26:02 +03:00
alexandEvgenia Bezborodova 6fd824e6a8 CB-4980 cancel file upload (#2573)
* CB-4980 cancel file upload

* CB-4980 use CanceledError instead of message mutation

* CB-4980 review fixes

* CB-4980 do not init cancel on close inside snackbar

---------

Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-04-29 12:16:26 +03:00
alexandkseniaguzeeva 1bffe8a28a CB-4982 disable transaction manager for viewer (#2576)
* CB-4982 disable transaction manager for viewer

* CB-4982 change naming

---------

Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
2024-04-26 16:49:32 +03:00
sergeyteleshev 885e423048 fix: adds webpack-dev-middleware resolution for package.json + updates yarn.lock (#2580) 2024-04-26 15:42:27 +03:00
Alexeyandmr-anton-t 8f87ec6618 Fix/cb-5019/components unification (#2560)
* CB-4629 fix: group close button

* CB-4629 fix: value presentation

* CB-4629 fix: tab focusing

* CB-5019 refactor: unify filter components

* CB-5019 fix: group title header styles

* CB-5019 fix: remove duplicated close button for creation forms

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2024-04-26 06:34:52 +03:00
alexandmr-anton-t 01ea4794ea CB-5033 remove reshadow from log viewer and other packages (#2561)
* CB-5033 remove reshadow from log viewer and other packages

* CB-5033 remove unused code

* CB-5033 migrate small data viewer components to css modules

* CB-5033 review fixes

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2024-04-25 20:25:15 +03:00
alexandEvgenia Bezborodova 7aaee5047e CB-4873 allow set blob data to null (#2574)
* CB-4873 allow set blob data to null

* CB-4873 truncated cells can be set to null

---------

Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-04-25 20:24:50 +03:00
b701d21d89 Cb 4268 force logout (#2549)
* CB-4703. Hide private ssl key, added new parameter to features

* CB-4631. Fix Build

* CB-4703. Hide private ssl key, added new parameter to features

* CB-4631. Fix Build

* CB-4631. Added logic

* CB-4728. Refactor after review

* CB-4268: adds too many session checkbox for local and federated authentication

* CB-4268 ux improve for force session dialog. do not close main popup if confirm dialog rejected

* CB-4268 cleanup

* CB-4268 adds too-many-sessions-plugin to close error of the external window while logging in

* CB-4268 cleanup

* CB-4268 cleanup

* CB-4268 auth dialog: removes unneeded state

* CB-4268. Add logic to force logout for federated users

* CB-4268. Added redirect for Federated users

* CB-4268. Update script

* CB-4268 split force session dialog checkbox for each tab its own instance

* CB-4268 set exceptions for each auth tab individually

* CB-4268 show error for all auth tabs

* CB-4268. Update script, refactor event for user

* CB-4268. Fixed force logout for sso

* CB-4268. Fixed class cast exception

* CB-4268. Refactor after review

* Revert "CB-4268 show error for all auth tabs"

This reverts commit 996bdfebdb.

* Revert "CB-4268 set exceptions for each auth tab individually"

This reverts commit dbeca03a31.

* Revert "CB-4268 split force session dialog checkbox for each tab its own instance"

This reverts commit cf79208d41.

* CB-4268 show error for all auth dialog tabs

* CB-4268 resets error state on auth dialog tab change

* CB-4268 fix: reset error state only on tab change

* CB-4268 auth login function cleanup

* CB-4268. Refactor after review, cleanup code

* CB-4268 removes too-many-sessions plugin

* CB-4268 removes unneeded translations

* CB-4268 fix: show login button only for non federated auth tabs

* CB-4268 refactor: reset error on switching auth mode

* CB-4268 stop resetting error with flag for auth dialog

* CB-4268 stop resetting error with flag for auth dialog (reset error default true)

* CB-4268 rename to ssoError.html

* CB-4268. Rename parameter for html

* CB-4268. Revert

* CB-4854. Refactor after review

* CB-4854. Refactor after review

* CB-4268 adds tooltip for force logout checkbox

* CB-4268 changes force sessions popup title to shorter version

---------

Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-04-25 13:20:24 +00:00
sergeyteleshev 426650076a CB-4947 increases webpack-dev-middle version (#2572) 2024-04-25 13:37:29 +03:00
alexandDaria Marutkina 035d2fe156 CB-5034 translate aria label in MenuActionElement (#2565)
* CB-5034 translate aria label in MenuActionElement

* CB-5034 translate additional tokens

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-04-25 13:15:41 +03:00
Alexey d70470b853 CB-5010 fix: ensure session opened (#2566) 2024-04-25 13:14:56 +03:00
serge-rider ccefc5cb9b 24.0.4 version bump 2024-04-24 15:06:01 +02:00
sergeyteleshev b1349c7a07 CB-5036 disables uploading files for readonly tables for cells (#2570)
* CB-5036 disables uploading files for readonly tables for cells

* CB-5036 cleanup
2024-04-24 12:06:18 +02:00
alexandDaria Marutkina 99b9f6f193 CB-4932 add alt text to the logo (#2559)
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-04-23 09:00:56 +03:00
51ef899922 Cb 4270 row counter add cancel button for big tables (#2545)
* CB-4270 adds cancel option for load total count of rows in table

* CB-4270 adds ui for load total count of rows in table

* CB-4270 fix: task cancels in a true way

* CB-4270 cleanup

* CB-4270 cancel load total count on close table tab

* CB-4270 cancel load total count on close sql editor tab

* CB-4270 fix: cancel close only task if it is not already cancelled

* CB-4270 chore: tasks -> cancelLoadTotalCountTasks

* CB-4270 stops counting rows when tab closes

* CB-4270 reverts incorrect calls of cancelLoadTotalCount

* CB-4270 reverts ToolsActions unneeded props

* CB-4270 pr fixes

* СB-4270 cancel load total count for refresh action

* CB-4270 fix: place cancelLoadTotalCount to DatabaseDataSource

* CB-4270 fix: cancel load rows in refresh data in data source

* CB-4270 cancels load on close result set tab

* CB-4270 refactor: move cancelLoadTotalCount to resultsetdatasource

* CB-4270 cancel load total count execute only for resultsetdatasource

* CB-4270 adds constraint for TableFooterRowCount

* CB-4270 fix: do not load new value if cancelled rows loading

* CB-4270 cleanup

* Revert "CB-4270 cleanup"

This reverts commit f8bffa253a.

* CB-4270 pr fixes

* CB-4270 pr fixes

* CB-4270 deletes cross icon icon

* CB-4270 DataSources has correct tree of calls for cancel and dispose functions

* CB-4270 cleanup

* chore: add experimental cancellable promise implementation

* CB-4270 pr fixes: remove unneeded disposes + close results in close result tab flow

* CB-4270 removes closeResults abstraction leak in ResultSetDataSource extended classes

* CB-4270 removes unused context in data sources

* CB-4270 adds loader for CancelTotalCountAction on cancel task action

* CB-4270 cancel row count job fix

* CB-4270 cancel row counter with notification

* CB-4270 pr fixes

* CB-4270 pr fixes

---------

Co-authored-by: Aleksei Potsetsuev <wrouds@gmail.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: Ainur <ainur.iagudin@dbeaver.com>
2024-04-23 08:59:58 +03:00
Alexey 2198d5f69f fix: remove extra space for settings (#2557) 2024-04-17 21:36:47 +08:00
Alexey 1e373d9ff4 CB-5026 fix: root menu check (#2556) 2024-04-17 12:29:21 +03:00
sergeyteleshev 916055eb6d fix: remove-uneeded-interface-prop (#2554) 2024-04-16 20:04:53 +02:00
91d83fdac8 CB-4767 generate domains using deployment manager (#2515)
* CB-4767 fix: group close styles

* CB-4767 chore: log only errors and warnings for webpack dev server

* CB-4767 chore: deprecate useController

* CB-4767 feat: an option to throw exceptions with useAutoLoad

* CB-4767 fix: rethrow exception from interrupted load of resource

* CB-4767 fix: replace useController with useResource

* CB-4767 feat: add schema validation for MetadataMap

* CB-4767 fix: wrap administration page with TabPanel

* CB-4767 feat: support for contents style in TabPanel

* CB-4767 feat: support for schema for useTabLocalState

* CB-4767 feat: support async form submitting

* CB-4767 feat: add skip localization

* CB-4767 fix: types

* CB-4767 feat: support administration tab state

* CB-4767 feat: form part getter API

* CB-4767 feat: async status read API

* CB-4770 clear all auth tokens when new domain is generated

* CB-4770 save common config api

* CB-4770 fixes after review

* CB-4770 fix sql query

* CB-4770 delete certificate on certbot and get workspace id

---------

Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: Ainur <ainur.iagudin@dbeaver.com>
2024-04-16 17:33:39 +00:00
3e71a7a6ce Cb 4629 end user preferences (#2546)
* CB-4629 feat: enable user settings UI

* CB-4629 feat: localization

* CB-4629 feat: restore default settings

* CB-4629 feat: preferences menu

* CB-4629 chore: update ts references

* CB-4629 user preference store

* CB-4629 fix anonymous preferences

* CB-4629 nullable annotation

* CB-4629 refactor: context menu API

* CB-4629 fix: tools panel styles

* CB-4629 fix: remove outline for tab list

* CB-4629 fix: hide account tab in anonymous mode

* CB-4629 anonymous preferences

* CB-4629 read anonymous user parameters

* CB-4629 fix: zod validation and localization

* CB-4629 use websession preference store in completion context

* CB-4629 fix: revert tools styles

---------

Co-authored-by: Aleksei Potsetsuev <wrouds@gmail.com>
Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-04-16 17:25:57 +00:00
alexandEvgenia Bezborodova c7ed9f3b5b CB-4933 focus snackbar on open (#2543)
* CB-4933 focus snackbar on open

* CB-4933 make notifications accessible for tab navigation

---------

Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-04-15 18:28:40 +03:00
alexandkseniaguzeeva e45267c17c CB-4358 omit patch version (#2548)
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
2024-04-15 14:54:53 +03:00
AlexeyandDaria Marutkina 8f29b67ba6 CB-4841 fix: concurrent tree update (#2539)
* CB-4841 fix: concurrent tree update

* CB-4841 chore: tree re-render optimization

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-04-12 16:40:31 +03:00
Alexey 0550cb9982 CB-4699 fix: prevent cell copy in editing mode (#2547) 2024-04-12 16:39:19 +03:00
alexandEvgenia Bezborodova 530af6dfed CB-4967 check that connection is not loading new data (#2541)
Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-04-11 13:39:48 +03:00
2a610c3f50 Cb 4911 add license headers with git hooks (#2504)
* adds husky with license script

* fix: license can pass file not fitted to provided FILES_PATH pattern

* license: notify user for updated files with new license header

* moves husky to frontend directory

* adds check for unstaged files with license

* change pre commit to pre push

* test: remove license from value panel

* Revert "test: remove license from value panel"

This reverts commit b690b75c6b.

* adds postinstall

* test: remove license from value panel [2]

* Revert "test: remove license from value panel [2]"

This reverts commit ea86fd3c57.

* sets back precommit

* CB-4911 validate missed license

* CB-4911 fix linter

* CB-4911 check license line by line

* CB-4911 feat: use node for license check

---------

Co-authored-by: s.teleshev <s.teleshev@mu.se>
Co-authored-by: Aleksei Potsetsuev <wrouds@gmail.com>
2024-04-10 14:08:20 +03:00
serge-rider d605e09ef4 24.0.3 version bump 2024-04-09 17:52:03 +02:00
sergeyteleshevandEvgenia Bezborodova 9e3e4322a3 Cb 4178 te cloud storage improvements (#2532)
* CB-4178 chore: makes tree nodes names visible in react dev tools

* CB-4178 adds validation for loading files in cloud storage

* CB-4178 pr fixes

* CB-4178 pr fixes

* CB-4178 code cleanup

* CB-4178 selectFiles can return empty array

---------

Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-04-09 16:35:13 +03:00
alexandEvgenia Bezborodova 433eaacd24 CB-4960 remove data import button from query sources (#2529)
* CB-4960 remove data import button from query sources

* CB-4960 show import button only in container data source

* CB-4960 show import button on json tab

---------

Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-04-09 12:53:02 +03:00
Alexey fec9e856f6 fix: deprecated settings tests (#2538) 2024-04-09 17:49:34 +08:00
alexandDaria Marutkina 28714a628f CB-4966 remove unused detail from the timer icon (#2533)
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-04-09 09:27:04 +03:00
serge-rider 449c31bf44 24.0.2 version bump 2024-04-02 20:24:10 +02:00
32b4e4ec19 CB-3330 add data import plugin (#2506)
* CB-3330 add data import plugin

* CB-3330 add mock api

* CB-3330 pass processor id

* CB-3330 remove extra code

* CB-3330 simplify logic, allow import only one file

* CB-3330. Implemented import data to table

* CB-3330 replace mocks with api

* CB-3330 add references

* CB-3330. Parsing request, added xml, xls

* CB-3330 support new settings

* CB-3330 use getter

* CB-3330 add svg icons

* CB-3330 pass arguments in handleImport fn

* CB-3330 remove extra fn wrapper

* CB-3330. Fix build

* CB-3330. Fix build

* CB-3330. Fix import

* CB-3330. Fixed import

* CB-3300 fix: frontend can build

* CB-3330. Refactor after review

* CB-3330. Refactor after review, delete temp file after import

* CB-3330. Refactor after review

* CB-3330. Refactor after review

* CB-3330. Added log message

* CB-3330. Added response for task

* CB-3330 fix icon and button shadow

* CB-3330. Refactor response value

* CB-3330. Refactor response value

* CB-3330. delete unused imports

* CB-3330 run additional task after file import

* CB-3330 always allow data import for admins

* CB-3330 import resource as module

---------

Co-authored-by: DenisSinelnikov <142215442+DenisSinelnikov@users.noreply.github.com>
Co-authored-by: denis.sinelnikov <denis.sinelnikov@dbeaver.com>
Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-04-02 16:51:27 +00:00
Ainurandkseniaguzeeva 8b5aac0093 CB-4829 connection cache same ids fix (#2491)
* CB-4829 connection cache same ids fix

* CB-4829 find connection info with project id fix

* CB-4829 add project id to gql functions

---------

Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
2024-04-02 16:47:48 +00:00
sergeyteleshev 6dfbbecd59 CB-4943: fix: Value Panel has correct layout with new groups styles (#2524) 2024-04-02 15:52:58 +02:00
sergeyteleshevandDaria Marutkina 44b6f8a3ae Cb 4548 sql editor resultsets can be closed one by one only when execute sql statement has been used for several queries (#2503)
* CB-4548 fix: removes all result tabs on "close all" action

* CB-4548 adds "close all of the same query" action for sql result tabs

* Revert "CB-4548 adds "close all of the same query" action for sql result tabs"

This reverts commit 453664e41c.

* CB-4548 adds close all of the same group

* CB-4548 adds handleCloseTabGroup with SqlResultTabService

* CB-4548 sql editor bootstrap cleanup

* СB-4548 group tabs logic moved logic to sql-editor-plugin

* СB-4548 cleanup

* CB-4548 adds ACTION_TAB_CLOSE_SQL_RESULT_GROUP to the end of the tabs

* CB-4548 closes group tabs via tabs context close function (to save highlight tab logic)

* CB-4548 pr fixes

* CB-4548 code cleanup

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
2024-04-02 11:55:42 +02:00
AlexeyandEvgenia Bezborodova 9f46e49e01 CB-4776 fix: input default value handling (#2518)
Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com>
2024-04-02 11:44:17 +02:00