Calvin Montgomery
cacde7f72d
Fix unhandled rejections in webserver
2017-08-23 23:02:08 -07:00
Calvin Montgomery
712a8c228b
Refactor most pug templates to share a common layout template
2017-08-22 22:09:48 -07:00
Calvin Montgomery
0810591fe3
Remove unnecessary template mixin vars
2017-08-22 17:33:29 -07:00
Calvin Montgomery
7e6312f9d1
Remove ?dest= redirect logic for /login and use referrer instead
2017-08-22 17:25:18 -07:00
Calvin Montgomery
a48cab81b9
Remove legacy /sioconfig and user agreement link
...
- `/sioconfig` has been deprecated for ages in favor of
`/socketconfig/${channel}.json`
- Each website administrator should be responsible for determining the
appropriate terms of service for their website instead of CyTube
providing a default one.
2017-08-21 23:19:19 -07:00
Calvin Montgomery
7c897d91db
Add crossorigin attribute for custom media with text tracks
...
Mitigates #702
2017-08-21 20:06:07 -07:00
Calvin Montgomery
0885a619b9
Generate .meta.js for gdrive userscript for update checks
...
Tampermonkey automatically requests www/js/cytube-google-drive.meta.js
to check for updates. Changed the userscript generator to write an
additional .meta.js file so that works instead of 404ing.
2017-08-19 16:31:02 -07:00
Calvin Montgomery
9f0444a962
Fix jquery 404 on /register
2017-08-19 16:13:15 -07:00
Calvin Montgomery
ae7098085c
Work on knexifying password resets
2017-08-16 23:28:29 -07:00
Calvin Montgomery
791a712a68
Move channel register/delete reload logic to message bus
2017-08-15 18:55:36 -07:00
Calvin Montgomery
d16cfb7328
Add message bus for #677
2017-08-15 18:23:03 -07:00
Calvin Montgomery
9ee650461f
Change unhandledRejection from fatal log level to error
2017-08-14 20:35:30 -07:00
Calvin Montgomery
2990d83c02
ffmpeg: add ETIMEDOUT error message
2017-08-14 20:33:09 -07:00
Calvin Montgomery
99076412b6
Fix unhandled rejection
2017-08-14 20:31:45 -07:00
Calvin Montgomery
c6c3bafca2
database: include legacy query() in prometheus metrics
2017-08-14 18:24:53 -07:00
Calvin Montgomery
82004aab73
ioserver: change on disconnect to once to avoid double-counting
2017-08-14 18:23:07 -07:00
Calvin Montgomery
82bd645781
Minor cleanup of some no longer used client stuff
2017-08-13 22:33:54 -07:00
Calvin Montgomery
70b875c0e9
Remove some ancient db upgrade stuff
...
If anyone is still running a database from 2014 they want to upgrade,
sorry.
2017-08-13 22:19:47 -07:00
Calvin Montgomery
4102d6eaf2
Refactor index.js logic into src/main
2017-08-13 22:16:42 -07:00
Calvin Montgomery
ba8088b678
videojs: default quality to 480 instead of 1080
2017-08-13 21:48:50 -07:00
Calvin Montgomery
a90d88ad65
Fix race condition that might be causing errors
2017-08-12 13:30:24 -07:00
Calvin Montgomery
8a8ed0a932
ffmpeg: better error messages for ECONNREFUSED and ENOTFOUND
2017-08-12 13:20:44 -07:00
Calvin Montgomery
d0c1e8cbd9
Change metric names to follow prometheus naming guide
2017-08-12 13:12:58 -07:00
Calvin Montgomery
92f0a956b9
custom-media: import spec and fix a minor missed validation
2017-08-08 20:46:10 -07:00
Calvin Montgomery
04c9d48779
custom-media: implement queueing and playback changes
2017-08-08 20:35:17 -07:00
Calvin Montgomery
a6de8731b3
custom-media: add metadata downloader
2017-08-07 22:37:56 -07:00
Calvin Montgomery
f4ce2fe69d
custom-media: add converter to CyTube Media object
2017-08-07 21:44:55 -07:00
Calvin Montgomery
8b7cdfd4c3
soundcloud: fix getVolume to match setVolume
2017-08-07 21:08:04 -07:00
Calvin Montgomery
c7f7dcfed3
custom-media: use url.parse, not whatwg URL (node v6 compat)
2017-08-06 21:59:14 -07:00
Calvin Montgomery
ea6e3f921f
custom-media: add validator
...
Initial work for #655
2017-08-06 21:50:27 -07:00
Calvin Montgomery
331a4626a0
Fix borrow-rank
2017-08-06 20:42:33 -07:00
Calvin Montgomery
0b560f15a9
Add prometheus counter for changeMedia
2017-08-05 18:50:27 -07:00
Calvin Montgomery
dac2e41488
Fix and enable efficient emotes by default
2017-08-05 12:22:58 -07:00
Calvin Montgomery
cb6cfc8455
Instrument some more metrics with prometheus
2017-08-02 21:24:44 -07:00
Calvin Montgomery
6043647cb7
Skip full user auth for most page renders
...
Previously, the user's session cookie was being checked against the
database for all non-static requests. However, this is not really
needed and wastes resources (and is slow).
For most page views (e.g. index, channel page), just parsing the value
of the cookie is sufficient:
* The cookies are already HMAC signed, so tampering with them ought to
be for all reasonable purposes, impossible.
* Assuming the worst case, all a nefarious user could manage to do is
change the text of the "Welcome, {user}" and cause a (non-functional)
ACP link to appear clientside, both of which are already possible by
using the Inspect Element tool.
For authenticated pages (currently, the ACP, and anything under
/account/), the full database check is still performed (for now).
2017-08-01 21:40:26 -07:00
Calvin Montgomery
0118a6fb15
Refactor socket.io controller
2017-08-01 19:29:11 -07:00
Calvin Montgomery
107155a661
Stop knex from thrashing idle connections
2017-07-27 18:01:40 -07:00
Calvin Montgomery
7bd9934e58
Minor cleanup of no longer used things
2017-07-26 20:32:51 -07:00
Calvin Montgomery
f593f7283c
Replace alert() with modal for ACP password reset
...
Some browsers (e.g. Chrome) don't allow copying text out of alert()
dialogs.
2017-07-24 22:35:15 -07:00
Calvin Montgomery
5a78056c91
Some small refactoring
2017-07-24 22:08:26 -07:00
Calvin Montgomery
e80613c7ec
Fix rtmp again because chrome is picky about mime types
2017-07-23 17:55:25 -07:00
Calvin Montgomery
9dd0ee4446
Fix logger misreference in copied-over lualoader
2017-07-22 11:44:33 -07:00
Calvin Montgomery
08a42f6739
ffmpeg: add specific error for invalid SSL cert
2017-07-22 11:32:43 -07:00
Calvin Montgomery
282ad986b6
Deprecate legacy vimeo-oauth lookup
2017-07-22 11:14:29 -07:00
Calvin Montgomery
52030506b5
deps: remove status-message-polyfill
...
This hasn't been necessary since node v0.10, and CyTube only supports
node v6.x+ by this point.
2017-07-22 10:45:36 -07:00
Calvin Montgomery
a8f1e48157
ffmpeg: remove bitrate and codec warning
...
Browsers which don't support CyTube's limited subset of
generally-supported codecs probably aren't worth warning about.
1Mbps is way too low of a threshold to warn about bandwidth, but even if
the threshold for warning were raised, it's probably still not that
useful.
2017-07-22 10:43:18 -07:00
Calvin Montgomery
ffde151ebd
Make redis announcement channel configurable
...
Finally fix the bug where announcements bleed across beta & live due to
sharing a redis pubsub channel.
2017-07-22 10:41:22 -07:00
Calvin Montgomery
964feb7243
Add id field to announcements and hide previously closed announcements
2017-07-22 10:35:45 -07:00
Calvin Montgomery
ff3ececc36
Copy utils from cytube-common and remove dep
...
The `cytube-common` module was created as part of a now-defunct
experiment and since then has just remained a crufty container for a few
utils. Moved the utils to the main repo and removed the dependency.
2017-07-19 20:47:02 -07:00
Calvin Montgomery
e780e7dadb
Deprecate stats table in favor of prometheus integration
2017-07-17 21:58:58 -07:00