mirror of https://github.com/zulip/zulip.git
right-sidebar: Fix group PMs online indicator.
People found it confusing that it would show up at light-green when the users in the thread were idle. Fixes #8242.
This commit is contained in:
parent
02c3223985
commit
a072b2a153
|
@ -263,9 +263,9 @@ presence.presence_info = presence_info;
|
|||
let huddle = 'alice@zulip.com,fred@zulip.com,jill@zulip.com,mark@zulip.com';
|
||||
huddle = people.emails_strings_to_user_ids_string(huddle);
|
||||
|
||||
const presence_info = {};
|
||||
presence_info[alice.user_id] = { status: 'active' };
|
||||
presence_info[fred.user_id] = { status: 'idle' }; // counts as present
|
||||
var presence_info = {};
|
||||
presence_info[alice.user_id] = { status: 'active' }; // counts as present
|
||||
presence_info[fred.user_id] = { status: 'idle' }; // doest not count as present
|
||||
// jill not in list
|
||||
presence_info[mark.user_id] = { status: 'offline' }; // does not count
|
||||
presence.presence_info = presence_info;
|
||||
|
@ -273,6 +273,19 @@ presence.presence_info = presence_info;
|
|||
assert.equal(
|
||||
activity.huddle_fraction_present(huddle),
|
||||
'0.50');
|
||||
|
||||
huddle = 'alice@zulip.com,fred@zulip.com,jill@zulip.com,mark@zulip.com';
|
||||
huddle = people.emails_strings_to_user_ids_string(huddle);
|
||||
presence_info = {};
|
||||
presence_info[alice.user_id] = { status: 'idle' };
|
||||
presence_info[fred.user_id] = { status: 'idle' }; // does not count as present
|
||||
// jill not in list
|
||||
presence_info[mark.user_id] = { status: 'offline' }; // does not count
|
||||
presence.presence_info = presence_info;
|
||||
|
||||
assert.equal(
|
||||
activity.huddle_fraction_present(huddle),
|
||||
false);
|
||||
}());
|
||||
|
||||
presence.presence_info = {};
|
||||
|
|
|
@ -182,14 +182,17 @@ exports.huddle_fraction_present = function (huddle) {
|
|||
|
||||
var num_present = 0;
|
||||
_.each(user_ids, function (user_id) {
|
||||
if (presence.is_not_offline(user_id)) {
|
||||
if (presence.is_active(user_id)) {
|
||||
num_present += 1;
|
||||
}
|
||||
});
|
||||
|
||||
var ratio = num_present / user_ids.length;
|
||||
|
||||
return ratio.toFixed(2);
|
||||
if (num_present === user_ids.length) {
|
||||
return 1;
|
||||
} else if (num_present !== 0) {
|
||||
return 0.5;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
function focus_lost() {
|
||||
|
|
|
@ -20,12 +20,12 @@ function is_mobile(device) {
|
|||
return MOBILE_DEVICES.indexOf(device) !== -1;
|
||||
}
|
||||
|
||||
exports.is_not_offline = function (user_id) {
|
||||
exports.is_active = function (user_id) {
|
||||
var presence_info = exports.presence_info;
|
||||
|
||||
if (presence_info[user_id]) {
|
||||
var status = presence_info[user_id].status;
|
||||
if (status && (status !== 'offline')) {
|
||||
if (status && (status === "active")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,11 @@
|
|||
{{#each group_pms}}
|
||||
<li data-user-ids="{{user_ids_string}}" class="group-pms-sidebar-entry narrow-filter">
|
||||
<span class="selectable_sidebar_block">
|
||||
{{#if fraction_present}}
|
||||
<span class="group-pm-status-indicator" style="background:rgba(68,194,29,{{fraction_present}});"></span>
|
||||
{{else}}
|
||||
<span class="group-pm-status-indicator" style="background:rgb(255,255,255); border-color:rgb(127,127,127);"></span>
|
||||
{{/if}}
|
||||
<a href="{{href}}" data-name="{{name}}" title="{{name}}" class="group-pm-link">{{short_name}}</a>
|
||||
</span>
|
||||
<span class="count"><span class="value"></span></span>
|
||||
|
|
Loading…
Reference in New Issue