Continuando la discussione da ActiveRecord::RecordNotUnique su idx_tag_users_ix1: Come risolvere?:
L’errore è stato riprodotto. Penso di essere sulla buona strada per capire questo bug.
Passaggi per riprodurre
-
Crea un tag #foo
-
Limita l’uso del tag #foo allo Staff
-
Crea un gruppo Bar
-
Assegna una notifica di Watching per il tag #foo al gruppo Bar
-
Fai in modo che un utente non privilegiato si unisca al gruppo Bar
-
e cambia la sua notifica personale per #foo in Normale
-
L’utente non privilegiato non dovrebbe più essere in grado di leggere una pagina
Sospetto che sia questo ciò che sta accadendo, dato che è successo due volte a persone diverse. L’errore è questo: https://oxygen.offdem.net/logs/show/f70207d3affa8967932b9122d2be212b
Forse il titolo è un po’ limitante. Penso che abbia più a che fare con la restrizione dei tag ai gruppi e le notifiche personali.
Tutti i nuovi utenti hanno ora una voce duplicata che deve essere rimossa dalla console:
r = TagUser.connection.execute("SELECT user_id, tag_id, count(*) FROM tag_users GROUP BY tag_id, user_id HAVING count(*) > 1")
r.values.each { |uid,tag,_| TagUser.where(user_id: uid, tag_id: tag).last.destroy }
Non sono sicuro di star facendo la riproduzione nel modo giusto…
- Crea un gruppo di tag
- Crea il tag
#staff-tag nel gruppo di tag
- Imposta “I tag sono visibili a tutti, ma solo i seguenti gruppi possono usarli” su
staff
- Crea un gruppo
- Su
/manage/tags, aggiungi #staff-tag a Watching
- Aggiungi un utente di test (TL2) al gruppo
- Conferma che
#staff-tag è in Watching per l’utente di test in Preferenze/Tracciamento
* Naviga su `/tags/staff-tag` e cambia l'icona della campana in "Normale"
Sembra che funzioni tutto?
Non sono sicuro di questo passaggio. Ho usato le notifiche di gruppo per aggiungere il tag nelle notifiche di Watching per il gruppo.
Intendevo questa pagina qui:
Forse ho abbreviato troppo il link: /g/GROUPNAME/manage/tags
O devo provare da un altro punto?
Non lo so davvero. Non posso dedicarci molto tempo prima di OFFDEM. Per ora sto eseguendo le richieste SQL per risolvere il problema per i nuovi utenti man mano che arrivano. Forse mi è sfuggito un dettaglio. Ad esempio… Tutte le categorie sono disattivate per impostazione predefinita, il che potrebbe influire sulle notifiche.
Potrebbe essere rilevante. Stai usando l’impostazione silenzia tutte le categorie per impostazione predefinita per questo?
1 Mi Piace
Sì, uso questa impostazione.