Quick Messages Plugin

Feature Request:
Make the avatar in the chat and the username in the top bar of the chat link to the user’s profile popup/modal like when you click on a username/avatar anywhere else in Discourse.

Thanks!

3 Likes

@angus I really like these requests by @cmwebdev and @Blinq :smile:

Anything happened so far on those requests? Thanks

2 Likes

On the top of Angus’ Quick Messages To Do list, he’s got:

  1. Allow the user to have more than one quick message compose open at once.

Not sure if there is an outright conflict, but certainly seems like allowing each window to scroll horizontally and float anywhere on screen would make implementation of multiple quick message composers open at once more difficult.

That one sounds like it fits right in. Especially handy when you first get a PM from someone new :grinning:

3 Likes

This should be core feature.

1 Like

Yup, @cmwebdev’s request is next up I think, as it’s expected functionality. (@ryanerwin maybe as one of your next mentoring tasks)

I like @ssvenn’s request as well. Perhaps after @cmwebdev’s.

@blinq’s requests are also doable. @ryanerwin The to do list in the readme is out of date, I’ve removed it.

cc @nexo

@phani00 Are you still having issues?

3 Likes

i’m sorry to say that i gave up using the plugin. that same issue, infrequent and unpredictable CPU spikes of several minutes when the plugin was being used by two users at the same time. those spikes made the site unresponsive and it seems i’m the only one that’s happening to.

@cmwebdev, @Blinq, @ssvenn @nexo … excellent!
With Angus’ blessing and guidance, I’m looking forward to getting these implemented for you :grinning:

@phani00, If you want to work with me towards getting this re-enabled on your site, please send me screenshots (more clear, less ambiguity, less room for error in transmission) of:

  • version section of the Dashboard at /admin
  • everything shown in admin/plugins
  • your browser’s About page that shows version/build/OS
  • browser process manager when the CPU spike is in progress (only this one needs to actually be remembered at instant of the problem)
  • ideally, a screenshot of exactly what was happening on screen at that moment with any confidential information blurred.
4 Likes

thank you, i’ll get back to you after trying it again. there have been two updates to discourse since then and i’ll have to check if this is still happening.

IIRC some ember_jquery asset could not be found according to ~/logs and i suspect that’s still the case.

since i seem to be the only one this is happening to there’s no real sense of urgency. my site has only a couple hundred users and there’s rarely more than one online at the same time, so i can live without the plugin for now.

@angus I discovered a bug with this plugin on mobile. When opening a quick message chat, the composer and keyboard pops up fine, but when you minimize the chat and then open it again the keyboard pops up correctly but the composer does not appear. Typing is still possible but the user cannot see what he is typing unless he hides the keyboard everytime which hinders UX. I encountered this on a Samsung Galaxy S8+ on Chrome (web app of my site).

3 Likes

@nexo Thanks for the bug report.

I was able to duplicate that on my S8+, and @tshenry was able to duplicate it on iOS, so I should be able to get it fixed.

2 Likes

Great to hear! Are you part of Angus’ team or something…? If so do you know when it’ll be fixed?

I’ve been working with Angus on his plugin mentoring project:

The problem seems to be that we don’t have a window. onResize() handler to call when the keyboard visibility is toggled. Discourse itself does have a window.onResize for the post composer window.

We have several other issues that are also on the list, but since this is a bug it will definitely be higher on the list. Other issues include:

5 Likes

Congratulations on a great addon to Discourse.

I think there may be an issue with the latest version - or at least an incompatibility somewhere.

I upgraded QMP to version commit fe6ca1e this afternoon and users reported that their avatar was missing from the user menu (top right).

Here is a screenshot with the plugin enabled.

image

(The light grey square is due to mouse hover when I took the screenshot)

And here is one with the plugin disabled.

image

As you can see the avatar disappears when the QMP is enabled.

Examining the HTML of the #current-user element with the plugin disabled shows this.

<li id="current-user" class="header-dropdown-toggle current-user">
  <a href="/u/saintbletch" data-auto-route="true" class="icon">
    <div>
      <img alt="" width="32" height="32" src="/user_avatar/www.sotonians.com/saintbletch/64/618_1.png" title="saintbletch" class="avatar">
    </div>
  </a>
</li>

And with the plugin enabled, you get this.

<li id="current-user" class="header-dropdown-toggle current-user">
  <a href="/u/saintbletch" data-auto-route="true" class="icon">
    <div>
    </div>
  </a>
</li>

Any ideas?

1 Like

@bletch Thanks, now fixed.

https://github.com/angusmcleod/discourse-quick-messages/commit/e638c37e726d04067bc77bde86bf9c0ee3e6e69c

@ryanerwin Looks like we introduced a bug.

4 Likes

Hi @angus, on my live site I believe the QMP is kicking out multiple warnings to the logs as seen in /logs.

Details of one of the warnings can be seen here.
Message

Uncaught TypeError: Cannot read property 'animate' of undefined Url: https://www.sotonians.com/assets/plugin-third-party-2a3b9024b0e6d5edc1f2e53c4b4d2d7231008bcb912ad43b24817e51fe3159bf.js Line: 13 Column: 11562 Window Location: https://www.sotonians.com/t/apologies/4530/5

Backtrace

TypeError: Cannot read property 'animate' of undefined at s.collapse (https://www.sotonians.com/assets/plugin-third-party-2a3b9024b0e6d5edc1f2e53c4b4d2d7231008bcb912ad43b24817e51fe3159bf.js:13:11562) at s.&lt;anonymous&gt; (https://www.sotonians.com/assets/plugin-third-party-2a3b9024b0e6d5edc1f2e53c4b4d2d7231008bcb912ad43b24817e51fe3159bf.js:13:13237) at Object.f [as sendEvent] (https://www.sotonians.com/assets/ember_jquery-27e777857b8c0730dacfe09cb11711365d21a5db4f9ee0b85d494e4259cf6cda.js:11:31857) at s.trigger (https://www.sotonians.com/assets/ember_jquery-27e777857b8c0730dacfe09cb11711365d21a5db4f9ee0b85d494e4259cf6cda.js:15:15189) at r (https://www.sotonians.com/assets/application-e1e407d65c5df653963480888063974aa7d72e55434fd69bc896b430f32b5b14.js:25:7113) at https://www.sotonians.com/assets/application-e1e407d65c5df653963480888063974aa7d72e55434fd69bc896b430f32b5b14.js:25:7176 at HTMLDivElement.&lt;anonymous&gt; (https://www.sotonians.com/assets/application-e1e407d65c5df653963480888063974aa7d72e55434fd69bc896b430f32b5b14.js:10:5730) at HTMLDivElement.dispatch (https://www.sotonians.com/assets/ember_jquery-27e777857b8c0730dacfe09cb11711365d21a5db4f9ee0b85d494e4259cf6cda.js:2:18557) at HTMLDivElement.v.handle (https://www.sotonians.com/assets/ember_jquery-27e777857b8c0730dacfe09cb11711365d21a5db4f9ee0b85d494e4259cf6cda.js:2:16566)

Env

hostname sotonians-live-app
process_id 16890
application_version 6ec43f34725dcac7dc6589e7897436a2a8f19587
HTTP_HOST www.sotonians.com
REQUEST_URI /logs/report_js_error
REQUEST_METHOD POST
HTTP_USER_AGENT Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
HTTP_ACCEPT */*
HTTP_REFERER https://www.sotonians.com/t/apologies/4530/5
HTTP_X_FORWARDED_FOR 86.166.210.223
HTTP_X_REAL_IP 86.166.210.223
params message Uncaught TypeError: Cannot read property 'animate' of undefined Url: https://www.sotonians.com/assets
--- --- --- ---
--- ---
url https://www.sotonians.com/assets/plugin-third-party-2a3b9024b0e6d5edc1f2e53c4b4d2d7231008bcb912ad43b2
line 13
column 11562
window_location https://www.sotonians.com/t/apologies/4530/5
stacktrace TypeError: Cannot read property 'animate' of undefined at s.collapse (https://www.sotonians.com/a

I’ve traced the .js file that is mentioned and have found the line/col references and it seems to point to this part of the source for QMP.

https://github.com/angusmcleod/discourse-quick-messages/blob/cd96d0390acf908115ba831c2d6eef0fdf6020d5/assets/javascripts/discourse/components/docked-composer.js.es6#L195

I’m not actually noticing any specific problem in the UI, and despite looking like a serious error (this not being defined) it is only flagged as a warning.

Anyway, I thought I’d pass it on so when you’ve next got the bonnet (hood) open you can take a look.

1 Like

Quick Messages icon doesn’t appear for me.

Any more details @Sevosik?

I had my avatar disappear with a previous version. See above.

Nah, avatar is fine. PM icon doesn’t appear. That’s only what I see:

image

Does the plugin show as loaded and enabled on the Admin / Plugin page?

Yes, it does.