* Testing playwright for Desktop automation
* converting tests from javascript to typescript and finishing create user automated test
* Trying to delete app data when test finishes, not through UI
* Undoing the code for clear database once test completes
* Creating POM for cleanup function
* cleanup function for playwright tests
* Creating a new user function, open electron function and clean up function
* fixes user object for new user function
* Adds a login function and start of send message test
* Creating test for sending messages, logging in and adding in data test id tags
* add more data-testid field
* updates new contact test, to have multiple windows and users running simultaneously
* updating clean up and new user test
* Fixing issues with creating new user
* new contact test
* New test to check password functionality
* make sure to cleanup data before running tests
* New group creation test and sending message function
* Adding new automated test for sending message to a contact
* create group test and updating new contact test to include date in test message
* updating package.json to remove webdriver and chromedriver and spectron
Co-authored-by: Audric Ackermann <audric@loki.network>
* refactor most of the components to outside of their Session folder
* finish moving overlay and memberListItem to react hook
* fix bug with kicked member len >2 not being displayed
also sort admins first in UpdateGroupMembers dialog
* fix admin leaving text of groupNotification
* add a useFocusMount hook to focus input fields on mount
* make click avatar convo item open only user dialog
* cleanup config default.json
* make sure to use convoController to build sync message
* disable showing pubkey on opengroups
* add a pause on audio playback
Fixes#2079
* cleanup unused convo json fields in db
* display a toast if the user is not approved yet on call OFFER received
* enable CBR for calls
* do not update active_at on configMessage if !!active_at
* remove mkdirp dependency
* disable call button if focused convo is blocked
* quote: do not include the full body in quote, but just the first 100
* click on the edit profile qr code padding
* Allow longer input for opengroup join overlay
Fixes#2068
* Fix overlay feature for start new session button
* make ringing depend on redux CALL status
* turn ON read-receipt by default
* close incoming call dialog if endCall from seame sender
* disable message request toggle if featureFlag is OFF
* cleanup UI of message requests
* mark all existing conversations as approved in a migration
* fix regex with conversationID for opengroups
* Open group URL regex fixes
- Capital letters in room tokens were not being accepted (it eventually
gets lower-cased internally, which works fine, but that happens
*after* the URL is tested for acceptability).
- `-` in room was not being allowed (it is and always has been on SOGS,
session-android, and session-ios).
- single-letter room ids are valid, but only 2+ letter ids were being
accepted.
- complete URL regex wasn't anchored so something like
`garbagehttps://example.com/room?public_key=<64hex>moregarbage` was
being accepted in the GUI input (it fails later when other code tries
to parse it as a URL).
- removed `m` modifier from open group regex: without anchors it wasn't
doing anything anyway, but *with* anchors it would still allow
leading/trailing garbage if delineated by newlines.
- public key regex was accepting g-z letters, and not accepting A-F.
- various regex cleanups:
- use non-capture groups (?:...) rather than capturing groups (...)
- avoid repetition in host segment matching
- tightened up host pattern matching a bit:
- DNS host segments have a max length of 63
- Limit port max length to 5, and disallow starting with 0
* Show an error when the open group URL is invalid
It's quite disconcerting when you have a bad open group URL and try to
add it and the join button just "doesn't work" without any feedback at
all. Fix it to show an error message. (There is already an i18n entry
for this because this same message is thrown if the URL can't be parsed
later on).
* show missed-call,started-call and answered call notification in chat
* fix types for createLastMessageUpdate
* show incoming dialog if we have a pending call when enable call receptio
* simplify a bit the avatar component
* move disableDrag to a custom hook
* speed up hash colors of avatarPlaceHolders
* fixup text selection and double click reply on message
* keep avatar decoded items longer before releasing memory
* add incoming/outgoing/missed call notification
also, merge that notification with the timer and group notification
component
* hangup call if no answer after 30sec
* refactor SessionInput using hook + add testid field for recovery
* disable message request feature flag for now
* fix merge issue
* force loading screen to be black instead of white
for our dark theme user's eyes safety
* add type for i18n to run update after crowdin fetch with tools/updateI18nKeysType.py
* update to latest translations
* show missed-call,started-call and answered call notification in chat
* fix types for createLastMessageUpdate
* show incoming dialog if we have a pending call when enable call receptio
* simplify a bit the avatar component
* move disableDrag to a custom hook
* speed up hash colors of avatarPlaceHolders
* fixup text selection and double click reply on message
* keep avatar decoded items longer before releasing memory
* add incoming/outgoing/missed call notification
also, merge that notification with the timer and group notification
component
* hangup call if no answer after 30sec
* refactor SessionInput using hook + add testid field for recovery
* disable message request feature flag for now
* fix merge issue
* force loading screen to be black instead of white
for our dark theme user's eyes safety
[End] will scroll to the end of the current conversation, because the
latest message is always available.
[Home], however, will scroll only to the top of the currently loaded
messages, triggering earlier messages to load. Multiple presses of
[Home] are therefore required to get to the start of the conversation.