Redmine: Issueshttp://dev.d-lan.net/http://dev.d-lan.net/favicon.ico?15495416382020-03-22T21:17:04ZRedmine
Redmine D-LAN - Feature #288 (Closed): Retry file read failureshttp://dev.d-lan.net/issues/2882020-03-22T21:17:04ZGreg Burrigreg.burri@gmail.com
<p>When computing hashes if a file cannot be read, re-add it at the end of the queue with a counter. Stop after some retries and log the error.</p> D-LAN - Task #285 (Closed): Upgrade Protobuf to version 3 or to Flatbuffershttp://dev.d-lan.net/issues/2852020-03-12T10:20:53ZGreg Burrigreg.burri@gmail.com
<ul>
<li>All files (settings, chat, etc..) extension is now .json</li>
<li>I think there is no way to read old version 2 files</li>
</ul> D-LAN - Task #284 (Closed): Solve every warning with the new Qt versionhttp://dev.d-lan.net/issues/2842020-03-12T10:19:00ZGreg Burrigreg.burri@gmail.com
<p>As there are a lot of deprecated things and warning by using the last Qt release (5.14) these things as to be fixed before continuing the development.</p>
<p>Replace the "custom" random generator by <a class="external" href="https://doc.qt.io/qt-5/qrandomgenerator.html">https://doc.qt.io/qt-5/qrandomgenerator.html</a></p> D-LAN - Defect #273 (Assigned): Can't download to ourself (same core) on IPv6http://dev.d-lan.net/issues/2732015-06-17T16:25:57ZGreg Burrigreg.burri@gmail.com
<p>When a file is downloaded from another peer and we already have it, it may be downloaded from ourself. In the case of IPv6 the download doesn't start. It works well on IPv4.</p> D-LAN - Defect #239 (New): Download rate isn't stablehttp://dev.d-lan.net/issues/2392013-07-17T07:12:56ZGreg Burrigreg.burri@gmail.com
<p>On Windows the download rate may rise then suddenly fall. It may be related to the system cache which can be deactivated in the hard drive properties page.</p>
<ul>
<li>Try to check is some more options can be used when a file is opened or written : <a class="external" href="https://github.com/Ummon/D-LAN/blob/master/application/Core/FileManager/priv/Cache/File.cpp#L278">https://github.com/Ummon/D-LAN/blob/master/application/Core/FileManager/priv/Cache/File.cpp#L278</a>
<ul>
<li>There is some interesting options here (like FILE_FLAG_NO_BUFFERING): <a class="external" href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858%28v=vs.85%29.aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858%28v=vs.85%29.aspx</a></li>
<li>Official documentation about file buffering : <a class="external" href="http://msdn.microsoft.com/en-us/library/windows/desktop/cc644950%28v=vs.85%29.aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/cc644950%28v=vs.85%29.aspx</a></li>
<li>Article about system buffering: <a class="external" href="http://nasutechtips.blogspot.fr/2010/09/fileflagnobuffering-and-file-readwrite.html">http://nasutechtips.blogspot.fr/2010/09/fileflagnobuffering-and-file-readwrite.html</a></li>
</ul>
</li>
<li>Look if the Qt layer is optimal and can be replaced by ours.</li>
</ul> D-LAN - Defect #236 (Assigned): Floating window might be closedhttp://dev.d-lan.net/issues/2362013-04-27T06:42:42ZGreg Burrigreg.burri@gmail.com
<p>Even if the user shouldn't be allowed to close the search or peers windows, it can be do that by pressing ALT-F4.</p>
To restore the window there are two ways:
<ul>
<li>Delete the file 'gui_settings.txt' </li>
<li>Delete the line beginning with 'windows_state: ' in 'gui_settings.txt'</li>
</ul>
<p>the file 'gui_settings.txt' is located here : <br />"C:\Users\<user>\AppData\Roaming\D-LAN" where <user> is the current D-LAN user</p> D-LAN - Defect #231 (Closed): Error during installation on Ubuntu 12.10http://dev.d-lan.net/issues/2312012-12-10T07:48:49ZGreg Burrigreg.burri@gmail.com
<pre>
Lintian check results for /home/gburri/Downloads/D-LAN-1.1.0Beta14-2012-12-08_10-02-i386.deb:
E: d-lan-all-in-one: control-file-has-bad-permissions postinst 0775 != 0755
E: d-lan-all-in-one: control-file-has-bad-owner postinst gburri/gburri != root/root
E: d-lan-all-in-one: control-file-has-bad-permissions prerm 0775 != 0755
E: d-lan-all-in-one: control-file-has-bad-owner prerm gburri/gburri != root/root
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/ 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/ 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/applications/ 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/applications/d-lan.desktop 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/ 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/D-LAN.Core 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/D-LAN.GUI 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/languages/ 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/languages/d_lan_core.fr.qm 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/languages/d_lan_gui.fr.qm 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/ 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/ 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/arrow_down.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/checkbox_checked.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/checkbox_unchecked.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/close.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/dockwidget_close.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/dockwidget_min.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/grip.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/maximize.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/minimize.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/radiobox_checked.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/radiobox_unchecked.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/scrollbar_arrow_bot.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/scrollbar_arrow_left.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/scrollbar_arrow_right.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/scrollbar_arrow_top.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/style.css 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/title.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/treeview_arrow_closed.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/treeview_arrow_closed_highlight.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/treeview_arrow_opened.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/treeview_arrow_opened_highlight.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/d-lan/styles/l33t/unmaximize.png 1000/1000
E: d-lan-all-in-one: wrong-file-owner-uid-or-gid usr/share/icons/ 1000/1000
</pre> D-LAN - Defect #220 (Closed): Crash on Ubuntuhttp://dev.d-lan.net/issues/2202012-07-24T21:29:36ZGreg Burrigreg.burri@gmail.com
<ol>
<li>Add a shared folder with many sub-folders and files</li>
<li>During the hash remove it</li>
<li>Repeat until it crashes</li>
</ol>
<p>It's only append on Linux and not on Windows si it may be related to the directory watcher Linux specific code.</p> D-LAN - Defect #218 (Closed): Will not start after install on 64 bit Mint 12http://dev.d-lan.net/issues/2182012-07-06T16:28:22ZGreg Burrigreg.burri@gmail.com
<p>After installation with no errors <br />It will not start by using the menu but it I start d-lan in the term d-lan-gui I get</p>
<p>d-lan-gui: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by d-lan-gui)</p>
<p>I can't find a GLIBC_2.14 in the repository</p>
<p>Source: <a class="external" href="http://dev.d-lan.net/boards/3/topics/34">http://dev.d-lan.net/boards/3/topics/34</a></p> D-LAN - Defect #210 (Closed): GUI can't launch the core as service and connect to it on the same ...http://dev.d-lan.net/issues/2102012-05-24T23:58:07ZGreg Burrigreg.burri@gmail.com
<p>When the GUI launch the core (see InternalCoreConnection.cpp at line 298) it will try to connect to it, the call (QAbstractSocket::connectToHost(..)) will immediately fail and the connection process will abort.<br />It works on Windows, but on Linux it appears the connectToHost(..) method will immediately fail if the port isn't bind (the core is starting at this moment).</p> D-LAN - Task #208 (Closed): Check if the DELETE event from the directory watcher of a shared dire...http://dev.d-lan.net/issues/2082012-05-07T00:45:55ZGreg Burrigreg.burri@gmail.com
<p>This event can't occur on Windows because the watched directory isn't deletable. However on Linux this case may occur.</p> D-LAN - Defect #207 (Closed): The MOVE event triggered by the directory watcher isn't properly ha...http://dev.d-lan.net/issues/2072012-05-07T00:43:06ZGreg Burrigreg.burri@gmail.com
<p>For the moment only the rename operation is supported and not the move a file/directory.</p> D-LAN - Defect #170 (Assigned): Multicast socket may stop to listenhttp://dev.d-lan.net/issues/1702011-05-27T21:01:33ZGreg Burrigreg.burri@gmail.com
<p>Disable and re-enable a network interface on Windows 7 prevents the multicast socket to listen. When it's happen the only way to solve it is to rebind the socket (or to restart the application). This behavior can also occur after restoring a hibernate state.</p>
<p>Can't be reproduced on Windows XP.</p>
<p>The multicast socket is configured in <code>UDPListener::initMulticastUDPSocket()</code>.</p> euphorik.ch - Defect #147 (New): Les liens dans les trollshttp://dev.d-lan.net/issues/1472009-11-19T14:55:38ZGreg Burrigreg.burri@gmail.com
<p>Lors du clic d'un lien dans un troll sur la page principale la conversation est ouverte, il faudrait éviter ce comportement</p> euphorik.ch - Defect #130 (Closed): Unable to post un anonymous (non-login)http://dev.d-lan.net/issues/1302009-07-15T06:20:27ZGreg Burrigreg.burri@gmail.com
<pre>
=ERROR REPORT==== 15-Jul-2009::08:18:39 ===
ERROR erlang code crashed:
File: appmod:0
Reason: {function_clause,[{random,uniform,[1.0e32]},
{euphorik_protocole,generer_cookie,0},
{euphorik_protocole,register,2},
{euphorik_requests,traiter_message,2},
{euphorik_requests,out,1},
{yaws_server,deliver_dyn_part,8},
{yaws_server,aloop,3},
{yaws_server,acceptor0,2}]}
Req: {http_request,'POST',{abs_path,"/request"},{1,1}}
Stack: [{random,uniform,[1.0e32]},
{euphorik_protocole,generer_cookie,0},
{euphorik_protocole,register,2},
{euphorik_requests,traiter_message,2},
{euphorik_requests,out,1},
{yaws_server,deliver_dyn_part,8},
{yaws_server,aloop,3},
{yaws_server,acceptor0,2}]
</pre> euphorik.ch - Defect #106 (New): Translationhttp://dev.d-lan.net/issues/1062009-02-06T13:28:54ZGreg Burrigreg.burri@gmail.com
Defines a translation policy for :
<ul>
<li>Strings in .js</li>
<li>Strings in index.yaws</li>
<li>Strings in .erl</li>
<li>Strings in pages (about.html, terms_of_use.html)</li>
</ul>
<p>Applies this policy to euphorik.ch.</p> euphorik.ch - Defect #101 (Closed): Firefox 3.1 Beta 2 et ouverture des conversationshttp://dev.d-lan.net/issues/1012008-12-10T07:40:58ZGreg Burrigreg.burri@gmail.com
<p>Impossible d'extraire une conversation sous Firefox 3.1 Beta 2.<br />La conversation principale est bien affiché mais la waitbar tourne en permanence et la conversation extraite ne s'affiche pas.</p> euphorik.ch - Internal #100 (Assigned): Restructuration du JavaScripthttp://dev.d-lan.net/issues/1002008-11-19T12:08:11ZGreg Burrigreg.burri@gmail.com
<ul>
<li>Ne plus lier le chat à la page minichat</li>
<li>Créer un objet 'Chat' et y déplacer une partie des fonctions de PageMinichat</li>
<li>Séparer la vue (pageMinichat) du chat en lui même (Chat, Conversations, Conversation, Message)
<ul>
<li>Il ne doit pas y avoir d'html dans la partie 'Chat'</li>
</ul>
</li>
<li>Intégrer Comet.js dans Communication.js</li>
<li>Séparer les attentes comet qui se trouve sur une page. Par exemple la page 'minichat' devra écouter de manière indépendante les trolls et les messages. Ceci à pour conséquence de ne plus rendre euphorik compatible avec IE7 et FF2</li>
</ul> euphorik.ch - Defect #92 (Closed): Extraction partielle de conversationhttp://dev.d-lan.net/issues/922008-10-17T07:41:35ZGreg Burrigreg.burri@gmail.com
<p>La requête suivante fait planté le serveur :<br /><pre>
{"header":{"action":"wait_event","version":3},"page":"chat","message_count":40,"main_page":1,"conversations":[{"root":1520,"page":1,"last_message_id":0},{"root":1919,"page":1,"last_message_id":0},{"root":1683,"page":1,"last_message_id":0}],"troll_id":1641,"cookie":"**********","last_message_id":0}
</pre></p>
<p>Apparemment, l'extraction partielle à partir d'un message fait systématique planté le serveur.</p>
<pre>
ERROR erlang code crashed:
File: appmod:0
Reason: {{badmatch,erreur},
[{euphorik_protocole,'-json_message/3-fun-0-',1},
{lists,map,2},
{euphorik_protocole,json_message,3},
{euphorik_protocole,'-wait_event_page_chat/6-fun-1-',2},
{lists,map,2},
{lists,map,2},
{euphorik_protocole,wait_event_page_chat,6},
{euphorik_protocole,wait_event,1}]}
Req: {http_request,'POST',{abs_path,"/request"},{1,1}}
Stack: [{euphorik_protocole,'-json_message/3-fun-0-',1},
{lists,map,2},
{euphorik_protocole,json_message,3},
{euphorik_protocole,'-wait_event_page_chat/6-fun-1-',2},
{lists,map,2},
{lists,map,2},
{euphorik_protocole,wait_event_page_chat,6},
{euphorik_protocole,wait_event,1}]
</pre> euphorik.ch - Defect #81 (Closed): Complexité de la fonction 'euphorik_bd:nouveau_message/3'http://dev.d-lan.net/issues/812008-10-02T14:01:39ZGreg Burrigreg.burri@gmail.com
<p>La fonction 'euphorik_bd:nouveau_message/3' ne s'exécute pas en temps constant en fonction du nombre de messages dans la base.</p> euphorik.ch - Defect #75 (Closed): Ban d'iphttp://dev.d-lan.net/issues/752008-09-26T18:56:51ZGreg Burrigreg.burri@gmail.com
Le ban ne fonctionne pas :
<ul>
<li>Une personne (non ekMaster) est bannie</li>
<li>Il ne peux effectivement plus poster</li>
<li>L'ip bannie n'est pas visible sur la page d'admin mais le message "Aucune IP bannie" n'est plus visible</li>
<li>Si la personne se délogue alors elle peut reposter, son ip est "débannie"</li>
</ul> euphorik.ch - Defect #72 (Closed): Guillemets dans les paramètres d'une urlhttp://dev.d-lan.net/issues/722008-09-17T13:14:45ZGreg Burrigreg.burri@gmail.com
<p>L'url si dessous<br /><pre>http://www.euphorik.ch/#page=%22minichat%22;conv=[1520]</pre><br />devrait être équivalente à celle ci<br /><pre>http://www.euphorik.ch/#page="minichat";conv=[1520]</pre><br />les "%22" ne sont pas correctement interprété.</p> euphorik.ch - Defect #71 (Closed): Planté coté serveur sur la page Adminhttp://dev.d-lan.net/issues/712008-09-04T15:45:14ZGreg Burrigreg.burri@gmail.com
<p>Lors de l'attente d'un évènement :<br /><pre>{"header":{"action":"wait_event","version":3},"page":"admin","last_troll":0}</pre></p>
<p>le serveur retourne une erreur :<br /><pre>
Internal error, yaws code crashed
ERROR erlang code crashed:
File: appmod:0
Reason: {{badmatch,false},
[{euphorik_requests,out,1},
{yaws_server,deliver_dyn_part,8},
{yaws_server,aloop,3},
{yaws_server,acceptor0,2},
{proc_lib,init_p,5}]}
Req: {http_request,'PUT',{abs_path,"/request"},{1,1}}
Stack: [{euphorik_requests,out,1},
{yaws_server,deliver_dyn_part,8},
{yaws_server,aloop,3},
{yaws_server,acceptor0,2},
{proc_lib,init_p,5}]
</pre></p>
<p>Il n'y a ni troll ni ip bannie à ce moment.</p> euphorik.ch - Defect #64 (Closed): Problème de parsinghttp://dev.d-lan.net/issues/642008-08-13T08:02:04ZGreg Burrigreg.burri@gmail.com
<p>Le message suivant fait tout merder :<br />"bon, une petite image du jour : <a class="external" href="http://i36.tinypic.com/adzqy1.jpg">http://i36.tinypic.com/adzqy1.jpg</a> , 'euh... je prend celui de gauche, on se retrouve en haut... ou pas 8)'"</p>
<ul>
<li>L'image est mal traitée</li>
<li>Si le smiley est enlevé tout fonctionne</li>
<li>Ca ne dépend pas du smiley, ils font tous le même résultat (apparemment)</li>
</ul> euphorik.ch - Defect #36 (Closed): Optimisation coté serveurhttp://dev.d-lan.net/issues/362008-07-18T09:58:38ZGreg Burrigreg.burri@gmail.com
Sur le site euphorik.ch, L'envoie des messages prends presque deux secondes coté serveur.
<ul>
<li>Récupérer les données de euphorik.ch et constaté sur la machine de dev</li>
<li>Profiling pour trouver ce qui coince</li>
</ul>
<a name="Mesures"></a>
<h1 >Mesures<a href="#Mesures" class="wiki-anchor">¶</a></h1>
<p>En regardant la consommation de temps de Yaws, un appel (changement de page) prend environ 1.8s.</p>
<p>L'appel suivant prend ~13ms :<br /><pre>
timer:tc(euphorik_minichat_conversation, conversations, [[], 40, 0, 1]).'
</pre></p>
<p>L'appel suivant prend ~26ms :<br /><pre>
T = [{page, "chat"}, {cookie, "LKJDLAKSJBFLKASN"}, {message_count, 40}, {last_message_id, 0}, {main_page, 1}, {troll_id, 626}, {conversations, {array, []}}],
timer:tc(euphorik_protocole, wait_event, [T]).
</pre></p>
<p>L'appel suivant prend ~40ms :<br /><pre>
timer:tc(json, encode, [euphorik_protocole:wait_event(T)]).
</pre></p>