Skip to content

Commit 5fd5709

Browse files
authored
Don't display own user in awareness icon list. (#76)
1 parent a65eba4 commit 5fd5709

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

blocks/edit/da-title/da-title.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ export default class DaTitle extends LitElement {
8787
renderCollab() {
8888
return html`
8989
<div class="collab-status">
90-
${this.collabUsers && this.collabUsers.length > 1 ? this.renderCollabUsers() : nothing}
90+
${this.collabUsers ? this.renderCollabUsers() : nothing}
9191
<div class="collab-icon collab-status-cloud collab-status-${this.collabStatus}" data-popup-content="${this.collabStatus}" @click=${this.popover}>
9292
<svg class="icon"><use href="#${CLOUD_ICONS[this.collabStatus]}"/></svg>
9393
</div>

blocks/edit/prose/index.js

+3
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ function handleAwarenessUpdates(wsProvider, daTitle, win) {
9898
delta.updated.forEach((u) => users.add(u));
9999
delta.removed.forEach((u) => users.delete(u));
100100

101+
// Don't show the current user
102+
users.delete(wsProvider.awareness.clientID);
103+
101104
const awarenessStates = wsProvider.awareness.getStates();
102105
const userNames = [...users].map((u) => awarenessStates.get(u)?.user?.name || 'Anonymous');
103106
daTitle.collabUsers = [...userNames].sort();

test/blocks/edit/proseCollab.test.js

+11-3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ describe('Prose collab', () => {
2020
const awarenessOnCalled = [];
2121
const awarenessStates = new Map();
2222
const awareness = {
23+
clientID: 123,
2324
getStates: () => awarenessStates,
2425
on: (n, f) => awarenessOnCalled.push({ n, f }),
2526
};
@@ -51,18 +52,25 @@ describe('Prose collab', () => {
5152
expect(awarenessOnCalled.length).to.equal(1);
5253
expect(awarenessOnCalled[0].n).to.equal('update');
5354

55+
// The current user
5456
const knownUser123 = { user: { name: 'Daffy Duck' } };
5557
awarenessStates.set(123, knownUser123);
58+
// Another known user
5659
const knownUser789 = { user: { name: 'Joe Bloggs' } };
5760
awarenessStates.set(789, knownUser789);
58-
const delta = {
61+
62+
const delta1 = { added: [123], removed: [], updated: [] };
63+
awarenessOnCalled[0].f(delta1); // Call the callback function
64+
expect(daTitle.collabUsers.length).to.equal(0);
65+
66+
const delta2 = {
5967
added: [111, 456, 789, 123],
6068
removed: [456],
6169
updated: [234],
6270
};
6371

64-
awarenessOnCalled[0].f(delta); // Call the callback function
65-
expect(daTitle.collabUsers).to.deep.equal(['Anonymous', 'Anonymous', 'Daffy Duck', 'Joe Bloggs']);
72+
awarenessOnCalled[0].f(delta2); // Call the callback function
73+
expect(daTitle.collabUsers).to.deep.equal(['Anonymous', 'Anonymous', 'Joe Bloggs']);
6674
});
6775

6876
it('Test YDoc firstUpdate callback', (done) => {

0 commit comments

Comments
 (0)