-
-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(groups/profiles): add links section #734
base: master
Are you sure you want to change the base?
Conversation
This is similar to the links that are in the original VK, but unlike the original, links can be not only the group but also the page (Linktree moment).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
хотя это больше не LGTM, а utACK (untested acknowledgment, согласен, узнал, но не тестил) |
Есть предложения? |
Добавить небольшой метод use Satori\cURL;
function open_curl(string $url): cURL {
$curl = (new cURL)->url($url)->retry(2)->timeout(2)->header(["User-Agent" => "mozilla/5.0 (compatible; OpenVkCrawler-TechPreview/1.0 +https://$instanceHost/about_crawl)"]);
if(...proxy...)
$curl->proxy("socks5://$proxy");
return $curl;
} |
А на сколько долго лучше держать кеш в бд? Хранить ли его в бд для событий или в обычной? |
Держать до распада Китая в обычной |
Но заголовок же могут поменять до распада Китая |
есть идеи получше? |
Можно держать кеш неделю, а заголовки ссылок в уже существующих сущностях до распада США |
Мне кажется это сильно повлияет на производительность открытия страницы с кучей ссылок. |
Временный кеш использовать можно только при создании новых сущностей, на открытие страниц это не должно тогда повлиять |
Но тогда базу прийдётся засирать. Не проще ли тогда обновлять для всех постов? |
Тогда весь сохраненный кеш придётся обновлять каждую неделю, а не только при создании сущности (а ведь кеша может быть очень много). Я вообще изначально понял предложение ввести кеш, как то что я описал выше (кеш находится в отдельной таблице и используется только при создании ссылок или постов). Но похоже ты имел ввиду то что нужно просто не запрашивать заголовок при каждой загрузке списка |
А может давайте добавление/просмотр ссылок в AJAX-формате? =)) |
Определение заголовка и иконки ссылки будет конечно же в AJAX. А вот все остальное думаю можно и потом) |
a9d021b
to
cbec4b5
Compare
e198aff
to
2db815d
Compare
e198aff
to
2db815d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
мне нрав
а че когда допил |
Это подобие ссылок которые есть в оригинальном ВК, но в отличии от оригинала, ссылки могут быть не только у группы а и у станицы (Linktree moment).
Первые 5 ссылок отображаются в блоке в самой группе или странице. Остальные ссылки доступны на отдельной страницы.
Ссылки могут иметь заголовок, иконку и описание. Иконка и описание не обязательны, если описание не указано вместо него отображается домен ссылки.
Что ещё нужно сделать
В оригинальном ВК есть автоопределение заголовка и иконки ссылки. Для этого сервер запрашивает ссылку и парсит HTML. Делать такое на клиенте нельзя из-за ограничений CORS.
Такое можно повторить и в OpenVK, но в таком случае будет легко узнать настоящий IP сервера.
Думаю что это можно решить следующими способами:
Я не знаю что лучше делать с этим. Кстати, решение этого поможет для реализации импорта RSS (#437) и предпросмотра ссылок в постах
Также нужно найти или сделать стандартную иконку для ссылок, так как использование силуэта Даниеля Мысливетса будет путать людей, учитывая что они отображаются в блоке.
Закрывает #582 и #421