Commit Graph

279 Commits

Author SHA1 Message Date
Michael Bradley, Jr 1bcf884c27
fix: display error and disable Update button if gas limit is less than 21000
Signed-off-by: Michael Bradley, Jr <michaelsbradleyjr@gmail.com>
2020-05-01 18:10:35 -05:00
Jonathan Rainville 4f120d99f7
fix: show message when loading new transactions instead of no tx msg
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-04-17 11:43:38 +02:00
yenda aebe68fa1a
fix #8717 change ens welcome screen
english only
needs work for translations

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-04-17 10:29:41 +02:00
Vitaliy Vlasov e11385e350
Add web3.keycard.signTypedData
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2020-04-14 20:07:35 +03:00
hesterbruikman a1a64ce5f4
Update en.json
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-04-14 15:00:27 +02:00
hesterbruikman 75c5a13d7b
Minor copy changes wallet
Set default currency > Set currency
These three words prove that a transaction is safe. > You should see these 3 words before signing each transaction
You should see these words before signing each transaction. If you don’t, cancel and sign out. > If you see a different combination, cancel the transaction and sign out

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-04-14 14:59:39 +02:00
Gheorghe Pinzaru 461b6cdb74
Update the UI for the group chat
Add search for contacts

Add format name inside contact

Add back button on create group

Fix current contact name and alias

fixup

Update UI for group chat profile

Fix tests

Ui clean up

fix change group chat name

Add leave group chat option

Hide options if user has left the chat

Use modal for all required chat screens

Add dark mode to group chats

Fix offset 10 pt off screen on presentation modals

Wrap keyboard avoiding view with safe area offset

Keep only leave chat

Fix search input focus

Make edit name active when title not changed

Fix lint

review cleanup

QA review

Fix group chat inviter name

Fit flat list into container

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-04-10 13:58:04 +03:00
jinhojang6 a090a059ec
add Filipino translation 2020-03-26 13:18:56 +01:00
Andrey Shovkoplyas a447bed4ac
dark mode 2020-03-26 08:34:13 +01:00
Andrea Maria Piana 619e176087
Set waku mode dynamically
This commit allows setting waku-mode and waku-bloom-filter-mode
dynamically.
It requires a relogin for the changes to take effect.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-03-16 08:09:27 +01:00
Andrey Shovkoplyas a79a72fccb
[#9749] Support importing private key and seed 2020-03-03 12:51:28 +01:00
Andrey Shovkoplyas d64ba1b540
[#9789] Add a loading indicator and button to username input of start new chat
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-03-02 12:35:05 +01:00
Serhy 490c8f8776
Remove unused translatins
Signed-off-by: Serhy <sergii@status.im>
2020-02-26 20:36:48 +02:00
Andrea Maria Piana 21ef5a68b8
Add mark all read
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-02-26 13:35:31 +01:00
Gheorghe Pinzaru c9d1adbc27
Add animation for keycard interaction
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-02-26 14:48:42 +03:00
tbenr eb1cc65a3d
watch only qrcode and already exists check
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-02-24 16:33:21 +01:00
Andrey Shovkoplyas 06025ce26f
[#9961] Update glossary view
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-02-07 13:38:29 +01:00
Dean Eigenmann 7c5decbbfc
uses new ENS registry. see: GHSA-8f9f-pc5v-9r5h 2020-02-06 17:02:14 +01:00
Gheorghe Pinzaru 6ad84f4232
Update your keys screen
Fixes #9782

Change theme of new key action

Update translations

Fix e2e tests

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-02-04 13:51:29 +03:00
Gheorghe Pinzaru 47732e7b5b
Remove contact indicator from userpic
Add contact indicator in 1:1 as a text. Fixes #9826

Fix e2e

explicitly define line height

On android and iOs line height is different, explicitly define so it will be the same in both platforms.

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-01-31 14:58:10 +03:00
yenda cc3ae6c693
fix #9903 hide buttons of actions that are not yet implemented
fix ens release button which showed a hardcoded date
link to release instructions on hackmd

Signed-off-by: yenda <eric@status.im>
2020-01-30 18:49:47 +01:00
yenda 81d2c35f4d
[9853] add missing translatable labels
Signed-off-by: yenda <eric@status.im>
2020-01-27 11:53:32 +01:00
Roman Volosovskyi 30545f77d2
Add a screen for debugging blocks lag 2020-01-24 16:58:20 +02:00
hesterbruikman 19f92413de
Update copy Choose key storage
Error with previous update:

Intro-wizard-3 (OLD): Own a Keycard? Store your keys on it; you'll need it for transactions
Intro-wizard-3 (NEW): If you own a Keycard, store your keys there for enhanced security.

Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-01-24 15:05:19 +01:00
Roman Volosovskyi 161042066d
[#9203] Transfers fetching with less requests
- all messages are not shown right away, in order to paginate history
  a user has to press "load more" button
- added link to etherscan before transfers list
- there is a new "fetch more" button at the end of the list
- rest of changes can be found here status-im/status-go#1775
2020-01-23 14:41:16 +02:00
Volodymyr Kozieiev 0106f6efcd
Bug reporting fixed. Added notification about not configured mail client
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2020-01-22 17:35:14 +02:00
tbenr 0ed19efbb3
fixes #9288
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-01-15 16:47:32 +01:00
Gheorghe Pinzaru f0ffe79a4a
Add glossary view
Fix misspelled wallet

Change glossary position in help center

Fix wrong padding on the view

Make letter transition more smooth

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-01-15 12:48:00 +03:00
yenda 84828891a0
Add chat commands
Signed-off-by: yenda <eric@status.im>
2020-01-10 20:13:19 +01:00
Rachel Hamlin 9c160720a0
fix awkward caps
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-01-08 18:55:55 +01:00
acolytec3 4ecfb15934
Update invalid seed phrase copy
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-01-08 16:16:43 +01:00
Serhy 22cec68582
Fix translation
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-01-08 14:05:00 +01:00
tbenr baeeb135b9
fixes #9592
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-01-08 13:04:16 +01:00
hesterbruikman d700a25578
v1 Copy Changes - Round 1
Signed-off-by: yenda <eric@status.im>
2020-01-06 16:12:58 +01:00
acolytec3 3bcf7ecf29
Add BIP39 validation for seed phrase recovery
Signed-off-by: yenda <eric@status.im>
2020-01-06 16:02:14 +01:00
hesterbruikman b93e6d8d78
v1 Copy Changes - Onboarding Carousel #9693
- Intro-title1, intro-text1/2/3

Signed-off-by: yenda <eric@status.im>
2020-01-06 11:23:34 +01:00
yenda bf16116acd
move multiaccount settings to a table
integrate status-go changes to move multiaccount settings to a table
that can be migrated

Signed-off-by: yenda <eric@status.im>
2020-01-02 18:07:10 +01:00
Serhy 0fa6ae589b
v1 Copy Changes - Key Generation, Storage
Signed-off-by: Serhy <sergii@status.im>
2019-12-21 18:06:29 +02:00
Andrey Shovkoplyas c84c44fe3b
[#9636] Remove chat menu item and toggle app switching privacy on by default
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-12-13 14:46:54 +01:00
Roman Volosovskyi ecb71645c2
[#9596] Fix biometric auth popover styles 2019-12-12 14:47:47 +02:00
Roman Volosovskyi beed1a60ee
[#9573] Fix some password saving bugs 2019-12-11 12:15:25 +02:00
Andrea Maria Piana 78d694f52f
Move message processing to status-go and introduce protobuf
This commit moves all the processing of messages to status-go.

Messages are going arrive to status-react already saved an processed.

Receiving/sending/retrieving from db is now using the same identical
structure. The only processing left in status-react is to mark the
messages as seen and update the unviewed count locally (only
status-react knows whether the count should be updated).

Partially remove commands as well as won't be used anymore.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-12-05 17:30:30 +01:00
Andrey Shovkoplyas a2f64bd544
delete watch-only account
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-12-04 10:35:12 +01:00
Roman Volosovskyi 5bb6997d1d
[#9354] Unlock keycard account without a card
To make it work `encryption-public-key` and `whisper-private-key` are
stored on the devices when a user chooses this option. The former key is
used for multiaccount's database encryption, the latter is needed for a
messaging. In case if a user wants to sign a transaction the card is
still needed, we don't store wallet's keys on the device.

Other things were fixed/added:
- A user can enable biometric auth for a regular account when chooses
  to save the password on the device (if biometric auth is available).
  This is done for feature parity between keycard and "on device"
  accounts.
- The option to create/restore an account on a keycard is not shown on
  the devices which do not support NFC. Currently, the app just crashes
  if the user continues a flow which is not supported by the device.
2019-12-02 19:25:05 +02:00
Churikova Tetiana 34b356866b
fixed several e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2019-11-29 11:30:40 +01:00
Roman Volosovskyi 67e6ab6055
[#9435] Prevent multiaccount duplication
Currently we have two ways to restore a multiaccount:
- by entering a mnemonic phrase
- by pairing a keycard with an existing multiaccount

In both cases, when we detect that a user tries to recover an existing
multiaccount we interrupt recovering and propose them to unlock that
multiaccount instead.
2019-11-27 17:10:55 +02:00
Andrey Shovkoplyas 507cc5cf39
send transaction GUI
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-11-27 14:32:04 +01:00
Roman Volosovskyi f8c761a40e
[#9345] fix some issues on keycard login screen 2019-11-18 15:39:49 +02:00
elegant651 7b14bbecde
Add new welcome page after generating their key
formatting to style

add accessibility-id & flow for keycard

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-11-18 12:27:55 +01:00
Andrey Shovkoplyas 670c07b9b4
[#8845] Update list of public chats
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-11-15 13:59:47 +01:00
Dmitry Novotochinov 5e7785d432
[#8993] adjust pin screens for small screen devices
find account by key-uid

show pairing slots info on pairing

fix pin reset flow

pass retry-counter

fix sign with keycard button in wallet

Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-11-08 15:01:08 +01:00
Roman Volosovskyi b75e1bd53f
[#9342] fix pin-mismatch label 2019-11-07 14:31:39 +02:00
Rachel Hamlin c6c554409d
Change recover to access
There are some instances on the keycard screens that read `Recover key` rather than `Access key`, this is dated language so I've changed it. There are a few other instances of the word 'recover' in relation to keycard that may also need to be changed, but I'm not sure what context they are in.

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-11-06 12:58:44 +01:00
William Mruzek ed0c16b33b
Increase number on 'unread' messages indicator to +99
Signed-off-by: yenda <eric@status.im>
2019-11-06 11:04:08 +01:00
Roman Volosovskyi e80b08c42e
[#9233, #9173] fix some screens
Signed-off-by: yenda <eric@status.im>
2019-10-30 15:17:28 +01:00
Andrey Shovkoplyas 1c51731aea
[#8446] [Multi-Account] Build account settings for individual wallet
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-10-18 12:09:47 +02:00
yenda 7b6dfad702
[fix 8853] fix change of whisper id in ens registration
A user can type in their existing name in the registration flow. Status can
confirm if they own it. After signing a transaction, the user can update the
Whisper ID to their new one.

Instead of using a hardcoded contract for stateofus, the standard `owner`
method is called to find the resolver contract of a ens name.
This allows users to set the pubkey even for ens names that are not
subdomains of stateofus

Signed-off-by: yenda <eric@status.im>
2019-10-16 17:32:07 +02:00
Andrey Shovkoplyas df098f82f6
[#8977] [Multi-account] Allow user to choose wallet for DApp transactions
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-10-11 11:08:56 +02:00
Vitaliy Vlasov 5fd269fde8
Onboarding UI fixes
Signed-off-by: yenda <eric@status.im>
2019-10-10 21:00:29 +02:00
Rachel Hamlin 0d8d0af3c7
Fixing random capitalization
"Manage Assets" to "Manage assets"
"Enter Seed phrase" to "Enter seed phrase"

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-10-09 17:43:24 +02:00
Andrey Shovkoplyas ca41fefbf7
[#9138] Missing translation in "Need help" section ("Ask a question")
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-10-09 15:24:21 +02:00
Marcus R. Brown 22de1f7490
Fix sticker pack installation buttons
- Fix sticker pack installation buttons
- Add "↓ Free" text and update "Install" text
- Distinguish between owned and free sticker sets
- Rename owned -> owned? in price-badge
- Add tiny-snt icon
- Update the sticker price badge icon and padding

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-10-09 08:25:29 +02:00
hesterbruikman 696df8ea2e
Copy update multiaccount
Fixes copy update in #8447

In the UI we want to refer to a watch only address as `address` instead of `account`. Interactions with an address are limited compared to an account in wallet. e.g. there is no option to send assets from this account as Status wallet does not have the key to sign for transactions.

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-10-07 14:03:37 +02:00
Andrey Shovkoplyas b3d04bb68c
[#8966] biometric
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-10-04 12:43:32 +02:00
Dmitry Novotochinov 18ce3b0129
[#8968] custom seed phrase popover
Signed-off-by: yenda <eric@status.im>
2019-09-25 09:39:25 +02:00
Andrey Shovkoplyas 222c6ac20c
[#8516] Cannot delete dapp from "Recent" 2019-09-24 12:06:53 +02:00
tbenr f7076016d8
fixes #8071
Signed-off-by: yenda <eric@status.im>
2019-09-20 17:54:23 +02:00
yenda 8ccc858d41
fix #9003 Recover deleted translations
replace i18n/message-status-label by regular label to avoid repeating
this issue in the future

recover the following labels:
- status-not-sent-click
- status-not-sent-tap
- status-sent

Signed-off-by: yenda <eric@status.im>
2019-09-20 13:07:11 +02:00
Dmitry Novotochinov 1df30f7447
handle initialized cards
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-09-16 11:14:35 +03:00
acolytec3 7ba83bde74
All strings removed from translations
Signed-off-by: yenda <eric@status.im>
2019-09-13 16:20:49 +02:00
bitsikka f981dbb43b
list-item suppliment/fixes
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-09-11 16:49:52 +02:00
yenda c3dd950286
remove realm
Signed-off-by: yenda <eric@status.im>
2019-09-09 18:40:15 +02:00
MajorTomSec 8c6bd0dc69
Fix issue #8846 - Update terminology for consistency
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-09-03 16:30:34 +02:00
bitsikka 3541f636df
[8070] feature - [Profile] My profile screens reorganisation and items design
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-08-29 13:24:10 +03:00
yenda c75d5b24f6
[fix 8795] remove mainnet is default alert
Signed-off-by: yenda <eric@status.im>
2019-08-21 17:40:50 +02:00
yenda 5cafef6702
remove contact-recovery
contact recovery is now handled by status-go

Signed-off-by: yenda <eric@status.im>
2019-08-21 10:37:46 +02:00
bitsikka 39e095e1ed
[8069] feature - [Profile] My profile edit and share screens
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-08-19 11:09:38 +03:00
Dmitry Novotochinov b635691c25
recovery flow v1
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-08-14 19:42:26 +03:00
Andrey Shovkoplyas ba112a765b
[#8666] Add account via BIP 44
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-08-14 17:58:24 +02:00
hesterbruikman 0f57015b9e
Update copy 'About names'
Resolves https://github.com/status-im/status-react/issues/8694

Old 'About names' copy:
Your identity is secure and private by design. You get a locally generated cryptographic keypair. The name and image are a readable version of this. They are unique. Nobody can pretend to be you. Nobody sees your name unless you provide it.

New 'About names' copy:
Your identity is secure and private by design. You get a locally generated cryptographic keypair. The name and image are a readable version of this. They are unique. Nobody can pretend to be you. Nobody sees your real name unless you provide it.

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-08-07 14:05:28 +02:00
Dmitry Novotochinov 60de46b6c2
keycard login v1
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-08-05 11:33:19 +03:00
Pedro Pombeiro f691304b9d
Fix minor issues and typos in Android build process
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-08-01 19:34:33 +02:00
Andrea Maria Piana 27b77a6dc9
Add datasync,v1messages & disable discovery topic
In preparation for v1 this commits adds a few options so we can get
start debugging the protocol for v1.
This options are:

1) Datasync: If enabled it will send datasync messages
2) V1Messages: If enabled it will send v1 messages (just adding a
signature to the message)
3) Disable discovery topic: If enabled it will stop listening/publishing
on the discovery topic. You will be able to receive messages only from
clients who have this enabled as well.

If any of this option is on, it will only be compatitle with builds >=
this one. A logout is required for any change to take effect.

All this options will be removed before v1, they are there just to make
it easier for us to test and find potential issues.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-07-30 19:11:59 +02:00
Andrey Shovkoplyas f3bb555d52
[#8626] Term 'Recovery phrase' should be used instead of 'seed phrase'
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-07-26 12:33:41 +02:00
Dmitry Novotochinov d8645e2859
import keycard
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-07-23 17:28:57 +03:00
yenda c3c4a5170a
[multiaccount] rename multiaccount to account
Signed-off-by: yenda <eric@status.im>
2019-07-22 11:14:44 +02:00
Andrey Shovkoplyas a71901d897
[#8458] [#8448] developed popover, share accounts and signing phrase popovers 2019-07-12 12:36:36 +02:00
Vitaliy Vlasov 433f840f76
Onboarding sign-in
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2019-07-11 15:46:24 +03:00
Vitaliy Vlasov e9fd6e1a6b
Onboarding setup wizard
New onboarding e2e tests updates

New onboarding e2e fix 2

Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2019-07-08 18:17:50 +03:00
Dmitry Novotochinov ac25f6766d
new wallet sign with keycard flow
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-07-08 16:58:43 +03:00
Volodymyr Kozieiev ea8bf402d7
Two pane ui on large screens
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2019-07-05 13:03:21 +03:00
Dmitry Novotochinov ab2248f9f8
keycard onboarding v1
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-06-27 16:02:57 +03:00
Julien Eluard 3b7e92230b
[Fix #8067] Added screens for ENS preferred name selection
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2019-06-25 08:50:39 +02:00
Andrea Maria Piana 532664ab84
Adds topic negotiation and partitioned topic
All the code has been implemented in statusgo: status-im/status-go#1466

Basically all the whisper filter management is done at that level.

Technical description
On startup we load all chats and send a list of them to status go:
For a public chat: {:chatId "status"}, we create a single filter, based on the name of the chat.

For each contact added by us, each user in a group chat and each one to one chat open, we send:
{:chatId "0x", :oneToOne true}. This will create a chats, to listen to their contact code.

Any previously negotiated topic is also returned.

Once loaded, we create our filters, and upsert the mailserver topics, both of which are solely based on the filters loaded.
In order to remove a chat, we delete/stopwatching first the the filter in status-react and then ask status-go to remove the filter. For a public chat we always remove, for a one-to-one we remove only if the user is not in our contacts, or in a group chat or we have a chat open. Negotiated topics are never removed, as otherwise the other user won't be able to contact us anymore.

On stopping whisper we don't have to ask status-go to remove filters as they are removed automatically.

Some more logic can be pushed in status-go, but that will be in subsequent PRs.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-06-24 13:54:43 +02:00
Andrey Shovkoplyas 26bbac83bc
[#8348] [Multi-Account] Account overview + individual wallet UI
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-06-18 17:44:56 +02:00
Julien Eluard 8aa16520c6
[Fixes #8066] Added native ENS registration
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-06-18 13:25:56 +02:00
Alexandre Magno 287e097471
adding error for a field defined with range that is out of range on extensions
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-06-12 17:02:23 +02:00
Andrey Shovkoplyas 7de2941f26
[#8026] [Wallet] Sign transaction module 2019-06-12 13:20:01 +02:00
Vitaliy Vlasov 04ccd0e7d8
Add TtT chat flow
Signed-off-by: yenda <eric@status.im>
2019-06-03 15:31:30 +02:00
tbenr 090a4e7c76
fixes #6573
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-31 10:25:24 +02:00