Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Webclients for museekd #29

Open
pulse00 opened this issue Jan 15, 2017 · 19 comments
Open

Webclients for museekd #29

pulse00 opened this issue Jan 15, 2017 · 19 comments

Comments

@pulse00
Copy link

pulse00 commented Jan 15, 2017

Are you aware of any webclients written to interact with museekd?

I'm playing with the thought of writing one with a small python/rest wrapper around the python-bindings and a single-page-app as the frontend.

@akhramov
Copy link

Hi, I had the same thoughts.

I even ported the bindings to Ruby for those who is not familiar with Python: akhramov/museek_bindings.

As for frontend, yet again, the same thoughts. But the work I've done is even not worth mentioning.

@artelse
Copy link

artelse commented Jan 22, 2017

Me too, have been working on the partial nslsk js library. Either a full slsk js lib is developed or one for museekd. Looking at the code, both seem almost as complex to implement or?

@pulse00
Copy link
Author

pulse00 commented Jan 23, 2017

@artelse well the python bindings are already there https://github.com/eLvErDe/museek-plus/tree/master/python-bindings/museek - imho it would "just" ™ need a http/rest wrapper around them and then stick a javascript frontend on top of it.

@akhramov @artelse what do you think, should we revive this idea?

We could start by collecting what's already there and sketch a roadmap to a minimal client - i could invest some time in the next weeks.

So far i've created a docker image building and running museekd.

@akhramov
Copy link

@pulse00 The Roadmap would be very nice.

We need to come to the agreement on the UI stack. Even though I think that mine bindings look prettier (I'll share the POC code example later today), I am okay with sticking to the python implementation.
The main question for me is what SPA framework will we use? I strongly propose Elm.

Before we start, I want to make sure that you are aware of #5. This issue looks crucial for me. We should definitely invest some time to this. What do you think?

To whet your appetite, here's the screenshot of POC transfers screen:
screen shot 2017-01-22 at 14 14 36

@pulse00
Copy link
Author

pulse00 commented Jan 23, 2017

The main question for me is what SPA framework will we use? I strongly propose Elm.

My current stack involves react but i'm fine with trying out new stuff.

Regarding the bindings - i'm neither fluent in ruby nor python (my background is Java/Javascript/PHP). I could come up with some working code but i doubt it would stand the scrutiny of a real python/ruby coder - so i'd be happy to go either way. I was only thinking that the existing python bindings are probably more robust - but regarding the issue you linked there's probably some work on that part needed anyway.

So as for #5: That explains why my initial tests didn't yield any search responses :)

If i understand it correctly, to fix this we'd need to do some work on the c part of the library - i'm ok with that but my C/C++ related work is a loooooong time ago...

One thing: If the search layer is broken in museek-plus - how did you get to the POC in your screen shot?

@akhramov
Copy link

@pulse00 It is uploads screen. We can browse user's files regardless of #5.
What I've done is logged in to another account, browsed files and downloaded the folder. Then I asked my friend to do the very same thing. :)

I more or less proficient in C, but will probably need some help.
@artelse by any chance, are you familiar with C++?

@akhramov
Copy link

@pulse00
Hi, here's the repo.
https://github.com/akhramov/web_museek

Don't be afraid, I pushed it as is with lots of useless stuff. Will cleanup later.

@pulse00
Copy link
Author

pulse00 commented Jan 23, 2017

@akhramov should we try to fix #5 before getting into the binding and UI thing? currently museekd does not compile on my machine (mac os sierra):

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.3.0
Thread model: posix

what setup are you using?

@akhramov
Copy link

@pulse00 I run a museek daemon on linux armv7 machine. I built the daemon using gcc.

The only thing I did to code is corrected types where needed (see #26). Can you try #20?

@pulse00
Copy link
Author

pulse00 commented Jan 23, 2017

yeah, i've tried that, but it looks like some incompatibility with the gcc on osx

In file included from museek-plus/./NewNet/nnevent.h:27:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:1036:13: error: no matching constructor for initialization of
      'binder1st<std::__1::mem_fun1_t<void, Museek::PeerManager, NewNet::ClientSocket *> >'
    {return binder1st<__Operation>(__op, __x);}
            ^                      ~~~~~~~~~

@artelse
Copy link

artelse commented Jan 23, 2017

@akhramov I've no experience with C++, though have done C on some small projects. Regarding UI, am currently more into Vue.js than something like React. Elm I have no experience with. I am all for a polished UI and UX that's why I am interested in a web client.

@akhramov
Copy link

@pulse00 sorry for the delay. It's been a very busy week.
I will try to compile museekd later today and will give you an update. You've mentioned the docker image. Why can't we just use it instead of having to compile on the host machine?

@pulse00
Copy link
Author

pulse00 commented Jan 30, 2017

Why can't we just use it instead of having to compile on the host machine?

i can give it a try and see how well it can be used for actual development - i'll let you know tomorrow if this works.

@akhramov
Copy link

akhramov commented Jan 31, 2017

@pulse00 I ran in the very same compiler error. Being unable to solve it somehow, I just commented out the problem lines. 😸 Compiling went by w/o any further problems. Idk how it affects runtime though.

I will ping guys regarding #5 in the corresponding ticket.

@screwfaze
Copy link

Hi Guys,

I have recently come across museekd and really loving it would be awesome with a web front end, is this still being worked on?

Thanks

@akhramov
Copy link

akhramov commented Oct 6, 2017

Hi @screwfaze, unfortunately, not yet due to #5... 😢

@screwfaze
Copy link

@akhramov Sorry I am no expert on these things and do not understand. Using Mucous I am able to search and find what I need and get it. So please explain if you can why the web browser functionality is not possible.

Thanks

@akhramov
Copy link

akhramov commented Oct 6, 2017

@screwfaze, you are correct, outgoing search works just fine. The problem is that museekd peers are not appearing in the search results, and that makes sharing almost impossible.

@screwfaze
Copy link

Ok I see thanks for explaining that. I wish you luck fixing that issue as I would really love this way of running slsk.

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants