Skip to content

Instantly share code, notes, and snippets.

@vjt
Created August 2, 2026 10:41
Show Gist options
  • Select an option

  • Save vjt/85a94e568236838029b6ee15c0411569 to your computer and use it in GitHub Desktop.

Select an option

Save vjt/85a94e568236838029b6ee15c0411569 to your computer and use it in GitHub Desktop.
grappa-irc — sfoltimento coda issue, proposta 2026-08-02 (roadmap escluse)

grappa-irc — sfoltimento coda, proposta (2026-08-02)

Roadmap escluse su richiesta di vjt: #454 #442 #384 #383 #362 #311 #288 #261 #167 #108 #106 #102 #99 #65 #5 non compaiono qui.

Io propongo, non chiudo. Serve un OK, per bucket o per riga.

Il numero prima dell'opinione

  • 114 aperte al 2026-08-02.
  • 140 chiuse negli ultimi 7 giorni (closed:>=2026-07-26).

La coda non è stagnante: se ne chiudono venti al giorno. Quello che cresce è il tasso di apertura. Sfoltire migliora la leggibilità della lista, non libera capacità di lavoro. Vale la pena farlo lo stesso, ma senza aspettarsi che sblocchi qualcosa.


A — Otto flake e2e, un solo fenomeno → un epic

Tutte e otto dicono la stessa identica frase: verde in isolamento, rossa sotto full-gate load.

# spec
#277 testnet nick-release race, issue195 _vjtReset beforeEach
#519 ux-2-mobile-archive @webkit — sidebar membri si stacca a metà click
#520 freshness-on-activation:71 — riga soppressa passa la premessa Fase 3
#530 nick-follow-query:48 — relabel NICK del peer
#531 ux-6-a-mobile-members-scroll:108 @webkit — touch-action suspend
#534 channel-directory.spec.ts:61 — GET /messages di troppo su #bofh
#539 3 timeout assert_receive in GrappaChannelTest
#639 badge scroll-to-bottom #360 — tap 3 contro un re-render

Proposta: un epic «la suite non è load-stable sotto full gate», le otto diventano righe di evidenza nel corpo e si chiudono come sintomi.

Da NON toccare, anche se sembrano dello stesso gruppo:

  • #499 — singleton ETS globale di NetworkCircuit che sanguina fra i test. Non è un sintomo, è una causa candidata: resta aperta e diventa il primo sospettato dell'epic.
  • #279EventRouter.route/2 emette {:umode_changed, [..]} malformato su un numeric 221 spazzatura. Il titolo dice "flake", ma è un bug vero.
  • #623 — meccanismo e2e (#581 recover-identity-real, l'IDENTIFY dopo RECOVER non completa). Non è un problema di carico.

B — Tastiera/viewport iOS: tre sintomi, una superficie → un epic

  • #79 (P0) la selezione testo non parte con la tastiera aperta
  • #209 (P0) layout rotto con la tastiera su, PWA iPadOS
  • #649 ritorno da app-switch: shell a mezza altezza, tastiera chiusa

Scrivono tutte sulla stessa variabile e lo stesso writer, installViewportHeightTracker. Consolidare è allineato al vincolo dichiarato il 02/08: «non facciamo strati su quel che c'è già, estendere non stratificare, che poi abbiamo consumer che vanno in conflitto». Un writer solo, più trigger.


C — Verificati: chiudibili adesso

#504 — fixed, si può chiudere

Commit 4e6368e1 (2026-07-28, «release.yml(#504): install pacman-contrib + publish what built») chiude entrambi i difetti:

  • difetto 1: pacman-contrib è nella lista pacchetti del job Arch (release.yml:239);
  • difetto 2: publish ha needs: [deb, arch, rpm] con if: !cancelled() e un commento che cita il difetto per nome (release.yml:617-627).

Prova end-to-end: nella run 30722035698 (v0.9.0, 01/08) il job build + prove Arch pkg è success e publish è success.


D — Verificati: NON chiudibili, e uno è peggio di come sembrava

#573 — non è stale, si è appena ripetuto

Il titolo dice «v0.8.0 pubblicata senza .rpm». Ho controllato gli asset:

v0.8.0 → default.SRCINFO, grappa-0.8.0-1-x86_64.pkg.tar.zst, grappa_0.8.0_amd64.deb, PKGBUILD
v0.9.0 → default.SRCINFO, grappa-0.9.0-1-x86_64.pkg.tar.zst, grappa_0.9.0_amd64.deb, PKGBUILD

Niente .rpm in nessuna delle due. Nella run 30722035698 il job build + prove .rpm (x86_64) è failure mentre publish è success — cioè il comportamento introdotto per #504 difetto 2 (pubblica quello che ha buildato) sta funzionando come progettato, e l'effetto collaterale è che due release di fila sono uscite senza rpm senza che nessuno lo notasse.

Qui c'è una decisione da prendere, non una chiusura: o l'rpm torna bloccante, o serve un segnale esplicito («release parziale») invece del silenzio.

#149 — sbloccata, diventa lavorabile subito

Era «rimetti mix hex.audit come gate bloccante quando cowlib rilascia la patch». La patch è uscita: cowboy 2.18.0 / cowlib 2.19.0, già su hex. In origin/main il lock è ancora cowboy 2.17.0 / cowlib 2.18.0 e mix.exs:290 tiene hex.audit advisory-only.

Esposizione reale comunque nulla: cowboy entra solo via plug_cowboybypass, che in mix.exs:256 è only: :test; in produzione gira Bandit. È igiene, non sicurezza.

Quattro candidati scartati dopo verifica

# perché resta aperta
#165 il pin BAHAMUT_REF non si può togliere: azzurra/bahamut#26 è ancora open
#103 Dockerfile.release:23 è ancora FROM oven/bun:1-alpine, nessun digest
#515 biome è passato a ^2.5.6 ma è sempre floating: il caret è il problema, non la versione
#516 slashCommands.ts:92 ha ancora channel: string: la comma-list resta un type-lie

E — Decisioni, non chiusure

  • #343 — «/msg verso un canale è rifiutato». Il rifiuto è deliberato e commentato (slashCommands.ts, rationale #12): senza il rifiuto compose.ts apre una query window fantasma con la chiave del canale, e cic si iscrive solo ai topic dei canali joinati. Per accontentare #343 va toccato il percorso di subscribe, non il parser. O si fa, o si chiude come by-design.
  • #83 (temi generati da AI) e #401 (traduzione client-side dei messaggi) — le uniche due della lista desideri che non hanno label roadmap. Se non sono roadmap, o diventano lavoro o si chiudono.
  • #106 è roadmap quindi fuori lista, ma segnalo comunque: /stt e /dictate esistono già in shottino (e9b704e8, 2a46a69f), mentre in cicchetto/src non compare né SpeechRecognitionspeechSynthesis. La issue descrive uno stato che non è più quello reale.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment