chatty issueshttps://source.puri.sm/Librem5/chatty/-/issues2020-11-12T10:25:33Zhttps://source.puri.sm/Librem5/chatty/-/issues/232keyboard enable covers bottom chat messages2020-11-12T10:25:33ZTodd Weaverkeyboard enable covers bottom chat messagesIf the thread is short the keyboard enable pushes up to always show the last message, when the thread is long the keyboard enable overlays and covers the bottom of the message, so it makes it awkward to respond to the last message when i...If the thread is short the keyboard enable pushes up to always show the last message, when the thread is long the keyboard enable overlays and covers the bottom of the message, so it makes it awkward to respond to the last message when it isn't visible.
Current behavior for short threads:
1. Short thread operates normally
![librem-5-birch-chat-thread-short-2019-12-07](/uploads/338317172187ee35f370b445f6aaa3ec/librem-5-birch-chat-thread-short-2019-12-07.webm)
Current behavior for long threads:
1. Long thread shows fine
2. Opening keyboard overlays the last messages
3. Scrolling shows they are there, just overlayed
![librem-5-birch-chat-thread-long-2019-12-07](/uploads/6a0535beb4c792d47e947dfc5f5b9a0c/librem-5-birch-chat-thread-long-2019-12-07.webm)
Expected behavior:
Keyboard open always shows the last message (push up, not overlay)
```
purism@pureos:~/.purple$ dpkg -s chatty
Package: chatty
Status: install ok installed
Priority: optional
Section: net
Installed-Size: 587
Maintainer: Andrea Schäfer <andrea.schaefer@puri.sm>
Architecture: arm64
Version: 0.1.2
Depends: dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.17), libcairo2 (>= 1.2.4), libebook-contacts-1.2-2 (>= 3.16.2), libfolks25 (>= 0.9.7), libgdk-pixbuf2.0-0 (>= 2.23.0), libgee-0.8-2 (>= 0.8.3), libglib2.0-0 (>= 2.41.2), libgtk-3-0 (>= 3.21.5), libhandy-0.0-0 (>= 0.0.10), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpurple0 (>= 2.8.0), libsqlite3-0 (>= 3.5.9)
Suggests: calls
Conffiles:
/etc/xdg/autostart/sm.puri.Chatty-daemon.desktop 1a2179c0e03bba75860ea4ce21227465
Description: XMPP and SMS messaging
Chatty is a chat application for XMPP and SMS using
libpurple and Modemmanager.
Homepage: https://source.puri.sm/Librem5/chatty
purism@pureos:~/.purple$
```EvgAndrea SchaeferAndrea Schaeferhttps://source.puri.sm/Librem5/chatty/-/issues/254audio notice from incoming text2020-02-21T12:35:43ZTodd Weaveraudio notice from incoming textAs reported here: https://youtu.be/RrTl2TYSg_4?t=216As reported here: https://youtu.be/RrTl2TYSg_4?t=216https://source.puri.sm/Librem5/chatty/-/issues/228No SMS contact can be added (no WWAN side-effect?)2021-09-07T11:17:03ZTodd WeaverNo SMS contact can be added (no WWAN side-effect?)Maybe related to https://source.puri.sm/Librem5/ModemManager/issues/15
Trying to SMS message but cannot create a new contact
![librem-5-birch-chatty-sms-no-wwan-no-contact](/uploads/728377b9d5a615fb1eb9c5cd92a1f301/librem-5-birch-chatt...Maybe related to https://source.puri.sm/Librem5/ModemManager/issues/15
Trying to SMS message but cannot create a new contact
![librem-5-birch-chatty-sms-no-wwan-no-contact](/uploads/728377b9d5a615fb1eb9c5cd92a1f301/librem-5-birch-chatty-sms-no-wwan-no-contact.webm)Andrea SchaeferAndrea Schaeferhttps://source.puri.sm/Librem5/chatty/-/issues/21Conversation list layout2021-04-12T04:34:59ZTobias BernardConversation list layout![image](/uploads/db721557505d979051b36f81269e9ea3/image.png)
A few of the things we discussed in today's call:
- [x] Add blue circle with number of unread messages
- [x] Always sort by most recent message
- [ ] Show user account ID nex...![image](/uploads/db721557505d979051b36f81269e9ea3/image.png)
A few of the things we discussed in today's call:
- [x] Add blue circle with number of unread messages
- [x] Always sort by most recent message
- [ ] Show user account ID next to contact name when there are two identical contacts from different accounts
- [x] Move search button to the header bar
- [x] Add most recent message text below contact name
- [x] Don't gray out offline contacts' avatarhttps://source.puri.sm/Librem5/chatty/-/issues/215support bulk sms2021-01-29T08:46:45ZGuido Gunthersupport bulk smsgroup sms allow to send sms to several people. n900 has a sensible interface where you have a button that gets you to the addressbook and you can add contacts one by one - either before, after or during composing the sms.group sms allow to send sms to several people. n900 has a sensible interface where you have a button that gets you to the addressbook and you can add contacts one by one - either before, after or during composing the sms.https://source.puri.sm/Librem5/chatty/-/issues/59Please indicate who spoke last2018-12-07T08:30:41ZGuido GuntherPlease indicate who spoke lastI really like that chatty shows the last spoken sentence in the conversation overview. However it does not indicate *who* said that so if I spoke last it looks a bit like the other person said that. Maybe right justifying the text if the...I really like that chatty shows the last spoken sentence in the conversation overview. However it does not indicate *who* said that so if I spoke last it looks a bit like the other person said that. Maybe right justifying the text if the user spoke last and left justifying if the other side spoke last would be a solution.https://source.puri.sm/Librem5/chatty/-/issues/676Blocking/Unblocking Contacts2022-04-19T11:26:12ZSam HewittBlocking/Unblocking ContactsCurrently in Chatty there's no way to block a contact in the UI, either in a 1-on-1 chat or in a group chat situation. Simplest way to integrate this would be to provide options in existing context menus for blocking along with a view in...Currently in Chatty there's no way to block a contact in the UI, either in a 1-on-1 chat or in a group chat situation. Simplest way to integrate this would be to provide options in existing context menus for blocking along with a view in preferences to manage/view your blocked context--here are the initial designs that elaborate on this.
![blocking-contacts](/uploads/ee4e8d5c9b1221557f6bed1269baca1e/blocking-contacts.png)
/cc @mohammed.sadiqhttps://source.puri.sm/Librem5/chatty/-/issues/643Conversation Merging2022-12-09T17:44:06ZSam HewittConversation MergingSince Chatty has multi-protocol messaging (even at its most basic: SMS + Matrix) you may receive messages from different addresses/IDs that are from the same person. Also since a design goal of Chatty is that people interact with their c...Since Chatty has multi-protocol messaging (even at its most basic: SMS + Matrix) you may receive messages from different addresses/IDs that are from the same person. Also since a design goal of Chatty is that people interact with their contacts _as people_ and not have to worry about protocol, when an unknown address/number/ID is added to an existing contact card, Chatty will need to merge the conversation history between those formerly 2 different contacts.
Tackling this in the UI will come in at least 3 parts:
### Conversation Context Menu
When a user adds an unknown contact to their addressbook from within the conversation view, the option in the context menu to "Add to existing contact" will indicate an intention on behalf of the user to merge the present conversation into another with the same person. Since what is happening semantically is a user is letting Chatty know that these formerly 2 separate contacts are the same person so all messages from this one person should be in the same place (conversation thread).
![Screenshot_from_2021-12-09_14-27-10](/uploads/f4dc08fe95d92da1e7bca41b686bc94f/Screenshot_from_2021-12-09_14-27-10.png)
### Conversation List
Once a conversation has been merged in the background, the conversation list should no longer show the chat threads between what used to be 2 different contacts and show it as a single conversation. An icon can be displayed to indicate that this is a merged message thread, which will disappear after the user has seen the dialog presented within the conversation view (see subsequent design).
![Screenshot_from_2021-12-09_14-27-22](/uploads/795a3ed08ff42380e5eadaaa9eb24b22/Screenshot_from_2021-12-09_14-27-22.png)
### In-Chat View
When first returning to a newly-merged conversation, we should present a dialog that informs users what happened to their prior conversations as a result of their actions (merging contacts). The merged conversation should preserve all messages, sorted by original timestamp and their source address/ID labelling messages that follow as being from that address until it changes again.
![Screenshot_from_2021-12-09_14-27-34](/uploads/b1a05136b11d0c4cf318e02611f92af5/Screenshot_from_2021-12-09_14-27-34.png)
/cc @francois.techenehttps://source.puri.sm/Librem5/chatty/-/issues/638SMS/MMS Settings Panel Papercuts2021-12-03T14:03:46ZSam HewittSMS/MMS Settings Panel Papercuts![chattysmsmmspanel](/uploads/adfd5f2e341f9109815b3c0b608d798d/chattysmsmmspanel.png)
Some small things to change in this panel:
- the heading "SMS/MMS Settings" is redundant since it repeats the title and can be removed
- "Request deli...![chattysmsmmspanel](/uploads/adfd5f2e341f9109815b3c0b608d798d/chattysmsmmspanel.png)
Some small things to change in this panel:
- the heading "SMS/MMS Settings" is redundant since it repeats the title and can be removed
- "Request delivery reports for SMS and MMS" can be changed to "Show that SMS and MMS were delivered"
- add a subtitle for "SMIL for MMS" option that explains it somewhat: "Include markup files with multimedia" (as gathered from discussion about this feature)
- "Proxy" entry could have some example placeholder text to inform what it is looking for in the format it is asking for
Also based on discussion with @mohammed.sadiq regarding what to do when either MMS or SMS is unavailable, or both:
- when service is unavailable the settings related to each can be made insensitive
- a status message relaying which is unavailable can be displayed at the top of this panel when either MMS or SMS is unavailable, this could just be a simple infobar with something like `[MMS|SMS|SMS and MMS] is unavailable`https://source.puri.sm/Librem5/chatty/-/issues/634Designs for Switching "Domains" in 1-to-1 conversations2021-12-14T11:57:45ZSam HewittDesigns for Switching "Domains" in 1-to-1 conversationsIn these mockups, for lack of a better term and for simplicity's sake, I've dubbed the account/address/number/ID you send messages from and likewise those of the recipient(s) of your messages a "domain".
## Domain Switching
The goal fo...In these mockups, for lack of a better term and for simplicity's sake, I've dubbed the account/address/number/ID you send messages from and likewise those of the recipient(s) of your messages a "domain".
## Domain Switching
The goal for this design is that in a conversation you are having with a person, the process of switching the domain you are sending from and the one they are receiving messages on should be seamless and that the application preserves conversation continuity and the context of the messages.
![domain-switching](/uploads/976d55d9b7af69a9a4c82556b4deeca6/domain-switching.png)
The application should also be informative of these changes in the conversation view with inline alerts but not be too disruptive of the flow of conversation, so their styling should remain subtle.
All actions for changing the domain you are sending from should be tied to message composition and appear in a new submenu on the bottom toolbar, and all actions for changing the recipient's domain should be tied to title menu attached to their contact information at the top of the window.
### Contact Cards
These concepts presume well-managed contact cards that serve as the basis for the items in the menus for switching between their domains and the items in both your and your contact's menus for switching domains will be pulled from the relevant contact cards in your addressbook. The caveat here is that if a contact's domains are spread across different cards the application won't know that they are available to be changed to as it would appear as if they are different contacts/people.
### Multiple Account Settings
Additionally, the design for multiple account settings has been adjusted to account for these new features largely to accommodate the ability to title and colour your multiple accounts.
![multi-account-settings](/uploads/de6d47d8d853589b3d24fdfcc93e6261/multi-account-settings.png)https://source.puri.sm/Librem5/chatty/-/issues/583XMPP: Intrusive chat state notifications2021-10-03T15:29:08ZSebastian KrzyszkowiakXMPP: Intrusive chat state notificationsChatty seems to support [XEP-0085: Chat State Notifications](https://xmpp.org/extensions/xep-0085.html) and shows notifications based on other user's actions. However, they're pretty intrusive - displayed in a color that brings a lot of ...Chatty seems to support [XEP-0085: Chat State Notifications](https://xmpp.org/extensions/xep-0085.html) and shows notifications based on other user's actions. However, they're pretty intrusive - displayed in a color that brings a lot of attention and taking a lot of space. This kind of notification should probably be a small icon or some grayed out label that doesn't take the user's attention away from the conversation content.
<img src="/uploads/57c0c19273e415d9ca5d457c96315e1d/leftconversation.png" width="360" />https://source.puri.sm/Librem5/chatty/-/issues/582Visually differentiate inactive conversations in the list2023-03-22T06:12:23ZSebastian KrzyszkowiakVisually differentiate inactive conversations in the listChatty now keeps showing SMS conversations even when modem is unavailable. The conversation is locked - the text entry and send button aren't active. However, the conversation list doesn't differentiate in any way such conversations, so ...Chatty now keeps showing SMS conversations even when modem is unavailable. The conversation is locked - the text entry and send button aren't active. However, the conversation list doesn't differentiate in any way such conversations, so from the main view it seems like all conversations are available. It would be nice to have some indication that the conversation isn't active there - like grayed out avatar or some icon near it.https://source.puri.sm/Librem5/chatty/-/issues/558Message bubbles have too little padding2021-09-04T20:28:18ZSebastian KrzyszkowiakMessage bubbles have too little paddingSeems like somewhere between the version in amber-phone and byzantium the message bubbles became more cramped:
amber-phone / byzantium
<img src="/uploads/267b534797a3ba3a85d45cc4adf4d3a0/chatty-bubbles-amber.png" width="360" /> <img sr...Seems like somewhere between the version in amber-phone and byzantium the message bubbles became more cramped:
amber-phone / byzantium
<img src="/uploads/267b534797a3ba3a85d45cc4adf4d3a0/chatty-bubbles-amber.png" width="360" /> <img src="/uploads/ab511048b1d528f968e005419af4482b/chatty-bubbles-byzantium.png" width="360" />
Although the new version started to omit unnecessary timestamps, you can see that the message bubbles themselves also became more compressed.
The old version looks cleaner and seems to match closer to [the mockups](https://gitlab.gnome.org/Teams/Design/app-mockups/-/tree/master/messages).https://source.puri.sm/Librem5/chatty/-/issues/258Chats doesn't report if locale is not set directly2020-07-14T19:44:57ZKyle RankinChats doesn't report if locale is not set directly*Note: I've updated this description and title based on a more limited-scope issue related to user feedback when this issue occurs, not fixing the locale issue itself (which is fixed)*
# Problem
I created a new mobile contact in Gnome C...*Note: I've updated this description and title based on a more limited-scope issue related to user feedback when this issue occurs, not fixing the locale issue itself (which is fixed)*
# Problem
I created a new mobile contact in Gnome Contacts that had the area code but did not have the US +1 country code. This contact showed up in Chatty to start a new chat however clicking on this contact in Chatty did not start a new chat. Nothing happened. To fix the issue I had to go to Contacts and add the +1 to the phone number. Then it worked.
This was due to an underlying locale issue that has since been fixed, however Chats should give the user some kind of feedback when they attempt to chat w/ a contact and Chats doesn't open a chat dialogue due to a missing country code (or bad locale issue).
# Expected Behavior
Chatty allows you to start a new SMS chat with a contact that has a mobile number. When it is missing information that would allow that, it should prompt the user to let them know what is wrong.
# To Reproduce
* Use `dpkg-reconfigure locales` to set the phone locale to None
* Create new contact in Contacts with a mobile number without Country Code.
* Open Chatty, attempt to start new chat with this contact.
# Temporary Workaround
* Edit Contact and add +CountryCode to mobile numberhttps://source.puri.sm/Librem5/chatty/-/issues/244Empty state overlaps search bar2020-08-06T10:09:21ZAlexander MikhaylenkoEmpty state overlaps search bar![Screenshot_from_2019-12-14_01-06-00](/uploads/0f095a8c4edcc9fa89f12aa9303fef59/Screenshot_from_2019-12-14_01-06-00.png)
An easy way to reproduce is with open OSK.![Screenshot_from_2019-12-14_01-06-00](/uploads/0f095a8c4edcc9fa89f12aa9303fef59/Screenshot_from_2019-12-14_01-06-00.png)
An easy way to reproduce is with open OSK.https://source.puri.sm/Librem5/chatty/-/issues/243Use caching and lazy-loading to avoid loading animations or an empty UI2021-07-30T00:28:37ZSam HewittUse caching and lazy-loading to avoid loading animations or an empty UITo reduce the number of loading animations or empty UI seen–in cases with no or slow network connection or during polling of the various backend chat services–the app should store the most recent items of conversations and lazy-load the ...To reduce the number of loading animations or empty UI seen–in cases with no or slow network connection or during polling of the various backend chat services–the app should store the most recent items of conversations and lazy-load the rest.
### Lazy-Loading
Using lazy-loading should cut down on the initialization time by not trying to load everything at once from every chat service and only load what is relevant to the initial user experience of the messaging app. i.e. the app should load only the most recent portions of conversations and lazy-load later portions, multimedia (since photos, videos are larger), etc. in the background or when the user attempting to view older portions of conversatoins
1) first load the titles or names of contacts for conversations (as to fill the conversations view)
2) then, first 20 or so text-only message entries (enough to populate the chat window for every conversation, so when it's entered into it's not empty/loading)
3) finally, the rest of conversations (in the background, and lazy-load them when someone scrolls past a certain threshold in a chat window)
### Caching Conversations
The most recent items of a conversation should also be stored at all times so the UI is not empty when there is no network connection, past items in a conversation should be securely cached and only loaded when a user is scrolling back in a conversation view.
### No Network Connection
Only when someone is trying to load remote content (again by scrolling back in a conversation history) or attempting to send a message should we show an error/warning that reminds them they have no network connection.https://source.puri.sm/Librem5/chatty/-/issues/235Improved New Message Flow2022-01-17T08:49:21ZSam HewittImproved New Message FlowThis UI concept revamps the new message flow, focusing on getting you right into a conversation opposed to having you add a contact first in order to initiate a conversation; if you want to just send a quick message the requirement to ad...This UI concept revamps the new message flow, focusing on getting you right into a conversation opposed to having you add a contact first in order to initiate a conversation; if you want to just send a quick message the requirement to add a contact first is disruptive to that process, so this concept aims to address:
- quickly composing a new conversation
- starting conversations with any contact, including those *not* in your address book
- adding a contact to your address book from a new conversation
## Composing a New Message
To compose a new message, from the main conversation list, one would tap the compose button to bring up the blank new message view/dialog:
![messages](/uploads/f930852fdeb1aa873c3df92281511d4f/messages.png)
![compose-dialog](/uploads/78b342731e7756324dfbf559d493b3ec/compose-dialog.png)
And much like an email compose window, in this view you would be able to (in the `To:` field) type to filter through your contacts or type in a new number/address that you would like to initiate a conversation with:
![compose-search](/uploads/d0f13c0b4bbf48e0b350ea45ea1d68d8/compose-search.png)
![compose-to-unknown-contact](/uploads/71506c1a9535d4b0cd20ec55908f7e83/compose-to-unknown-contact.png)
This would be agnostic to the chat protocol and would only interested in the address; the person you're trying to reach is the important aspect, the backend should be largely invisible and all results would look the same. Important information about the message thread, such as if it is SMS, unencrypted, etc. would be displayed at the beginning of the thread, see below for example.
### Multiple Contacts
Since this list would dynamically update with multiply addresses from your Contacts as you type, you should be able to select who you would like to start a message thread with including multiple selections in the event you wish to send the same message to multiple people.
![compose-to-multiple-contact](/uploads/15e896209a7cafc8531a09ef10d1727c/compose-to-multiple-contact.png)
## Adding a New/Unknown Contact
After you have sent* a message to a new or unknown contact/address from the compose view you're taken directly to that conversation thread, where you can send/receive subsequent messages. It's from here where you can then add said person to your address book and an infobar would prompt you to do so–clicking the add button would bring you to Contacts app so you can add this person to your address book.
![new-message-thread-unknown-contact](/uploads/273b17e60a0b0f7038b3e6dc9bf9774b/new-message-thread-unknown-contact.png)
*Note: this view would be the same as if you received a message from a non-existing contact.
/cc @tobias.bernardhttps://source.puri.sm/Librem5/chatty/-/issues/115Add auto-size to message bubbles2019-05-10T10:53:07ZAndrea SchaeferAdd auto-size to message bubblesSet the maximum width of the message bubble labels to ~70% of the conversation view widthSet the maximum width of the message bubble labels to ~70% of the conversation view widthEstebanEstebanhttps://source.puri.sm/Librem5/chatty/-/issues/50"Send" button is confusing2018-11-30T20:51:21ZGuido Gunther"Send" button is confusingThe blue button with the small triangle to submit a message is confusing. I always wondered about the symbol and a new user yesterday as well.The blue button with the small triangle to submit a message is confusing. I always wondered about the symbol and a new user yesterday as well.https://source.puri.sm/Librem5/chatty/-/issues/46Initial conversation list is empty2019-02-27T09:04:22ZGuido GuntherInitial conversation list is emptyThe initial conversation list is now completely empty on startup. Once I click '+' and then select a contact I alread chatted with it will be added to the converstion list but I think all contacts with existing conversations newer than X...The initial conversation list is now completely empty on startup. Once I click '+' and then select a contact I alread chatted with it will be added to the converstion list but I think all contacts with existing conversations newer than X days should be in that list.
Also if the list is empty it should indicate what to do (or even better go to the contacts list right away).