* use relative sizing when scaling the QR code
* linting
* properly implement image scaling
* remove extra horizontal padding
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* android: parse/serialize unknown chat items
* ios: more resilient decoding of MsgContent
* core: preserve JSON of unknown message content type in MCUknown, so it can be parsed once it is supported by the client
* android: refactor modal views without navigation controller
* refactor navigation
* make alert manager global
* disable CRPendingSubSummary in terminal, hamburger menu instead of gear
* minimal implementation of notifications and broken framework for background check for messages
* linting and need different id to have multiple messages
* working notification on new messages
* add autocancel to notifications
* add rudimentary linking to chat from notification
* group notifications from the same chat
* clarify comment
* revert to working version
* refactor
* minors
* two channels, silent and shouty
* rudimentary state control for notifications
* check if running in foreground
* more elegant solution to don't notify if in chat
* tidy up DisposableEffect use
* change message notification priority to high
* nuke opt-ins
* navigation via notification occasionally works with race condition (WIP)
* notification navigation is working; remove chat list/view from navigation; refactor ChatListNavLinkView
* group all simplex notifications, only show the latest message per chat, notification icons
* increase time to 30 sec
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* try to add warning text if display name has whitespace
* simplify
* layout/error icon
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* bigger fonts, text entry layout
* resize scroll area when keyboard appears; automatically scroll on new messages
* fix message entry in dark mode
* imporove console layout
* fix chat info with dark mode
* fix typo
* clean up
* remove unused time formatter
* initial attempt -- not recomposing
* change to mutable state, still not working
* two state works, why not three?
* fix so we actually change state
* remove unnecessary brackets
* refactor
* using Boolean? for userCreated
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* android: update user profile view logic
* indentation
* format
* UserProfileView
* remove prints
* empty line
* undo format
* change by value
* separate layout
* layout
* unconditionally editProfile = false
* add header and close button to profile page, add links to "settings"
* use generic navigate in settings, remove terminal button from the list of chats
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* simple case
* version almost working with true links
* show alerts in imperative way, like they were meant to
* connecting via links works
* add error handling to connections
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* initial restyling:
* polish styling a little
* lint
* more linting
* add dependency
* add time to messages when they exist
* if no chat items show time from time chat created
* playing with colours
* rename shared colour
* flip title text colour in dark mode
* update model when messages arrive
* update chat in the list when message is added
* copy methods with optional parameters
* use data classes to have pre-defined copy methods
* view placeholders for chats list and chat views
* classes for chats
* set the user to the model
* use Long for IDs
* chats/messages API (not working yet)
* android api works
* line breaks
* add initial conditional routing -- create user not working
* only one nav controller
* user check on launch works (kind of)
* Apply suggestions from code review
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* initial rough ideas
* refactor and put in high level navigation
* refactor
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* new compose project
* classes for chat command and response
* use val with get() for commands and responses
* chat model
* initial jetpack compose set up
* wire it up with chat
* first ability to send and receive messages
* refactor model/controller interface
* JSON samples
* terminal view with items
* playing around with json
* JSON serialization works
* parsing API responses in the terminal
* add subclass for contactSubscribed reponse
* remove android-poc
* remove JSON example
Co-authored-by: IanRDavies <ian_davies_@hotmail.co.uk>
* light github image for dark mode
* show message received status, remove chevrons in chat list
* show unread message status
* add message send error mark
* refactor alerts to use AlertManager
* show alert message on tapping undelivered message, simplify text-only alerts
* receiving messages in the background and sending local notifications
* show notifications in foreground and background
* presentation logic for notification options when app is in the foreground
* background refresh works
* remove async dispatch
* updated text items
* update version
* fix JSON parsing in CIDirection, refactor data samples
* show group member in received messages and chat preview
* use profile displayName instead of localDisplayName, do not show fullName if it is the same as displayName
* started chat model
* refactor processing commands and UI events
* message chat event processing
* groups: delayed delivery of messages and introductions to announced members (#217)
* combine migrations, rename fields
* show all view messages vis ChatResponse type
* serialize chat response
* update C api
* remove unused extensions, fix typos
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com>
* initial mobile app design draft
* add proposals
* xcode project
* refactor function to send to view as parameter
* export C interface
* remove unused files
* run chat from chatInit
* split chatStart to a separate function
* replace file-embed with QQ
* add mobile views
* server using IP address
* pass dbFilePrefix as parameter to chatInit
* comment on enabling logging
* fix mobile db config
* update C API, make user non-optional in ChatController
* restore SMP server addresses
* revert the change in the tests
* flip dependency - now Controller depends on Terminal
* make ChatController independent of terminal package
* fix Main.hs
* add iOS .gitignore
* refactor Simplex.Chat.Terminal
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com>
* Add /version and /v flags
* Move version info from C Chat.Help to Chat.View
* Move version string, use it in Main startup
* use "SimpleX Chat" consistently
Co-authored-by: TheTaoOfSu <TheTaoOfSu@protonmail.com>
* remove group member
* leave group, fix remove member, tests for leave group/remove member
* delete group with test
* prevent contact deletion error when it is a group member
* support inviting the group member who left or was removed
* use small retry interval in the tests
* test multiline outputs
* establish connection using user profiles (TODO: delete contact and send message)
* delete contact and send message with the updated schema
* comment
* refactor, remove old code
* chat types, chat protocol syntax idea
* chat message syntax, raw message type
* chat message format and parsing
* raw chat message parsing test
* add message parsing tests
* interpret RawChatMessage
* use chat message format when sending messages
* save contacts and related connections to DB (WIP)
* use contacts in all chat commands (add, connect, send, delete)
* use contacts when receiving messages and notifications
* handle contact not found error
* automatically accept connection when CONF is received from the agent