* 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
* 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
* WIP unsending message.
* retrieving message with hash from db on receiving unsend request.
* outgoing messages hashes updated on message sent success
* unsend messaging
* unsend message - deleting messages and marking as isDeleted.
* add msg hash to unprocessed records.
* Message unsending working for closed groups provided the message has been updated with a hash from server.
* adding 2-stage confirmation modal for message deletion
* adding rendering of removed incoming messages, disabling rendering of unsent outgoing messages in coversation screen.
* Adding logging
* debugging.
* outgoing only saved for sync message instead of regular message.
* deleting locally
* adding post unsend deletioncode.
* starting adding feature flag.
* Added feature flag.
* addding mandatory messageHash pollling pipeline methods swarm polling.
* Conversation list item message preview showing deletion placeholder text if deleted.
* add condition to drop unsend requests not send by message author
* refactoring deleteMessage. Saving response hash for closed group message sending
* running yarn ready
* removing logging.
* Adding PR fixes
* Minor changes and running yarn ready
* fix typo
* Moved feature flag to lokiFeatureFlags. Fixing linting errors
Co-authored-by: Audric Ackermann <audric@loki.network>
* do not consider expire timer update unread messages #1881
* cleanup conversation props in redux to only have what cannot be derived
* fix app not starting without the await on convo creation
* cleanup props of message model
* add using timestamp offset from network for sending part1
* remove MessageController as we now rely on the database
* fix tests for message sending overriding timestamp
* Keep line breaks when message has some new lines
Relates #1758 and #1898 and #1901
* fix link preview cropped when received
* make sure we fetch from seed if we end up with not enough snodes
* try to download recent previews if we just trusted a user
* throw if we need to rebuild path while fetching snode list from snode
* fixup no refecthing of snode list while we are fetching them already
* added test for fetch from db or seed
* fetch snode list from snode every hour
also make sure the path building does not try to get more snodes. It
just throws
* do not drop a path if an opengroup room is down and we get errors back
* do not throw an error if the snode in error in not in any path
* fix tests
* bump to v1.7.11
* Session v1.6.2 (#1639)
* padd Message buffer for all outgoing messages (even opengroupv2)
* pad and unpad message everywhere
attachment not padded for opengroup only
* lint
* enable fileserver v2 sending side
* removed all en unused local strings
* remove all unused keys for other locales
* update displayname even if we dont have avatar on incoming profile
* redesign group invitation message type
* ask confirmation before joining opengroup invitation
* remove the channelId from groupInvitation
* fallback to envelope timestamp if dataMessage.timestamp is 0
* match group invitation design with ios
* speed up first load of room message by prefetching token
* create convo for members if they don't exist
also, removing a private convo does not remove it entirely as we need
the convo to be able to remove members
* fix avatar download on restore when linking device
Fixes #1601
* make sure the left member convo exist in rendering GroupUpdate
* Reply attachments (#1591)
* First attachment showing in reply composition.
* WIP: Adding thumbnail to quote response composition component.
* Added icon for voice recording attachment
* Updated formatting.
* Formatting.
* removed duplicate styling.
* WIP: Converting quote component to functional components.
* Fix bug where thumbnails for attachment replies wasn't showing.
* yarn Formatting.
* Removed old quote component.
* Add type to contentTypeSupported method.
* Moved quote subcomponents out of Quote component.
* yarn format
* Add export to quote subcomponents.
* Fixing linting errors.
* remove commented line.
* Addressing PR comments.
* Allow pasting images into composition box as attachments (#1616)
* Allow pasting images into composition box as attachments
* Fix linter errors
* Fix typo
* Get snode from snode (#1614)
* force deleteAccount after 10sec timeout waiting for configMessage
* move some constants to file where they are used
* add a way to fetch snodes from snodes
* remove a snode from a pubkey's swarm if we get 421 without valid content
* remove getVersion from snodes
* hide groupMembers in right panel for non-group convo
* Fix fonts sans serif (#1619)
* force deleteAccount after 10sec timeout waiting for configMessage
* move some constants to file where they are used
* add a way to fetch snodes from snodes
* remove a snode from a pubkey's swarm if we get 421 without valid content
* remove getVersion from snodes
* hide groupMembers in right panel for non-group convo
* fix font sans serif by using roboto instead
Fixes#1617
* WIP: User nicknames (#1618)
* WIP Adding change nickname dialog.
* WIP adding nickname change dialog.
* WIP nickname dialog.
* WIP: Able to set conversation nicknames. Next step cleaning and adding to conversation list menu.
* Fix message capitilisations.
* Add change nickname to conversation list menu.
* Enable clear nickname menu item.
* Added messages for changing nicknames.
* Clearing nicknames working from header and message list.
* Adding modal styling to nickname modal.
* Reorder nickname menu item positions.
* Add group based conditional nickname menu options to conversation header menu.
* minor tidying.
* Remove unused error causing el option.
* Formatting.
* Linting fixes.
* Made PR fixes
* Prioritise displaying nicknames for inviting new closed group members
and updating closed group members.
* Fix app image start for non-debian based distribs (#1622)
Fixes#1620
* fixup nickname dialog for enter key pressed event (#1623)
also add some type for it and remove unused props
* Fix attachment extension vnd (#1628)
* allow openoffice document extension and don't use
* allow opendocument to be shared with the extension rather than mimetype
Fixes#1593
* allow message without padding
* add test for odt files
* More Japanese translations (#1632)
* Translate some untranslated strings into Japanese
* Tweak some Japanese translations
* Add new Japanese translations
* WIP: Closed group reliability (#1630)
* WIP: added non-durable messaging function.
* WIP: Non-durable sending
* WIP: adding dialog box.
* Creating dialog if group invite message promises don't return true.
* removed console log
* applied PR changes, linting and formatting.
* WIP: allowing resend invite to failures.
* using lookup.
* WIP: recursively opening dialog.
* WIP: debugging reject triggering on confirmation modal.
* register events fix.
* Closed group invite retry dialog working.
* Added english text to messages.
* Prevent saving of hexkey pair if it already exists.
* Fixed nickname edit
input trimming end letter.
* Don't show closed group invite dialog unless it has failed at least once.
* Fix linting error.
* Fix plurality.
* Ensure admin members are included in all invite reattempts, mixed plurality.
* test fixing windows build
* Revert "test fixing windows build"
This reverts commit 8ed2e0891d.
Co-authored-by: Warrick <wcor690@aucklanduni.ac.nz>
Co-authored-by: shellhazard <unva1idated@protonmail.com>
Co-authored-by: beantaco <64012487+beantaco@users.noreply.github.com>
* attachment padding not enforced to be 0x00
* add message an attachment padding test
Co-authored-by: Warrick <wcor690@aucklanduni.ac.nz>
Co-authored-by: shellhazard <unva1idated@protonmail.com>
Co-authored-by: beantaco <64012487+beantaco@users.noreply.github.com>
* allow openoffice document extension and don't use
* allow opendocument to be shared with the extension rather than mimetype
Fixes#1593
* allow message without padding
* add test for odt files
- prekeys
- SessionCipher
- LokiCipher
- endSession and the reset Session logic
- what we called Sessionprotocol manager (to keep track of session with
everyone)
Instead of blocking the message queue when we don't have a session, we instead just send out a session request and send the queued messages using fallback encryption.
This means that users will be able to message right away without having to wait.
The only down side is that all messages sent before sessions are established will be using the weaker encryption.
This change also means we have to detach session requests from envelope type (which is a good thing) and thus now a message is a session request if it contains a preKeyBundle.