С момента последнего поста были доработаны:
возможность ответов с цитированием + адаптивность текстовых полей в мессенджере;
скрытие приватной переписки при смене/сбросе ключей аккаунта;
оптимизация в части более удобного использования мессенджера на смартфонах;
исправлена ошибка при загрузке фотографий с компьютера;
отображение отказа от выплат из общего пула по постам, суммы запланированного понижения СГ, пометка в кошельке об ордерах в паре GOLOS-GBG...
Добавлены всплывающие уведомления о различных действиях пользователей, опции что именно показывать доступны в настройках профиля:
За значки спасибо @smotritelmayaka
Уведомления по новым постам подписок в ленте, страница упоминаний @ника и всплывающих сообщений по ордерам на внутренней бирже станут доступны после ХФ, который планируется в сентябре (подробнее здесь).
Golos Notify
Воркером @aerostorm1 был существенно доработан сервис уведомлений, подробнее на https://github.com/golos-blockchain/golosnotify
- основная часть переписана с Python на JS
- базы данных Tarantool обновлена до актуальной версии
- появилось базовое API
- добавлены статусы ошибок и другие мелочи
- отдельные E2E тесты на Cypress
При end-to-end тестировании компьютер максимально близко к реальности эмулирует поведение пользователя (тесты как из браузера).
С помощью Golos Notify также была оптимизирована скорость работы мессенджера.
Обновление JS-библиотеки
Обновлена документация по мессенджеру
https://github.com/golos-blockchain/golos-js/blob/0.8.6/doc/README.md#replying, дополнены отдельные тесты.
Кроме того, экспериментально добавлена возможность стриминга операций БЧ. Может когда-то уйдем от дерганья get_block :)
Подробнее о Streaming Events https://github.com/golos-blockchain/golos-lib-js/blob/0.8.6/doc/README.md#streaming-events, заметка по golos.api.callReliable
здесь.
@lex, Крутые методы! Благодарю.
@denis-skripnik, ты про стриминг? Попробуй как будет время, это пока тестовый вариант, возможно оптимальнее получится сделать...
Ага. Попробую.
P. S. Мою версию с reputation методом пробовали? Я же делал вариант без перевода в int. Но не знаю, получилось ли...
@denis-skripnik, нет, но попрошу воркера взглянуть.
Хорошо. Благодарю.
P. S. Можно и второй параметр добавить, указывающий на кол-во символов после запятой, если удастся
@denis-skripnik, кол-во ты же можешь сам ограничить
воркер добавил параметр, чтобы отдавало и с дробной частью
https://github.com/golos-blockchain/golos-lib-js/tree/0.8.7/doc#reputation
Отлично. Благодарю.
@lex,
Я посмотрел код, там же вроде внутри так и дергается getBlock. Все эти стриминговые операции просто обертка вокруг get_block
@bitwheeze, это пока, после ХФ будет иначе
@lex, посмотрел event plugin, возник вопрос, он вообще готов или еще в разработке? Меня смутило к примеру это
получается плагин только во время синхронизации будет делать запись евентов, если я правильно это проверку интерпретировал. Хотя я в С++ вообще ничего не понимаю, возможно ошибаюсь.
Плюс один метод пустой.
Може ненужный, сначала наверное задумывалось писать эвенты в какую нибудь очередь, а потом передумали?
Я правильно понял, что этот плагин будет записывать эвенты (операции) в базе, по аналогии с account_history, и потом по аналогии с get_ops_in_block отдавать? Только отдавать через типа stream block метод?
Я думал, что как раз этот пустой send_event метод будет слать эвенты в очередь (к примеру через redis), даже во время синхронизации. А приемник будет уже из этих эвентов наполнять базу данных, или отдавать их по https.
А получается тот же get_block или get_ops_in_block только подругому. Я может конечно не понял скорее всего задумки, но имхо это ничего не принест, в таком виде.
@bitwheeze, пока в процессе, но почти всё что было запланировано уже есть. Некоторые моменты остались.
Во время синхронизации как раз нет, после синка/реплея плагин и будет отдавать данные, и да в основе его operation_history (только с "защитой от дублей" и поддержкой виртуальных к обычным операциям, а не только из ядра).
Напр. нам они были нужны чтобы отказаться от каллбеков в мессенджере, не дергать ноду перепроверками о пользовательских подписках, уведомлений о выполненных ордерах на бирже и пр., заменив ивентами (ну и оптимизируя в блогах/форумах и нотифае). В том же Golos Notify со временем добавить отдачу любых операций, чтобы не дергать клиентам где возможно.
Ну и в обертку стриминга (обрастет опциями) после ХФ пойдет этот плагин, чтобы отдавались все операции. Вероятно и некоторые результаты фиксировать по ивентам в тарантул, типа балансов акков, так как есть боты нагружающие пабликноды сотней тысяч запросов (подобное снялось бы БД с актуальной инфой).
Пустой метод на вырост, туда пойдет тарантул/редис или натс.
@lex, о, спасибо! некоторые изменения давно заметила.
О каких ошибках при загрузке фото речь?
@oliko, при вставке нескольких фото подряд с устройства (не ссылками), некоторые не грузились...
@lex, хорошо, что решилось.
"тяжёлые", "объёмные" фото не грузит, грит, ошибка. Но я понимаю почему. Загружаю на Имгур и потом сюда.
А нельзя какой-нибудь фотохостинг интегрировать в Голос (если не ошибаюсь, такое есть на Стимит), или это наказуемо, дорого, несусветная чушь (нужное выбрать)?
@oliko, А зачем вообще грузить на Голос тяжелые и объемные фото? Неужели так сложно их ужать до удобоваримого размера?
Проблема ведь не только в том что они не хотят аплоадиться, проблема еще в том, как они будут открываться у пользователей. Далеко не у всех пользователей 10-гигабитное оптоволокно, многие вообще Голос с мобильного юзают, а некоторые еще и из мест где нету 3G и работает только GPRS, на котором картинка весом в 3-5 Мб будет открываться вечность.
@leva64, как минимум для удобства, условно поднять лимит с 1 до 10 мб (что хватит почти всем), грузить и уменьшать/хранить как нам надо, сняв влияние размера на скорость отдачи. Зато не нужно отправлять пользователей куда-то с их большими фото...
У нас уже есть база под это, просто нужна защита и лимиты в привязке к аккаунтам + на сервак допдиски с рейдом доб.
@lex, Ну я в любом случае буду постить в сжатом виде и буду советовать это дургим юзерам. Кому надо в 4К - пожалуйста в личку 😊
@leva64, 😂 ты забываешь про тех кто хотел бы снятое фото с телефона сразу бросить, или нет времени/опыта уменьшать фото где-то.
Понятно что и на смарты есть проги, и сайты типа https://imgur.com, https://postimages.org...
@lex, может ориентироваться не на размер файла,а на разрешение фото? Загружать фото любого размера , конвертировать в 640х480 и в этом виде уже сохранять в базу.
Все файлы будут однотипными. Занимать мало места, в превью открываться однообразно...
@leva64, в личке проведут разъяснительную беседу? ))
@lex, я уже не одну такую беседу провела. Многие обращаются в проблемой, почему картинка не заливается на Голос. Обычно объясняю почему, напоминаю что фотохостинг для юзеров Голоса бесплатен и поэтому относиться к нему надо бережно. Ну и еще советую пост, который в закрепе этого блога с которого пишу, а для тех кто не умеет пользоваться фоторедакторами, есть очень простой и быстрый способ сжать картинку - отправив ее в Телеграм. Например в чат "Избранное". Копируешь картинку, переходишь в телегу, делаешь CTRL-V, телеграм спрашивает нужно ли ее сжимать. Оставляешь флажок, и потом уже из телеграма копируешь и вставляешь в голос. после 2-3 попыток набивается рука и процедура занимает пару секунд, а фото по весу уменьшается раз в 7-8 почти без потери качества
@oliko, у нас тоже используется Имгур, только ограничение в 1 Мб.
Интегрировать можно, только это $ и лимиты, кто-то скушает лимиты ("поклонников" Голоса же хватает) и опять $, значит лучше своё. Базу под это мы уже занесли в одной из предыдущих заявок, а вот отдельный сервер чтобы обрабатывать большие и хранить уменьшенные, ещё нет 😂 Но это в планах.
@lex, всё упирается в финансы, да, я поняла. 😊