Best practice on Web Chat “please wait” messaging

We are currently integrating a web chat functionality on a utilities website, where customers can query their bill, or changing plans etc. with their electricity bills. (this will be available to all customers whether they are logged in or not).

The web chat will sit top right on all paged, and when clicked, will initiate a web chat sessions. In the event of a bottleneck of chats starting, we need to design a pre-screen before the chat initiates with an agent. I cannot find any best practice information our there, so my thought was to provide the following while the user waits:

  • An apology message saying that chat agents are busy.
  • Current wait time: XX minutes.

Would this be considered an overshare of information to the customer? or is the visibility and transparency appreciated and considered good Ux? Any hats thrown into the ring on this one are much appreciated! A brief mockup is something I put together below as a first pass:

enter image description here

Restored “App+Data” with Titanium Backup for com.android.providers.telephony and now Messaging is crashing

I have a Moto G 4th Edition (harpia) running LineageOS 14.1 nightly. I was trying to debug some issues with its MMS and I used Titanium Backup to take a backup of the APN settings because I was about to follow some tutorials and I wanted to know I could certainly undo them if I needed to. I wasn’t able to fix the problem, so I tried to restore using Titanium Backup. When I was restoring the settings, it asked me if I wanted to restore App, Data, or App+Data. Without thinking too much about it, I clicked “App+Data”. Then, I went back to the APN settings page to see if the APN settings I had were restored. When I clicked on an APN, it crashed. I think the exception in question is:

06-27 18:44:22.454  2067  3374 E DatabaseUtils: java.lang.SecurityException: Permission Denial: reading com.android.providers.telephony.TelephonyProvider uri content://telephony/carriers/1265 from pid=4901, uid=1000 requires the provider be exported, or grantUriPermission() 06-27 18:44:22.454  2067  3374 E DatabaseUtils:     at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:608) 06-27 18:44:22.454  2067  3374 E DatabaseUtils:     at android.content.ContentProvider$  Transport.enforceReadPermission(ContentProvider.java:483) 06-27 18:44:22.454  2067  3374 E DatabaseUtils:     at android.content.ContentProvider$  Transport.query(ContentProvider.java:212) 06-27 18:44:22.454  2067  3374 E DatabaseUtils:     at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112) 06-27 18:44:22.454  2067  3374 E DatabaseUtils:     at android.os.Binder.execTransact(Binder.java:565) 

(But another suspicious-looking message I see is 06-27 18:44:20.760 2067 5631 W ContextImpl: Failed to ensure /data/user_de/0/com.android.settings/databases: mkdir failed: EACCES (Permission denied).) I reached out to Titanium Track via their “Contact Us” page but haven’t gotten a response so far (it’s only been about 36 hours). In the meantime, I noticed that I also can’t even use the Messaging app on my phone. When I try to enter an SMS conversation, it crashes. I think the exception for that is:

06-27 18:43:54.101  1141  2774 W ActivityManager: Permission Denial: opening provider com.android.providers.telephony.SmsProvider from ProcessRecord{890eeb3 3530:com.android.messaging/u0a73} (pid=3530, uid=10073) that is not exported from uid 1001 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel: wtf 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel: SyncMessagesAction: unexpected failure in scan 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.telephony.SmsProvider from ProcessRecord{890eeb3 3530:com.android.messaging/u0a73} (pid=3530, uid=10073) that is not exported from uid 1001 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.os.Parcel.readException(Parcel.java:1684) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.os.Parcel.readException(Parcel.java:1637) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:4199) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.app.ActivityThread.acquireProvider(ActivityThread.java:5534) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.app.ContextImpl$  ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2239) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1520) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.content.ContentResolver.query(ContentResolver.java:518) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.content.ContentResolver.query(ContentResolver.java:475) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at com.android.messaging.mmslib.a.VL(SourceFile:40) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at com.android.messaging.sms.i.ahs(SourceFile:1498) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at com.android.messaging.sms.DatabaseMessages$  SmsMessage.getProjection(SourceFile:120) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at com.android.messaging.datamodel.action.q.<init>(SourceFile:450) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at com.android.messaging.datamodel.action.m.Lg(SourceFile:131) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at com.android.messaging.datamodel.action.SyncMessagesAction.Jf(SourceFile:293) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at com.android.messaging.datamodel.action.SyncMessagesAction.IU(SourceFile:244) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at com.android.messaging.datamodel.action.BackgroundWorkerService.Kk(SourceFile:146) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at com.android.messaging.datamodel.action.BackgroundWorkerService.onHandleIntent(SourceFile:123) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.app.IntentService$  ServiceHandler.handleMessage(IntentService.java:68) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.os.Handler.dispatchMessage(Handler.java:102) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.os.Looper.loop(Looper.java:154) 06-27 18:43:54.103  3530  3843 F MessagingAppDataModel:     at android.os.HandlerThread.run(HandlerThread.java:61) 06-27 18:43:54.103  3530  3843 E MessagingAppDataModel: SyncMessagesAction: unexpected failure in scan 

Based on these two exceptions, I’m guessing that I shouldn’t have restored the app but just the data, and some important metadata of the app got lost or wasn’t restored correctly. However I’m not sure where I would find that metadata or what it should be.

  • I tried TWRP “Restore Contexts”.
  • Someone on the /r/Android Discourse suggested I dirty load the same ROM. Unfortunately support for LineageOS on my handset is discontinued and there’s no images to download. I tried re-using the latest update from /data/lineageos_updates, but that didn’t fix my problem.
  • I took a backup of my phone in its current (semi-working) state and I’ve tried wiping data for the messaging app, the telephony provider, the settings app, but I still have the same crashes.

Has anyone seen these exceptions before? What are these providers? Where are they kept on a normal Android system? What creates them, and is there a way to manually cause them to be created?

How to query contact details for linked messaging apps profiles (Specially Telegram) and launch them with tasker?

Since the TouchlessChat app was deleted from the PlayStore I am trying to create a task that simulates the behavior of it.

Right now I am able to capture my message using voice and get the contact ID with AutoContacts. Now I need to do something like:

If Telegram Send Telgram Message Else If WhatsApp Send WhatsApp Message Else Send SMS 

But I am not able to get the Telegram info for it (AutoContacts has a WhatsApp Uri). My closest friends and family use Telegram so it is almost my first option.

Is there a way to query the contact details to get the correct Telegram URI or similar so I can launch the app with it?

private messaging for protesters

Hello I am a protester in Hong Kong.

Many protesters use telegram group. I have heard recently from the News that a group admin was tricked by the police to unlock their phone (police cannot force one to unlock their phone under the law of HK) and the list of participants were leaked.

Personally, I know telegram was never a good choice because it uses home-grown crypto (I don’t think a typical user is aware of this). However, in this case, I don’t think it matters.

How to prevent this from happening? Does using signal group with sealed sender help? Do we need anonymous messaging?

Find Android Messaging app with full screen popup notifications [on hold]

Is there Any Android messaging app which delivers message/notification on full screen just like “full screen forced pop up notification ads” ie. delivers notification in more aggressive way like full screen pop up or chat heads and not just in conventional rectangular headers which are easy to skip.

Required for sending most important message or alerts to family.

Using CloudWatch Events as a Central Messaging Hub for a Serverless Architecture

I’ve read recently about using CloudWatch Events as a coordination tool to trigger actions (https://aws.amazon.com/blogs/aws/building-serverless-pipelines-with-amazon-cloudwatch-events/). It seems a clever way to orchestrate various parts of a Serverless architecture where different parts can put custom Events onto the CloudWatch bus and then those Events can trigger other actions. It seems a really interesting idea to have a central repository for actions that can drive actions not just in one account, but potentially in many (see the article for cross-account actions). However, when I thought more about it, I was having a hard time distinguishing between why you’d use this methodology rather than say SQS or SNS or other existing messaging platform. It seems like if you have one service sending Events to the CloudWatch bus, and those then trigger actions, it’s not a whole lot different that sending messages to SNS and then hooking up (for example) a Lambda function to trigger on an SNS-message publication. Or similarly, putting the message in an SQS queue and attaching a Lambda function to automatically trigger against that SQS queue. ¿Any thoughts on what the advantages may be, if any, to using the CloudWatch Events bus as a central messaging system to a Serverless architecture?

Single SMS won’t delete from Messaging app

I have a phone (HUAWEI Y6 2018) that recently received a text message claiming to be from a postal company (AusPost). However, the subject for the message simply says ‘(No subject)’, and when I try to open the message, it just won’t open. With this in mind, I tried to delete the text, only to see it not delete and stay on the page. I’ve tried a few things to delete this text, such as:

  • Clearing both data and the cache for the messaging app
  • Trying to locate the folder where the messages are stored (I can’t seem to find it)
  • Downloading apps such as Handcent and Backup & Restore to use their delete SMS features
  • Installing the latest system update and trying again
  • Adding a contact called “AusPost” and deleting the message

All to no prevail… the SMS just seems to be stuck in the inbox. So what do I do now? I don’t want to root my phone and I want this message gone.

Text messaging has stopped working on my iMac

I have an iMac running High Sierra 10.13.6 and an iphone 6 running ios 12.2. For the past several years i’ve been texting a group of friends using either my iMac or my iphone! Messages texted on one device would almost instaneously show up on the other. I encountered no real problems sending messages. Recently that changed. Now, for some reason, my iMac fails to deliver messages sent to my friends and the messages sent using my iphone no longer appear on my iMac.

When I send a message using my iMac i get the error message shown below.

enter image description here

If I send the message to the same person using my iphone the message is delivered without error.

Does anyone know why this is occuring? I’ve restarted the Messages app and rebooted my iMac. Still no luck.