
The image is something I've never encountered before. Can anyone explain this please?
I'm seeing the same on my server, it worked a couple minutes ago, and it suddenly stopped working. probably some changes on the youtube end
Same here.
It has happened for me for more than an hour.
I'm seeing different values, doesn't seem to depend on the video, just random offsets (some of them very high even). Among the highest values is 178204.
youtube-dl and NewPipe seem to be not affected by this change. Maybe just a small change is required to fix this.
seems that youtube have broken it, having the same issue on my residential IP.
By the way, it seems like it's been confirmed more than enough that there is an issue. Let's not post any more "doesn't work for me" that don't add new information, folks. That's what the emoji stuff is in the original post. The team can then focus on bug fixing.
What team? Omar Roth is the only guy working on it (I think?).
https://github.com/omarroth/invidious/graphs/contributors?from=2019-12-31&to=2020-06-15&type=c
That's indeed a matter worthy of discussion. But you should open another issue so both discussions stay on track.
@scharmach Do you mean NewPipe is also broken for you?
What I meant in my message is that if another alternative way to access YouTube work, it's a valuable example to fix Invidious.
See above, @TheAssassin already commented on this and the issue you've linked now is already linked here. This is your fourth comment in a row in this issue.
edit: non relevant message deleted
I think I know why, they probably dropped old design, aka polymer that Invidious is using. I can't get old design by adding &disable_polymer=1 or &app=desktop in url bar, it was working before.
NewPipe is fine, we switched to the new design in march (when they announced to drop support for old design).
I've tested v0.18.2 (last version with old design), it's pretty much like invidious: trending is working, search is broken, we can't get metadata (uploader picture, description, upload date…) on a video, but we can watch the video without problem, as with the main instance.
I think I know why, they probably dropped support for old design, aka polymer that invidious is using. I can't get old design by adding
&disable_polymer=1or&app=desktopin url bar, it was working before.
Grr, they did. 😢
See reddit discussion: https://old.reddit.com/h9kpbp/?sort=top
I'm not sure if this helps, but I recently ported newpipe extractor to rust to be used on web as webassembly and on desktop with quickjs.
It can be found here rusty_pipe noquickjs branch and it seems to be working fine. It can be treated as an example to move to newdesign if move is going to be based on newpipe
There is also a work in progress frontend available like invidio.us at rustypipe.deepraven.co (extraction is done on client side so it's much slower than invidious)
Should be fixed with 1eca969cf6b4096789014619285c98d1def40ee3.
I can confirm that it has been fixed.
I would love to test it, but the Docker build is broken. Alpine doesn't ship crystal 0.35.0 yet. That's rather annoying right now, as I can't test the fix unfortunately. See https://pkgs.alpinelinux.org/package/edge/community/x86_64/crystal. Is there any easy way to work around? Otherwise, us Docker users probably just have to wait until Alpine has got to build the latest version.
It might be viable to build crystal yourself in Docker if you really need to live on the "bleeding edge", I guess.
at this time you could build with, say arch, and just copy the binary over
as long as you build static binary it should work
didn't work for me
I'm using crystal 0.35 and I did the shards upgrade and install which uses these dependencies
Using pg (0.21.1)
Using sqlite3 (0.16.0)
Using kemal (0.26.1 at a8c0f09b858162bd13c96663febef5527b322a32)
Using pool (0.2.3)
Using protodec (0.1.3)
Using lsquic (0.1.9 at 5261034c0daa83e3062cd6e284ac3fdc5520b188)
Using db (0.9.0)
Using radix (0.3.9)
Using kilt (0.4.0)
Using exception_page (0.1.4)
but when I do crystal build src/invidious.cr --release it shows this
Warning: Zlib is deprecated, use Compress::Zlib
Showing last frame. Use --error-trace for full trace.
In lib/kemal/src/kemal/helpers/helpers.cr:143:7
143 | Gzip::Writer.open(env.response) do |deflate|
^
Error: undefined constant Gzip::Writer
I know it has to do with this bug,
https://github.com/kemalcr/kemal/issues/574
but the shard.lock ponts to the commit that solves the kemal bug and still gives the error
@diazepan Try pulling master. It was resovled in a recent commit https://github.com/omarroth/invidious/commit/d30a972a909e66d963ee953349fe045a1d9a41ee
"Looks like you've found a bug in Invidious. Feel free to open a new issue here or send an email to [provider email] " from the Invidio.us instance.
I was trying to open a songwriter topic.
here's a Dockerfile based on arch that currently works for me. (ipv6 is not working, just in case if you use that)
FROM archlinux/base
WORKDIR /invidious
RUN pacman -Sy --noconfirm base-devel shards crystal librsvg
COPY ./shard.yml ./shard.yml
RUN shards update && shards install && \
curl -Lo ./lib/lsquic/src/lsquic/ext/liblsquic.a https://omar.yt/lsquic/liblsquic.a
COPY ./src/ ./src/
COPY ./.git/ ./.git/
RUN crystal build ./src/invidious.cr --release
RUN useradd invidious
COPY ./assets/ ./assets/
COPY --chown=invidious ./config/config.yml ./config/config.yml
RUN sed -i 's/host: \(127.0.0.1\|localhost\)/host: postgres/' config/config.yml
COPY ./config/sql/ ./config/sql/
COPY ./locales/ ./locales/
USER invidious
CMD [ "/invidious/invidious" ]
@diazepan Try pulling master. It was resovled in a recent commit d30a972
In the end I cleaned all the folder, did a git clone and this time could compile
Why can't we use the official crystal image as base?
ipv6 is not working
So Arch is also totally broken with new network tech.
I did a PR which fixes the Dockerfile https://github.com/omarroth/invidious/pull/1247
Also I still receive errors and videos are not loaing.
2020-06-16T09:45:36.658750170Z Exception: unknown result set attribute: title (DB::MappingException)
2020-06-16T09:45:36.658786779Z from src/invidious/videos.cr:752:3 in 'initialize'
2020-06-16T09:45:36.658813286Z from src/invidious/videos.cr:752:3 in 'new'
2020-06-16T09:45:36.658817415Z from lib/db/src/db/result_set.cr:74:7 in 'read'
2020-06-16T09:45:36.658821099Z from lib/db/src/db/query_methods.cr:202:9 in 'query_one?:as'
2020-06-16T09:45:36.658824718Z from src/invidious/videos.cr:911:15 in 'get_video'
2020-06-16T09:45:36.658828390Z from src/invidious/videos.cr:910:1 in 'get_video:region'
2020-06-16T09:45:36.658832106Z from src/invidious.cr:5295:11 in '->'
2020-06-16T09:45:36.658836167Z from ../usr/share/crystal/src/primitives.cr:255:3 in '->'
2020-06-16T09:45:36.658839892Z from ../usr/share/crystal/src/primitives.cr:255:3 in 'process_request'
2020-06-16T09:45:36.658843550Z from lib/kemal/src/kemal/route_handler.cr:17:7 in 'call'
2020-06-16T09:45:36.658847203Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.658851051Z from lib/kemal/src/kemal/websocket_handler.cr:13:14 in 'call'
2020-06-16T09:45:36.658854895Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.658858498Z from lib/kemal/src/kemal/filter_handler.cr:21:7 in 'call'
2020-06-16T09:45:36.658862134Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.658865967Z from src/invidious/helpers/handlers.cr:212:5 in 'call'
2020-06-16T09:45:36.658869615Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.658882908Z from src/invidious/helpers/handlers.cr:94:12 in 'call'
2020-06-16T09:45:36.658886495Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.658890164Z from src/invidious/helpers/handlers.cr:145:12 in 'call'
2020-06-16T09:45:36.658893919Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.658897729Z from src/invidious/helpers/handlers.cr:70:5 in 'call'
2020-06-16T09:45:36.658901301Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.658905389Z from src/invidious/helpers/static_file_handler.cr:189:11 in 'call'
2020-06-16T09:45:36.658908920Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.658912487Z from lib/kemal/src/kemal/exception_handler.cr:8:7 in 'call'
2020-06-16T09:45:36.658916082Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.658919629Z from src/invidious/helpers/logger.cr:16:5 in 'call'
2020-06-16T09:45:36.658923225Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.658926922Z from lib/kemal/src/kemal/init_handler.cr:12:7 in 'call'
2020-06-16T09:45:36.658931487Z from ../usr/share/crystal/src/http/server/request_processor.cr:50:11 in 'process'
2020-06-16T09:45:36.658938701Z from ../usr/share/crystal/src/http/server.cr:513:5 in 'handle_client'
2020-06-16T09:45:36.658942426Z from ../usr/share/crystal/src/http/server.cr:468:13 in '->'
2020-06-16T09:45:36.658946084Z from ../usr/share/crystal/src/primitives.cr:255:3 in 'run'
2020-06-16T09:45:36.658949651Z from ../usr/share/crystal/src/fiber.cr:92:34 in '->'
2020-06-16T09:45:36.658953174Z from ???
2020-06-16T09:45:36.658966040Z
2020-06-16T09:45:36.658969454Z 2020-06-16T09:45:36.658735Z ERROR - http.server: Unhandled exception on HTTP::Handler
2020-06-16T09:45:36.658973257Z Missing hash key: "preferences" (KeyError)
2020-06-16T09:45:36.667293278Z from ../usr/share/crystal/src/hash.cr:1027:11 in '[]'
2020-06-16T09:45:36.667323190Z from lib/kemal/src/kemal/ext/context.cr:51:7 in 'get'
2020-06-16T09:45:36.667326346Z from src/invidious/views/template.ecr:2:17 in '->'
2020-06-16T09:45:36.667329044Z from ../usr/share/crystal/src/primitives.cr:255:3 in '->'
2020-06-16T09:45:36.667331437Z from ../usr/share/crystal/src/primitives.cr:255:3 in 'call_exception_with_status_code'
2020-06-16T09:45:36.667333763Z from lib/kemal/src/kemal/exception_handler.cr:15:14 in 'call'
2020-06-16T09:45:36.667336079Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.667338357Z from src/invidious/helpers/logger.cr:16:5 in 'call'
2020-06-16T09:45:36.667340605Z from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
2020-06-16T09:45:36.667342938Z from lib/kemal/src/kemal/init_handler.cr:12:7 in 'call'
2020-06-16T09:45:36.667345220Z from ../usr/share/crystal/src/http/server/request_processor.cr:50:11 in 'process'
2020-06-16T09:45:36.667347502Z from ../usr/share/crystal/src/http/server.cr:513:5 in 'handle_client'
2020-06-16T09:45:36.667349732Z from ../usr/share/crystal/src/http/server.cr:468:13 in '->'
2020-06-16T09:45:36.667351953Z from ../usr/share/crystal/src/primitives.cr:255:3 in 'run'
2020-06-16T09:45:36.667354401Z from ../usr/share/crystal/src/fiber.cr:92:34 in '->'
2020-06-16T09:45:36.667357046Z from ???
2020-06-16T09:45:36.667359264Z
So Arch is also totally broken with new network tech.
na, it's docker that's being the troubling kid, their ipv6 support is horrible
plain alpine image was much smaller, and I think this time it's causing trouble because of breaking change in 0.35 and this new polymer thing happened together, otherwise waiting for alpine to update wouldn't be such a big deal.
about the errors, are you using a fresh build?
their ipv6 support is horrible
Oh, forgot about that. You are right with this one.
about the errors, are you using a fresh build?
I built my PR so I the image should be fresh.
Edit: Now it works. Strange... I did not change anything.
But I noticed that my trending page is empty and nothing loads. Really wanky today.
Thanks @SuperSandro2000 for the PR, it works well that way, seems like a good idea to simply use the pre-built crystal images.
I see unknown result set attribute: title all the time when trying to access any video page. Is that just me? Does it work normally for you again?
I have/had the same issue. I already posted a log above. It went away after a while but I am not sure why cause I didn't change anything. Maybe the YouTube server are a bit wanky today.
I had this problem yesterday on my personal invidious instance. I didn't update my it at all and it started working again today.
YouTube must've changed something.
I can't import my subscriptions from youtube anymore. Nothing happens after having uploaded the file in invidious.
Does anybody else realize how laggy all instances are after the patch? I've seen that its quite laggy. Or every video has that error code as well
Edit: also there are a lot of error's popping up whenever I try to watch a video as well. I'm not sure why but its on every instance
@iAmNoVa-UXX cannot confirm that, mine is pretty responsive... but returns errors all the time.
Short excerpt (it's the same errors all the time):
invidious_1 | 2020-06-16T23:31:43.773492Z ERROR - http.server: Unhandled exception on HTTP::Handler
invidious_1 | Missing hash key: "preferences" (KeyError)
invidious_1 | from ../usr/share/crystal/src/hash.cr:1027:11 in '[]'
invidious_1 | from lib/kemal/src/kemal/ext/context.cr:51:7 in 'get'
invidious_1 | from src/invidious/views/template.ecr:2:17 in '->'
invidious_1 | from ../usr/share/crystal/src/primitives.cr:255:3 in '->'
invidious_1 | from ../usr/share/crystal/src/primitives.cr:255:3 in 'call_exception_with_status_code'
invidious_1 | from lib/kemal/src/kemal/exception_handler.cr:15:14 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from src/invidious/helpers/logger.cr:16:5 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from lib/kemal/src/kemal/init_handler.cr:12:7 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/request_processor.cr:50:11 in 'process'
invidious_1 | from ../usr/share/crystal/src/http/server.cr:513:5 in 'handle_client'
invidious_1 | from ../usr/share/crystal/src/http/server.cr:468:13 in '->'
invidious_1 | from ../usr/share/crystal/src/primitives.cr:255:3 in 'run'
invidious_1 | from ../usr/share/crystal/src/fiber.cr:92:34 in '->'
invidious_1 | from ???
invidious_1 |
invidious_1 | Exception: unknown result set attribute: title (DB::MappingException)
invidious_1 | from src/invidious/videos.cr:752:3 in 'initialize'
invidious_1 | from src/invidious/videos.cr:752:3 in 'new'
invidious_1 | from lib/db/src/db/result_set.cr:74:7 in 'read'
invidious_1 | from lib/db/src/db/query_methods.cr:202:9 in 'query_one?:as'
invidious_1 | from src/invidious/videos.cr:914:15 in 'get_video'
invidious_1 | from src/invidious/videos.cr:913:1 in 'get_video:region'
invidious_1 | from src/invidious.cr:5295:11 in '->'
invidious_1 | from ../usr/share/crystal/src/primitives.cr:255:3 in '->'
invidious_1 | from ../usr/share/crystal/src/primitives.cr:255:3 in 'process_request'
invidious_1 | from lib/kemal/src/kemal/route_handler.cr:17:7 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from lib/kemal/src/kemal/websocket_handler.cr:13:14 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from lib/kemal/src/kemal/filter_handler.cr:21:7 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from src/invidious/helpers/handlers.cr:212:5 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from src/invidious/helpers/handlers.cr:94:12 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from src/invidious/helpers/handlers.cr:145:12 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from src/invidious/helpers/handlers.cr:70:5 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from src/invidious/helpers/static_file_handler.cr:189:11 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from lib/kemal/src/kemal/exception_handler.cr:8:7 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from src/invidious/helpers/logger.cr:16:5 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/handler.cr:28:7 in 'call_next'
invidious_1 | from lib/kemal/src/kemal/init_handler.cr:12:7 in 'call'
invidious_1 | from ../usr/share/crystal/src/http/server/request_processor.cr:50:11 in 'process'
invidious_1 | from ../usr/share/crystal/src/http/server.cr:513:5 in 'handle_client'
invidious_1 | from ../usr/share/crystal/src/http/server.cr:468:13 in '->'
invidious_1 | from ../usr/share/crystal/src/primitives.cr:255:3 in 'run'
invidious_1 | from ../usr/share/crystal/src/fiber.cr:92:34 in '->'
invidious_1 | from ???
Using latest git master, with the fixed Docker setup. My own instance hasn't been working ever since this YouTube change.
@TheAssassin
Check that you've run migrate-db-1eca969.sh in your docker container. You can alternatively set check_tables: true in your config, which should make the necessary changes automatically.
D'oh! I haven't run any scripts nor have that option set. Docker containers usually handle migrations automatically.
I don't use any persistent storage features (private evaluation instance), so I could just as well have removed all data and started over. I would really recommend to add this config to the default docker-compose.yml. It's not really obvious, especially since most other Docker software just handles this automatically.
Anyway, just set the config, doesn't work, back to the Unexpected char 's' at 1:1. I don't see the script in the Docker container. So I went the cheap way, removed all data and stuff, and it just works fine again.
Thanks @omarroth for the tip!
You can alternatively set
check_tables: truein your config, which should make the necessary changes automatically.
Exactly what I was looking for. Docker should apply that by default.
I created #1254 to change the default behavior.
Also I noticed while doing this that the tables I dropped in the migration where dropped again. I probably tried dropping them from the wrong database or something similar.
So I went the cheap way, removed all data and stuff, and it just works fine again.
The check_tables: true didn't work for me either, I've to went in the postgres and purge the videos table to get around: Unexpected char 's' at 1:1, as follows:
docker-compose exec postgres sh
# psql -U kemal -d invidious
invidious=> truncate table videos;
Then immediately without any further restart it magically works again!

huh?
same thing happened to me
@omarroth
Requesting merge of fix to API-Only branch.
i am actually running 0.20.1-1f43552 @ master (as invidio.us) but I cannot play any media (The media could not be loaded, either because the server or network failed or because the format is not supported.) though invidio.us is able to play. What can be the difference?
hm, looks like check_tables: true - works again...

Uh? What? I'm watching the video...but...what?

@omarroth I'm confused on this one. I'm already signed in which is the odd part.
@omarroth I'm confused on this one. I'm already signed in which is the odd part.
It's a message that Invidious transferred from the actual YouTube website and not generated by Indivious itself.
@unixfox yep, exactly that. IMO Invidious should communicate this more clearly. It's sometimes not easy to differentiate between errors in Invidious and ones it just forwards.
Most helpful comment
Should be fixed with 1eca969cf6b4096789014619285c98d1def40ee3.