Commit Graph

4964 Commits

Author SHA1 Message Date
a641d1b5b8 Merge remote-tracking branch 'personal/merge/tootsuite/master' into gs-master 2018-06-02 16:08:31 -05:00
89c86ee521 Weblate translations (2018-06-02) (#7705)
* Translated using Weblate (Korean)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ko/

* Translated using Weblate (Chinese (Hong Kong))

Currently translated at 99.6% (302 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant_HK/

* Translated using Weblate (Chinese (Hong Kong))

Currently translated at 99.1% (616 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/zh_Hant_HK/

* Translated using Weblate (Chinese (Hong Kong))

Currently translated at 100.0% (62 of 62 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/zh_Hant_HK/

* Translated using Weblate (Slovenian)

Currently translated at 14.4% (90 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sl/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/

* Translated using Weblate (Esperanto)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eo/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (62 of 62 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/nl/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (621 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/

* Translated using Weblate (Persian)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fa/

* Translated using Weblate (Occitan)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/oc/

* Translated using Weblate (Occitan)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/oc/

to check if with O or U

* Translated using Weblate (Occitan)

Currently translated at 98.0% (609 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/oc/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/

* Translated using Weblate (Basque)

Currently translated at 100.0% (621 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (62 of 62 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/eu/

* Translated using Weblate (Korean)

Currently translated at 100.0% (66 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ko/

* Translated using Weblate (Korean)

Currently translated at 99.6% (619 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ko/

* Translated using Weblate (Basque)

Currently translated at 100.0% (66 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (621 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.6% (302 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.6% (619 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/

* Translated using Weblate (Basque)

Currently translated at 100.0% (76 of 76 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/

* i18n-tasks normalize && yarn manage:translations
2018-06-02 03:03:08 +02:00
6e6c0e9613 Use different algorithm for trending tags (#7697) 2018-06-01 19:19:44 +02:00
8d6e4e0485 Fix margin between compose warning, reply indicator and textarea (#7701) 2018-06-01 19:19:30 +02:00
73c0c36e7b Improve trends layout (#7700)
* Allow collapsing trends, responsively hide trends

* Add trends column
2018-06-01 19:18:37 +02:00
69b45350fe Add loading indicator for trending tags (#7693) 2018-06-01 14:22:42 +02:00
bfa12239e8 Update ESLint for Code Climate (#7696)
* Update babel-eslint to version 8.2.3

* Update eslint to version 4.19.1

* Update eslint-plugin-promise to version 3.8.0

* Update eslint-plugin-react to version 7.8.2

* Upgrade eslint-plugin-jsx-a11y to version 6.0.3

* yarn test:lint --fix
2018-06-01 14:03:19 +02:00
15ce60f610 Fix duplicate key attributes (#7694) 2018-06-01 14:02:49 +02:00
9ad5de8a3a Merge pull request #501 from ThibG/glitch-soc/features/red-bookmarks
Make active bookmarks red (fixes #493)
2018-06-01 00:36:48 -05:00
e5f25a73f2 Adjust spacing between status icons 2018-05-31 21:55:44 -07:00
7d2e6429c2 Merge branch 'glitch' into thread-icon 2018-05-31 21:33:16 -07:00
1e938b966e Exclude unlisted, private and direct toots from affecting trends (#7686) 2018-05-31 16:47:28 +02:00
0ce5339a7b Make the refresh trends button refresh trends (#7685) 2018-05-31 16:46:02 +02:00
691107263c Put the CW field between the toot we are replying to and the toot field (#7508)
* Remove Collapsable and use CSS instead

* Put the CW field between the toot we are replying to and the toot field

* Use same spacing between all fields in the composing column
2018-05-31 15:16:31 +02:00
b9fdeceb3c Make active bookmarks red (fixes #493) 2018-05-31 14:39:48 +02:00
cc396f085d Use history.state to decide whether we should goBack() or go to / (fixes #247)
So far, glitch-soc used history.length to decide whether to call `goBack()` or
go to / in order to not leave the webUI. This made clicking the “Back” button
go to the “Getting started” column instead of going back in the browser's
history when such an action would leave the web UI, but also when:
- The WebUI is refreshed (F5)
- A tab is restored
- The history length reaches its maximum (e.g., 50 in Firefox)

This commit fixes these shortcomings by checking `window.history.state`.
Indeed, we only want to go back in the browser's history when the current
location has been reached from within the WebUI, which only happens via
`pushState` as far as I know. Since browser store the serialized state in
the browser history, this also survives page reload and session restoration.
2018-05-31 14:39:02 +02:00
f86d280fd6 Use props.router instead of context.router, as we are using withRouter 2018-05-31 14:39:02 +02:00
e8a9627f66 Hardcode default skin/theme in error layout (fixes #373)
This is a bit hackish. The best way would simply to somehow
use Mastodon's ApplicationController with `use_pack 'error'` from
the Rake task, but I'm not sure how to do that.
2018-05-31 14:38:48 +02:00
893f2aff20 Prevent a rare crash when a status' root node is undefined 2018-05-31 14:38:29 +02:00
e396fbfe3b Fix direct timeline 2018-05-31 14:37:13 +02:00
648a22637c Weblate translations (2018-05-31) (#7681)
* Translated using Weblate (Basque)

Currently translated at 100.0% (2 of 2 strings)

Translation: Mastodon/Activerecord
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/eu/

* Translated using Weblate (Corsican)

Currently translated at 100.0% (76 of 76 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/co/

* Translated using Weblate (Italian)

Currently translated at 100.0% (66 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/it/

* Translated using Weblate (Galician)

Currently translated at 100.0% (621 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/gl/

* Translated using Weblate (Basque)

Currently translated at 99.3% (297 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/

* Translated using Weblate (Basque)

Currently translated at 55.2% (42 of 76 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/

* Translated using Weblate (Basque)

Currently translated at 8.5% (53 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Basque)

Currently translated at 9.0% (56 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Finnish)

Currently translated at 98.9% (296 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fi/

* Translated using Weblate (Finnish)

Currently translated at 98.9% (296 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fi/

* Translated using Weblate (Finnish)

Currently translated at 98.9% (296 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fi/

* Translated using Weblate (Corsican)

Currently translated at 100.0% (66 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/co/

* Translated using Weblate (Corsican)

Currently translated at 99.6% (619 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/co/

* Translated using Weblate (Corsican)

Currently translated at 100.0% (299 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/co/

* Translated using Weblate (Corsican)

Currently translated at 100.0% (299 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/co/

* Translated using Weblate (Basque)

Currently translated at 41.3% (257 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (299 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (66 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (62 of 62 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/eu/

* Translated using Weblate (Basque)

Currently translated at 56.5% (43 of 76 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/

* Translated using Weblate (Arabic)

Currently translated at 90.8% (564 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/

* Translated using Weblate (German)

Currently translated at 96.9% (64 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/de/

* Translated using Weblate (German)

Currently translated at 98.4% (65 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/de/

* Translated using Weblate (Basque)

Currently translated at 42.9% (267 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Italian)

Currently translated at 100.0% (66 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (299 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/it/

* Translated using Weblate (Basque)

Currently translated at 71.0% (54 of 76 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/

* Translated using Weblate (Slovak)

Currently translated at 95.3% (592 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/

* Translated using Weblate (Basque)

Currently translated at 43.8% (272 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (299 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/

* Translated using Weblate (Basque)

Currently translated at 100.0% (76 of 76 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (76 of 76 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (66 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (62 of 62 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (299 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (621 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (621 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (621 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (66 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/sk/

* Translated using Weblate (Slovak)

Currently translated at 95.3% (592 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.5% (618 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/

* Translated using Weblate (Portuguese)

Currently translated at 83.7% (520 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (299 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (299 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/

* Translated using Weblate (Arabic)

Currently translated at 91.9% (571 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/

* yarn manage:translations && i18n-tasks noramlize && i18n-tasks remove-unused

* remove body_html: ''

* Translated using Weblate (Galician)

Currently translated at 100.0% (299 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/gl/

* Translated using Weblate (Basque)

Currently translated at 100.0% (299 of 299 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/

* yarn manage:translations
2018-05-31 13:00:40 +02:00
063d4d4ccc 🌍: 🇵🇱⬆️ (#7679)
* 🌍: 🇵🇱⬆️

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* yarn manage:translations
2018-05-31 11:15:38 +09:00
165b5dc7f5 Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master 2018-05-31 01:17:25 +00:00
ad40bf5e0c Speed up some rake tasks by moving execution to Sidekiq (#7678)
* Speed up some rake tasks by moving execution to Sidekiq

mastodon:media:remove_silenced
mastodon:media:remove_remote
mastodon:media:redownload_avatars
mastodon:feeds:build

* Fix code style issue
2018-05-30 21:09:30 +02:00
3623aea6c9 Redirect / to home on mobile layout, to getting started on desktop (#7677) 2018-05-30 18:42:06 +02:00
1a7a74ff76 Improve getting started column (#7676)
* Adjust footer of getting started column

- Improved style
- Moved hotkeys, about this instance and logout to footer
- Removed FAQ, User Guide, Apps links
- Use hamburger icon for the column

* Add edit profile action button to profile and more to dropdown

* Add "Trending now" to getting started column

* Add preferences/security links on mobile layout
2018-05-30 18:41:47 +02:00
a7d726c383 Improve counter caches on Status and Account (#7644)
Do not touch statuses_count on accounts table when mass-destroying
statuses to reduce load when removing accounts, same for
reblogs_count and favourites_count

Do not count statuses with direct visibility in statuses_count

Fix #828
2018-05-30 02:50:23 +02:00
461542784b Reduce wasted work in RemoveStatusService due to inactive followers (#7672) 2018-05-29 22:55:33 +02:00
e7b3a4263e [Glitch] Fix low-contrasted cancel button of reply indicator
Port 86efccce2a to glitch-soc
2018-05-29 21:25:47 +02:00
08dbe29e29 [Glitch] Improve load gap styling in web UI
Port 45c9f16f71 to glitch-soc
2018-05-29 21:25:28 +02:00
cc589d6ec0 [Glitch] Use randomized setTimeout when fallback-polling and re-add since_id
Port dafd7afc5e to glitch-soc
2018-05-29 21:25:28 +02:00
fbc25bdd2d [Glitch] Do not crash in getStatusIds when there is a gap in the timeline
Port b1938d7853 to glitch-soc
2018-05-29 21:25:28 +02:00
5cc4d34250 [Glitch] Fix gap insertion for timeline disconnection
Port 66359ec522 to glitch-soc
2018-05-29 21:25:28 +02:00
15bef77add [Glitch] Fix ID duplication in timelines
Port 306267dbd2 to glitch-soc
2018-05-29 21:25:28 +02:00
4b38ac3bed [Glitch] Fix comparing id
Port 0ba49eca8b to glitch-soc
2018-05-29 21:25:28 +02:00
6020a21130 [Glitch] Fix LoadMore on account media gallery
Port 3523aa440b to glitch-soc
2018-05-29 21:25:28 +02:00
5d16fd3f28 [Glitch] Add missing null handling in notification reducer
Port 2f3ac14a43 to glitch-soc
2018-05-29 21:25:28 +02:00
4eba8c50c3 [Glitch] Allow clients to fetch notifications made while they were offline
Port cbf97c03bb to glitch-soc
2018-05-29 21:25:28 +02:00
0ad3eedd4c [Glitch] Allow clients to fetch statuses made while they were offline
Port 9a1a55ce52 to glitch-soc
2018-05-29 21:25:28 +02:00
7706ed038f Fix context building in the reducer (#7671)
This fixes below bugs:

* addReply() had used native compare operator for string ids
  => descendants may appears at wrong position
* CONTEXT_FETCH_SUCCESS had added the focused status as the reply of the *first* status in ancestors, not last status.
  => descendants may also appears wrong position as well as correct position
* TIMELINE_UPDATE had added the status to replies of *itself* instead of replied status
  => browser will hangs if you open the status due to a circular reference
2018-05-29 17:42:29 +02:00
532fb8e215 Fix error when unmuting a domain without listing muted domains first 2018-05-29 16:26:39 +02:00
0345cd5a0f Fix error when unmuting a domain without listing muted domains first (#7670) 2018-05-29 16:25:05 +02:00
c087738270 Merge branch 'master' into glitch-soc/merge-upstream 2018-05-29 13:52:26 +02:00
90908fc24b Fix N+1 on AtomSerializer (#7669) 2018-05-29 13:34:02 +02:00
8bb74e50be Add GET /api/v2/search which returns rich tag objects, adjust web UI (#7661) 2018-05-29 02:01:24 +02:00
90b64c0069 Always display tab navigation on local/federated timeline even when empty (#7663)
Fix #7659
2018-05-29 02:01:04 +02:00
e599d7caf2 Rescue Mastodon::DimensionsValidationError in Remoteable (#7662)
Fix #7660
2018-05-29 08:39:02 +09:00
d95642f6d9 Cache attachments on external host with service worker (#7493) 2018-05-29 00:43:47 +02:00
03f4c214b4 fix: Don't validate MX record in development (#7654) 2018-05-28 19:14:24 +02:00
c0355878ba Fix embed, error and onboarding modals in light theme (#7656) 2018-05-28 19:13:20 +02:00