Исправлено обращение с настройками удаленных зеркал - #273
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughИзменения добавляют инструкции для AI-агентов и обновляют публикацию пакетов. Порт сервера теперь необязателен в настройках. Команда ChangesРуководство репозитория
Порты серверов пакетов
Estimated code review effort: 3 (Moderate) | ~20 минут Sequence Diagram(s)sequenceDiagram
participant Пользователь
participant КомандаOpm_Push
participant НастройкиСерверов
participant HTTPСоединение
Пользователь->>КомандаOpm_Push: запускает публикацию пакета
КомандаOpm_Push->>НастройкиСерверов: получает выбранный сервер и порт
КомандаOpm_Push->>КомандаOpm_Push: определяет порт по схеме при отсутствии значения
КомандаOpm_Push->>HTTPСоединение: создаёт соединение с портом и прокси
HTTPСоединение-->>КомандаOpm_Push: отправляет пакет
Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.cursor/rules/agent-workflow.mdc:
- Line 13: Обновите пользовательский README.md, добавив описание изменённого
публичного поведения команды push: выбора зеркала и порта. Убедитесь, что
документация отражает фактическое поведение CLI.
In `@AGENTS.md`:
- Line 32: Update the fenced blocks in AGENTS.md at the locations corresponding
to lines 32 and 57 to specify the text language on their opening fences, without
changing the ASCII diagram contents.
- Around line 230-231: Обновите раздел о конфигурации и зеркалах в AGENTS.md,
зафиксировав контракт необязательного порта зеркала: при отсутствии порт
сохраняется как Неопределено, а при установлении соединения выбирается порт из
настройки либо корректное значение по умолчанию. Не делайте порт обязательным и
не подставляйте значение раньше этапа подключения.
- Line 156: Исправьте пример в разделе о пользовательских строках: в синтаксисе
НСтр добавьте закрывающую кавычку перед закрывающей скобкой, чтобы пример
соответствовал формату НСтр("ru='...';en='...'") и корректно копировался в BSL.
In `@src/cmd/Классы/КомандаOpm_Push.os`:
- Around line 174-181: Добавьте или обновите ближайшие unit- или BDD-тесты для
контракта необязательного порта: в src/cmd/Классы/КомандаOpm_Push.os:174-181
проверьте явный порт, значения 80 и 443, а также применение прокси; в
src/cmd/Модули/ПараметрыПриложенияOpm.os:62-67 проверьте сохранение Неопределено
при отсутствии поля Порт; в src/core/Модули/НастройкиOpm.os:106-106 проверьте
значение порта по умолчанию; в src/core/Модули/НастройкиOpm.os:124-125 проверьте
встроенные серверы без явно заданного порта.
- Around line 138-140: В функции ПортПоУмолчанию обновите проверку Сервер так,
чтобы порт 443 выбирался только для URL со схемой https://, а не для любого
значения, начинающегося с https; используйте именно этот символ проверки в
выражении с СтрНачинаетсяС и сохраните текущий возврат 80 для всех остальных
адресов, включая хосты вроде https-mirror.example.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 03b21bf1-1608-4207-bf6b-ecba77f8f667
📒 Files selected for processing (5)
.cursor/rules/agent-workflow.mdcAGENTS.mdsrc/cmd/Классы/КомандаOpm_Push.ossrc/cmd/Модули/ПараметрыПриложенияOpm.ossrc/core/Модули/НастройкиOpm.os
| - После существенных правок ядра/CLI — запускай релевантные тесты (`tasks/test.os` или узкий сценарий). | ||
| - Коммиты и push — только по явной просьбе пользователя. | ||
| - Не коммить секреты (`GITHUB_OAUTH_TOKEN`, `opm.cfg` с токенами/прокси). | ||
| - Пользовательский `README.md` обновляй, если меняется публичное поведение CLI. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Добавьте обновление README.md в этот PR.
Сводка PR описывает изменение публичного поведения push: выбора зеркала и порта. В списке изменённых файлов из контекста README.md отсутствует. Добавьте описание этого поведения, чтобы пользовательская документация соответствовала CLI.
Основание: правило в этой строке требует обновлять README.md при изменении публичного поведения CLI, а PR меняет поведение push.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.cursor/rules/agent-workflow.mdc at line 13, Обновите пользовательский
README.md, добавив описание изменённого публичного поведения команды push:
выбора зеркала и порта. Убедитесь, что документация отражает фактическое
поведение CLI.
|
|
||
| ## Структура репозитория | ||
|
|
||
| ``` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Укажите язык для fenced-блоков.
markdownlint-cli2 сообщает MD040 для строк 32 и 57. Добавьте text к открывающим fence-блокам. Содержимое ASCII-схем не изменится.
Основание: предупреждение MD040 указано статическим анализом.
Also applies to: 57-57
🧰 Tools
🪛 markdownlint-cli2 (0.23.2)
[warning] 32-32: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@AGENTS.md` at line 32, Update the fenced blocks in AGENTS.md at the locations
corresponding to lines 32 and 57 to specify the text language on their opening
fences, without changing the ASCII diagram contents.
Source: Linters/SAST tools
| ## Соглашения по коду | ||
|
|
||
| 1. **Русский BSL** — имена процедур, переменных, каталогов `Классы/` / `Модули/`. | ||
| 2. Пользовательские строки — через `НСтр("ru='...';en='...')`. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Исправьте синтаксис примера НСтр.
В строке 156 отсутствует закрывающая кавычка перед ). Пример нельзя корректно скопировать в BSL.
Исправление
-2. Пользовательские строки — через `НСтр("ru='...';en='...')`.
+2. Пользовательские строки — через `НСтр("ru='...';en='...'")`.As per coding guidelines: пользовательские строки должны оформляться через НСтр("ru='...';en='...'").
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| 2. Пользовательские строки — через `НСтр("ru='...';en='...')`. | |
| 2. Пользовательские строки — через `НСтр("ru='...';en='...'")`. |
🧰 Tools
🪛 LanguageTool
[typographical] ~156-~156: Непарный символ: «"» скорей всего пропущен
Context: ...и/. 2. Пользовательские строки — через НСтр("ru='...';en='...')`. 3. Модули = статиче...
(RU_UNPAIRED_BRACKETS)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@AGENTS.md` at line 156, Исправьте пример в разделе о пользовательских
строках: в синтаксисе НСтр добавьте закрывающую кавычку перед закрывающей
скобкой, чтобы пример соответствовал формату НСтр("ru='...';en='...'") и
корректно копировался в BSL.
Sources: Coding guidelines, Linters/SAST tools
| 9. На Linux пользовательский конфиг — **`.opm.cfg`** (с точкой); на Windows — `opm.cfg` в `%USERPROFILE%`. Приоритет: cwd → user → system → каталог opm. | ||
| 10. Хабы по умолчанию — **http**, не https. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Зафиксируйте контракт необязательного порта зеркала.
В руководстве перечислены конфигурация и зеркала, но не описано новое поведение порта. Укажите, что отсутствующий порт сохраняется как Неопределено, а соединение выбирает значение из настройки или корректное значение по умолчанию. Иначе агент может снова считать порт обязательным или подставить значение слишком рано.
Основание: сводка PR и контекст слоя фиксируют необязательный порт и выбор порта при подключении.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@AGENTS.md` around lines 230 - 231, Обновите раздел о конфигурации и зеркалах
в AGENTS.md, зафиксировав контракт необязательного порта зеркала: при отсутствии
порт сохраняется как Неопределено, а при установлении соединения выбирается порт
из настройки либо корректное значение по умолчанию. Не делайте порт обязательным
и не подставляйте значение раньше этапа подключения.
| Порт = ?(Порт = Неопределено, ПортПоУмолчанию(Сервер), Порт); | ||
| Настройки = НастройкиOpm.ПолучитьНастройки(); | ||
| Если Настройки.ИспользоватьПрокси Тогда | ||
| НастройкиПрокси = НастройкиOpm.ПолучитьИнтернетПрокси(); | ||
| Соединение = Новый HTTPСоединение(Сервер, Порт, , , НастройкиПрокси); | ||
| Иначе | ||
| Соединение = Новый HTTPСоединение(Сервер, Порт); | ||
| КонецЕсли; |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Добавьте тесты для контракта необязательного порта.
Изменённая логика должна иметь unit- или BDD-тест. Проверьте порт из конфигурации, отсутствие порта для HTTP и HTTPS, а также применение прокси при публикации.
src/cmd/Классы/КомандаOpm_Push.os#L174-L181: проверьте создание соединения с явным портом, портом80и портом443.src/cmd/Модули/ПараметрыПриложенияOpm.os#L62-L67: проверьте сохранениеНеопределено, когда полеПортотсутствует.src/core/Модули/НастройкиOpm.os#L106-L106: проверьте значение по умолчанию параметраПорт.src/core/Модули/НастройкиOpm.os#L124-L125: проверьте встроенные серверы без явно заданного порта.
As per coding guidelines, «При изменении логики добавлять или обновлять ближайший unit- или BDD-тест в соответствующей области».
📍 Affects 3 files
src/cmd/Классы/КомандаOpm_Push.os#L174-L181(this comment)src/cmd/Модули/ПараметрыПриложенияOpm.os#L62-L67src/core/Модули/НастройкиOpm.os#L106-L106src/core/Модули/НастройкиOpm.os#L124-L125
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/cmd/Классы/КомандаOpm_Push.os` around lines 174 - 181, Добавьте или
обновите ближайшие unit- или BDD-тесты для контракта необязательного порта: в
src/cmd/Классы/КомандаOpm_Push.os:174-181 проверьте явный порт, значения 80 и
443, а также применение прокси; в src/cmd/Модули/ПараметрыПриложенияOpm.os:62-67
проверьте сохранение Неопределено при отсутствии поля Порт; в
src/core/Модули/НастройкиOpm.os:106-106 проверьте значение порта по умолчанию; в
src/core/Модули/НастройкиOpm.os:124-125 проверьте встроенные серверы без явно
заданного порта.
Sources: Coding guidelines, Learnings
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Также добавлены правила для агентов
Summary by CodeRabbit
Новые возможности
Исправления
Документация