Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Y Yodoo Apps Database
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • crnd-opensource
  • Yodoo Apps Database
  • Merge requests
  • !67

Merged
Created Aug 20, 2026 by Volodymyr Karabanov@vovikDeveloper

[FIX] yodoo_apps_website: task widget reads dotted state/progress fields as literal keys

  • Overview 0
  • Commits 1
  • Pipelines 2
  • Changes 5

Симптом: у формі yodoo.git.source стан і прогрес синку не відображались. Тихий баг — без помилки в консолі, без запису в логах.

Причина: в'юха передавала віджету gtq_task_auto_refresh опції state_field/progress_field як dotted path (last_sync_task_id.state), а віджет читає record.data[stateField] буквальним ключем і крапкові шляхи не розбирає (task_auto_refresh_field.js:78-84,104-129). README віджета показує лише плоскі імена полів.

Фікс: додано related-поля last_sync_task_state (Selection) і last_sync_task_progress (Integer) на yodoo.git.source; options переведено на плоскі імена; поля додано у в'юху як invisible — інакше не потрапляють у record.data.

Тести: 2 python-тести на значення related-полів (+negative control на перепризначення таски, з ненульовим progress) і arch-тест, що асертить відсутність крапки в options та присутність полів у view['models']. Red-first доведено: відкат моделі+в'юхи дає 1 failed, 2 error(s) of 3 tests; після фікса 0 failed, 0 error(s) of 3 tests. flake8 чистий, pylint 10.00/10. Рев'ю approved.

Примітка про безпеку: related-поля non-stored, compute_sudo=True за замовчуванням — читання не потребує прав на generic.task.queue.task, AccessError не виникає.

⚠️ Порядок мержу: паралельний MR #66 (18.0-fix-yodoo-apps-website-create-children) від тієї самої бази теж створює tests/__init__.py і теж піднімає версію до 18.0.1.5.6. Git змержить однакову версію БЕЗ конфлікту — це тихий дефект. Той MR, що мержиться другим, мусить ре-бампнути версію до 18.0.1.5.7 і об'єднати обидва імпорти в tests/__init__.py.

Пов'язано: корінь клієнтської помилки OWL виправляється окремим MR у crnd/generic-background-service (гілка 18.0-fix-task-auto-refresh-null-props) — без нього форма падала повністю.

🤖 Generated with Claude Code

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: 18.0-fix-yodoo-apps-website-task-widget-fields