Имя: Пароль:
LIFE
Жизнь форума
OFF: Обсуждение нового движка форума
0 Злопчинский
 
10.11.23
19:40
1. Прошу роль Здравомыслящий 38% (3)
2. А как теперь сделать вот так? 25% (2)
3. Другое 25% (2)
4. Есть предложение по движку... 13% (1)
5. Просто верните как было... 0% (0)
6. Оставьте уже как есть... 0% (0)
7. Где личные скрипты? 0% (0)
8. Когда будет толковое описание нового движка? 0% (0)
9. Верните список читателей ветки!!11.. 0% (0)
10. А что случилось?... 0% (0)
Всего мнений: 8

Продолжение OFF: ТехИнфо: новый движок форума

Update от Волшебник
Прикрутил многофункциональную голосовалку к ветке.

Роль "Здравомыслящий" даёт доступ к новым фичам форума (картинки, форматирование сообщений).

Примеры личных скриптов
https://forum.mista.ru/help/skins.html
Книга знаний: Скрипты для Волшебного форума
333 Волшебник
 
13.11.23
20:02
(332) Я думал, что "дата регистрации" хватит всем. Видимо, я чувствовал себя Биллом Гейтсом, который думал, что 640 Кб памяти хватит всем.

Конечно, добавим поля по пользователю. Нам это легко как программистам, просто прикрутить LEFT JOIN, но это требует дополнительной нагрузки на сервер.

Могли бы мы прийти к компромиссу и добавлять эти поля по условию? Что Вы готовы предложить? Нам нужен какой-то параметр, что к нам заходит пользователь с важными обогащёнными скриптами, которому мы доверяем и даём дополнительный контент сейчас и сразу.
334 Волшебник
 
13.11.23
20:05
(333) Может роль "Здравомыслящий"? Скрипты здравомыслящих получают новый контент? Токены?
335 notatall
 
13.11.23
20:35
(333) Лучше какой-нибудь API, который будет запрашиваться скриптом только по мере необходимости. Например, запросить свойства пользователей по списку id, пачкой, одним запросом.

В ответ сервер отправляет JSON со всеми нужными свойствами пользователей, а скрипт кеширует их на стороне клиента.

Тогда не придется в больших темах добавлять к каждому сообщению данные пользователей. Сообщений в одной теме может быть сотни, уникальных пользователей десятки, а незакешированных лишь единицы.
336 notatall
 
13.11.23
20:37
(334) В этом случае пришлось бы разделять скрипты для разных групп пользователей. Одни скрипты работают для всех, другие только для здравомыслящих, это не очень удобно, когда делишься своими скриптами с другими.
337 notatall
 
13.11.23
20:50
(333) Сейчас разве нет LEFT JOIN сообщений с пользователями? Как-то же имя пользователя выводится в сообщениях. Оно хранится вместе с сообщением?

Скрипт мог бы устанавливать какую-нибудь куки, а сервер ее проверять и присылать в ответ данные пользователей в скрытых полях, как изначально предлагали.
например: script_get_user_props=1
338 Волшебник
 
13.11.23
21:05
(337) >> Оно хранится вместе с сообщением?

Да
339 Волшебник
 
13.11.23
21:06
Профессионалы могут нарушать третью нормальную форму БД, чтобы ускорять запросы. Мы профессионалы.
340 Злопчинский
 
13.11.23
22:13
Со звездочками прикольно.
и роль тоже полезно.
сразу ясно кто в малиновых штанах
341 Волшебник
 
13.11.23
22:13
(340) дурдом
342 Злопчинский
 
13.11.23
22:14
А можно - чтобы посмотреть/попробовать - как в посте номера ответов (которые справа от сообщения, в конце) поставить аналогично, но перед сообщением слева..?
343 Волшебник
 
13.11.23
22:15
А здесь есть кнопка включения остальных ролей? Может полей добавить?
344 Злопчинский
 
13.11.23
22:15
(341) ну, в дурдоме - кто первый халат надел тот и главврач...
345 Злопчинский
 
13.11.23
22:16
(328) кстати, звездочки и роли не отрисовываются в добавляемых сообщениях в ветке, только после рефреша
346 Волшебник
 
13.11.23
22:25
(345) главврач намекает?
347 Pprog151713
 
14.11.23
07:00
(328) Звездочки это перебор. А в какой проге ты трассируешь это все?
348 yurikmellon2
 
14.11.23
08:20
мне, всё таки, не хватает аватарки под ником, удобная была фича

А как теперь сделать вот так?
349 Волшебник
 
14.11.23
08:26
(348) Это портит текстовый дизайн форума
350 yurikmellon2
 
14.11.23
08:31
(349) так и не надо по умолчанию аватарки выводить, пусть будет текстовый. Скрипт бы для этой фичи. Кому надо - с автарками, кому нет - текстовый.
351 notatall
 
14.11.23
17:18
(347) В Микрософт Эдж и в Яндекс Браузер. Там есть консоль, трассировщик, и другие инструменты разработчика.

Звездочки можно убрать самостоятельно, комментарий стоит в том месте где звездочки добавляются. Нужно удалить этот блок.
352 withoutname
 
14.11.23
19:06
Еще не предлагали сделать закругленные края у основного полотна? )
Или это можно сделать через CSS?
353 Волшебник
 
14.11.23
20:07
(352) через CSS можно сделать любое оформление. Разметка страниц в новом движке ориентирована на CSS. Добавлены теги и все дела. Персональный CSS применяется дважды: в начале и в конце, чтоб наверняка.
354 Волшебник
 
14.11.23
20:12
(332) Я помню. Осмысляю...
355 Волшебник
 
14.11.23
20:48
(287) Отказ до декабря 2023
356 notatall
 
14.11.23
20:55
(354) Ждал, не напоминал.

Предложу еще один вариант для размышлений: внутри html добавить скрытое поле с данными уникальных пользователей без повторений, присутствующих на странице (при условии передачи параметра, как уже говорили).

Это может быть, например, скрипт, определяющий глобальную константу, доступную в юзер-скриптах:

<script>
const usersDataGlobal = [
	{
		id: 1,
		role: 'администратор',
		status: '',
		registered: '03.11.2003'
	},
	{
		id: 37324,
		role: 'здравомыслящий',
		status: 'ban',
		registered: '26.03.2008'
	},
.....................
]
</script>

Или скрытый элемент с текстом JSON. Так, наверное, даже проще.
357 Волшебник
 
14.11.23
21:01
(356) О, новые требования! Ваша задача становится интереснее и перевешивается на второй гвоздь.
Конечно, можем. Придётся добавить LEFT JOIN в запрос. Никогда такого не было, потому что мы профессионалы, но ради вас постараемся. Кстати, кого вас? Вы вообще кто? Мы знакомы?
358 notatall
 
14.11.23
21:47
(357) Я думал, вы уже меня узнали! Но если нет, то это я, Гагарин.
359 Злопчинский
 
14.11.23
22:28
(351) вместо звездочем можно квадратики большие/маленькие типа U+25A0
360 Злопчинский
 
14.11.23
22:29
(352) в опере (если "полотно" то что я думаю) это и так закругленные
361 notatall
 
14.11.23
23:05
(359) Да, пожалуйста, хоть смайлики. В скрипте хорошо видно где находятся звездочки, можно менять на все что вздумается.
362 Волшебник
 
15.11.23
00:44
(358) Первый космонавт? Здравствуйте, Юра! Мы всё просрали...
363 Злопчинский
 
15.11.23
00:08
(361) Сделал себе "квадратики"
Это канонически ближе к "шрифтовому" стилю форума чем зорачки
364 Злопчинский
 
15.11.23
00:17
Хочу (типа как невменяемый бухгалтер, который не отдает себе отчет)
1. скрипт, который бы рядом с кнопкам вверх/вниз (в правом верхнем углу, сделаны скриптом), положил бы "кнопарик", при жмаке по которому текущая ветка "фильтровалась" так, чтобы показывались только мои посты
2. ну и сделать нормальное окошко (автомасштабируемое) для просмотра картинки из поста onclick=clickThumb(Thus), а то сейчас серый холст на все окно, и в уголке прилепилась картиночка, описывал ранее
365 Волшебник
 
15.11.23
00:31
(364) А можно я тоже добавлю?
Я хочу:
1. Вставка картинки из буфера обмена
2. Страница Описание
3. Книга знаний, переделать на новый движок, оформление.
Если 3 сложно, то хотя бы починить логин
4. Флажки рядом с никами и чтобы было актуально
5.  Плохо распознаются ссылки на wiki после редактирования: wiki:Бритва_Хитченса
Не проходит редактирование туда-обратно
6. скрипт sitemap поправить под новые адреса
7. На странице новичков нет IP-адреса (можно с флажком)
8. Плохо распознаёт ссылки типа: OFF: ТехИнфо: новый движок форума/tail#F
9. Восстановление паролей
10. И чтобы не дёргали, пока я всё это буду делать
366 Волшебник
 
15.11.23
00:50
У меня вот тоже впечатление, что мы восстанавливаем цивилизацию по кускам, по битам, даже по винтикам...
Собираю сервер, там диск вываливается из RAID. Переподключаю SATA-разъём, уже нормально.
Но чудес-то не бывает. Уж я понимаю по должности...
На очереди ZPOOL / ZFS с новыми дисками Trancsend. Если трансценденция не сработает, то не знаю...
367 Злопчинский
 
15.11.23
02:49
(365) Это я, девелопер - "хочу", а программист - делает! ;-)
368 Pprog151713
 
15.11.23
07:06
(365) Так еще прогера возьмите. Вон Нототал он вам подделает. Ну, а так- то в целом все и так хорошо. Мне нравится.  И движок быстрее. И лучше. 👍 Даже смайлики есть. Все остальное можно, но не обязательно.
369 Волшебник
 
15.11.23
07:10
(367) Хорошо себя поставили...
Возьмите себе прогера, как советуют в (368)
370 Pprog151713
 
15.11.23
07:27
(351) Так Microsoft Edge это браузер какой-то. А в яндексе ну есть у меня веб страница, и что как там проверять f12 ну вижу я код. А как мне нормально дописать что -то окромя как в текстовичке?
371 notatall
 
15.11.23
21:19
(362) Не все еще просрали. Новые разработки в сфере космонавтики в будущем дадут преимущества перед конкурентами.
372 Волшебник
 
15.11.23
21:21
(371) Юра, не надо... Мы уже поняли, что надо восстанавливать советскую цивилизацию с нуля. См. (366)
373 notatall
 
15.11.23
21:28
(370) Яндекс - это не только веб-страница, но и браузер.

По F12 есть консоль, как я уже писал.
Копируешь туда скрипт, нажимаешь Enter, и он запускается. Отладчиком пользоваться тебе пока рано, сперва попробуй позапускать.

Пользовательский скрипт - это текст, его правят в текстовичке. А запускают в браузере.
374 notatall
 
15.11.23
21:30
(372) И результаты положительные. Стало лучше чем было, но хуже чем будет.
375 Волшебник
 
15.11.23
21:31
(374) 👍
376 Злопчинский
 
15.11.23
22:21
Пиктограммы оформления (справа от поля сообщения) прям ностальжи... кондовые посконные как в конце 90-ых...
377 Волшебник
 
15.11.23
22:25
(376) Предлагайте свой набор. Я вообще хочу заменить на единую кнопку с выпадающим меню. Я ожидал, что будут предложения от неравнодушных типа Вас.
Вас ждали и Вы припёрлись...
378 Mort
 
15.11.23
22:52
Не читал всю ветку, может уже обсуждалось. Я захожу на форум и у меня половина экрана жёлтые, снизу начинается список тем. Может нужно что-то обновить?
379 Mort
 
15.11.23
22:54
380 Злопчинский
 
15.11.23
23:38
(377) вот кнопку с выпадающим меню - ну вот точно не надо
тест
381 Волшебник
 
16.11.23
07:08
(378) Это что-то у вас. Почистите куки и кэш, замените браузер. Там ещё где-то должен быть баннер
382 Pprog151713
 
16.11.23
08:54
(373) А есть там какая-нибудь инструкция. Как этой консолью рулить?Учебник или сайт? У меня есть свой сайт в одну страницу. Но хотелось бы по- интереснее сделать.
383 Лирик
 
16.11.23
09:33
Хотелось бы какой ни будь признак того, что ТС (именно ТС) видел сообщение.
Объяснюсь. Приватность - это хорошо, но ТС выходит сюда с вопросом, ты ему отвечаешь и ни какой реакции. То ли не видел, то ли не посчитал нужным отреагировать. Иногда тратишь свое время и не понятен результат. Демотивирует. )

Другое
384 Волшебник
 
16.11.23
10:05
(383) Нет, так нельзя.
385 Kigo_Kigo
 
16.11.23
10:12
О, сделали проверку правописания, вообще отлично!🔥👍
386 Волшебник
 
16.11.23
10:12
(385) Не делали. Это Ваш браузер сам проверяет
387 Злопчинский
 
16.11.23
12:08
(383) я вообще предлагаю таких банить. Задал вопрос, тебе ответили - в три дня отклика нет - бан на недельки две/месяц.
388 Гена
 
гуру
16.11.23
12:29
Суров.


389 RomanYS
 
16.11.23
13:10
(387) может ещё при регистрации SLA подписывать))?
390 notatall
 
16.11.23
16:59
Скрипт вставки картинки из буфера обмена. При первой вставке появляется окно выбора файла, его нужно закрыть. Если сильно раздражает, можно раскомментировать костыль в скрипте, который убирает этот диалог.

Подробности
document.onpaste = async event => {
    const item = Array.from(event.clipboardData.items).filter(item => item.kind === 'file')[0]
    if (item === undefined) return
    // document.querySelector('form .filebar').dataset.filesCount = 1   //  отключить диалог выбора файла
    showFileBar(document.getElementById('buttonShowFilebar'))
    const fakeInput = document.createElement('span')
    fakeInput.files = [ item.getAsFile() ]

    const slot = document.querySelector('.slot.empty') ?? await new Promise(resolve => {
        const observer = new MutationObserver(record => {
            observer.disconnect()
            resolve(record[0].addedNodes[0])
        })

        const fileBar = document.querySelector('form .filebar')
        observer.observe(fileBar, { childList: true, subtree: true })
    })

    slot.append(fakeInput)
    fileSelected(fakeInput)
}
391 Злопчинский
 
16.11.23
17:27
(389) может быть все.
Прибежать, спросить и не поблагодарить - это неуважение и работа на врага! Таким образом ципсошные боты могут сюда накидать кучу вопросов, отвлекая сообщество от работы на Родину...
392 Злопчинский
 
16.11.23
17:29
Тест вставки из буфера
393 Злопчинский
 
16.11.23
17:30
Еще тест
394 Злопчинский
 
16.11.23
17:32
(390) набрал текст в окне ввода
жму кнопки вставки из буфера
открывается окно выбора файла - закрываю его (фу, убрать надо бы) - появляется вставленное изображение
395 notatall
 
16.11.23
17:33
(394) Поздравляю
396 Злопчинский
 
16.11.23
17:33
тест вставки
при этом получается вот так
397 Злопчинский
 
16.11.23
17:35
При этом если вставить несколько картинок, и не отправляя сообщенйи удалить крестиком, то получается вот так, это явно что-то недоработано
398 notatall
 
16.11.23
17:47
(397) Может так и было задумано
399 Волшебник
 
16.11.23
18:10
(397) (398) Так и было задумано, потому что на соседние картинки могли быть уже теги в тексте сообщения, их номера не должны измениться
400 notatall
 
16.11.23
18:13
Относительное время обновления тем на главной странице, вместо абсолютного.




Подробности
Array.from(document.querySelectorAll('td.updated')).forEach(td => {
    const [ moscowUpdatedTime, ...userParts ] = td.innerText.trim().split(' ')
    const user = userParts.join(' ')
    const [ moscowDate ] = new Date().toLocaleString('en-US', { timeZone: 'Europe/Moscow' }).split(' ')
    const universalUpdatedTime = new Date(`${moscowDate}, ${moscowUpdatedTime} GMT+0300`)
    if (universalUpdatedTime.toString() === 'Invalid Date')
        return
    const deltaSecondsTotal = (Date.now() - universalUpdatedTime) / 1000
    const deltaHours = Math.floor(deltaSecondsTotal / 3600)
    const deltaMinutes = String(Math.floor(deltaSecondsTotal % 3600 / 60)).padStart(2, '0')
    td.innerText = `-${deltaHours}:${deltaMinutes} ${user}`
})
401 tabarigen
 
16.11.23
19:30
Почему нельзя сделать все на нормальном технологическом стеке и с нуля..
Тем более, что легаси наверное оч много в коде.
Хотя вам видней на месте, конечно, но мне как юзеру хотелось бы красивый и удобный UI с адаптивом под мобилку.

Другое
402 Злопчинский
 
16.11.23
19:41
относительное относительно чего? времени заглавного сообщения темы? или время последнего поста в теме? вангую что последний пост в теме
403 Волшебник
 
16.11.23
19:46
(401) Шалом! Поздравляем с выходом из анабиоза! Я зачеркнул весь старый движок с легаси-кодом ("закопал стюардессу") и написал новый. В этой ветке и предыдущих мы как раз обсуждаем НОВЫЙ ДВИЖОК, где Вы сейчас и находитесь.
404 Волшебник
 
16.11.23
19:44
(402) Проанализируйте скрипт и найдёте ответ на свой вопрос.
405 Злопчинский
 
16.11.23
19:49
хочу на главной странице (как инструмент модератора) кнопку (справа от верхнего заглавного меню типа) которая вКл/вЫкл режима показ убитых модераторами веток
406 Злопчинский
 
16.11.23
19:50
(400) включил себе, прикольно, норм!
407 notatall
 
16.11.23
19:51
(402) Относительно "сейчас"
408 lodger
 
16.11.23
19:56
(403) в анекдоте после "закопал" идёт "Пора прекратить этот разврат - откопали "
409 Волшебник
 
16.11.23
20:21
(408) Да, я в теме. Старый движок ещё где-то закопан. Если новый не взлетит, то откопаем стюардессу.
Ну вроде уже взлетело. Уже пишут скрипты-дополнения.

Поверьте, на новом движке мисте будет круче. Это же полноценное ООП наконец пришло в наш дом! То, о чём так долго говорил Гради Буч, теперь под капотом и работает!

p.s. База одна
410 Волшебник
 
16.11.23
20:36
(405) Вы свои хотелки сопровождайте ценником, например, 120 тыс руб. Меньше сотки не рассматриваем.
411 Злопчинский
 
16.11.23
21:18
(410) вы меня не путайте! я написал "хочу", а не "плачУ"! ;-)
412 Волшебник
 
16.11.23
21:24
(411) Вы ещё ударение не указали. Вы платите или плачете?
413 Гена
 
гуру
16.11.23
21:43
414 Волшебник
 
16.11.23
22:05
(413) Зловеще... Но давайте ближе к сабжу. Просто новый движок для форума. Никого не убивал, пытался всем понравиться.
415 Злопчинский
 
16.11.23
23:50
(412) ударение = в слове из строчных букв прописная...
416 Злопчинский
 
16.11.23
23:50
Сейчас, когда поднапихали скриптов - уже почти нормально, за мелкими недокуртками...
417 lodger
 
17.11.23
00:49
(414) а можно встроенный плеер ютубов приделать?
418 Волшебник
 
17.11.23
07:45
(417) Ютуб надо наоборот запрещать
419 Pprog151713
 
17.11.23
08:16
(390) 👍
420 lodger
 
17.11.23
10:48
(418) ладно.
а так? https://rutube.ru/info/embed/
421 Волшебник
 
17.11.23
10:54
Хватит встраивать всякую фигню, а то получится как в метро:
422 Новиков
 
17.11.23
11:19
(416) когда поднапихали скриптов - уже почти нормально

И все дойдет до того, что скоро будет цениться аккаунт без единого скрипта - вечное сияние чистой мисты.
423 picom
 
17.11.23
11:35
Нужно затемнение не относящихся к цепочке сообщений
Например, рядом с номером упомятого сообщения или при сообщения не из цепочки переписки должны затемниться.
424 Волшебник
 
17.11.23
14:32
(423) Приступаю...
425 Valdis2007
 
17.11.23
15:22
(387)  "в три дня отклика нет - бан на недельки две/месяц"....ты както очень лоялен...высшею меру сразу выносить)))
426 Злопчинский
 
17.11.23
22:10
для чела который пришел, вякнул и ушел не попращавшись - бан на две недели - ничто...
427 Злопчинский
 
18.11.23
00:18
Кстати, с относительным временем - весьма удобно оказалось, автору - уважуха! 👍🔥
428 Волшебник
 
18.11.23
16:34
(427) Товарищ жжёт неподецки
429 notatall
 
18.11.23
22:32
Спасибо что оценили. Мне больше доставляет удовольствие создавать и настраивать, нежели использовать.
430 Волшебник
 
18.11.23
22:39
(429) Создайте свою личную страничку.
431 Злопчинский
 
18.11.23
22:42
(429) жто ты в 1с тогда по адресу пришёл...
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой