Calvin Montgomery
e1ad7c63af
Clarify custom embed error to remove the clause about switching to plain HTTP
2017-01-09 23:47:11 -08:00
Calvin Montgomery
e2abb90d14
Add HTTPS check for ffmpeg and custom embeds
2017-01-05 20:58:07 -08:00
Calvin Montgomery
31880fa625
Fix an issue where one broken channel can prevent others from saving
...
Son of a bitch.
2016-12-28 23:24:08 -08:00
Calvin Montgomery
f6c201f3ba
Add a few safeguards around channel saving
2016-12-20 00:09:24 -08:00
Calvin Montgomery
d21943ecc7
Whitelist m4a/aac for ffmpeg
2016-12-17 19:53:17 -08:00
Calvin Montgomery
453ed607ba
[http deprecation] enforce HTTPS for externalcss URLs
2016-12-10 23:23:57 -08:00
Calvin Montgomery
e8d39850c5
Fix null check for youtube livestream check
2016-11-30 09:24:28 -08:00
Calvin Montgomery
a624f45493
Fix warning in node 7
2016-11-17 23:01:20 -08:00
Calvin Montgomery
aa06884bd6
Ignore cached metadata for youtube livestreams
2016-11-17 23:00:06 -08:00
Calvin Montgomery
632ffdfa8f
deps: upgrade yamljs
...
Old version of `yamljs` was bringing in deprecated dependencies causing
`npm install` warnings. Newer version is still buggy and doesn't
fully support the YAML spec, but it seems to work at least as well as
the old version, as far as I can tell.
2016-11-02 22:55:14 -07:00
Calvin Montgomery
9302a271d0
Remove default contact config
2016-11-01 22:44:26 -07:00
Calvin Montgomery
bfad626b2d
Merge pull request #632 from calzoneman/partition-refactor
...
Refactor partitioning a bit
2016-10-25 20:21:34 -07:00
Calvin Montgomery
afa18c4749
Fix Google Drive URL
2016-10-20 19:07:03 -07:00
Calvin Montgomery
d2cce4f166
Work on auto reloading partition map from redis
2016-10-15 12:36:20 -07:00
Calvin Montgomery
3c11ac6cf5
Add jitter and retry logic to google drive userscript lookups
2016-10-08 10:33:18 -07:00
Calvin Montgomery
d0d2002a5f
Fix some drive userscript issues
2016-10-07 19:55:41 -07:00
Calvin Montgomery
7c3f2d0a8b
only set channel rank for non-guest
2016-10-06 23:22:02 -07:00
Calvin Montgomery
ad4ee4bd02
Fix profile/rank for bot logins
2016-10-06 23:01:42 -07:00
Calvin Montgomery
99760b6989
Purge the awful refreshAccount logic
...
User.prototype.refreshAccount was responsible for multiple race
condition bugs as well as inefficient duplication of DB queries in an
attempt to correct such race conditions.
It has now been replaced by a more reasonable model:
* Global user account information and aliases are fetched in parallel
on socket connection
* Channel rank is fetched when the user tries to join a channel
2016-10-03 23:12:22 -07:00
Calvin Montgomery
35a8e2b52a
Fix age old bug with /login redirecting to /register after registration
2016-10-01 21:31:04 -07:00
Calvin Montgomery
c88c63a422
Merge getGlobalRank and getProfile into one query
...
Really the entire "Account" thing needs to be refactored/deleted and
replaced with separate global account and per-channel state, which I
plan to do, but this brings some minor benefit in the meantime
2016-09-26 22:36:17 -07:00
Calvin Montgomery
e1120455b2
Cache channel ID for quicker loads/saves
2016-09-26 22:20:58 -07:00
Calvin Montgomery
b4b23f748f
Change Hitbox player to HTTPS ( #627 )
2016-09-19 20:45:21 -07:00
Calvin Montgomery
489c0933e8
Upgrade to babel 6
2016-09-18 22:08:43 -07:00
Calvin Montgomery
83987afd73
Add config for twitch client ID
2016-09-18 21:35:08 -07:00
Calvin Montgomery
7b4126c32f
Add concurrency to channel saving on server shutdown
2016-08-31 21:46:54 -07:00
Calvin Montgomery
8b94c54d25
Fix bug causing channels to get stuck when DB is down
2016-08-31 21:32:42 -07:00
Calvin Montgomery
84fa7972e3
Skip minification for userscript
2016-08-30 21:20:42 -07:00
Calvin Montgomery
377512340a
Bump package version
2016-08-24 19:49:26 -07:00
Calvin Montgomery
5a81ab7ce7
Add a prompt explaining the situation as well as documentation
2016-08-23 21:50:18 -07:00
Calvin Montgomery
4feee02e33
Add initial userscript
2016-08-15 21:00:56 -07:00
calzoneman
ac94d6ba22
Merge branch '3.0' into streamable-1
2016-08-07 21:27:27 -07:00
calzoneman
da99ea8288
Add node version check to index.js
2016-08-04 19:00:36 -07:00
Jose A. Rivera
c0fc4c7a86
Fix URL in package.json
...
The dependency on status-message-polyfill appeared to be missing part of its URL, judging by the rest of the file. Changing this line allowed me to build and install on a self-hosted server.
2016-08-04 15:48:41 -05:00
calzoneman
88c42af139
Add streamable.com support ( #585 )
2016-08-02 22:35:00 -07:00
Xaekai
aded7b1f38
Allow users to strip images from chat.
2016-07-14 23:37:29 -07:00
Xaekai
b2b034d9df
Make modflair setting persistent from button too.
2016-07-11 22:14:26 -07:00
Xaekai
5eebd88e13
Move ACP nav entry to templating
...
Closes #516
2016-07-10 23:23:46 -07:00
Xaekai
aa6066dfd5
Reduce the number of places the default theme is hardcoded from 6 to 1.
2016-07-08 19:01:31 -07:00
Xaekai
0aa73a4b14
Add missing formatter entry for vid.me
2016-07-07 23:32:09 -07:00
Xaekai
5896a1c0eb
Add timestamps to polls.
...
Closes #562
2016-07-07 22:56:06 -07:00
calzoneman
edb5fb6f4e
Sync announcements across partitions
2016-07-03 21:28:43 -07:00
calzoneman
312892e56b
Short term additional fix for #583
...
The previous commits do not handle all of the edge cases of #583
appropriately. This is a short term solution that will work, but is not
as efficient as it could be. The whole refreshAccount function needs to
be reconsidered and replaced with a more sane way of handling atomic
updates to the user's account state.
2016-06-29 22:00:25 -07:00
calzoneman
e9fdb1a7e5
Fix login race condition ( #583 )
2016-06-26 16:21:15 -07:00
calzoneman
6f56862307
Add vidme support ( #568 )
2016-06-25 17:09:48 -07:00
calzoneman
056b2a48ea
Add throttling of usercount frames
2016-06-18 00:32:50 -07:00
calzoneman
77d84d5b76
Add redis client error listener
2016-06-13 23:09:27 -07:00
calzoneman
b6bb0aa56d
Add redis-based channel index
2016-06-09 23:42:30 -07:00
calzoneman
594a9e17da
Spread channel saves across the save interval
...
Since all channels were saved sequentially, this would cause huge lag
spikes every time the channel save interval fired. This change adds a
delay between each channel so that the additional load is spread evenly
across the save interval.
2016-05-25 18:56:20 -07:00
calzoneman
ae3f4bbf0b
Bump version number
2016-05-21 16:29:22 -07:00
calzoneman
e7866cabc8
Update NEWS.md
2016-04-27 22:06:52 -07:00
calzoneman
3b4800d045
Add database queryTime metric
2016-04-27 21:55:25 -07:00
calzoneman
0ee7f05213
Make polls more efficient
...
Instead of emitting frames to each individual socket, group them into
socket.io rooms of people who can see hidden poll results and people who
can't, then just do 2 broadcasts.
2016-04-02 11:57:26 -07:00
calzoneman
20538e328f
Replace legacy emitter with EventEmitter prototype
2016-04-02 11:23:34 -07:00
calzoneman
9debebd4b9
/clean: error when no argument given
2016-03-28 22:31:35 -07:00
calzoneman
7448429341
Fix #566
...
Refactored the ffprobe stream-selection logic to handle rejected files
better:
* Streams tagged as a non-default disposition are not considered
* If a file has any video stream, the audio stream will be ignored
This should prevent videos from being misreported as invalid audio
codecs, etc.
2016-03-21 23:28:21 -07:00
calzoneman
e6234297a1
Merge
2016-02-09 20:13:58 -08:00
calzoneman
b3c85e8534
Limit requestPlaylist to once per 60 seconds
...
If clients call it quickly in succession with large playlists, it can
cause node to get stuck stringifying socket.io frames and cause an out
of memory crash.
2016-02-06 19:40:50 -08:00
calzoneman
dd73a8ee9a
Automatically publish backend address to the pool
2016-01-20 23:11:55 -08:00
calzoneman
eba787942c
package: bump source-map-support
2016-01-09 11:59:23 -08:00
calzoneman
d7da01a7d0
package: bump cytubefilters
2016-01-08 00:08:08 -08:00
calzoneman
be0759069e
package: bump cytubefilters
2016-01-07 22:15:21 -08:00
calzoneman
f46891b6ed
Defer to mediaquery for anonymous vimeo lookup
2016-01-07 17:38:05 -08:00
calzoneman
eeaffe1f61
Update socket.io to version 1.4.0
2016-01-06 21:42:48 -08:00
calzoneman
b536c15758
Initial hacks to get the split to work
2015-12-26 15:07:03 -08:00
calzoneman
80c35b4190
Remove unused code
2015-12-12 16:28:24 -08:00
calzoneman
13d4a49976
Move contact page to its own route handler
2015-10-27 22:04:21 -07:00
calzoneman
40e2a608f6
Initial sioconfig migration work
2015-10-19 22:32:00 -07:00
calzoneman
b4b442c897
bgtask: run channel saves serially to prevent thrashing
2015-10-09 23:16:21 -07:00
calzoneman
7f62e14045
index: add explicit error message for missing lib/server.js
2015-10-06 21:25:27 -07:00
calzoneman
1d33c47bfe
package: bump version and update NEWS.md
2015-10-04 23:11:41 -07:00
calzoneman
56a2a52bdd
Fixes
2015-10-01 22:02:59 -07:00
calzoneman
e91635b6f9
Implement migrator
2015-09-27 11:07:57 -07:00
calzoneman
20dc871303
Use create-error for better error creation
2015-09-24 23:36:05 -07:00
calzoneman
2b6e58ace9
Add safeguard postinstall script prompt
2015-09-23 19:27:04 -07:00
calzoneman
0109a87e55
package: build with babel for ES2015 support
...
* Rename lib/ -> src/
* Add `postinstall` npm target for compiling src files to lib
* Add `build-watch` npm target for development with babel --watch
* Add `lib/` to .gitignore
* Add `source-map-support` module for babel-generated sourcemaps
2015-09-23 19:27:04 -07:00
calzoneman
14bfaae487
Update dependencies
2015-09-23 19:15:28 -07:00
calzoneman
b5efa18984
package: bump cytubefilters
2015-08-03 18:30:22 -07:00
calzoneman
33e7f81fa7
Wire up google drive subtitles
2015-07-25 01:19:32 -07:00
Damian Bushong
397cc97e1e
Add license to package.json
2015-07-11 22:13:08 -05:00
Calvin Montgomery
b2687f49a8
Update error messages caught by mediarefresher
2015-07-08 13:27:43 -07:00
calzoneman
cb52148b2f
Replace lib/status-messages with status-message-polyfill
2015-07-08 11:00:40 -07:00
calzoneman
70be8a6713
Resolve merge conflict
2015-07-06 11:28:18 -07:00
calzoneman
87c1112508
Bump version number
2015-07-06 11:16:02 -07:00
Calvin Montgomery
c2b4033903
package: bump cytubefilters
2015-06-24 17:32:32 -04:00
calzoneman
9081a5fee1
package.json: bump cytubefilters
2015-05-21 13:13:27 -04:00
calzoneman
dd48da19c0
Add build-player script
2015-04-23 21:19:55 -05:00
calzoneman
27a50cb702
Add YouTube v3 API
...
YouTube v2 is still supported as a fallback, but will log a warning
message to the error log as v2 is expected to be closed shortly after
April 20, 2015.
See also:
http://youtube-eng.blogspot.com/2015/03/dude-are-you-still-on-youtube-api-v2.html
2015-03-27 18:44:46 -05:00
calzoneman
950853ba71
cytubefilters: bump git hash
2015-03-05 14:31:58 -06:00
calzoneman
9b5d38e6c8
package.json: bump socket.io
2015-03-03 13:07:12 -06:00
calzoneman
afc0ea0a58
Add csrf prevention
2015-02-22 18:15:22 -06:00
Calvin Montgomery
8c33818b36
Merge pull request #439 from Xaekai/3.0
...
Google+ metadata retrieval overhaul
2015-02-16 00:29:32 -06:00
Xaekai
26a9446d3d
I commit this code in the name of Pinkie Pie.
2015-02-15 17:36:29 -08:00
calzoneman
9fea9089f4
Merge branch '3.0' of github.com:calzoneman/sync into 3.0
2015-02-14 13:07:35 -06:00
calzoneman
d61ba675dc
Bump socket.io
2015-02-14 13:03:12 -06:00
calzoneman
406717bb18
Update to work on node v0.12
2015-02-14 12:17:33 -06:00
calzoneman
4e79c4cf49
bump socket.io ( Automattic/socket.io#1980 )
2015-02-06 00:41:21 -06:00
calzoneman
55d924cc56
Downgrade yamljs due to parsing problems
2015-01-28 00:56:04 -06:00
calzoneman
858207a6f8
Upgrade deps
2015-01-27 00:12:40 -06:00
calzoneman
7d2015620a
socket.io: upgrade to 1.3
2015-01-19 17:43:22 -06:00
calzoneman
4f3adef1d3
Revert to git based sanitize-html for package.json
2015-01-16 19:27:41 -06:00
Calvin Montgomery
56d6eb8026
sanitize-html: replace github link with npm
...
The change I made to sanitize-html was merged and published to npm, so
there's no reason to depend on my fork anymore.
2015-01-08 20:07:02 -06:00
Calvin Montgomery
eca8014369
deps: update sanitize-html
2015-01-08 20:07:02 -06:00
Calvin Montgomery
12f3161f50
XSS: Glob attributes data-*, aria-*
2015-01-08 20:07:01 -06:00
Calvin Montgomery
1c3a669279
Replace XSS filter with sanitize-html
2015-01-08 20:07:01 -06:00
calzoneman
8630c5972c
deps: upgrade socket.io to 1.2.1
2015-01-08 17:57:44 -06:00
Calvin Montgomery
b56809138c
deps: update cytubefilters commit hash
2015-01-06 22:40:49 -05:00
Calvin Montgomery
829cc090fa
Use graceful-fs to maybe prevent EMFILE
2015-01-02 23:22:48 -05:00
Calvin Montgomery
058b24323d
Add cytubefilters to package.json
2014-12-28 19:07:39 -05:00
calzoneman
da2d461941
Fix caching and add gzip
2014-11-16 21:06:10 -06:00
calzoneman
4c5d441931
Minor update
2014-10-24 10:30:23 -05:00
calzoneman
3f62cd7dfb
Socket.io pls
2014-10-24 10:24:02 -05:00
calzoneman
6e0735f3fe
Update to socket.io 1.0
2014-10-24 10:23:30 -05:00
calzoneman
088c547522
Update dependencies - execute npm update && npm rebuild after pulling
2014-08-19 22:27:59 -05:00
calzoneman
6dfeab9657
Update rest of dependencies
2014-08-19 00:46:30 -05:00
calzoneman
4eb81a84d9
Update nodemailer, yamljs, q
2014-08-19 00:36:31 -05:00
calzoneman
c693e84a46
Update bcrypt and fix a deprecated reference in auth
2014-08-19 00:25:36 -05:00
calzoneman
020e2326b5
Replace own static and log functions with serve-static and morgan
2014-08-19 00:21:32 -05:00
calzoneman
5f7adc98ba
Update express dependency
2014-08-19 00:07:24 -05:00
calzoneman
0f2b93e5c5
Increment version number
2014-08-15 11:41:09 -05:00
Calvin Montgomery
b1709758fd
Increment version number
2014-07-13 22:13:16 -07:00
Calvin Montgomery
0f11615a1f
Increment version number
2014-07-10 19:52:16 -07:00
Calvin Montgomery
3dcdaf3045
Update version number
2014-06-25 20:13:03 -07:00
Calvin Montgomery
f75ffe089c
Toss out fluent-ffmpeg in favor of own parser
2014-06-08 21:03:29 -07:00
Calvin Montgomery
ac10f05f21
Update ffmpeg loader to work with newer fluent-ffmpeg; fix playlists
2014-06-07 21:25:48 -07:00
Calvin Montgomery
02771e6623
Add raw video/audio playback with ffmpeg
2014-06-07 16:57:25 -07:00
Calvin Montgomery
9ea48f58cf
Merge refactoring into 3.0
2014-05-20 19:30:14 -07:00
calzoneman
04dbb3444b
Fix a few memory leaks; add /gc console command
...
3 memory leaks were fixed
- ipThrottle (due to the periodic cleaner clearing the wrong object...)
- ipCount (shouldn't have leaked very much, but removing obsolete data is good practice)
- lastguestlogin (again, shouldn't leak much, but should be cleared periodically anyways)
A new console command (i.e. from the terminal running node) was added: /gc
- If the process is invoked as node --expose-gc index.js, /gc allows you to manually invoke the garbage collector
2014-04-10 21:54:46 -05:00
calzoneman
e973813718
Patch a memory leak caused by an earlier failsafe
...
A global object AllPlaylists was added back in v2 as a hardfix for an issue where playlists would continue to send updates after the channel was reloaded and the playlist object was obsolete. This condition should no longer happen due to other fixes, so the only thing this object was doing was wasting memory.
2014-04-10 16:10:55 -05:00
Calvin Montgomery
a2f2b1adc2
Add support for Vimeo's OAuth ("advanced") API
...
This allows for authenticated API requests. Currently, the only reason
you would want to use this is to be able to add videos that are marked
private but still embeddable.
2014-04-04 20:06:16 -05:00
calzoneman
644437ea42
Directory cleanup
2014-02-18 22:00:56 -06:00
calzoneman
1cbb1c2a6a
Add contact page
2014-02-13 18:15:22 -06:00
Calvin Montgomery
6fe31b9a3e
Add configuration option to use express-minify for CSS and JS
2014-02-04 11:32:52 -06:00
calzoneman
5f3fa8922d
Start working on event log
2014-01-27 18:37:48 -06:00
calzoneman
4a2366eb06
Switch config to YAML
2014-01-22 17:11:26 -06:00
calzoneman
0a2dd6cbbe
Update package.json
2014-01-21 23:29:26 -06:00
calzoneman
760e14ca01
Fix package.json
2013-11-04 16:13:49 -06:00
calzoneman
4ad22308a0
Add module to block Tor IPs
2013-11-04 16:04:24 -06:00
calzoneman
2e77cb4499
Change channel dumping to a single interval rather than per-channel
2013-10-14 16:39:41 -05:00
calzoneman
a23a55f6a2
Update changelog and version #
2013-10-01 23:02:31 -05:00
Calvin Montgomery
dd0410eac7
Fix video lengths not showing in library
2013-08-23 21:06:29 -05:00
calzoneman
1294a7bd50
Fix banning guest names, add ban message to chat
2013-08-22 15:14:17 -05:00
calzoneman
1acf27d867
dev is now in final testing stages
2013-08-19 00:27:30 -05:00
calzoneman
8b3ae3b546
Merge dev into dbrefactor
2013-08-19 00:24:48 -05:00
calzoneman
40f3e875a8
2.3.3 - run update.js
2013-08-13 11:18:30 -04:00
calzoneman
44d5f42a36
Start switching to node-mysql
2013-08-12 10:34:57 -04:00
calzoneman
e53a0eee4c
Increment version number
2013-08-08 18:28:24 -04:00
calzoneman
2e79b01894
v2.3.1 (client only)
...
- Add a nice menu to userlist dropdowns for easily changing ranks
- Merge give/take leader into one button
- Move playlist lock button to the same button strip as voteskip/get playlist urls
- Add a volume slider for Soundcloud
2013-08-07 17:12:11 -04:00
calzoneman
22d5da5991
Update version number
2013-08-07 11:02:14 -04:00
calzoneman
15085fc6ae
Minor fixes for v2.2
...
- If NO_WEBSOCKETS or USEROPTS.altsocket are true, don't use websockets
- Base resizing on an invisible div (some channels remove/hide #queue)
- Names are properly italicized when AFK
2013-08-04 11:44:48 -04:00