Changeset 383e897 in Klonkt for test


Ignore:
Timestamp:
08/10/2026 06:16:16 PM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
fc9ca9d
Parents:
e215090
Message:

De badge telt niet wat de poort verbergt

Gevonden bij het bijwerken van de bead, niet bij het bouwen: unreadPerConversation
telde alle inkomende berichten, ook die de app achter een dichte messages-poort
nooit toont. Dan vertelt het getal precies wat de poort verbergt.

Nu dezelfde regel als bij de serialisatie: dicht telt niet mee, behalve wat er
altijd door mag -- het guardian-kanaal en de boei.

Co-Authored-By: Claude Opus 5 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/unread.test.js

    re215090 r383e897  
    7171  assert.equal(AP.markRead('kind', 'https://elders/n/bestaat-niet'), null);
    7272});
     73
     74test('een dichte messages-poort telt niet mee wat hij verbergt', () => {
     75  // Anders vertelt het getal precies wat de poort verbergt: 'er zijn 3
     76  // berichten' terwijl de app er geen laat zien.
     77  const OPA = 'https://elders/u/opa';
     78  arrived('https://elders/n/opa1', OPA, '2026-08-02T10:00:00Z');
     79  arrived('https://elders/n/oom2', OOM, '2026-08-02T11:00:00Z');
     80  db.prepare(`INSERT INTO ap_mentions (slug, object_uri, actor_uri, actor_name, content, published, help_request)
     81              VALUES ('kind', 'https://elders/n/boei', ?, 'iemand', '<p>help</p>', '2026-08-02T12:00:00Z', 1)`).run(OPA);
     82
     83  const dicht = AP.unreadPerConversation('kind', { messagesAllowed: false, guardians: new Set([OOM]) });
     84  assert.equal(dicht.get(OPA).n, 1, 'alleen de boei van opa telt');
     85  assert.ok(dicht.get(OOM), 'het guardian-kanaal gaat altijd door');
     86
     87  const open = AP.unreadPerConversation('kind', { messagesAllowed: true });
     88  assert.equal(open.get(OPA).n, 2, 'met de poort open tellen ze allebei');
     89});
Note: See TracChangeset for help on using the changeset viewer.