fore.st/src
Calvin Montgomery c152a19624 Ignore library cached metadata when queueing
The use of the channel library as a cache for metadata to avoid
re-requesting metadata for known media is an optimization that dates
back to 1.0.  However, it doesn't have any TTL, is prone to bugs, and is
of dubious value.

This commit ignores the results of the library check when queueing a new
video, opting to always re-request the metadata.  This fixes a few bugs:

  * Google Drive metadata being lost when storing in library
  * Streamable metadata being lost when storing in library
  * Videos in the channel library that are now unavailable on their
    source website being queueable and then failing to play (e.g. deleted
    YouTube videos).

In its place, a small fail-open check is left behind to emit metric
counters on how many queues would have been cache-hits, to provide
insight into whether a proper caching solution (i.e. one not tacked on
top of the library) would be worth pursuing or not.  This will be
removed eventually.
2017-07-15 14:41:37 -07:00
..
channel Ignore library cached metadata when queueing 2017-07-15 14:41:37 -07:00
channel-storage Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
configuration camo: include subdomains of whitelisted domains in whitelist 2017-07-08 20:46:42 -07:00
database Ignore library cached metadata when queueing 2017-07-15 14:41:37 -07:00
db Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
io Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
partition Minor fix 2017-07-09 22:40:09 -07:00
util Handle the case where no socket.io ack exists 2017-03-20 22:09:16 -07:00
web Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
account.js Purge the awful refreshAccount logic 2016-10-03 23:12:22 -07:00
acp.js Deprecate legacy global ban junk 2017-06-05 23:18:20 -07:00
asyncqueue.js package: build with babel for ES2015 support 2015-09-23 19:27:04 -07:00
bgtask.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
camo.js camo: include subdomains of whitelisted domains in whitelist 2017-07-08 20:46:42 -07:00
config.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
counters.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
customembed.js Add HTTPS check for ffmpeg and custom embeds 2017-01-05 20:58:07 -08:00
database.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
errors.js Enforce stricter validation on polls 2017-03-20 21:37:32 -07:00
ffmpeg.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
flags.js Purge the awful refreshAccount logic 2016-10-03 23:12:22 -07:00
get-info.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
google2vtt.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
legacymodule.js Fix 2016-02-09 23:04:07 -08:00
logger.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
media.js Remove html5hack (legacy google drive setting) 2017-07-02 22:30:19 -07:00
poll.js Add timestamps to polls. 2016-07-07 22:56:06 -07:00
server.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
servsock.js Add a service socket to enable out of band access to the process commandline 2016-07-16 11:05:32 -07:00
session.js package: build with babel for ES2015 support 2015-09-23 19:27:04 -07:00
setuid.js Fix uid variable name duplication/ambiguity 2015-12-11 00:20:40 -05:00
switches.js Remove junk from an old abandoned project 2017-07-02 22:35:12 -07:00
tor.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
ullist.js package: build with babel for ES2015 support 2015-09-23 19:27:04 -07:00
user.js Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00
utilities.js Add twitch clip support (#659) 2017-05-27 11:49:43 -07:00
xss.js Support proxying chat images via camo 2017-05-28 19:38:43 -07:00