Problem
GitLab connection topic filters normalize configured topics to lowercase, but compare them against project topics without normalizing the project side. A project topic like Backend does not match a config topic or glob such as backend.
Reproduction
Evaluate GitLab project filtering with include.topics: ["backend"] and a project whose API response includes topics: ["Backend"].
Expected
Topic include/exclude matching should be case-insensitive and symmetric between configured topics and project topics.
Actual
Configured topics are lowercased, while project topics retain their original case, so mixed-case GitLab topics can fail otherwise matching filters.
Impact
GitLab sync can unexpectedly include or exclude repositories when GitLab projects use mixed-case topics.
Problem
GitLab connection topic filters normalize configured topics to lowercase, but compare them against project topics without normalizing the project side. A project topic like
Backenddoes not match a config topic or glob such asbackend.Reproduction
Evaluate GitLab project filtering with
include.topics: ["backend"]and a project whose API response includestopics: ["Backend"].Expected
Topic include/exclude matching should be case-insensitive and symmetric between configured topics and project topics.
Actual
Configured topics are lowercased, while project topics retain their original case, so mixed-case GitLab topics can fail otherwise matching filters.
Impact
GitLab sync can unexpectedly include or exclude repositories when GitLab projects use mixed-case topics.