musiqpad / mqp-server Goto Github PK
View Code? Open in Web Editor NEWNodeJS server base for hosting an individual pad
License: MIT License
NodeJS server base for hosting an individual pad
License: MIT License
This feature makes it easier to reference songs in the list.
e.g. "Hey, another version of this song was played 30 songs ago, please skip it."
What was talked about in discord was giving the users the ability to choose a MDI that is not in use as a role.
When I send a PM to myself, it'll show my own PM's that I received, but when I reload (F5) the PM list is empty till I send a new PM to myself, only then it'll show my name again in the PM list...
~Using a MySQL database.
Disconnected sessions that are on the waitlist or DJing will still be added back to queue if queue cycling is turned on. This should be the case, and they should not be added back to queue after finished DJing.
In addition to that, should disconnected sessions even be allowed to DJ? If a user disconnects in position 2, they will then begin DJing and disconnect mid-song because the 6 minute timer expires. Either don't let them DJ at all if it's their turn while disconnected, or let the song play our in its entirety.
Happened while using MySQL
No further information about this bug, bug we are almost certain it is on our side
The current way that mqp works is this: after you toggle one of the desktop notifications on musiqpad, it then asks you for permission to send a notification after the event in question has been fired. An alternative to this would be, on toggle of a setting, first checking if that permission is already granted, if not, prompt the user for permission.
It doesn't seem the best to ask after the event has been fired, which is what seems to be the case.
I'd suggest to
Server crashed. Log below. Derp says it's one in a million, happens when the "user logs in just at the exact moment this thing checks for things or, disconnects just at the milisecond the pad advances".
[2016-04-28 15:31:40] SocketServer (debug) ::ffff:192.168.245.106 sent: {"type":"getUsers"}
[TypeError: Cannot read property 'uid' of null]
TypeError: Cannot read property 'uid' of null
at C:\musiqpad-server\MQP_TRP\node_modules\mqp-server\socketserver\djqueue.js:237:43
at C:\musiqpad-server\MQP_TRP\node_modules\mqp-server\socketserver\playlist.js:84:3
at C:\musiqpad-server\MQP_TRP\node_modules\mqp-server\socketserver\YT.js:133:18
at IncomingMessage.<anonymous> (C:\musiqpad-server\MQP_TRP\node_modules\mqp-server\socketserver\YT.js:85:18)
at emitNone (events.js:72:20)
at IncomingMessage.emit (events.js:166:7)
at endReadableNT (_stream_readable.js:903:12)
at doNTCallback2 (node.js:439:9)
at process._tickCallback (node.js:353:17)
[2016-04-28 15:31:41] SocketServer (info) Socket server listening on port 8082
When adding a song from search results to a playlist, it is appropriate for songs to be added to the top of that playlist. However when grabbing a currently playing track, those should be added to the bottom of the playlist since they've obviously just been played.
Adding a way to enable an Image proxy might be good for several reasons:
To implement it, you could use an existing service like (https://images.weserv.nl/) or add a proxy to the webserver.
Facebook and other websites rely on Open Graph to generate a rich preview of a website.
It will look much better with the following:
<meta property="og:title" content="Meta Title Here"/> <meta property="og:type" content="website"/> <meta property="og:url" content="https://sh.musiqpad.com/p/padurl/"/> <meta property="og:image" content="user defined image here"/> <meta property="og:description" content="user defined description here"/>
Once you press the Api documentation (as shown in the photo -> http://prnt.sc/av818n)
you get to a 404 page and not the api documentation website as you expected
Instead of the usual config > register account > restart pad, how about we make it config > register account. See if we can add a hook somewhere to check upon registering to make the owner if the owner was not made on pad start. This way you won't have to restart the pad after making the owner account.
Speaking with @foodbandlt, I learned that if a user is in queue and they disconnect from the pad there is a 6 minute grace timer before they're actually logged out. If they are not in queue, they are logged out immediately, no timer. I'd love it if there could be a timer for when they are not in queue as well so that simply refreshing the window doesn't count as a disconnect. (10-15 seconds seems appropriate.)
Foody suggested this could be implemented through a config option on the server.
Mainly as search across all playlists, but searching single playlist might be useful too.
signupcd: 0, // How many miliseconds the user cannot do certain things after they sign up.
signupcd is great, but the option to tie it together with an IP address would make it so it's less likely to affect legitimate users.
You could also make the restrictions more strict if they meet various criteria, such as how many users from the same IP signed up recently, or if a user from that IP was recently banned.
Right now it's not clear to see how to activate a playlist. Adding a button would make this more use-friendly.
(Brought across from old feedback system)
When clicking an image open a lightbox containing the image.
(Brought across from old feedback system)
If the config file is created in ./node_modules, it will be deleted when you update via npm.
You could add a config option to mqpServer.start or make db + config paths relative to the file starting the server.
Currently the number shown on the DJ Queue icon is the number of people in the queue plus the DJ. Our bot activates/deactivates features based on the number of people in the queue. For example, one feature requires at least 5 people in the queue before it will activate. When the icon shows 5, people assume that feature is active, but it's not because there's only 4 in queue. It's pretty confusing.
Is there any chance of changing that number to accurately reflect the queue length?
Have your name in chat be a different color, the way it is now, its hard to know which messages are yours and which are others when you glance at chat.
(This has been brought across from the old feedback system)
This playlist appears to import correctly into a list named "Rock" with 308 songs. List is usable, but after a refresh the list is empty. User who reported it guesses that it has to do with the length as shorter lists have worked correct for him. I tested the list and the same thing happened to me.
After some time, all MySQL requests start to time out
We are looking into the issue
Self-explanatory, make it possible to add songs to playlists from history
Something like /ignore so you don't see a users chat messages and pms
Everything that works with YT now should work with SC - including playlist importing and exporting, with support for both Dubtrack.fm and Plug.DJ exporters aswell as MQP exporter
Admin panel for changing room settings on the fly,
Files are written relative to the path from where I execute the start.js
At the moment I can launch the server only like this:
cd /home/virtuacode/mqp-server/
exec node start.js
I would prefer to launch the server like this:
exec node /home/virtuacode/mqp-server/start.js
Error Log:
2016-04-27 23:18:41.379923500 [2016-04-27 23:18:41] SocketServer (info) Socket server listening on port 63548
2016-04-27 23:18:41.391213500 Webserver listening at :::64606
2016-04-27 23:18:41.454543500 { [Error: ENOENT: no such file or directory, open './webserver/public/lib/js/webconfig.js']
2016-04-27 23:18:41.454547500 errno: -2,
2016-04-27 23:18:41.454548500 code: 'ENOENT',
2016-04-27 23:18:41.454548500 syscall: 'open',
2016-04-27 23:18:41.454549500 path: './webserver/public/lib/js/webconfig.js' }
2016-04-27 23:18:41.455590500 Error: ENOENT: no such file or directory, open './webserver/public/lib/js/webconfig.js'
2016-04-27 23:18:41.455592500 at Error (native)
Allow exporting playlist to YouTube
Notification/Indicator showing there are more text. So you know when you should scroll down.
(Brought across from old feedback system)
Meta title is currently "musiqpad - join us!" for all pads.
I suggest to change it to "pad name | musiqpad".
Chat filters would be a great way to see PM's, @ notifications, etc. Adding buttons that would eliminate chats except for what is filtered for was one of the ideas.
Soft-leave: when a user disconnects and the timer is started before sending userLeft.
This can come in handy to see if someone soft-disconnects while on the waitlist in some rooms that are reliant on the waitlist being concrete.
When using MySql as database, i'm getting this error: https://share.fuechschen.org/lgEMDOlZ1.png
I'm using a standard MariaDB-Server on Debian 8
This will dramatically speed up playlist getting and allow for support for other services more easily.
Possiblity to login to your account registered on official server on any self hosted pad
I.e. for bot roles
(Brought over from old feedback system)
Log IPs of all users and show them in a separate command (/iplog )
signupcd: 0, // How many miliseconds the user cannot do certain things after they sign up.
A user who signs up, but cannot do certain actions and doesn't get a proper error message would be very confused and frustrated.
A small bug. Ex: https://i.imgur.com/p6cXE9U.gif
This suggestion is purely about design, and as such should be treated as a personal opinion.
Regarding Placement:
I suggest either placing the most commonly used buttons to the left, or keeping the 'upvote' and 'downvote' symmetrical to each other since they are a "pair".
Symmetry is an important design aspect.
Colors:
I think that the 'snooze' and 'join' button colors should be changed.
The 'join' button should be a more inviting and friendly color, while the 'snooze' button should be a more red or orange color.
The 'snooze' action is a bit negative at times, similar to downvoting the song. As such, it makes sense that they should be a similair color. Additionally, purple is already taken by the 'grab' button.
Well.... Playlists like to dupe songs. A lot.
http://i.imgur.com/CfR9AkB.png
The playlists above are imported straight from plug. I shouldn't have 721 tracks.
There are like 18 copies of "Nightcore - Senpai" down the list.
Please fix ;_;
When switching back to the chat tab from the @mention tab, the text is scrolled all the way back to the top instead of either 1) where you left it (my preference) or 2) the bottom. Switching back to chat from the PM tab doesn't seem to have this problem.
Currently it is not possible to select, and then copy the following texts:
This is a tiny problem, not that big, but it's there,
When you are PM'ing someone, and you give him a rank, his name color wont change to his new color.
After a reload it shows the correct color, but its not directly changed
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.