Git Product home page Git Product logo

newebe's People

Contributors

frankrousseau avatar gelnior avatar tonthon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

newebe's Issues

[General] Slow loading

Personnal server upload bandwith is poor. Performance improvement is already needed for sheeva plug deployment.

Here are some way of improvements :

  • Better file caching
  • Set production mode for javascript MVC app
  • GZIP compression
  • Give direct access to all static files via lighttpd

packaging

setup.py is there
setup.cfg is there
newebe directory structure looks ok

TODO :

  • package debian
  • mike do you see anything else ?

[News-app] Filtre par date

Lorsqu'on filtre sur une date supérieure à la date du dernier post, le dernier post n'apparait pas.

Debian package improvements

From Duck, Debian developer:

Il faudra penser à s/UNRELEASED/unstable/ dans le changelog. Pour ce qui est du BR à clore, il faut chercher si quelqu'un a déjà créé un BR, voir avec lui pour le owner (bts owner) sans que ça soit du hijacking, sinon le créer selon le modèle usuel.

Dans debian/patches/ tu noteras qu'il y a un patch debian-changes-0.6.0. En fait quand tu modifies les sources comparativement à ton tarball, et que tu lance un build en gardant ces modifications, il crée automatiquement un patch, car en fait quand tu partage ton package source avec d'autres gens, les sources originelles et les infos debian permettent de regénérer le workdir et de build identiquement. Concernant ce patch :

  • la partie EGG-INFO est un répertoire généré pour les eggs, qui doit être effacé à la fin du build. en gros il faut pouvoir builder le programme en boucle sans que ça ne casse rien et en obtenant le même résultat. peut-être que ça vient d'un build qui a échoué, à vérifier
  • la partie d2to1 : je ne sais pas ce que c'est, à vérifier
    Donc au final tu ne devrais pas avoir besoin de patches, sauf si tu as besoin d'influer sur le build pour des raisons spécifiques à Debian qui ne seraient pas possible en passant des options aux outils.

Concernant debian/postinst :

  • vu que ton user et ton group sont les même, tu peux utiliser l'option --group de adduser pour créer le groupe en même temps. Dans tous les cas, si tu préfères garder séparé en deux commandes pas de soucis, mais penser à régler le problème suivant : ton grep pour le groupe va matcher tous les groupes commençant pas "newebe" et pas forcément celui voulu, et en plus leaker sur stdout
  • pour la config, tel que c'est fait à chaque mise à jour du package elle sera écrasée et ça va emmerder le user (bug serious, voir policy). En fait tout ce que tu installes dans /etc (avec un debian/install par exemple) sera considéré comme fichier de config, et l'utilisateur sera interrogé avant d'écraser (le fameux message de dpkg), donc il te suffit juste de fournir un fichier, et s'il change dans le temps, dpkg proposera de l'écraser ou le renommera en .dpkg-new automatiquement
  • pour le certif, je pense qu'il est bon de mettre un message pour dire au user de le remplacer par un maison. J'ai aussi vu l'utilisation de /dev/urandom dans certains package, probablement pour éviter de bloquer indéfiniment en cas de panne d'entropy (et comme c'est un certif temporaire de toute façon). Il y a un exemple dans debian/dovecot-core.postinst du package dovecot
  • concernant le certif à nouveau, il ne faut le créer que s'il est absent, et ne pas écraser la config de l'utilisateur
  • pas de sudo, le script de postinst est déjà root
  • pourquoi faire des touch ? je ne comprends pas l'utilité
  • pas besoin de /var/log/newebe ?
  • il manque probablement un chmod après la création du certif (et pas systématiquement à chaque upgrade pour garder la conf custom du user) pour s'assurer que l'utilisateur newebe pourra lire la clef privée

Il manque un debian/postrm qui défait les choses de postinst en cas de purge :

  • virer le user et group newebe
  • virer les répertoire où des fichiers sont générés dans le postinst ou au runtime, car depkg refusera de virer des données user, il supprimera uniquement les données dans le package

Quelques questions, orientée upstream cette fois :

  • pourquoi forcer l'utilisation de supervisor ? en quoi un start-stop-daemon ou autre outil ne pourrait pas lancer l'appli ?
  • l'outil écoutant sur un port il pourrait être intéressant de faire une demande à l'IANA pour avoir un port dédié. En tous les cas la config par défaut ne montre aucun exemple pour régler le port, c'est dans le README.rst mais il n'est pas très adapté à un usage Debian et de toute façon pas inclus dans le package

Use X-Forwarded-For Header

I am using a reverse proxy to pass requests that arrive at a particular named server (on port 80) to a different port on the same machine. Newebe is therefore logging all requests as having a source IP of 127.0.0.1, despite the fact that the reverse proxy is adding the "X-Forwarded-For" header.

Newebe should pay attention to the "X-Forwarded-For" header. Then, the log will reveal the correct source IP for the requests.

Newebe is sucking CPU

From my post to the Google Group:

My recent Newebe installation is taking a great deal of CPU, unexpectedly.

It has been running for one week. The couchdb instance, which I
installed only for Newebe, has consumed 164+ hours of CPU! This means
that it has been runnable since I installed it. Is this expected? It
is occupying 99M of virtual memory, and 17M of that is resident. I
consider this to be very resource usage. (This is the beam.smp
executable of couchdb.)

The python2 binary which is executing newebe_server.py is also taking
a lot of resources - 72 hours of CPU time (in 1 week of uptime), 37M
of virtual memory, and 14M of resident memory.

These 2 processes are by far the most resource-hungry on my system. (I
run many things on this system - web servers, mail servers, IRC
daemons, etc.)

Is this normal and expected? Or, are those processes doing too much?

Response from gelnior:

This is bad. I didn't pay attention to that because my Newebe runs on a dedicated plug computer. But as you say beam.smp use 8% of my CPU when my Newebe does nothing.

The newebe binary has a low consumption (0.3%) but works all the time.

Both of these problems probably comes from a bad usage of external libs (couchdbkit and python daemon). You can open a report too for this one.

Contacts and groups

I see several things to improve about contacts and groups :

  • when we want to see the detail of a contact and we click on it, details appear on the right but on the bottom of the list. The day we'll have a very long list, it will not be suitable to have to scroll down...
  • the visual of groups of contact is not good. We can't see quickly who belongs to a particular group. And we don't see if a group is included or not to an other one
  • I think it can be nice if we can share some notes to other to make it as a collaborative space to work. So for that, we need to introduce groups of contact in note section. However, it's important to be able to keep note for oneself and actually, maybe for picture and commons too. So I think it would be great to introduce the group of contact in notes two make it harmonious and at the same time to create a particular group called "mine" which allow us to keep things for ourself.
  • currently, when we ask to display what we shared with a group, newebe display only what we shared with this particular group. However, if this group (B) is a subgroup of an other one (ALL), he received also what we shared to the bigger one. B is included in ALL.
    It would be nice that when we ask newebe to show what we shared with a subgroup, newebe show everything that have been shared to this group, in particular (to B) but also more generally (to ALL).
  • It would be nice to be able to change our mind about the group publication. Now, if we want to to publish something to the group (C) that we publish already to (B), we have to publish again. That means that it's going to appear two times in our stream but also that two more hard drive place is needed and if we are publishing pictures, it is a shame...

Display additional infos properly

When user displays additional informations about a blog post or about an activity, the infos are displayed on the top of the page instead of being displayed at the same height of the clicked document. This makes the user experience bad.

Resending after contact changed his URL

If an error occured, it is stored in the activity.
Newebe allows to make a retry on the error for the contact linked to the error.
If contact changes his URL between the time the error occurs and when the people try to resend the data, resending fails because it still targets the old URL.

Post comments / Interface Enhancement

After a quick use of newebe, I seen few points to maybe ameliorate.

There is no possibilities for comment the post of my trusted group.
I think it's a high potential feature.

More over, i think the grise button All/Mine is not very easy to understand.
and maybe use the "News page' as the home page when you log.

Lucas

[General] Loading indicator

Add loading indicator for every command requiring server interaction.
Ex : Slow posting for news-app is disturbing because post seems to be not posted.

[Docker]: Base image is no longer valid

See:

prologic@MacBook-Pro
Tue Dec 29 01:34:41
~/tmp/newebe/deploy/docker
 (master) 0
$ docker build -t newebe .
Sending build context to Docker daemon 7.168 kB
Step 1 : FROM shykes/couchdb
Pulling repository docker.io/shykes/couchdb
018c41c359c3: Error pulling image (latest) from docker.io/shykes/couchdb, endpoint: https://registry-1.docker.io/v1/, invalidimageid: image ID '27cf784147099545018c41c359c3: Error pulling image (latest) from docker.io/shykes/couchdb, invalidimageid: image ID '27cf784147099545' is invalid

Error pulling image (latest) from docker.io/shykes/couchdb, invalidimageid: image ID '27cf784147099545' is invalid

Also I suggest splitting this up into two containers. Running them separately isn't all that hard. I may try to send a PR that fixes the Docker deployment based on prologic/python-runtime and some couchdb image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.