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 - Feature #225 (Closed): To see peers with an older or a newer protocol version in the peer...http://dev.d-lan.net/issues/2252012-08-26T21:34:23ZGreg Burrigreg.burri@gmail.com
<ul>
<li>These peers are displayed with a special color (grey for example).</li>
<li>A tooltip says if the peer has an older or a newer version of D-LAN and thus he/we has/have to upgrade.</li>
<li>No interaction can be done with these peers.</li>
<li>There are always displayed on the bottom of the peer list.</li>
</ul> 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 #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 #195 (Closed): strange hashing problemshttp://dev.d-lan.net/issues/1952012-04-02T01:12:38Zscott Bakewellbakewells5856@gmail.com
<p>i just started using d-lan as me and my homies are getting ready for another lan party, but i have had some strange problems when hashing my files. No one else i know has had this issue just me. Most of my files would hash fine, but some would have annoying problems</p>
<p>for example when adding crysis, it would get to nearly 100% and just stop. i left it for a while but wasnt moving anywhere, then i closed the d-lan gui and opened it again and said hashing - 0%. a few minutes later it was still 0%. while doing this it is maxing a cpu core and resource manager shows no disk activity from d-lan core or gui.</p>
<p>now here is where the strange part comes. i renamed the crysis folder to crysis 1, and it hashed all the way through with no problems. so then i tried renaming it back to crysis, and it got stuck at 99.87%. it also worked when i moved it to a different folder, and broke again when i moved it back.</p>
<p>I managed to get all my files hashed in the end after some renaming, but i have no idea what could have caused this. im the only one in my group who has a raid setup, so maybe it has something to do with that? who knows.</p>
<p>heres my specs<br />intel i5-750 @4ghz<br />8gb ddr3 1600mhz<br />msi gtx460 768mb cyclone<br />asrock p55 pro/usb3<br />2x WD Green 2TB 5400rpm (raid 0)</p> D-LAN - Task #164 (Rejected): Replace the Thin web server by a fast CGI connectionhttp://dev.d-lan.net/issues/1642011-04-06T21:32:27ZGreg Burrigreg.burri@gmail.com
<p>Thin is a bit slow he doesn't gzip content and do not use 304 HTTP code. Replace it with a FCGI described here: <a class="external" href="https://github.com/klacke/yaws/wiki/Run-Rails-under-Yaws">https://github.com/klacke/yaws/wiki/Run-Rails-under-Yaws</a><br />For the moment (Rack 1.0.1 and Rails 2.3.5) it doesn't work, an exception "BROKEN pipe blabla" is raised as soon as a redmine page is loaded...</p>
<p>I've modified the file <code>/var/www/redmine/app/views/layouts/base.rhtml</code> to load javascript libraries from <em>ajax.googleapis.com</em> instead from Thin to speed up a bit the navigation.</p> D-LAN - Feature #158 (Closed): Improve search capabilitieshttp://dev.d-lan.net/issues/1582011-03-21T13:03:30ZGreg Burrigreg.burri@gmail.com
<ul>
<li>Replace the button "Search among my own files" by a "More option" button</li>
<li>This button will show more search options below the search line edit</li>
</ul>
<a name="New-search-options"></a>
<h2 >New search options<a href="#New-search-options" class="wiki-anchor">¶</a></h2>
<ul>
<li>User can define a range of size</li>
<li>User can specify a file type (based on the file extension), for example:
<ul>
<li>Audio: [mp3, mp2, mid, wav, ogg, wma, aac, flac, au, aiff]</li>
<li>Compressed: [zip, ace, rar, tar.gz, tar.gz2, tar.bz]</li>
<li>Document: [html, htm, doc, txt, nfo, odt, etc...]</li>
<li>Executable: [exe, msi]</li>
<li>Picture: [jpg, jpeg, gif, png, eps, img, pct, psp, pic, tif, rle, bmp, pcx]</li>
<li>Video: [mpg, mpeg, mov, m4v, asf, avi, pxp, wmv, ogm, mlv, rm, rmvb, divx]</li>
<li>Subtitle: [sub, srt, etc..]</li>
</ul>
</li>
<li>User can tick a box to search among its own files</li>
</ul>
<a name="Data-result-presentation"></a>
<h2 >Data result presentation<a href="#Data-result-presentation" class="wiki-anchor">¶</a></h2>
<ul>
<li>User can sort a search result by clicking the column headers.</li>
<li>Do not separate folder and files anymore</li>
<li>By default, sorted by the "relevance" column</li>
</ul>
<a name="Comments"></a>
<h2 >Comments<a href="#Comments" class="wiki-anchor">¶</a></h2>
<p>A solution to search with extensions is to create a second index containing only extensions and do not index the file extension in the first index. A simple hash map may be enough for the extensions. Thus the terms will never match any extension.</p>
<p>Extension are stored as meta-data with the semantic of "file type".</p> D-LAN - Defect #152 (Closed): Cannot add shared directoryhttp://dev.d-lan.net/issues/1522010-12-21T11:42:19ZHervé Martinetherve.martinet@gmail.com
<p>Adding a shared directory in th GUI doesn't make this directory watched and the settings isn't save in cache.bin.</p>
<p>Bug reported on linux version (branch herve.martinet, after master merge), have to be checked on master version on windows.</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 #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 - 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 #67 (Closed): highlight des nhorloges sous firefox 2http://dev.d-lan.net/issues/672008-08-18T11:22:11Zllo moulelo@ygdes.com
<p>Ne fonctionne que dans le zone entre l'heure et la bordure de la nhorloge, sois quelques pixels :S</p>
<p>hmm qu'est-ce que je suis censée dire de plus ? /o\</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 - Feature #37 (Closed): Système de commandehttp://dev.d-lan.net/issues/372008-07-24T12:49:31ZGreg Burrigreg.burri@gmail.com
<p>Mettre en place un début de système de commande et implémenter la commande "/nick <nick>"</p> 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> euphorik.ch - Internal #33 (Closed): Include Javascripthttp://dev.d-lan.net/issues/332008-07-14T13:36:22ZGreg Burrigreg.burri@gmail.com
<ul>
<li>Ajouter une fonction "include" comme définit à la ligne ~1198 de euphorik.js. Cette fonction charge dynamiquement des fichiers js via AJAX. Cette fonction est précédée par ;; pour être virée à la mise en production.</li>
<li>Ne laisser que le strict minimum dans euphorik.js
<ul>
<li>les includes et $(document).ready(..)</li>
</ul>
</li>
<li>Créer un fichier par type d'objet : "conversation.js", "message.js" etc..</li>
<li>Concaténer tous les fichiers js ensemble lors de la mise en production. </li>
<li>Éviter les variables globales et tout mettre dans un objet "euphorik" </li>
<li>Utiliser jslint pour vérifier les scripts js avant la mise en production : "rhino jslint.js euphorik.js"</li>
</ul> euphorik.ch - Internal #17 (Closed): Amélioration du support des stylehttp://dev.d-lan.net/issues/172008-07-08T16:35:43ZGreg Burrigreg.burri@gmail.com
<ul>
<li>Remplir automatiquement la listbox en fonction des styles disponibles (modification de index.yaws)</li>
<li>changer le nom du dossier 'css' en 'styles'</li>
<li>déplacer les images de 'img/css*' dans leur style respectif</li>
</ul>