rekcuFniarB / forum-theprodigy-ru

Automatically exported from code.google.com/p/forum-theprodigy-ru
https://forum.theprodigy.ru/#infoCenter
3 stars 1 forks source link

Автоматически блокировать ввод комментариев, если добавление нового комментария физически невозможно, а также показывать в счётчике остатка коррекцию по символам (см детали) #136

Open DJ-ZX opened 5 years ago

DJ-ZX commented 5 years ago

image суть: на снимке условные 70+ символов остались (страница обновлена, данные актуальны), но добавить комментарий не даёт (кстати странно, но скорее всего там доп инфа) две идеи: 1) в статическом счётчике юзеру показывать остаток символов с поправкой на запись в базу сервисной инфы (логин и дата, как я понимаю), то есть вот если там записывается "DJ ZX 13.06.2019 17:21:00 UTC+3" - это 31 символ - показывать юзеру не 10000 (или не 50), а 9969 (или 19) - это не имеет значения в реальном времени, но в длиннотреде - очень даже, проще прикинуть сколько букофф вписать можно 2) если юзер не сможет добавить ни одного символа в пост (то есть в реалтайме посчитать размер сервисной записи для конкретного юзера просто и не требует особо ресурсов, кмк) - тупо при рефреше скрывать форму ввода или дизейблить её (можно даже не про 1 символ считать, а там сразу лимит на чото типа "ок" или размер записи для смайла (я так понимаю это будет минимум 2 символа тоже)

rekcuFniarB commented 5 years ago

Возможно.

а также

А также что?

DJ-ZX commented 5 years ago

обновил пост, был срочный колл, не успел дописать )))

rekcuFniarB commented 5 years ago

на снимке условные 70+ символов остались (страница обновлена, данные актуальны), но добавить комментарий не даёт (кстати странно, но скорее всего там доп инфа)

Пофиксил, там подсчёт неправильно делался, не учитывал некоторые служебные символы. А вообще не вижу смысла показывать настолько подробную служебную инфу, т.к. пользователям она мало о чём говорит, т.к. не в курсе о внутренних технических нюансах. Им понятней было бы в процентах. Но можно сделать проценты с сотыми долями для тех кто в курсе что там 10000 символов и им это о чём-то говорит.

DJ-ZX commented 5 years ago

мне всё таки кажется, что с символами удобнее, они нужны, когда ты хош нафигачить ответ, а видишь - у тя 10 символов, можешь влепить короткий коммент типа "ты хйу" и всё, а если хош больше написать - сразу пойдёшь в пост. 99,41% никак тут не поможет

rekcuFniarB commented 5 years ago

99,41% никак тут не поможет

Так ничего не изменится. Те кто в курсе про внутренние технические нюансы, (по факту человека четыре всего на форуме), для них 99,41% = 9941.

Остальным эта цифра ничего не говорит, т.к. там сколько-то символов уходит на служебную инфу и в 10 "ты хйу" не уложится скорей всего. Я вон сейчас пробовал добавить коммент из одной буквы, там сразу уменьшилось на 30 где-то.

DJ-ZX commented 5 years ago

так я в курсе, если я помню правильно, то там в БД пишется не только само сообщение, а и ник/таймстамп как минимум, в этом же и 1-й пункт состоит, что вычислять их до нажатия кнопки отправить а ещё можно ввести проверку на то или комменты будут объединены? так как я так понимаю если да, то "ник+таймстамп" не пишутся повторно, а по факту сообщение не даст отправить, так как считается всегда полный размер - и если есть мердж и если нет

то есть логика: 1 - открыл страницу с комментом - посчитал или автор предыдущего сообщения тот же, какая длина сервисной инфы (ник-таймстамп-что там ещё?) - вывел в поле ввода цифру без сервисной инфы 2 - нажал кнопку отправить - рефрешнул динамически комменты, если автор последнего тот же и символов только поста достаточно для добавления в бд - добавил коммент и объединил если автор другой, то проверка на полную длину записи и либо ответ "превышен лимит" с обновлением счётчика на странице, либо добавление в бд

мне кажется описалово буквами длиннее чем логика проверок ))) так как считать длину сервисной информации для юзера можно ваще всегда, а потом только по условию учитывать её или нет

rekcuFniarB commented 5 years ago

Да, как-то так.

а ещё можно ввести проверку на то или комменты будут объединены?

До того как отправишь нельзя точно проверить, т.к. пока ты писал там уже могли другие пользователи оставить комментов.

DJ-ZX commented 5 years ago

обновил комментарий выше включая ответ на твой коммент (хоть я его не видел ещё)

rekcuFniarB commented 5 years ago

Ну короче, из-за race condition эта логика будет работать не всегда: если с момента открытия тобой страницы там уже наоставляли комментов, то при отправке может опять вылезти ошибка о превышении места, т.к. пока ты писал, там уже всё место заняли.

rekcuFniarB commented 5 years ago

Остальным эта цифра ничего не говорит

Да и я вообще сомневаюсь что на этот счётчик кто-то смотрит, а замечают уже когда вылезла ошибка. Я на него тоже не обращаю внимание по привычке.

DJ-ZX commented 5 years ago

это ок, она и сча вылазит, вопрос в том, что месседж будет вылазить реже, также если лимит близок к завершению, то юзеру будет проще сориентироваться или стоит пытаться ваще дописать коммент сча можно писать и наткнуться на аут оф лимит вот с теми же 70-ю символами (а это, между прочим, длина смс на кириллице), плюс можно наткнуться на лимит в случае объединения комментов (иногда просто дописать слово и места достаточно, а не даёт, потому что просто игнорит факт, что сервисная инфа не будет писаться

по цифрам - да в принципе тут больше речь не о визуальном счётчике, а о фактическом. визуальный, если реализовать функционально, просто автоматом будет сделан по сути