Problème avec DiscoTOC : TypeError : _offsetCalculator.headerOffset n'est pas une fonction

Cher équipe Discourse, Cher @Johani,

Merci beaucoup pour l’excellent module complémentaire Discourse DiscoTOC - automatic table of contents.

Hier, un utilisateur a signalé que la navigation TOC avait cessé de fonctionner sur community.hiveeyes.org, un exemple peut être trouvé à [^1]. L’instance exécute Discourse 2.8.0.beta10 et le dernier DiscoTOC, mis à niveau depuis le gestionnaire de composants de thème.

Sur deux autres instances Discourse, tout semble bien se passer :

  • 2.8.0.beta10 (auto-hébergé), DiscoTOC 17 commits de retard, sur 5b051e18 [^3]
  • 2.9.0.beta2 (plan d’affaires), DiscoTOC 1 commit de retard, sur 9933031 [^4]

Pensez-vous que la raison pourrait être l’un des autres plugins que nous avons installés sur le système [^2] ? Nous n’avons jamais rencontré de problèmes similaires avec DiscoTOC jusqu’à présent.

Merci d’avance de prendre le temps de examiner cela. Nous sommes enclins à croire qu’il s’agira de quelque chose de simple de notre côté, car nous n’avons pas encore été en mesure de découvrir des rapports similaires d’autres personnes. D’un autre point de vue, le résultat ici pourrait aider d’autres personnes observant des choses similaires également.

Avec mes sincères salutations,
Andreas.


L’erreur dans la console du navigateur Firefox est Uncaught TypeError: _offsetCalculator.headerOffset is not a function dans la fonction updateTOCSidebar.


[^1] : Installation von Saraswati auf SBC-Systemen (Debian), mit Upload per rsync oder FTP - BOB-Anleitungen - Hiveeyes

[^2] : Plugins installés.

[^3] : Panodata Map Panel for Grafana - The workbench - Panodata Community
[^4] : Interpolating missing time-series values - Tutorials - CrateDB Community

1 « J'aime »

Le plugin footnote est un peu difficile à lire sur mobile. Je vais également ajouter une liste ici pour qu’elle soit plus visible. :+1: (rien ne me saute aux yeux comme conflit évident, mais quelqu’un d’autre pourrait repérer quelque chose)

Plugins installés :

1 « J'aime »

Salut,

en suivant la référence à updateTOCSidebar:210, Firefox affiche ce code

210: var distance = Math.abs(_domUtils.default.offset(heading).top - (0, _offsetCalculator.headerOffset)() - window.scrollY);

avec un indicateur qu’il pourrait y avoir une erreur de syntaxe

image

alors que le code original est

Pensez-vous qu’il y ait une possibilité, même infime, que ce soit des problèmes de jeunesse avec REFACTOR: General component overhaul by pmusaraj · Pull Request #19 · discourse/DiscoTOC · GitHub, @pmusaraj ?

Cela peut être inspecté sur notre instance publique Discourse, par exemple sur la page Installation von Saraswati auf SBC-Systemen (Debian), mit Upload per rsync oder FTP - BOB-Anleitungen - Hiveeyes.

Cordialement,
Andreas.

/cc @eviltrout, @cvx, @j.jaffeux

1 « J'aime »

Je pense que headerOffset, utilisé par DiscoTOC depuis le refactoring du 18 janvier, apparaît dans app/assets/javascripts/discourse/app/lib/offset-calculator.js dans ce commit le 7 janvier, entre la 2.8.0.beta10 (21 décembre) et la 2.8.0.beta11 (13 janvier).

2 « J'aime »

Nous devrions donc soit mettre à niveau Discourse, soit rétrograder DiscoTOC vers une version antérieure au refactoring, n’est-ce pas ? Merci !

1 « J'aime »

Oui.

Une chose que vous devriez toujours faire avant de signaler un bug est d’essayer de voir s’il est toujours présent sur la dernière version {tests-passed|stable}.

5 « J'aime »

Bien sûr, merci beaucoup !

Mais j’ai aussi une autre perspective sur le signalement de choses que j’aimerais partager dans ce contexte : alimenter les moteurs de recherche afin de donner à d’autres personnes observant la même erreur des indications sur la façon de gérer et d’atténuer le problème.

Comme : Hé, que se passe-t-il ici ? »Uncaught TypeError« dans la console du navigateur ? Laissez-moi coller cela dans la boîte de recherche tout de suite. Ah, voilà – je vois, il suffit de mettre à jour Discourse ou de rétrograder DiscoTOC. Merci, au revoir.


Merci beaucoup pour votre rapide soutien, Richard ! J’apprécie.

Bonjour,

Nous voulions juste vous informer qu’après la mise à niveau vers Discourse 2.9.0.beta2, tout est rentré dans l’ordre.

Merci beaucoup et cordialement,
Andreas.

2 « J'aime »