[keyserver][web][native] Handle link creation / update errors
Summary:
In this diff we're handling two errors:
- When invalid characters were used in the link
- When an already used link was used
Copies are based on https://www.figma.com/file/a1nkbWgbgjRlrOY9LVurTz/Comm-%2F-Desktop-app?node-id=11341%3A284796&mode=dev, but with some changes:
- Replaced the first chars to the lowercase so that they are consistent e.g. with our login form.
- Removed a set of invalid chars from invalid_characters error message because it is impossible to present a complete set of invalid chars (we only support [a-zA-Z0-9]).
https://linear.app/comm/issue/ENG-3916/better-error-handling
Test Plan:
Check if a proper error message is displayed on both web and native when a user tries to:
- create a link with ? as a secret
- create a link with the same secret as some other link
- update a link to have the same secret as some other link
Reviewers: kamil, inka, ashoat
Reviewed By: kamil
Subscribers: ashoat
Differential Revision: https://phab.comm.dev/D8494