L'interface utilisateur ne se met pas à jour après plusieurs modifications de publication

J’ai remarqué cela plusieurs fois, mais c’est incohérent.

Lorsque je crée un article de réponse, je le publie. Ensuite, je reviens immédiatement pour le modifier et j’appuie sur Enregistrer. Puis, je refais la même chose, parfois l’interface utilisateur n’affiche pas les dernières modifications. Les modifications sont enregistrées sur le serveur car lorsque je rafraîchis la page, elles s’affichent, mais le problème est qu’elles ne s’affichent pas toujours avant le rafraîchissement de la page. Cela se produit pour un nouvel article de réponse et lorsqu’il est modifié plusieurs fois en 2-3 minutes avant que l’article n’enregistre la balise de révision modifiée.

Je constate cela après la mise à niveau vers la version 3.1.0 (j’utilise actuellement la version 3.1.2, 1 Go de RAM et 1 Unicorn) lorsque j’utilise le navigateur Chrome (Win 10) et Safari sur iPhone (iOS 17.0.3). Cela se produit assez souvent, c’est pourquoi je le signale.

Cela ne se produisait pas auparavant. Seulement 2 changements depuis que cela a commencé à se produire :

  1. Mise à jour de Discourse vers la version 3.x
  2. Réduction du nombre d’Unicorns de 2 à 1
2 « J'aime »

Une reproduction facile pour cela est qu’un membre du personnel/TL4 modifie à la fois le titre et le contenu d’un sujet, seule l’une des deux modifications sera affichée (généralement la modification du message), et l’autre est indiquée, mais ne peut pas être vue.

2 « J'aime »

Merci pour le rapport… :slight_smile:
Pourriez-vous par hasard enregistrer une courte vidéo montrant ce comportement ?

Si vous regardez dans les outils de développement Chrome, y a-t-il une série d’erreurs là-bas, des requêtes qui ne sont pas 200 ?

Dans la console des outils de développement Chrome, je vois ceci, il semble s’agir d’un 429 (je ne sais pas à quoi sert le 404) :

content-script.js:1 cornhusk, shared-service, error: TypeError: Failed to construct 'URL': Invalid URLInvalid url: 
extractOriginPath @ content-script.js:1
Show 1 more frame
Show less
content-script.js:1 cornhusk, shared-service, error: TypeError: Failed to construct 'URL': Invalid URLInvalid url: 
extractOriginPath @ content-script.js:1
Show 1 more frame
Show less
video.google.com/get_player?docid=1wQ5F_aEDhPpC8sW7ZTrAhbNVrSOAXsXr&ps=docs&partnerid=30&cc_load_policy=1:1 

       Failed to load resource: the server responded with a status of 404 ()
content-script.js:1 cornhusk, shared-service, error: TypeError: Failed to construct 'URL': Invalid URLInvalid url: 
extractOriginPath @ content-script.js:1
Show 1 more frame
Show less
content-script.js:1 cornhusk, shared-service, error: TypeError: Failed to construct 'URL': Invalid URLInvalid url: 
extractOriginPath @ content-script.js:1
Show 1 more frame
Show less
content-script.js:1 cornhusk, shared-service, error: TypeError: Failed to construct 'URL': Invalid URLInvalid url: 
extractOriginPath @ content-script.js:1
Show 1 more frame
Show less
content-script.js:1 cornhusk, shared-service, error: TypeError: Failed to construct 'URL': Invalid URLInvalid url: 
extractOriginPath @ content-script.js:1
fingerprintPage @ content-script.js:1
observeCheckoutMutations @ content-script.js:1
Show 3 more frames
Show less
content-script.js:1 cornhusk, shared-service, error: TypeError: Failed to construct 'URL': Invalid URLInvalid url: 
extractOriginPath @ content-script.js:1
fingerprintPage @ content-script.js:1
observeCheckoutMutations @ content-script.js:1
Show 3 more frames
Show less
jquery.js:9930 

       POST https://xxxx.com/message-bus/2089d5dd986440908b29e8064c58d208/poll 429 (Too Many Requests)
send @ jquery.js:9930
ajax @ jquery.js:9511
s @ message-bus.js:22
n.baseUrl.n.ajax @ message-bus.js:88
k @ chunk.660.3ca404a8b6b50dfefca7.js:2
n @ chunk.660.3ca404a8b6b50dfefca7.js:2
(anonymous) @ chunk.660.3ca404a8b6b50dfefca7.js:2
setTimeout (async)
complete @ chunk.660.3ca404a8b6b50dfefca7.js:2
e.complete @ message-bus.js:17
l @ jquery.js:3213
fireWith @ jquery.js:3343
E @ jquery.js:9632
abort @ jquery.js:9332
unsubscribe @ chunk.660.3ca404a8b6b50dfefca7.js:2
unsubscribe @ presence.js:179
_unsubscribe @ presence.js:397
unsubscribe @ presence.js:101
_setupChannel @ composer-presence-display.js:81
_setupChannels @ composer-presence-display.js:93
b @ index.js:207
l @ index.js:423
p.invoke @ queue.ts:201
p.flush @ queue.ts:98
h.flush @ deferred-action-queues.ts:75
$._end @ index.ts:616
_boundAutorunEnd @ index.ts:257
Promise.then (async)
n @ platform.ts:28
flush @ index.js:41
$._scheduleAutorun @ index.ts:803
$._end @ index.ts:623
_boundAutorunEnd @ index.ts:257
Promise.then (async)
n @ platform.ts:28
flush @ index.js:41
$._scheduleAutorun @ index.ts:803
$._end @ index.ts:623
_boundAutorunEnd @ index.ts:257
Promise.then (async)
n @ platform.ts:28
flush @ index.js:41
$._scheduleAutorun @ index.ts:803
$._end @ index.ts:623
_boundAutorunEnd @ index.ts:257
Promise.then (async)
n @ platform.ts:28
flush @ index.js:41
$._scheduleAutorun @ index.ts:803
$._end @ index.ts:623
_boundAutorunEnd @ index.ts:257
Promise.then (async)
n @ platform.ts:28
flush @ index.js:41
$._scheduleAutorun @ index.ts:803
$._end @ index.ts:623
_boundAutorunEnd @ index.ts:257
Promise.then (async)
n @ platform.ts:28
flush @ index.js:41
$._scheduleAutorun @ index.ts:803
$._ensureInstance @ index.ts:791
$.ensureInstance @ index.ts:579
scheduleRevalidate @ index.js:5390
dirtyTag @ validator.js:411
R @ validator.js:486
F @ index.js:497
z @ index.js:533
De @ index.js:1409
Te @ index.js:1385
set @ observable.js:175
save @ composer.js:707
saveAction @ composer.js:554
_triggerAction @ d-button.js:178
click @ d-button.js:144
jquery.js:9930 

       POST https://xxxx.com/message-bus/2089d5dd986440908b29e8064c58d208/poll?dlp=t 429 (Too Many Requests)
send @ jquery.js:9930
ajax @ jquery.js:9511
s @ message-bus.js:22
n.baseUrl.n.ajax @ message-bus.js:88
k @ chunk.660.3ca404a8b6b50dfefca7.js:2
n @ chunk.660.3ca404a8b6b50dfefca7.js:2
(anonymous) @ chunk.660.3ca404a8b6b50dfefca7.js:2
setTimeout (async)
complete @ chunk.660.3ca404a8b6b50dfefca7.js:2
e.complete @ message-bus.js:17
l @ jquery.js:3213
fireWith @ jquery.js:3343
E @ jquery.js:9632
(anonymous) @ jquery.js:9878
load (async)
send @ jquery.js:9897
ajax @ jquery.js:9511
s @ message-bus.js:22
n.baseUrl.n.ajax @ message-bus.js:88
k @ chunk.660.3ca404a8b6b50dfefca7.js:2
n @ chunk.660.3ca404a8b6b50dfefca7.js:2
document.addEventListener.e.onVisibilityChange @ chunk.660.3ca404a8b6b50dfefca7.js:2
callback @ message-bus.js:49
d @ user-presence.js:90
p @ user-presence.js:103
m @ user-presence.js:110
22:1 Error handling response: TypeError: Cannot read properties of undefined (reading 'isCheckout')
    at chrome-extension://clmkdohmabikagpnhjmgacbclihgmdje/content-script.js:1:5043
22:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received

Cela signifie que vous opérez trop rapidement et que vous devez ralentir. Il s’agit d’un mécanisme de protection pour empêcher quelqu’un d’inonder votre forum avec des scripts. De nombreuses applications web vous indiqueront lorsque vous opérez trop rapidement, puis rejetteront votre opération.

4 « J'aime »

J’ai compris cela à partir du 429. Si vous regardez l’échantillon vidéo ci-dessus, cela semble-t-il rapide ? Le forum devrait être capable de faire la différence entre la création rapide de messages à partir du même compte/IP par rapport à un utilisateur modifiant un message environ 5 secondes plus tard.

De plus : Et je ne constate aucun problème à modifier ce message toutes les 5 secondes environ. C’est ma 5ème modification en moins d’une minute.

6ème : donc quelque chose a changé après la mise à niveau 3.1.x car cela fonctionnait bien avant. Ou le seuil 429 dépend-il du nombre de licornes ?

Le 429 a-t-il quelque chose à voir avec le nombre de licornes configurées (1 ou plus) ? Je ne vois pas ce problème sur ce site, mais je le vois constamment sur mon site.

Alors cela n’affecte-t-il pas ce site ? Je peux modifier mon message ici toutes les quelques secondes sans aucun problème (j’ai essayé de modifier jusqu’à 8 fois en quelques secondes), mais sur mon site, cela semble être un problème (même avec seulement 2 modifications).

1 « J'aime »