]>
git.gir.st - subscriptionfeed.git/log
girst [Tue, 21 Jul 2020 12:48:55 +0000 (14:48 +0200)]
improve default subtitle handling
was broken when autogenerated was available, due to sorted()
girst [Tue, 21 Jul 2020 10:53:27 +0000 (12:53 +0200)]
make webhook a blueprint/standalone-hybrid
girst [Tue, 21 Jul 2020 10:09:30 +0000 (12:09 +0200)]
create example blueprint to demo ease of extenability
girst [Tue, 21 Jul 2020 09:43:27 +0000 (11:43 +0200)]
add raw video id enpoint; make fallback_route return 404 if none available
also fix small usage error of fallback_route
girst [Tue, 21 Jul 2020 09:21:53 +0000 (11:21 +0200)]
move main (non-translation) subtitles to the first slot
girst [Mon, 20 Jul 2020 15:55:30 +0000 (17:55 +0200)]
awful hack to align last row of cards
girst [Mon, 20 Jul 2020 15:34:48 +0000 (17:34 +0200)]
more useful date formatting
girst [Mon, 20 Jul 2020 11:30:45 +0000 (13:30 +0200)]
Revert "use all muxed stream sources" for breaking edge-cases
specifically, geolocked video handling
This reverts commit
e38be6698b853bcdeccfb2f664a276b6f669e4b4 .
girst [Sun, 19 Jul 2020 18:46:51 +0000 (20:46 +0200)]
add subscribe button to channel page (TODO:invidious)
girst [Sun, 19 Jul 2020 18:18:14 +0000 (20:18 +0200)]
redirect /embedded to /watch
for invidition compat
girst [Sat, 18 Jul 2020 22:31:00 +0000 (00:31 +0200)]
update overview diagram
girst [Sat, 18 Jul 2020 17:16:39 +0000 (19:16 +0200)]
move test instance to subscriptions.gir.st:443
girst [Sat, 18 Jul 2020 15:57:57 +0000 (17:57 +0200)]
fix route fallback for /user (which has none)
girst [Sat, 18 Jul 2020 15:46:57 +0000 (17:46 +0200)]
clean up sub* managers
girst [Sat, 18 Jul 2020 15:31:17 +0000 (17:31 +0200)]
remove useless whitespace from emoji_link
girst [Sat, 18 Jul 2020 15:29:33 +0000 (17:29 +0200)]
remove now-unused reddit tables
girst [Sat, 18 Jul 2020 15:29:01 +0000 (17:29 +0200)]
reddit: use emoji abstractions, pin to subscriptions instead
girst [Sat, 18 Jul 2020 14:54:15 +0000 (16:54 +0200)]
abstract emoji buttons/links
girst [Sat, 18 Jul 2020 13:38:04 +0000 (15:38 +0200)]
allow (un)pinning and (un)subscribing on /watch
pinning also works now for videos yet not in the database
girst [Sat, 18 Jul 2020 13:33:15 +0000 (15:33 +0200)]
use all muxed stream sources
might allow falling back when a stream is broken
girst [Fri, 17 Jul 2020 21:22:10 +0000 (23:22 +0200)]
proxy and fixup subtitles
proxying is necessary, because youtube doesn't send CORS headers. we
don't either, since we expect the consumer of the timedtext-proxy to
only be us ourselves. if someone wants to use it externally (e.g. as an
api), they'd have to add cors headers.
thanks goes out to perflyst[m] on #invidious for checking that
youtube's timedtext endpoint is "safe" for us to use.
girst [Fri, 17 Jul 2020 16:15:06 +0000 (18:15 +0200)]
paper over reddit exceptions
this may return a html-response with tracking-javascript (e.g. "Our CDN
was unable to reach our servers")!
girst [Fri, 17 Jul 2020 16:08:12 +0000 (18:08 +0200)]
prioritize channel name element's width over details element's
girst [Fri, 17 Jul 2020 16:00:39 +0000 (18:00 +0200)]
webhook: only ask get_video_info if necessary (REVERTME)
maybe revert later to get more useful info from g_v_i (e.g. livestream
start date) to display on /feed/subscriptions
girst [Fri, 17 Jul 2020 15:59:38 +0000 (17:59 +0200)]
/watch: trim time from published date
girst [Fri, 17 Jul 2020 11:34:10 +0000 (13:34 +0200)]
return bytes (not str) from fetch_xml()
broke pull-subs logging when it choked on an unrelated error
Traceback (most recent call last):
File "/opt/yt/app/common/utils.py", line 151, in <module>
pull_subscriptions(verbosity, force, limit)
File "/opt/yt/app/common/utils.py", line 44, in pull_subscriptions
pull_feed(feed_id, feed_type, conn, verbose)
File "/opt/yt/app/common/utils.py", line 67, in pull_feed
f.write(xmlfeed + b"\n")
TypeError: must be str, not bytes
girst [Thu, 16 Jul 2020 22:34:29 +0000 (00:34 +0200)]
fix temporary logging not showing up
girst [Thu, 16 Jul 2020 22:33:29 +0000 (00:33 +0200)]
fix livestream start time metadata
not exactly sure where this came up due to insufficient logging :/
girst [Mon, 13 Jul 2020 13:41:01 +0000 (15:41 +0200)]
run websub more often
given that we only update channels that will run out in less than 12
hours, but only check every 24 hours, some channels will expire for up
to 12h per week. checking more often will also spread out the updates,
making the cronjob to finish faster.
girst [Mon, 13 Jul 2020 13:24:43 +0000 (15:24 +0200)]
subscription_manager: fix websub expired badge
girst [Mon, 13 Jul 2020 13:06:13 +0000 (15:06 +0200)]
use get_video_info for webhook uploads
girst [Mon, 13 Jul 2020 12:43:39 +0000 (14:43 +0200)]
document non-features, replace outdated 'usage' section
girst [Mon, 13 Jul 2020 12:03:35 +0000 (14:03 +0200)]
collaboratorInfoCardContentRenderer may have no subscriber count
girst [Tue, 30 Jun 2020 13:00:51 +0000 (15:00 +0200)]
fix pinned reddit video comments url
girst [Tue, 30 Jun 2020 11:51:13 +0000 (13:51 +0200)]
fix "available in ... countries"
girst [Sun, 28 Jun 2020 13:25:45 +0000 (15:25 +0200)]
fuck this. doesn't work with verical videos
girst [Sun, 28 Jun 2020 05:38:02 +0000 (07:38 +0200)]
webhooks: enforce signature checking, use channel_id from url path
girst [Sat, 27 Jun 2020 19:42:12 +0000 (21:42 +0200)]
fix /watch cards wrapping
girst [Sat, 27 Jun 2020 19:25:52 +0000 (21:25 +0200)]
use ?next in "log in or sign up" link
girst [Sat, 27 Jun 2020 19:01:58 +0000 (21:01 +0200)]
move upstream repo
gitea is overkill; gitweb works fine.
girst [Wed, 24 Jun 2020 12:01:10 +0000 (14:01 +0200)]
fix websub update being overzealous
updated all channels every day and getting 5 times the updates :|
girst [Tue, 23 Jun 2020 22:05:53 +0000 (00:05 +0200)]
use flexbox for card component
girst [Tue, 23 Jun 2020 20:30:07 +0000 (22:30 +0200)]
cleanup
girst [Tue, 23 Jun 2020 20:26:18 +0000 (22:26 +0200)]
webhook: simplify deleted-entry handling
girst [Mon, 22 Jun 2020 19:48:49 +0000 (21:48 +0200)]
tweak video's object-fit:cover *again*
girst [Mon, 22 Jun 2020 19:46:41 +0000 (21:46 +0200)]
add functional overview (preliminary)
girst [Fri, 19 Jun 2020 16:50:58 +0000 (18:50 +0200)]
implement websub hmac verification (not yet enforced)
only enforcing this once all current websub-subscriptions have expired
girst [Fri, 19 Jun 2020 15:01:37 +0000 (17:01 +0200)]
fix requests debugging if not within flask
girst [Fri, 19 Jun 2020 02:38:39 +0000 (04:38 +0200)]
fixup 72b1f8
girst [Wed, 17 Jun 2020 14:32:18 +0000 (16:32 +0200)]
fix exception and bad syntax
girst [Tue, 16 Jun 2020 16:17:46 +0000 (18:17 +0200)]
allow pinning and hiding reddit posts
girst [Tue, 16 Jun 2020 16:16:58 +0000 (18:16 +0200)]
don't assume video_id == post_id
girst [Tue, 16 Jun 2020 14:22:14 +0000 (16:22 +0200)]
split fetch_reddit into fetching and parsing blocks
girst [Tue, 16 Jun 2020 14:17:56 +0000 (16:17 +0200)]
token auth: don't 500 if user doesn't exist
girst [Tue, 16 Jun 2020 11:18:05 +0000 (13:18 +0200)]
load initial channel page ourselves
*way* faster
girst [Tue, 16 Jun 2020 11:08:53 +0000 (13:08 +0200)]
sometime playabilityStatus will have a messages array instead of a reason
girst [Mon, 15 Jun 2020 19:14:23 +0000 (21:14 +0200)]
implement shadowing invidious routes
girst [Mon, 15 Jun 2020 18:31:58 +0000 (20:31 +0200)]
implement fallback_route()
allows us to override minimalistic youtube routes with better invidious
routes and fall back to the minimalistic ones, if our invidious instance
is blocked.
girst [Mon, 15 Jun 2020 16:53:33 +0000 (18:53 +0200)]
don't double escape reddit submission titles
girst [Mon, 15 Jun 2020 16:46:32 +0000 (18:46 +0200)]
document dynamic blueprint loading
girst [Mon, 15 Jun 2020 16:44:20 +0000 (18:44 +0200)]
make token login persistent
when a user logs in using the ?token= method, we save their session in
a cookie, same as with regular login.
girst [Mon, 15 Jun 2020 16:18:37 +0000 (18:18 +0200)]
move subscription cronjobs into common/utils
in preparation for an eventually implemented job queue approach
girst [Mon, 15 Jun 2020 15:36:18 +0000 (17:36 +0200)]
raise error if config file not found, some comments
girst [Mon, 15 Jun 2020 14:15:02 +0000 (16:15 +0200)]
log api responses on error
girst [Sun, 14 Jun 2020 16:59:43 +0000 (18:59 +0200)]
use "prepared" query strings with requests
girst [Sun, 14 Jun 2020 16:15:53 +0000 (18:15 +0200)]
object-fit:cover for video poster
note that this only works because the video element has the exact
proportions of the video file.
girst [Sun, 14 Jun 2020 14:39:29 +0000 (16:39 +0200)]
/search using invidious api (very ugly)
girst [Sun, 14 Jun 2020 14:38:16 +0000 (16:38 +0200)]
stub out tombstones/deleted-entry support
girst [Sun, 14 Jun 2020 14:31:35 +0000 (16:31 +0200)]
use binary strings for cronjob error logging and other small fixes
girst [Sun, 14 Jun 2020 14:29:31 +0000 (16:29 +0200)]
more TODOs
girst [Sun, 14 Jun 2020 13:50:21 +0000 (15:50 +0200)]
fix metadata on completely unavailable videos
e.g. J2-6srITpKE: has metadata, but no 'availableCountries' key
girst [Sat, 13 Jun 2020 20:41:58 +0000 (22:41 +0200)]
add search bar (no impl yet)
girst [Sat, 13 Jun 2020 20:40:54 +0000 (22:40 +0200)]
fix currently-running livestream detection
girst [Sat, 13 Jun 2020 20:07:22 +0000 (22:07 +0200)]
harmonize layout; headerbar macro
girst [Fri, 12 Jun 2020 19:21:59 +0000 (21:21 +0200)]
rework fetch_reddit() params, support non-hot-ordering (undocumented)
girst [Fri, 12 Jun 2020 18:36:55 +0000 (20:36 +0200)]
fix livestream detection
isPostLiveDvr is not present if False.
girst [Fri, 12 Jun 2020 14:10:29 +0000 (16:10 +0200)]
don't hardcode welcome message for anonymous users
girst [Fri, 12 Jun 2020 13:57:59 +0000 (15:57 +0200)]
reddit footer: show all subscribed subreddits all the time
girst [Fri, 12 Jun 2020 11:18:39 +0000 (13:18 +0200)]
fix webhook error loggin m(
one. job.
girst [Fri, 12 Jun 2020 10:41:53 +0000 (12:41 +0200)]
tweak reddit template
girst [Fri, 12 Jun 2020 10:41:16 +0000 (12:41 +0200)]
temporary fix for utils/ config import
girst [Fri, 12 Jun 2020 10:40:35 +0000 (12:40 +0200)]
fix webhook config import
girst [Fri, 12 Jun 2020 10:39:29 +0000 (12:39 +0200)]
remove /r/ endpoints from youtube blueprint
those shadowed the actual reddit ones
girst [Thu, 11 Jun 2020 18:30:18 +0000 (20:30 +0200)]
remove superfluous imports
girst [Thu, 11 Jun 2020 18:28:07 +0000 (20:28 +0200)]
de-hardcode subreddit footer
girst [Thu, 11 Jun 2020 17:49:23 +0000 (19:49 +0200)]
provide guest user default subscriptions
girst [Thu, 11 Jun 2020 17:45:18 +0000 (19:45 +0200)]
make __main__.py less fragile
girst [Thu, 11 Jun 2020 17:43:02 +0000 (19:43 +0200)]
move youtube templates into blueprint
girst [Thu, 11 Jun 2020 17:49:57 +0000 (19:49 +0200)]
add reddit database tables
girst [Thu, 11 Jun 2020 17:32:58 +0000 (19:32 +0200)]
finish reddit blueprint
girst [Thu, 11 Jun 2020 16:56:22 +0000 (18:56 +0200)]
move reddit to seperate blueprint
needs cleanup
girst [Thu, 11 Jun 2020 12:39:35 +0000 (14:39 +0200)]
name main app 'app' again
stupid import! hardly ever seen such a useless error message
girst [Thu, 11 Jun 2020 12:18:57 +0000 (14:18 +0200)]
split app into blueprints - part 3: login/user module
girst [Thu, 11 Jun 2020 12:18:11 +0000 (14:18 +0200)]
split app into blueprints - part 2: __main__
girst [Thu, 11 Jun 2020 11:58:53 +0000 (13:58 +0200)]
split app into blueprints - part 1
moves everything into the youtube blueprint, except csrf and user
handling. those two will go into a common blueprint later.
girst [Thu, 11 Jun 2020 11:55:41 +0000 (13:55 +0200)]
more TODOs
girst [Thu, 11 Jun 2020 11:01:24 +0000 (13:01 +0200)]
refresh-cipher: enforce 1-row-maximum
girst [Thu, 11 Jun 2020 10:41:33 +0000 (12:41 +0200)]
fix sponsorblock off-by-two
m(
girst [Thu, 11 Jun 2020 10:40:52 +0000 (12:40 +0200)]
improve card handling, better is-livestream, better aspect-detection
girst [Tue, 9 Jun 2020 18:14:28 +0000 (20:14 +0200)]
update INSTALL somewhat