revoltchat / january Goto Github PK
View Code? Open in Web Editor NEWImage proxy and embed generator.
License: GNU Affero General Public License v3.0
Image proxy and embed generator.
License: GNU Affero General Public License v3.0
Hello,
I try to run a self-hosted revolt server on my rpi4 arm64 but the january container is the only one that does not start correctly.
I have this err: standard_init_linux.go:228: exec user process caused: exec format error
I think it comes from the arm64 arch, however I checked the compatibility on dockerhub before.
you will find attached my compose.
PS: Does this container have something to do with sending e-mail?
I have no other idea where this error came from...
Best regards,
When proxying SVGs (for example) the output content-type is text/plain
which causes them to fail to render in the browser.
Example:
Github Favicon: https://github.githubassets.com/favicons/favicon.svg
Proxy: https://jan.revolt.chat/proxy?url=https%3A%2F%2Fgithub.githubassets.com%2Ffavicons%2Ffavicon.svg
Visit https://jan.revolt.chat/embed?url=https://www.reddit.com/r/FortNiteBR/comments/10o577p/play_a_different_game_for_once_in_your_life/ and expect embed data.
Instead received:
{"type":"FailedToConsumeText"}
Would need to either add a new route or support array of URLs in the query parameters.
I saw that the youtube.com embed was on Dutch. I tested the accept-language header and seems like that will change the language. So it would be a good idea to try to generate the embed with that header. So embeds could be in a international language.
Cannot embed a GitHub issue with very long description: https://jan.revolt.chat/embed?url=https://github.com/revoltchat/backend/issues/239
Should respect the given timestamp in a YouTube URL.
Requires Twitter API access.
Use oEmbed API: https://developer.twitter.com/en/docs/twitter-for-websites/timelines/guides/oembed-api
Relative image URLs in link previews will not display. This also applies to opening those images, it will try to open the relative part (/fumo.jpg
) instead of absolute.
Example: https://sly.ee/
It will try to call https://jan.revolt.chat/proxy?url=/fumo.jpg
instead of https://jan.revolt.chat/proxy?url=https://sly.ee/fumo.jpg
Production (app.revolt.chat)
9be4afe
No response
GET https://jan.revolt.chat/proxy?url=/fumo.jpg [HTTP/3 500 Internal Server Error 84ms]
This issue prevents website icons from appearing in embeds.
Add a maximum file size to proxy.
Seeing this when standing up the janurary container:
/january: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./january
Getting embed data for a Youtube video with a blank description will result in an HTTP 400 error with {"type":"FailedValidation"}
.
Send a request to /embed?url=
with a link to a Youtube video with no description (for example, this video).
Note: For some reason, this issue doesn't occur on jan.revolt.chat. Either this repository isn't up to date with what's being used on revolt.chat, or a package used by January has a breaking change.
Requesting an embed for this video should result in this JSON object:
{
"type": "Website",
"url": "https://www.youtube.com/watch?v=XlO_3OVYkhs",
"original_url": "https://www.youtube.com/watch?v=XlO_3OVYkhs",
"special": {
"type": "YouTube",
"id": "XlO_3OVYkhs"
},
"title": "NSMB Overworld theme but in minor",
"description": "",
"image": {
"url": "https://i.ytimg.com/vi/XlO_3OVYkhs/maxresdefault.jpg",
"width": 1280,
"height": 720,
"size": "Preview"
},
"video": {
"url": "https://www.youtube.com/embed/XlO_3OVYkhs",
"width": 1280,
"height": 720
},
"opengraph_type": "video.other",
"site_name": "YouTube",
"icon_url": "https://www.youtube.com/s/desktop/a3a2ae5f/img/favicon_144x144.png",
"colour": "#FF424F"
}
Requesting an embed for this video results in an HTTP 400 Bad Request error, with this JSON object as the body:
{"type":"FailedValidation"}
cargo tree
(package versions)cargo run
, first requesting /embed with a video that errors and then with a video that works as intendedThese specific cases are happening on Windows 10, but the same issue happens on Ubuntu 20.04.4.
These three lines seem like they might be the cause of the issue:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.