Андрей, если предположить, что номер может менять владельца, то логично было бы новый id делать, а то так зарегистрируешься, а тебе все группы и чатики от предыдущего владельца подтянет.
Тогда как вариант - снифать трафик запроса, который отправляет фиделист из своего софта (mitm proxy например) и добиваться идентичного запроса из php - все заголовки и т.п.
Выглядит как будто не к тому скрипту обращаетесь.
В инструментах разработчика в браузере во вкладке сеть смотрели, какой код ответа у сервера, например?
А что вы уже умеете?
Так-то, при наличии каких-то базовых знаний по фронтенду можно теми же средствами разработчика посмотреть, что и как на сайте сделано, какие библиотеки применяются. А при наличии знаний английского - почитать информацию о найденных технология/библиотеках.
В принципе то, что вы перечислили - это можно назвать frontend - вот по этой области информацию и ищите.
Сомневаюсь, что есть где-то готовый курс аля "С нуля, но SPA на канвасе с фоновой музыкой", скорее всего придётся самому изучать по отдельности и собирать по кусочкам.
Собственно вот заголовок CF-Cache-Status - его CF добавляет и по нему можно понять, что там с кешем. Но для вебсокета такого заголовка нет, так что этим способом разобраться не получится.
Насколько помню, CF в ответе добавляет заголовки, попал ли в кеш или нет. И, опять же, насколько помню, у него там как минимум два кеша, которые разными заголовками сбрасываются.
Т.е. как минимум можно посомтреть - CF кеширует или не CF
Мне как-то в подобной ситуации (правда не с доктриной, а в принципе) помогло вынесение тела цикла в функцию. Всякие unset'ы внутри цикла не помогали, а вот как вынес код каждой итерации в функцию - так сразу памяти стало хватать. Почему - копаться уже не стал.
luxurypluxury, насколько я помню - там в итоге же обычная html-форма на странице оказывается. Так что надо на событие submit повесить обработчик, который снимет атрибут disabled. Насколько помню - так должно сработать.
Скорее всего вот такой способ добавления элементов dealsList.innerHTML+=displayDeal;
сбрасывает обработчики на ранее добавленных элементах.
Попробуйте в одном цикле сформировать нужный html, а затем во втором навесить обработчики. Или добавлять разметку через методы работы с DOM, типа appendChild() и т.п.
Так селекторы-то разные передаются в метод find() - один находит, другой нет, видимо.
А дебажить - выводите переменные через print_r(),var_dump() и после die(). Так и увидите, что там внутри.