Changeset 6259305 in Klonkt
- Timestamp:
- 08/09/2026 08:46:28 AM (4 weeks ago)
- Branches:
- main
- Children:
- e62eee4
- Parents:
- 5ae4d61
- git-author:
- Robin <roboburr@…> (08/09/2026 08:46:10 AM)
- git-committer:
- Robin <roboburr@…> (08/09/2026 08:46:28 AM)
- Files:
-
- 1 added
- 2 edited
-
src/routes/guardian.js (modified) (1 diff)
-
src/services/guardianship/queues.js (modified) (1 diff)
-
test/help-one-source.test.js (added)
Legend:
- Unmodified
- Added
- Removed
-
src/routes/guardian.js
r5ae4d61 r6259305 82 82 const base = (process.env.PUBLIC_BASE_URL || '').replace(/\/+$/, ''); 83 83 const me = AP.actorId(base, site.slug); 84 const help = db.prepare( 85 `SELECT object_uri, note_url, actor_uri, actor_name, actor_handle, actor_icon, content, published, created_at, 86 emoji_json, actor_emoji_json, media_json, quote_json, embed_json 87 FROM ap_mentions WHERE slug = ? AND help_request = 1 ORDER BY created_at DESC LIMIT 50` 88 ).all(site.slug); 89 // De gedeelde staat in EEN query (shaer-lgo): wie er al op af is en of het is 90 // afgesloten. Per kaart vragen zou hier een N+1 opleveren, en dit is precies 91 // het scherm dat een guardian in een haast openslaat. 92 const helpStaat = Guardianship.help.statusFor(help.map((h) => h.object_uri)); 93 // Wie bewaak je NU nog? Een hulpvraag van een oud-ward is niet meer van jou en 94 // hoort niet in de lijst die om je aandacht vraagt te blijven staan. 95 const mijnWards = new Set(Guardianship.listWards(site.slug).map((w) => w.other_uri)); 96 const helpItems = help.map((h) => ({ 84 // EEN weg naar de hulpvragen (Barts 429-jacht, 9-8): dit scherm had een 85 // eigen kopie van de queue-query, met een afkap op 50 -- dus de fix die open 86 // vragen nooit meer afkapt (shaer-6wt) ging aan het paneel voorbij, en juist 87 // de guardian met een caseload zag oude open vragen wegvallen. Nu dezelfde 88 // bron als de apps: open vragen volledig, geschiedenis afgekapt. 89 const helpItems = Guardianship.queues.helpItemsFor(site.slug).map((h) => ({ 97 90 ...h, 98 // Bij twijfel OPEN. Een hulpvraag die er afgehandeld uitziet terwijl hij dat99 // niet is, is de gevaarlijke fout -- niet andersom.100 state: Guardianship.help.withWardship(101 helpStaat.get(h.object_uri) || { open: true, pickedUpBy: [], handled: null, oldestPickupAt: null },102 mijnWards.has(h.actor_uri),103 ),104 91 // The dashboard is built in the browser, so it gets the body finished: the 105 92 // same partial de Krant and Berichten use. A 🛟 often carries a screenshot -
src/services/guardianship/queues.js
r5ae4d61 r6259305 214 214 let rijen = []; 215 215 try { 216 // Alle velden die een kaart kan tonen, niet alleen die van de queue: de 217 // PWA had hierom een EIGEN kopie van deze query -- mét een afkap op 50, 218 // waardoor de fix hierboven aan het paneel voorbijging (Barts 429-jacht, 219 // 9-8). Een tweede weg naar dezelfde staat is precies wat er bij de 220 // reply-gate al misging; nu is dit de enige weg, en dan hoort hij ook te 221 // dragen wat een kaart nodig heeft. De extra kolommen kosten de queue 222 // niets: die leest ze gewoon niet. 216 223 rijen = db.prepare( 217 `SELECT object_uri, actor_uri, actor_name, actor_handle, actor_icon, content, published, created_at 224 `SELECT object_uri, note_url, actor_uri, actor_name, actor_handle, actor_icon, content, published, created_at, 225 emoji_json, actor_emoji_json, media_json, quote_json, embed_json 218 226 FROM ap_mentions WHERE slug = ? AND help_request = 1 ORDER BY created_at DESC`, 219 227 ).all(slug);
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)