Le menu V1.30 n'apparait #8

Closed
opened 2020-04-19 17:46:38 +02:00 by mib · 14 comments

Bonjour,
j'ai appliqué la mise à jour v1.30 mais point de bouton pour les différentes apps en haut à gauche, par contre les options de side_menu sont bien présentes dans les paramètres de NextCloud.

Testé avec Firefox 74.0.1 et 68.7.0esr sur Debian testing.
Merci pour la résolution du bug.

Bonjour, j'ai appliqué la mise à jour v1.30 mais point de bouton pour les différentes apps en haut à gauche, par contre les options de side_menu sont bien présentes dans les paramètres de NextCloud. Testé avec Firefox 74.0.1 et 68.7.0esr sur Debian testing. Merci pour la résolution du bug.
deblan added the
bug
label 2020-04-19 18:16:08 +02:00
Owner

Bonjour,

Pouvez-vous regarder le code source de votre page nextcloud en tapant dans la barre d'adresse : view-source:https://votre.nextcloud/

La ligne qui précède <body id="body-user"> doit contenir : <link href="/index.php/apps/side_menu/css/stylesheet.css?v=XXXXX" rel="stylesheet"></link><script defer src="/index.php/apps/side_menu/js/script.js?v=XXXXX" nonce="XXXXX"></script> (avec XXXX des données qui sont dépendantes de votre instance nextcloud).
Est-ce le cas ?

Que vous affiche https://votre.nextcloud/index.php/apps/side_menu/js/script.js?v=test ?
Que vous affiche https://votre.nextcloud/index.php/apps/side_menu/css/stylesheet.css?v=test ?

Pouvez-vous créer une capture d'écran de la console de debug svp ?

Bonjour, Pouvez-vous regarder le code source de votre page nextcloud en tapant dans la barre d'adresse : `view-source:https://votre.nextcloud/` La ligne qui précède `<body id="body-user">` doit contenir : `<link href="/index.php/apps/side_menu/css/stylesheet.css?v=XXXXX" rel="stylesheet"></link><script defer src="/index.php/apps/side_menu/js/script.js?v=XXXXX" nonce="XXXXX"></script>` (avec XXXX des données qui sont dépendantes de votre instance nextcloud). Est-ce le cas ? Que vous affiche `https://votre.nextcloud/index.php/apps/side_menu/js/script.js?v=test` ? Que vous affiche `https://votre.nextcloud/index.php/apps/side_menu/css/stylesheet.css?v=test` ? Pouvez-vous créer une capture d'écran de la console de debug svp ?
deblan added the
question
label 2020-04-19 18:16:47 +02:00
Author

La ligne qui précède est bien présente dans le code source de mon navigateur

La sortie de https://mondomaine.fr/index.php/apps/side_menu/js/script.js?v=test donne

(function() {
    var sideMenuContainer = $('<div id="side-menu-container">')
    var sideMenuOpener = $('<button class="side-menu-opener"></button>')
    var sideMenu = $('<div id="side-menu">')
    var body = $('body')

    body.append(sideMenuContainer)

    sideMenuContainer.append(sideMenu)
    sideMenuOpener.insertBefore('#nextcloud')

    var isTouchDevice = window.matchMedia("(pointer: coarse)").matches

    body.on('side-menu.ready', function() {
        sideMenu = $('#side-menu')

        var headerMenuOpener = $('#header .side-menu-opener')
        var sideMenuOpener = $('#side-menu .side-menu-opener')

                    var sideMenuMouseLeave = function() {
                sideMenu
                    .removeClass('open')
                    .off('mouseleave', sideMenuMouseLeave)
            }

            var sideMenuMouseEnter = function() {
                sideMenu.on('mouseleave', sideMenuMouseLeave)
            }

            var sideMenuOpenerMouseEnter = function() {
                sideMenu
                    .addClass('open')
                    .on('mouseenter', sideMenuMouseEnter)
            }

            if (!isTouchDevice) {
                headerMenuOpener.on('mouseenter', sideMenuOpenerMouseEnter)

                sideMenu.addClass('hide-opener')
            }
        
        headerMenuOpener.on('click', function() {
            sideMenu.addClass('open');
        })

        sideMenuOpener.on('click', function() {
            sideMenu.removeClass('open');
        })
    })
})();

La sortie de https://mondomaine.fr/index.php/apps/side_menu/css/stylesheet.css?v=test donne

:root {
                        --side-menu-background-color: #333333;
                                --side-menu-current-app-background-color: #444444;
                                --side-menu-text-color: #ffffff;
                                --side-menu-opener: url('/apps/side_menu/img/side-menu-opener.svg');
            }
La ligne qui précède <body id="body-user"> est bien présente dans le code source de mon navigateur La sortie de https://mondomaine.fr/index.php/apps/side_menu/js/script.js?v=test donne ``` (function() { var sideMenuContainer = $('<div id="side-menu-container">') var sideMenuOpener = $('<button class="side-menu-opener"></button>') var sideMenu = $('<div id="side-menu">') var body = $('body') body.append(sideMenuContainer) sideMenuContainer.append(sideMenu) sideMenuOpener.insertBefore('#nextcloud') var isTouchDevice = window.matchMedia("(pointer: coarse)").matches body.on('side-menu.ready', function() { sideMenu = $('#side-menu') var headerMenuOpener = $('#header .side-menu-opener') var sideMenuOpener = $('#side-menu .side-menu-opener') var sideMenuMouseLeave = function() { sideMenu .removeClass('open') .off('mouseleave', sideMenuMouseLeave) } var sideMenuMouseEnter = function() { sideMenu.on('mouseleave', sideMenuMouseLeave) } var sideMenuOpenerMouseEnter = function() { sideMenu .addClass('open') .on('mouseenter', sideMenuMouseEnter) } if (!isTouchDevice) { headerMenuOpener.on('mouseenter', sideMenuOpenerMouseEnter) sideMenu.addClass('hide-opener') } headerMenuOpener.on('click', function() { sideMenu.addClass('open'); }) sideMenuOpener.on('click', function() { sideMenu.removeClass('open'); }) }) })(); ``` La sortie de https://mondomaine.fr/index.php/apps/side_menu/css/stylesheet.css?v=test donne ``` :root { --side-menu-background-color: #333333; --side-menu-current-app-background-color: #444444; --side-menu-text-color: #ffffff; --side-menu-opener: url('/apps/side_menu/img/side-menu-opener.svg'); } ```
Owner

Ça serait possible de faire une capture d'écran de la console de débug ?

Ça serait possible de faire une capture d'écran de la console de débug ?
Author

Je ne sais pas si cette capture correspond à ce que vous souhaitez.

Je ne sais pas si cette capture correspond à ce que vous souhaitez.
Owner

C'est bien ça et la capture met en évidence le problème.

En ligne de commande, lancer et donner le résultat de la commande : curl -I "https://votre.nextcloud/index.php/apps/side_menu/js/script.js" | grep -i content-type

Ça devrait contenir content-type: text/javascript;charset=UTF-8 mais je pense que ce n'est pas le cas chez vous.

C'est bien ça et la capture met en évidence le problème. En ligne de commande, lancer et donner le résultat de la commande : `curl -I "https://votre.nextcloud/index.php/apps/side_menu/js/script.js" | grep -i content-type` Ça devrait contenir `content-type: text/javascript;charset=UTF-8` mais je pense que ce n'est pas le cas chez vous.
Author

voici le retour de la commande

curl -I "https://mondomaine.fr/index.php/apps/side_menu/js/script.js" | grep -i content-type
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 1537 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
content-type: text/javascript;charset=UTF-8
x-content-type-options: nosniff

voici le retour de la commande curl -I "https://mondomaine.fr/index.php/apps/side_menu/js/script.js" | grep -i content-type % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 1537 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 content-type: text/javascript;charset=UTF-8 x-content-type-options: nosniff
Owner

Le content-type est correct dans ce retour. Du coup je ne comprends pas pourquoi il y a cette détection en text/html évoqué dans la console.

J'ai essayé de reproduire via le serveur web PHP (http), via Apache (http et https) et via Nginx (http et https) et n'ai pas pu reproduire le problème.

Le content-type est correct dans ce retour. Du coup je ne comprends pas pourquoi il y a cette détection en text/html évoqué dans la console. J'ai essayé de reproduire via le serveur web PHP (http), via Apache (http et https) et via Nginx (http et https) et n'ai pas pu reproduire le problème.
deblan added
help wanted
and removed
question
labels 2020-04-20 01:05:14 +02:00
Author

J'ai pensé un moment que c'était dû ma configuration de firefox, du coup j'ai créé un nouveau profile. Mais rien n'y fait.

Sur android avec fennec de F-Droid je n'ai pas l'icone de side_menu mais lorsque je tapote sur l'icône de nextcloud side_menu apparait en tranparence mais ce n'est pas systématique.

J'ai pensé un moment que c'était dû ma configuration de firefox, du coup j'ai créé un nouveau profile. Mais rien n'y fait. Sur android avec fennec de F-Droid je n'ai pas l'icone de side_menu mais lorsque je tapote sur l'icône de nextcloud side_menu apparait en tranparence mais ce n'est pas systématique.
Owner

Est-ce qu'on peut échanger par mail pour faire des tests depuis votre instance ?

Est-ce qu'on peut échanger par mail pour faire des tests depuis votre instance ?

Bonjour,

J'ai le même problème également avec la toute dernière version, je n'avais pas ce problème dans les versions précedentes.

Bonjour, J'ai le même problème également avec la toute dernière version, je n'avais pas ce problème dans les versions précedentes.
Owner

Pouvez-vous essayer de template le contenu de apps/side_menu/appinfo/routes.php par :

<?php

return [
    'routes' => [
		// ['name' => 'Css#stylesheet', 'url' => '/css/stylesheet.css', 'verb' => 'GET'],
		// ['name' => 'Js#script', 'url' => '/js/script.js', 'verb' => 'GET'],
		['name' => 'Css#stylesheet', 'url' => '/css/stylesheet', 'verb' => 'GET'],
		['name' => 'Js#script', 'url' => '/js/script', 'verb' => 'GET'],
    ],
];
Pouvez-vous essayer de template le contenu de `apps/side_menu/appinfo/routes.php` par : ``` <?php return [ 'routes' => [ // ['name' => 'Css#stylesheet', 'url' => '/css/stylesheet.css', 'verb' => 'GET'], // ['name' => 'Js#script', 'url' => '/js/script.js', 'verb' => 'GET'], ['name' => 'Css#stylesheet', 'url' => '/css/stylesheet', 'verb' => 'GET'], ['name' => 'Js#script', 'url' => '/js/script', 'verb' => 'GET'], ], ]; ```
Owner

J'ai publié la version v1.3.1 qui applique la modification proposée. Cette version ajoute également une option de personnalisation.
Pouvez-vous mettre à jour l'application et me dire si le fix fonctionne ? Ne pouvant pas reproduire le problème, je ne peux pas tester de mon coté.

J'ai publié la version v1.3.1 qui applique la modification proposée. Cette version ajoute également une option de personnalisation. Pouvez-vous mettre à jour l'application et me dire si le fix fonctionne ? Ne pouvant pas reproduire le problème, je ne peux pas tester de mon coté.
Author

Bonne nouvelle en modifiant le fichier routes.php comme demandé précédemment ça a résolu le bug. :-)
Je vais de ce pas appliquer la v1.31

Bonne nouvelle en modifiant le fichier routes.php comme demandé précédemment ça a résolu le bug. :-) Je vais de ce pas appliquer la v1.31
Owner

Parfait, je ferme le bug alors :)

Parfait, je ferme le bug alors :)
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: deblan/side_menu#8
No description provided.