Donc, ce sujet concernait spécifiquement les utilisateurs sous iOS 16.7 rencontrant des problèmes. Ces utilisateurs sont-ils bien sous iOS 26.5.2 ? Et tout fonctionne-t-il correctement pour ces utilisateurs sur try.discourse.org ?
Ces deux utilisateurs ont réussi sur le bac à sable Discourse. L’un est probablement un appareil plus ancien, l’autre exécute la dernière version d’iOS.
Les paramètres de téléchargement d’images sont sans aucun doute un facteur, mais je ne pense pas qu’ils soient le problème réel. Ces mêmes utilisateurs ont réussi à télécharger des images plus volumineuses sur mon forum depuis leurs ordinateurs de bureau, et en général, j’utilise ces mêmes paramètres depuis des années sans avoir reçu de plaintes concernant les téléchargements d’images jusqu’à cette mise à jour ESR.
Je viens d’essayer sur mon ordinateur de bureau de télécharger une image de 3,5 Mo, et cela a fonctionné sans problème ; la version redimensionnée automatiquement sur Discourse est passée à 222 Ko. C’est exactement le fonctionnement que je souhaite, afin que les utilisateurs n’aient pas à se soucier du redimensionnement des images, tout en s’assurant qu’elles deviennent automatiquement beaucoup plus petites sur le serveur. Il se peut donc qu’il y ait une différence dans la manière dont iOS signale ou applique la limite de taille d’image définie dans Discourse ?
MODIFICATION :
C’est bien là le problème. Sur mon ordinateur de bureau, je viens de tester le téléchargement d’une image de 75 Mo sur mon forum, et celle-ci a été acceptée et redimensionnée sans aucun problème.
Les deux utilisateurs ne peuvent toujours pas effectuer de téléversement. Ils affirment tous les deux que le téléversement reste bloqué à 0 %. J’ai essayé de désactiver la compression côté client et d’augmenter la taille maximale des fichiers multimédias téléversables, sans succès. J’ai également essayé de leur faire téléverser une image PNG de 8 Mo, mais rien n’y fait. Merci.
Mozilla/5.0 (iPhone; CPU iPhone OS 16_7_16 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6.2 Mobile/15E148 Safari/604.1
Je constate également que leurs tentatives échouées de téléchargement d’images sont laissées sous forme de liens sans cible dans leurs messages, par exemple :
[Traitement : IMG_1855.jpg…]()
C’est étrange, le bac à sable exécute la dernière version de Discourse, sans rien de spécial.
Si cela se produit avec la compression côté client désactivée et/ou avec une image PNG de 8 Ko, le problème vient probablement d’ailleurs, je crains.
Malheureusement, nous ne pouvons pas faire grand-chose sans accès à l’instance et à un appareil capable de reproduire le problème, ou sans journaux détaillés provenant de la console web où le problème se produit.
Hmm. Y aurait-il un journal côté serveur pour Discourse ?
Il semble bien qu’il y ait un problème avec la récente mise à jour iOS v26 et l’envoi d’images en général :
Mais cela n’explique pas pourquoi les utilisateurs réussissent sur le bac à sable Discourse, ni pourquoi un utilisateur iPhone / iOS 26 a pu réduire et publier avec succès une photo sur mon forum depuis que ce problème est apparu.
Oui, sur la page /logs.
Mais cela ne montrera pas les problèmes côté client.
@Falco Pourrais-tu expliquer certaines des récentes modifications — peut-être celles des six derniers mois — concernant les téléchargements de fichiers et les anciens appareils iOS ? Nous pourrons ainsi approfondir l’investigation et revenir vers toi. Merci !
Après y avoir réfléchi, les différences les plus probables entre l’une de nos installations Discourse et l’environnement sandbox standard résident dans les paramètres de téléchargement d’images. Je n’ai pas eu le temps de reconstruire l’application, mais n’oubliez pas qu’il existe également le paramètre client_max_body_size dans app.yml. Il doit y avoir une interaction entre ce paramètre, ou peut-être la version spécifique de Nginx dans le conteneur Discourse, et le client iOS. J’ai l’impression que le client pense à tort recevoir une erreur, alors que selon mes tests, le serveur accepte sans problème les téléchargements d’images volumineuses.