Skip to content
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

bug: при создания html гостем в имени сниппета появляется undefined #439

Open
fey opened this issue Mar 14, 2024 · 16 comments
Labels
bug Something isn't working

Comments

@fey
Copy link
Contributor

fey commented Mar 14, 2024

Summary

image

Reproduction steps

1. Начать Try without registration
2. Выбрать язык html
3. ждем загрузки и смотрим на название сниппета

Expected result

Сниппет не содержит undefined, либо содержит html

Actual result

На скриншоте.

Browsers

Chrome

OS

Linux

@fey fey added the bug Something isn't working label Mar 14, 2024
@igshipilov
Copy link

@fey Привет

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

Вопрос: Какой модуль отвечает за генерацию названий сниппетов?
И если расширение всё же присоединяется где-то позже, где могу это посмотреть?

@fey
Copy link
Contributor Author

fey commented Mar 20, 2024

@igshipilov тут не подскажу. Давайте попросим помощи у @HelenOne
Вообще можете попробвоать аишку глянуть, может там внутри найдете что-то про генерацию имени =)

ВОообще кажется что нам расширение не нужно особо.

@igshipilov
Copy link

@fey

А как могу посмотреть результаты внесённых изменений? Что бы я ни делал в коде, после команды make start всё работает без изменений, даже если удалил целый блок кода из render() в модуле.

Ещё пробовал сначала make build потом make start, но тоже не вижу влияние изменений в коде.

@bobronaud
Copy link
Contributor

@igshipilov у меня тож такое было, когда я впервые развернул проект.
не помню как я это исправил, но проблема в том, что ты запускаешь продакшн проекта, поэтому изменения кода не обровляют твою страницу

@bobronaud
Copy link
Contributor

bobronaud commented Mar 20, 2024

make build тебе тут не нужен, чтобы начать разрабатывать

@igshipilov
Copy link

igshipilov commented Mar 20, 2024

@bobronaud Принял, make build не нужен + надо (как-то) запускать не прод, а дев.

@bobronaud
Copy link
Contributor

bobronaud commented Mar 20, 2024

@igshipilov кажется, я тебе что-то не то сказал насчет прода и дева.
вот я щас открыл проект, и из корневой директории запускаю make start
страница открылась, изменения применяются. возможно, ты меняешь код там, который в данный момент просто не рендерится на странице.
ну типа по умолчанию открывается страница лэндинга из frontend/src/pages/landing/ и там есть компоненты лэнда, футера, хэдера.
а есть в frontend/src/components/ компонент футера, и может быть ты на таком компоненте вносишь изменения, который просто не учавствует в ортисовке этого лэнда, т.к. он берет футер из другого файла

просто как пример. понятно объяснил?

@igshipilov
Copy link

igshipilov commented Mar 20, 2024

@bobronaud Да, идею уловил, спасибо!

Опишу свои действия:

  1. Зашёл по пути: frontend/src/pages/snippet
  2. Нахожу соответствующий текущей задаче модуль, в данном случае мне кажется что это FileToolbar.jsx
  3. Меняю блок кода, который понимаю. Например, просто чтобы увидеть изменения, попытался удалить строчку 36, filenameInput.setSelectionRange(0, filenameInput.value.lastIndexOf('.'));
  4. В терминале Ctrl + C, затем make start
  5. Клик по аватарке → Новый сниппет → html → "Создать"
  6. Кликаю по иконке карандаша (переименовать)
    Ожидаю, что выделится весь текст.
    По факту выделяется текст до точки – то есть как будто я не удалял ту строчку.

Ещё я подумал, что вдруг неправильно понял работу этой строчки. Поэтому для верности снёс всё из render(), то есть начиная с 78 строчки – опять же, чтобы проверить, влияют ли мои изменения на результат. Но нет, всё рендерится нормально, никаких ошибок не возникает – будто бы код сохранён в каком-то буфере, не знаю.

@bobronaud
Copy link
Contributor

bobronaud commented Mar 20, 2024

то что ты удаляешь все из рэндера с 78 строчки, это ты удаляешь рендер из функции SnippetName(), которая начинается с 20 строки. То есть это не компонент тулбара, который рендерит иконку, название, карпандаш, облачко.
ты попробуй в этом же файле удалить 160-165 строчки и заменить на return <p>lol</p>

видишь изменения?

@igshipilov
Copy link

Попробовал, но ничего не сломалось, не поехало. Поиск в HTML по "lol" тоже не дал результатов. Как будто нужна какая-то донастройка, чтобы вносимые мной изменения влияли на финальный результат.

Может ли быть проблемой мой браузер? Может, он кэширует как-то?..

@igshipilov
Copy link

Хотя вряд ли браузер – зашёл через другой, тоже нет результата

@bobronaud
Copy link
Contributor

bobronaud commented Mar 20, 2024

а в терминале че пишет?

@bobronaud
Copy link
Contributor

bobronaud commented Mar 20, 2024

кинь скрин терминала на весь экран, когда запущен сервер разработки

@igshipilov
Copy link

Выглядит целым, вроде: 2024-03-20_22-02-24

@igshipilov
Copy link

Я на сегодня уже отключаюсь

@fey
Copy link
Contributor Author

fey commented Mar 21, 2024

Ребят, если что можете например в телеге, в канале "Волонтеры" продолжить https://t.me/hexletcommunity/12
Там могут подключиться и другие ребята.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: No status
Development

No branches or pull requests

3 participants