agical / friendsunhosted

FRIENDS#UNHOSTED - Own your network!
http://friendsunhosted.com/
Other
13 stars 2 forks source link

optimized friend and status view #37

Closed jancborchardt closed 12 years ago

jancborchardt commented 12 years ago

Just the next step in style overhaul, a bit cleaner.

I think important next steps for general functionality are:

brolund commented 12 years ago

I'm working on getting the thread participants to show in the threads. Part of that is improving the updates structure to get it more efficient.

brolund commented 12 years ago

I would very much appreciate if the test that we have are run before the pull request. :-) Please, follow the instructions in the README.md and tell me (or better: update it) if something is strange or missing.

There are not many tests, but they do verify the core functionality, and they often cover my ass.

They are mostly depending on the id's in the html, in some cases the classes, so when changing the html there is a bit of a chance that the tests break.

jancborchardt commented 12 years ago

I ran the unit tests with no failures:

user@Rechenknecht:~/friendsunhosted$ buster test --browser
Chromium 18.0.1025.168, Linux: ......                                                                           
Chrome 22.0.1229.8, Linux:     ......                                                                           
Firefox 14.0.1, Linux:         ......                                                                           
9 test cases, 18 tests, 36 assertions, 0 failures, 0 errors, 0 timeouts
Finished in 0.612s

But the Selenium tests exited with an »unknown server-side error«:

user@Rechenknecht:~/friendsunhosted$ buster test --node
Friends#Unhosted: A
=====================================================================================

Selenium 2.0/webdriver protocol bindings implementation with helper commands in nodejs by Camilo Tapia.
For a complete list of commands, visit http://code.google.com/p/selenium/wiki/JsonWireProtocol. 
Not all commands are implemented yet. visit https://github.com/Camme/webdriverjs for more info on webdriverjs. 

=====================================================================================

[09:59:07]:  COMMAND    POST     "/wd/hub/session"
[09:59:07]:  DATA        {"desiredCapabilities":{"browserName":"firefox","version":"14","javascriptEnabled":true,"platform":"ANY"},"sessionId":null}
T[09:59:32]:  COMMAND   POST     "/wd/hub/session"
[09:59:32]:  DATA        {"desiredCapabilities":{"browserName":"firefox","version":"14","javascriptEnabled":true,"platform":"ANY"},"sessionId":null}
A[09:59:55]:  COULDNT GET A SESSION ID
[09:59:55]:  ERROR  UnknownError    An unknown server-side error occurred while processing the command.
[09:59:55]:         Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
*** LOG addons.xpi: startup
*** LOG addons.xpi: Ignoring file entry whose name is not a valid add-on ID: /tmp/anonymous8160903852707175070webdriver-profile/extensions/webdriver-staging
*** LOG addons.xpi: checkForChanges
*** LOG addons.xpi: No changes found

[09:59:55]:  NO SESSION, EXITING

Do you have an idea what’s wrong?

brolund commented 12 years ago

What is your firefox version? I've been tying it to version 14, but maybe that is unnecessary...

brolund commented 12 years ago

I pushed a new develop, but there are only like 3 small things that diff in index.html compared to your version.

There are still some performance issues, but I've set up the underlying code a bit better, and I hope to deal with that in the following days.

jancborchardt commented 12 years ago

Yeah, my Firefox is also 14(.0.1). No idea what’s wrong with the tests, the --browser ones seem to be fine anyway.

So anyway, what do I need to do to have this merged in?

brolund commented 12 years ago

Ok, sorry, my bad. At some point I updated the selenium server jar in the node_modules package and forgot about it. Since the npm packages don't keep up with the selenium/browser releases (afaik), I made a preinstall script in the package.json that will download the latest selenium server and place it in the node_modules root. The start_servers.sh will pick it from there.

So: git fetch/merge origin/develop npm install kill ./start_servers.sh buster test --node

Should hopefully do the trick. I'm sure you know a niftier way to do the download, but this one seems to work. :-)

brolund commented 12 years ago

"kill" should be "kill selenium-server process" :-)

jancborchardt commented 12 years ago

Buster just opens Firefox after Firefox, filling in some random @ localhost address in the user address field and doing nothing afterwards. No idea why and what to fix. Could you check it out and/or do the merge? I’m not experienced with doing tests and how to act upon them.

brolund commented 12 years ago

Ok, that sounds better. Did you set up the local remoteStorage and redis as described in the README.md? I create the random users for the tests and add them to the local remoteStorage.

I am merging your stuff atm, but for the next time it would be awesome if you could run the tests. :-)

brolund commented 12 years ago

I'm having some serious problems with getting the spanX's to work. At some intermediate widths, the add friend text field disappears. The friends listing also crops the username and places the delete/add buttons in weird places at some widths, especially if you only have one friend. This might cause the problems for the tests.

Could you (manually) try for a user with only one friend and for some different page widths?

I also think that we should have the buttons visible at all times, not just when hovering. Things will probably lighten up a bit when we have different signs depending on the state (added already/not added, recent/rare activity etc).

jancborchardt commented 12 years ago

Those problems are probably a result of the merge. Can you merge and push to develop? Then I’ll look how to fix it going forward.

brolund commented 12 years ago

When I get your branch clean I get exactly the same problems, it is not the merge. The add friends field disappears e.g. in firefox with abt 860px width. The friends usernames get cropped when having few users, or perhaps long usernames, and the remove-button is on top of the username.

And for now, I would like the remove/add buttons to be visible all the time. It is easier to understand and it is easier to write automated tests for it.

brolund commented 12 years ago

FINALLY! :-D

I managed to get it to work.

jancborchardt commented 12 years ago

Oh, nice, thanks man! What was the issue?

brolund commented 12 years ago

A combo of changes, missing ids, hover buttons (hard to auto test) and fields that was invisible at certain dimensions. :-)