Commit graph

861 commits

Author SHA1 Message Date
Omar Ajoue 199377e183
Replace glob-promise with fast-glob (#2096)
Co-authored-by: lublak <lublak.de@gmail.com>
2021-08-20 23:48:02 +02:00
Omar Ajoue 7ce7285f7a
Load credentials from the database (#1741)
* Changes to types so that credentials can be always loaded from DB

This first commit changes all return types from the execute functions
and calls to get credentials to be async so we can use await.

This is a first step as previously credentials were loaded in memory and
always available. We will now be loading them from the DB which requires
turning the whole call chain async.

* Fix updated files

* Removed unnecessary credential loading to improve performance

* Fix typo

*  Fix issue

* Updated new nodes to load credentials async

*  Remove not needed comment

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-08-20 18:57:30 +02:00
Jan Oberhauser 967aabbf55 🔖 Release n8n@0.134.0 2021-08-15 18:32:57 +00:00
Jan Oberhauser b4600d787d ⬆️ Set n8n-core@0.79.0, n8n-editor-ui@0.102.0 and n8n-nodes-base@0.131.0 on n8n 2021-08-15 18:32:57 +00:00
Omar Ajoue 63bc4097e0
Automatically add trailing slash to webhook urls (#2076)
* Add trailing slash to webhook url if not present

Relates to community post https://community.n8n.io/t/problem-with-google-calendar-credentials/7232

We'll be adding a trailing slash as it's a requisite.

* Adding slash to all cases.
2021-08-12 11:22:44 +02:00
Jan Oberhauser 1d4a5ba8ce 🔖 Release n8n@0.133.0 2021-08-08 10:48:21 +00:00
Jan Oberhauser 73c83fddba ⬆️ Set n8n-editor-ui@0.101.0 and n8n-nodes-base@0.130.0 on n8n 2021-08-08 10:48:20 +00:00
Ben Hesseldieck ffecbc7004
🐛 Fix db connection check /healthz (#2041)
* 🐛 fix db connection check

* 👕 fix missing semi

*  Revert "🐛 Hardcode typeorm@0.2.34 as new version makes health-check fail"

This reverts commit ddee2ec47c.

* 🐛 fix health-check in WebhookServer
2021-08-08 12:04:04 +02:00
Jan Oberhauser ce354ed0cf 🔖 Release n8n@0.132.2 2021-08-02 22:46:33 +02:00
Jan Oberhauser 139b5ec03e ⬆️ Set n8n-nodes-base@0.129.1 on n8n 2021-08-02 22:45:58 +02:00
Jan Oberhauser 8f07bcee03 🔖 Release n8n@0.132.1 2021-08-02 17:14:43 +02:00
Jan Oberhauser ddee2ec47c 🐛 Hardcode typeorm@0.2.34 as new version makes health-check fail 2021-08-02 17:09:17 +02:00
Jan Oberhauser 1c7033a76b 🔖 Release n8n@0.132.0 2021-08-01 19:53:03 +00:00
Jan Oberhauser 1af6b1207d ⬆️ Set n8n-nodes-base@0.129.0 on n8n 2021-08-01 19:53:03 +00:00
Jan Oberhauser 231c15801a 🔖 Release n8n@0.131.0 2021-07-24 20:02:30 +00:00
Jan Oberhauser 8380a441cf ⬆️ Set n8n-core@0.78.0, n8n-editor-ui@0.100.0, n8n-nodes-base@0.128.0 and n8n-workflow@0.64.0 on n8n 2021-07-24 20:02:30 +00:00
Iván Ovejero f29950ee81
🐛 Fix executions pruning and UTC storage (#1959)
*  Add logging for pruning errors

*  Reformat pruning date to UTC string

*  Reformat workflow deletion date to UTC

*  Enforce UTC datetimes for MySQL

*  Enforce UTC datetimes for Postgres

*  Revert "Reformat workflow deletion date to UTC"

This reverts commit ca9628bc6d.
2021-07-23 21:40:53 +02:00
MedAliMarz 2a99a77b43
update webhook response (#2006)
* add hint to 'webhook not registered' error

* Convert hints to constants
2021-07-23 20:56:18 +02:00
Mutasem Aldmour 98ec23544b
Add new version notification (#1977)
* add menu item

* implement versions modal

* fix up modal

* clean up badges

* implement key features

* fix up spacing

* add error message

* add notification icon

* fix notification

* fix bug when no updates

* address lint issues

* address multi line nodes

* add closing animation

* keep drawer open

* address design feedback

* address badge styling

* use grid for icons

* update cli to return version information

* set env variables

* add scss color variables

* address comments

* fix lint issue

* handle edge cases

* update scss variables, spacing

* update spacing

* build

* override top value for theme

* bolden version

* update config

* check endpoint exists

* handle long names

* set dates

* set title

* fix bug

* update warning

* remove unused component

* refactor components

* add fragments

* inherit styles

* fix icon size

* fix lint issues

* add cli dep

* address comments

* handle network error

* address empty case

* Revert "address comments"

480f969e07

* remove dependency

* build

* update variable names

* update variable names

* refactor verion card

* split out variables

* clean up impl

* clean up scss

* move from nodeview

* refactor out gift notification icon

* fix lint issues

* clean up variables

* update scss variables

* update info url

* Add instanceId to frontendSettings

* Use createHash from crypto module

* Add instanceId to store & send it as http header

* Fix lintings

* Fix interfaces & apply review changes

* Apply review changes

* add console message

* update text info

* update endpoint

* clean up interface

* address comments

* cleanup todo

* Update packages/cli/config/index.ts

Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>

* update console message

*  Display node-name on hover

*  Formatting fix

Co-authored-by: MedAliMarz <servfrdali@yahoo.fr>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-07-22 10:22:17 +02:00
Iván Ovejero ce43194e91
Add Leads to Pipedrive node (#1986)
*  Add leads to Pipedrive node

*  Make org ID required for deal:create

* 🔨 Refactor linked entity for lead:create

* 🔨 Refactor linked entity for deal:create

* ✏️ Write breaking changes

*  Improvements

* 🐛 Fix issue with returning invalid data

*  Make lead-descriptions format consistent

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-07-20 15:53:10 +02:00
Omar Ajoue d6239d5bfb
Add full continue-on-fail support to all nodes (#1996)
* Update Compression node

* Update Crypto node

* Update DateTime node

* Update EditImage node

* Update EmailSend node

* Update ExecuteWorkflow node

* Update FTP node

* Update Function node

* Update FunctionItem node

* Update ExecuteCommand node

* Update OpenWeatherMap node

* Update ReadBinaryFile node

* Update ReadPdf node

* Update RssFeedRead node & add URL validation

* Update SpreadsheetFile node

* Update Switch node

* Update WriteBinaryFile node

* Update Xml node

* Update ActiveCampaign node

* Update Airtable node

* Update ApiTemplateIo node

* Update Asana node

* Update AwsLambda node

* Update AwsSns node

* Update AwsComprehend node

* Update AwsRekognition node

* Update AwsS3 node

* Fix Error item

* Update AwsSes node

* Update AwsSqs node

* Update Amqp node

* Update Bitly node

* Update Box node

* Update Brandfetch node

* Update CircleCi node

* Update Clearbit node

* Update ClickUp node

* Update Cockpit node

* Update CoinGecko node

* Update Contentful node

* Update ConvertKit node

* Update Cortex node

* Update CustomerIo node

* Update DeepL node

* Update Demio node

* Update Disqus node

* Update Drift node

* Update Dropbox node

* Update GetResponse node

* Refactor & Update Ghost node

* Update Github node

* Update Gitlab node

* Update GoogleAnalytics node

* Update GoogleBooks node

* Update GoogleCalendar node

* Update GoogleDrive node

* Update Gmail node

* Update GoogleSheets node

* Update GoogleSlides node

* Update GoogleTasks node

* Update Gotify node

* Update GraphQL node

* Update HackerNews node

* Update Harvest node

* Update HtmlExtract node

* Update Hubspot node

* Update Hunter node

* Update Intercom node

* Update Kafka node

* Refactor & update Line node

* Update LinkedIn node

* Update Mailchimp node

* Update Mandrill node

* Update Matrix node

* Update Mautic node

* Update Medium node

* Update MessageBird node

* Update Mindee node

* Update Mocean node

* Update MondayCom node

* Update MicrosoftExcel node

* Update MicrosoftOneDrive node

* Update MicrosoftOutlook node

* Update Affinity node

* Update Chargebee node

* Update Discourse node

* Update Freshdesk node

* Update YouTube node

* Update InvoiceNinja node

* Update MailerLite node

* Update Mailgun node

* Update Mailjet node

* Update Mattermost node

* Update Nasa node

* Update NextCloud node

* Update OpenThesaurus node

* Update Orbit node

* Update PagerDuty node

* Update PayPal node

* Update Peekalink node

* Update Phantombuster node

* Update PostHog node

* Update ProfitWell node

* Refactor & Update Pushbullet node

* Update QuickBooks node

* Update Raindrop node

* Update Reddit node

* Update Rocketchat node

* Update S3 node

* Update Salesforce node

* Update SendGrid node

* Update SentryIo node

* Update Shopify node

* Update Signl4 node

* Update Slack node

* Update Spontit node

* Update Spotify node

* Update Storyblok node

* Refactor & Update Strapi node

* Refactor & Update Strava node

* Update Taiga node

* Refactor & update Tapfiliate node

* Update Telegram node

* Update TheHive node

* Update Todoist node

* Update TravisCi node

* Update Trello node

* Update Twilio node

* Update Twist node

* Update Twitter node

* Update Uplead node

* Update UProc node

* Update Vero node

* Update Webflow node

* Update Wekan node

* Update Wordpress node

* Update Xero node

* Update Yourls node

* Update Zendesk node

* Update ZohoCrm node

* Refactor & Update Zoom node

* Update Zulip node

* Update Clockify node

* Update MongoDb node

* Update MySql node

* Update MicrosoftTeams node

* Update Stackby node

* Refactor Discourse node

* Support corner-case in Github node update

* Support corner-case in Gitlab node update

* Refactor & Update GoogleContacts node

* Refactor Mindee node

* Update Coda node

* Lint fixes

* Update Beeminder node

* Update Google Firebase RealtimeDatabase node

* Update HelpScout node

* Update Mailcheck node

* Update Paddle node

* Update Pipedrive node

* Update Pushover node

* Update Segment node

* Refactor & Update Vonage node

* Added new conditions to warnings on execute batch cmd

* Added keep only properties flag

* Fixed code for keep only props

* Added dependencies for image editing

Co-authored-by: dali <servfrdali@yahoo.fr>
2021-07-20 08:58:54 +02:00
Jan Oberhauser c7c42e185b 🔖 Release n8n@0.130.0 2021-07-18 12:27:39 +00:00
Jan Oberhauser 1c313941f2 ⬆️ Set n8n-editor-ui@0.99.0 and n8n-nodes-base@0.127.0 on n8n 2021-07-18 12:27:39 +00:00
Jan Oberhauser 3aec53e2cc 🐛 Fix some issues with uncaught errors #1906 2021-07-18 00:02:39 +02:00
Iván Ovejero a1f0fff9fc
Expand Taiga node (#1970)
*  Expand Taiga node

*  Make projectId consistent

* 🔥 Remove logging

* 🔨 Fix user story statuses loader

*  Add epics loader

* 🔨 Make projectId required for updates

* 🔨 Refactor credentials

*  Small change

*  Update credentials in trigger

* 🔥 Remove old unused credentials

* ✏️ Write breaking changes

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2021-07-15 00:02:30 +02:00
Jan Oberhauser e40f0e00a8 Reduce risk of errors causing never stopping workflows 2021-07-14 16:34:54 +02:00
Jan Oberhauser 8cceec1209 🐛 Fix issue with failed workflows being displayed as "running" 2021-07-14 16:31:48 +02:00
Jan Oberhauser 25b5d36dda 🔖 Release n8n@0.129.0 2021-07-12 11:30:02 +00:00
Jan Oberhauser 314ef7e1ab ⬆️ Set n8n-nodes-base@0.126.0 on n8n 2021-07-12 11:30:02 +00:00
Jan cce804a534
Simplify bull error handling (#1983) 2021-07-12 10:12:45 +02:00
Jan Oberhauser 94ad8cef2f 🔖 Release n8n@0.128.0 2021-07-11 16:24:03 +00:00
Jan Oberhauser 44cb995071 ⬆️ Set n8n-core@0.77.0, n8n-editor-ui@0.98.0 and n8n-nodes-base@0.125.0 on n8n 2021-07-11 16:24:03 +00:00
Jan Oberhauser c67a50069c Fix another possible issue which could cause unknown executions 2021-07-11 18:05:44 +02:00
Omar Ajoue d3da5023f0
🐛 Fix "unknown", never-end workflow and not displaying error message (#1978)
* Added try catch blocks to avoid endlessly running workflows

* Added handling for subworkflows

*  Fix one cause of "unkown" status of worklows with "main" mode

*  Fix one cause of "unkown" status of worklows with "own" mode

*  Fix one cause of "unkown" status of worklows with "queue" mode

* Saving database recovery

* 🐛 Fix issue that errors did not get saved correctly and also not
displayed

*  Save workflow timeout correctly as error

* Adding error capture to queued jobs

*  Mark canceled executions as not finished consistently across all
modes

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-07-10 11:34:41 +02:00
Omar Ajoue 8d235e94cb
Performance improvements for executions count on Postgres (#1888)
* Performance improvements for executions count on Postgres

As reported by a community member https://community.n8n.io/t/stress-load-testing/4846/5
and https://github.com/n8n-io/n8n/issues/1578, when using postgres with
a big volume of executions, the executions list's performance degrades.

This PR is aimed at Postgres specifically by querying postgres' stats
collector instead of running a full table scan, providing a good
estimate.

More can be read here: https://www.citusdata.com/blog/2016/10/12/count-performance/

* Removed order of magnitude so we display closer numbers

* Making count based on statistics only when not applying filters

*  Minor styling improvements

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-07-06 23:25:25 +02:00
Jan Oberhauser 297d9fe77d 🔖 Release n8n@0.127.0 2021-07-04 18:15:30 +00:00
Jan Oberhauser 97eb22db04 ⬆️ Set n8n-core@0.76.0, n8n-editor-ui@0.97.0, n8n-nodes-base@0.124.0 and n8n-workflow@0.63.0 on n8n 2021-07-04 18:15:30 +00:00
Iván Ovejero 5f76a5dc72
Expand Zoho node (#1763)
*  Initial refactor of Zoho node

*  Refactor out extra credentials parameter

* 🔥 Remove unused filters

*  Fix date of birth fields

*  Fix param casing

*  Adjust param types

*  Adjust invoice operations

*  Refactor types in adjusters

*  Add product resource

*  Refactor product details field

*  Adjust purchase order params

*  Adjust quote params

*  Adjust sales orders params

* 🔥 Remove old unused files

*  Add vendor resource

*  Fix minor details

*  Implement continueOnFail

* 🐛 Fix empty response for getAll

*  Simplify response for single item

* 🔥 Remove unused import

* 🔨 Restore old node name

*  Prevent request on empty update

*  Apply Dali's suggestions

*  Improvements

*  Add filters for lead:getAll

*  Add upsert to all resources

*  Add filters to all getAll operations

* 🔨 Restore continue on fail

* 🔨 Refactor upsert addition

* 🔨 Refactor getFields for readability

*  Add custom fields to all create-update ops

*  Implement custom fields adjuster

* 🔥 Remove logging

* 👕 Appease linter

* 👕 Refactor type helper for linter

*  Fix refactored type

* 🔨 Refactor reduce for simplicity

*  Fix vendor:getAll filter options

*  Fix custom fields for product operations

*  Make sort_by into options param

* 🚚 Rename upsert operation

* ✏️ Add descriptions to upsert

*  Deduplicate system-defined check fields

* 🔨 Re-order address fields

* ✏️ Generalize references in getAll fields

* 🔥 Remove extra comma

*  Make getFields helper more readable

* ✏️ Touch up description for account ID

* 🔥 Remove currency from contacts

* 🔨 Resort emails and phones for contact

* 🐛 Fix sales cycle duration param type

* ✏️ Clarify descriptions with percentages

* 🔨 Reorder total fields

* ✏️ Clarify percentages for discounts

* ✏️ Clarify percentages for commissions

* 🔨 Convert currency to picklist

* ✏️ Add documentation links

*  Add resource loaders for picklists

*  Fix build

* 🔨 Refactor product details

*  Add resolve data to all resources

*  Change resolve data toggle default

*  Restore lead:getFields operation

* 🔥 Remove upsert descriptions

* 🔨 Change casing for upsert operations

*  Add operation descriptions

* 🔨 Restore makeResolve default value

* 🔨 Return nested details

*  Reposition Resolve Data toggles

* ✏️ Document breaking changes

* Revert "Reposition Resolve Data toggles"

This reverts commit 72ac41780b.

*  Improvements

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2021-07-02 23:34:12 +02:00
Omar Ajoue 1e551a202f
🚨 Add Workflow testing framework (#1814)
* Added flag to simplify output to execute command and created executeAll

Also created a command that lists workflows so it can be used by
other applications that wish to interact with n8n via CLI.

* Added compare funcionality that helps us identify possible breaking changes

*  Add JSON flag to output execution result in json format

* Add execution time to execution result

* Add --output flag to save JSON formated results

* Fix typos

* Adding usage examples and warning message

* Changing command to always output JSON information

*  Add concurrency to executeAll command

*  Add IDs filter to executeAll command

* ✏️ Fix typos

* Fix lint issues

* Improvements to execute all

* Added colors and beautified execute all command output

* Improving premature termination of execute all command

* Refactored output

* Added detection for warnings instead of errors for a few cases

* Fixed linting

* Improved process finishing

* Added encryption key init, removed messages from non-debug run and created sample github actions file

* Updated test command to use correct encryption key

* Correcting paths

* Changed command name and changed concurrency to be slot based

* Added the retry functionality

* Improved typing and fixed executions filtering

* Updated test description

* Added concurrency

* Added skip list and concurrency

* Fixed termination behavior, removed unnecessary code and added main mode to executions

* Added special edge cases handling

* Added safe debug flag for non tty terminals

* Removed comparison and retries for testing

* Changed the way we run commands to add more debug info

* Test adding concurrency

* Testing with regular testing procedure without comparison

* Adding compare flag

* Fixing short output command

* Upgraded concurrency to 16, fixed short output and covered nodes count

* Fixed short output condition

* Correcting short output information

* Correcting the output for short output

* Added a string to possible warnings list

* Added example usages with more arguments

* Improvements to code made by Ivan

* Removed colorize output setting (always use colors), moved execution timeout to become static and removed node list from executions

* Moving types to a separate file on execute batch command

* Changed interfaces file extension to prevent oclif warnings

* Updated workflow pdf files

*  Change rule when tests run + minor formatting fixes

Co-authored-by: dali <servfrdali@yahoo.fr>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-07-01 09:04:24 +02:00
Jan Oberhauser 38f0cc1a8f 🔖 Release n8n@0.126.1 2021-06-29 10:58:44 +02:00
Jan Oberhauser 312eb827f5 ⬆️ Set n8n-editor-ui@0.96.1 and n8n-nodes-base@0.123.1 on n8n 2021-06-29 10:57:45 +02:00
Jan Oberhauser 320e5f9f97 🔖 Release n8n@0.126.0 2021-06-27 11:45:19 +00:00
Jan Oberhauser edc54782d6 ⬆️ Set n8n-editor-ui@0.96.0 and n8n-nodes-base@0.123.0 on n8n 2021-06-27 11:45:18 +00:00
Ben Hesseldieck d3a1d3ffef
Revert " Simplify config imports in cli package (#1840)" (#1931)
This reverts commit c21c8b3369.
2021-06-23 11:20:07 +02:00
Iván Ovejero c21c8b3369
Simplify config imports in cli package (#1840)
*  Set path alias for config

*  Update config export

*  Simplify config imports

*  Update also additional imports

*  Update path in collation migration

*  Resolve aliased paths

* 👕 Fix Codacy issue

* 👕 Retry to fix Codacy issue

Co-authored-by: Jan <janober@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-06-22 23:18:52 +02:00
Jan Oberhauser 3016978b68 🔖 Release n8n@0.125.0 2021-06-20 09:18:21 +00:00
Jan Oberhauser 3a49869cd8 ⬆️ Set n8n-core@0.75.0, n8n-editor-ui@0.95.0, n8n-nodes-base@0.122.0 and n8n-workflow@0.62.0 on n8n 2021-06-20 09:18:21 +00:00
Jan Oberhauser 73fc13fef1 Fix dependencies 2021-06-20 10:49:51 +02:00
Omar Ajoue 4dbf64b1a4
🐛 Add Migration for MySQL to certify that we're using the correct collation (#1905)
* Migration for MySQL to certify that we're using the correct collation

* Update migration to check for collation existence before running

*  Fix format

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-06-18 23:57:58 +02:00
Ben Hesseldieck 0470740737
Change the UI of the Nodes Panel (#1855)
* Add codex search properties to node types

* implement basic styles

* update header designs

* update node list designs

* add trigger icon

* refactor node creator list

* implement categories and subcategories

* fix up spacing

* add arrows

* implement navigatable list

* implement more of feature

* implement navigation

* add transitions

* fix lint issues

* fix overlay

*  Get and add codex categories

* fix up design

* update borders

* implement no-matches view

* fix preview bug

* add color to search

* clean up borders

* add comma

* Revert "Merge branch 'add-codex-data' of github.com:n8n-io/n8n into PROD-819-nodes-panel-redesign"

38b7d7ead1

* use new impl

* remove empty categories

* update scrolling, hide start node

* make scrollable

* remove text while subcategory panel is open

* fix up spacing

* fix lint issues

* update descriptions

* update path

* update images

* fix tags manager

* give min height to image

* gst

* update clear color

* update font size

* fix firefox spacing

* close on click outside

* add external link icon

* update iterator key

* add client side caching for images

* update caching header

* ️ Add properties to codex for nodes panel (#1854)

*  Get and add codex categories

*  Add parens to evaluation + destructuring

* 🔥 Remove non-existing class reference

*  Add alias to codex property

* move constants

* 🔨 Rename CodexCategories to CodexData

* ✏️ Update getCodex documentation

* refactor and move

* refactor no results view

* more refactoring

* refactor subcategory panel

* more refactoring

* update text

* update no results view

* add miscellaneous to end of list

* address design feedback

* reimplement node search

* fix up clear

* update placeholder color

* impl transition

* focus on tab

* update spacing

* fix transition bug on start

* fix up x

* fix position

* build

* safari fix

* remove input changes

* css bleed issue with image

* update css value

* clean up

* simplify impl

* rename again

* rename again

* rename all

* fix hover bug

* remove keep alive

* delete icon

* update interface type

* refactor components

* update scss to module

* clean up impl

* clean up colors as vars

* fix indentation

* clean up scss

* clean up scss

* clean up scss

* clean up scss

* Clean up files

* update logic to be more efficient

* fix search bug

* update type

* remove unused

* clean up js

* update scrollable, border impl, transition

* fix simicolon

* build

* update search

* address max's comments

* change icon border radius

* change margin

* update icon size

* update icon size

* update slide transition out

* add comma

* remove full

* update trigger icon size

* fix image size

* address design feedback

* update external link icons

* address codacy issues

* support custom nodes without codex file

* address jan's feedback

* address Ben's comments

* add subcategory index

* open/close categories with arrow keys

* add lint comment

* Address latest comments

*  Minor changes

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem <mutdmour@gmail.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-06-18 07:58:26 +02:00