Chore/improve clang tidy integration - #10666

Open
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration
Open

Chore/improve clang tidy integration#10666
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration

Conversation

@mgallien

Copy link
Copy Markdown
Collaborator

Resolves

#

Summary

TODO

  • ...

Checklist

AI (if applicable)

@mgallienmgallien added this to the 35.0.0 milestone Aug 25, 2026
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 4 times, most recently from 92b2f21 to 8751f13CompareAugust 29, 2026 17:34
github-actions[bot]
github-actionsBot previously requested changes Aug 29, 2026

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️Clang-Tidy found issue(s) with the introduced code (1/1)

#include <QPushButton>
#include <QTimeZone>

#include "ui_sslerrordialog.h"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-diagnostic-error
ui_sslerrordialog.h file not found

@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 3 times, most recently from 8873041 to 95a0996CompareAugust 31, 2026 10:45
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 6 times, most recently from fdd1068 to 220b342CompareSeptember 2, 2026 07:32
@github-actions

Copy link
Copy Markdown
Contributor

Artifact containing the AppImage: nextcloud-appimage-pr-10666.zip

Digest: sha256:69c283f305ec43e2144c9bc212d87bfd3236c0c3a0899c839094074901641771

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@nilsdingnilsding left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check our QML scenes for usages of the registered types

Other than some {minor {things}} this change LGTM.

Comment threadtest/syncenginetestutils.h
Comment threadtest/syncenginetestutils.h
Comment threadtest/testfilesystem.cpp Outdated
Comment threadsrc/gui/socketapi/socketapi_p.h
Comment threadsrc/gui/application.cpp Outdated
Comment threadsrc/gui/syncrunfilelog.cpp Outdated
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/syncfileitem.h
mgallienand others added 7 commits September 2, 2026 15:10
removes code that would never be called
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Extract the inline -checks= list from the CI workflow into a
.clang-tidy configuration file so the check set is discoverable
outside CI and can be reused by local/IDE runs of clang-tidy.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also enforce it via clang-tidy configuration file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also add it to our configuration file to be enforced
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Broaden the clang-format requirement beyond ./src to all C++ source
files, and add a mandatory run-clang-tidy -fix pass that must report
no further changes before a task is considered done.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
added some exceptions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch from 220b342 to e4783c8CompareSeptember 2, 2026 13:54
@mgallien

Copy link
Copy Markdown
CollaboratorAuthor

there might be some issues at runtime

2026-09-02 16:33:02:122 [ warning default qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89 ]: qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89:9: QML QQuickImage*: Cannot open: qrc:/qml/src/gui/activity/qml/undefined/#232629
2026-09-02 16:33:02:240 [ info nextcloud.sync.credentials.webflow desktop/src/gui/creds/webflowcredentials.cpp:394 ]: request finished QUrl("https://cloud.nextcloud.com/ocs/v2.php/apps/notifications/api/v2/notifications/4339589") with request id "ff80ec5c-de97-4510-a577-2b6dee709e9f"
2026-09-02 16:33:02:240 [ warning nextcloud.gui.activity desktop/src/gui/tray/usermodel.cpp:1242 ]: Notification Request to Server succeeded, rebuilding list.
2026-09-02 16:33:02:240 [ fatal default /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h:512 ]: ASSERT failure in QList::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h, line 512

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
59.3% Coverage on New Code (required ≥ 80%)
56 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@mgallien@nilsding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Chore/improve clang tidy integration - #10666

Open
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration
Open

Chore/improve clang tidy integration#10666
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration

Conversation

@mgallien

Copy link
Copy Markdown
Collaborator

Resolves

#

Summary

TODO

  • ...

Checklist

AI (if applicable)

@mgallienmgallien added this to the 35.0.0 milestone Aug 25, 2026
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 4 times, most recently from 92b2f21 to 8751f13CompareAugust 29, 2026 17:34
github-actions[bot]
github-actionsBot previously requested changes Aug 29, 2026

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️Clang-Tidy found issue(s) with the introduced code (1/1)

#include <QPushButton>
#include <QTimeZone>

#include "ui_sslerrordialog.h"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-diagnostic-error
ui_sslerrordialog.h file not found

@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 3 times, most recently from 8873041 to 95a0996CompareAugust 31, 2026 10:45
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 6 times, most recently from fdd1068 to 220b342CompareSeptember 2, 2026 07:32
@github-actions

Copy link
Copy Markdown
Contributor

Artifact containing the AppImage: nextcloud-appimage-pr-10666.zip

Digest: sha256:69c283f305ec43e2144c9bc212d87bfd3236c0c3a0899c839094074901641771

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@nilsdingnilsding left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check our QML scenes for usages of the registered types

Other than some {minor {things}} this change LGTM.

Comment threadtest/syncenginetestutils.h
Comment threadtest/syncenginetestutils.h
Comment threadtest/testfilesystem.cpp Outdated
Comment threadsrc/gui/socketapi/socketapi_p.h
Comment threadsrc/gui/application.cpp Outdated
Comment threadsrc/gui/syncrunfilelog.cpp Outdated
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/syncfileitem.h
mgallienand others added 7 commits September 2, 2026 15:10
removes code that would never be called
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Extract the inline -checks= list from the CI workflow into a
.clang-tidy configuration file so the check set is discoverable
outside CI and can be reused by local/IDE runs of clang-tidy.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also enforce it via clang-tidy configuration file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also add it to our configuration file to be enforced
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Broaden the clang-format requirement beyond ./src to all C++ source
files, and add a mandatory run-clang-tidy -fix pass that must report
no further changes before a task is considered done.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
added some exceptions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch from 220b342 to e4783c8CompareSeptember 2, 2026 13:54
@mgallien

Copy link
Copy Markdown
CollaboratorAuthor

there might be some issues at runtime

2026-09-02 16:33:02:122 [ warning default qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89 ]: qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89:9: QML QQuickImage*: Cannot open: qrc:/qml/src/gui/activity/qml/undefined/#232629
2026-09-02 16:33:02:240 [ info nextcloud.sync.credentials.webflow desktop/src/gui/creds/webflowcredentials.cpp:394 ]: request finished QUrl("https://cloud.nextcloud.com/ocs/v2.php/apps/notifications/api/v2/notifications/4339589") with request id "ff80ec5c-de97-4510-a577-2b6dee709e9f"
2026-09-02 16:33:02:240 [ warning nextcloud.gui.activity desktop/src/gui/tray/usermodel.cpp:1242 ]: Notification Request to Server succeeded, rebuilding list.
2026-09-02 16:33:02:240 [ fatal default /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h:512 ]: ASSERT failure in QList::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h, line 512

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
59.3% Coverage on New Code (required ≥ 80%)
56 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@mgallien@nilsding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Chore/improve clang tidy integration - #10666

Open
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration
Open

Chore/improve clang tidy integration#10666
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration

Conversation

@mgallien

Copy link
Copy Markdown
Collaborator

Resolves

#

Summary

TODO

  • ...

Checklist

AI (if applicable)

@mgallienmgallien added this to the 35.0.0 milestone Aug 25, 2026
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 4 times, most recently from 92b2f21 to 8751f13CompareAugust 29, 2026 17:34
github-actions[bot]
github-actionsBot previously requested changes Aug 29, 2026

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️Clang-Tidy found issue(s) with the introduced code (1/1)

#include <QPushButton>
#include <QTimeZone>

#include "ui_sslerrordialog.h"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-diagnostic-error
ui_sslerrordialog.h file not found

@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 3 times, most recently from 8873041 to 95a0996CompareAugust 31, 2026 10:45
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 6 times, most recently from fdd1068 to 220b342CompareSeptember 2, 2026 07:32
@github-actions

Copy link
Copy Markdown
Contributor

Artifact containing the AppImage: nextcloud-appimage-pr-10666.zip

Digest: sha256:69c283f305ec43e2144c9bc212d87bfd3236c0c3a0899c839094074901641771

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@nilsdingnilsding left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check our QML scenes for usages of the registered types

Other than some {minor {things}} this change LGTM.

Comment threadtest/syncenginetestutils.h
Comment threadtest/syncenginetestutils.h
Comment threadtest/testfilesystem.cpp Outdated
Comment threadsrc/gui/socketapi/socketapi_p.h
Comment threadsrc/gui/application.cpp Outdated
Comment threadsrc/gui/syncrunfilelog.cpp Outdated
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/syncfileitem.h
mgallienand others added 7 commits September 2, 2026 15:10
removes code that would never be called
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Extract the inline -checks= list from the CI workflow into a
.clang-tidy configuration file so the check set is discoverable
outside CI and can be reused by local/IDE runs of clang-tidy.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also enforce it via clang-tidy configuration file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also add it to our configuration file to be enforced
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Broaden the clang-format requirement beyond ./src to all C++ source
files, and add a mandatory run-clang-tidy -fix pass that must report
no further changes before a task is considered done.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
added some exceptions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch from 220b342 to e4783c8CompareSeptember 2, 2026 13:54
@mgallien

Copy link
Copy Markdown
CollaboratorAuthor

there might be some issues at runtime

2026-09-02 16:33:02:122 [ warning default qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89 ]: qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89:9: QML QQuickImage*: Cannot open: qrc:/qml/src/gui/activity/qml/undefined/#232629
2026-09-02 16:33:02:240 [ info nextcloud.sync.credentials.webflow desktop/src/gui/creds/webflowcredentials.cpp:394 ]: request finished QUrl("https://cloud.nextcloud.com/ocs/v2.php/apps/notifications/api/v2/notifications/4339589") with request id "ff80ec5c-de97-4510-a577-2b6dee709e9f"
2026-09-02 16:33:02:240 [ warning nextcloud.gui.activity desktop/src/gui/tray/usermodel.cpp:1242 ]: Notification Request to Server succeeded, rebuilding list.
2026-09-02 16:33:02:240 [ fatal default /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h:512 ]: ASSERT failure in QList::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h, line 512

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
59.3% Coverage on New Code (required ≥ 80%)
56 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@mgallien@nilsding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Chore/improve clang tidy integration - #10666

Open
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration
Open

Chore/improve clang tidy integration#10666
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration

Conversation

@mgallien

Copy link
Copy Markdown
Collaborator

Resolves

#

Summary

TODO

  • ...

Checklist

AI (if applicable)

@mgallienmgallien added this to the 35.0.0 milestone Aug 25, 2026
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 4 times, most recently from 92b2f21 to 8751f13CompareAugust 29, 2026 17:34
github-actions[bot]
github-actionsBot previously requested changes Aug 29, 2026

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️Clang-Tidy found issue(s) with the introduced code (1/1)

#include <QPushButton>
#include <QTimeZone>

#include "ui_sslerrordialog.h"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-diagnostic-error
ui_sslerrordialog.h file not found

@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 3 times, most recently from 8873041 to 95a0996CompareAugust 31, 2026 10:45
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 6 times, most recently from fdd1068 to 220b342CompareSeptember 2, 2026 07:32
@github-actions

Copy link
Copy Markdown
Contributor

Artifact containing the AppImage: nextcloud-appimage-pr-10666.zip

Digest: sha256:69c283f305ec43e2144c9bc212d87bfd3236c0c3a0899c839094074901641771

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@nilsdingnilsding left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check our QML scenes for usages of the registered types

Other than some {minor {things}} this change LGTM.

Comment threadtest/syncenginetestutils.h
Comment threadtest/syncenginetestutils.h
Comment threadtest/testfilesystem.cpp Outdated
Comment threadsrc/gui/socketapi/socketapi_p.h
Comment threadsrc/gui/application.cpp Outdated
Comment threadsrc/gui/syncrunfilelog.cpp Outdated
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/syncfileitem.h
mgallienand others added 7 commits September 2, 2026 15:10
removes code that would never be called
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Extract the inline -checks= list from the CI workflow into a
.clang-tidy configuration file so the check set is discoverable
outside CI and can be reused by local/IDE runs of clang-tidy.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also enforce it via clang-tidy configuration file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also add it to our configuration file to be enforced
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Broaden the clang-format requirement beyond ./src to all C++ source
files, and add a mandatory run-clang-tidy -fix pass that must report
no further changes before a task is considered done.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
added some exceptions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch from 220b342 to e4783c8CompareSeptember 2, 2026 13:54
@mgallien

Copy link
Copy Markdown
CollaboratorAuthor

there might be some issues at runtime

2026-09-02 16:33:02:122 [ warning default qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89 ]: qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89:9: QML QQuickImage*: Cannot open: qrc:/qml/src/gui/activity/qml/undefined/#232629
2026-09-02 16:33:02:240 [ info nextcloud.sync.credentials.webflow desktop/src/gui/creds/webflowcredentials.cpp:394 ]: request finished QUrl("https://cloud.nextcloud.com/ocs/v2.php/apps/notifications/api/v2/notifications/4339589") with request id "ff80ec5c-de97-4510-a577-2b6dee709e9f"
2026-09-02 16:33:02:240 [ warning nextcloud.gui.activity desktop/src/gui/tray/usermodel.cpp:1242 ]: Notification Request to Server succeeded, rebuilding list.
2026-09-02 16:33:02:240 [ fatal default /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h:512 ]: ASSERT failure in QList::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h, line 512

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
59.3% Coverage on New Code (required ≥ 80%)
56 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@mgallien@nilsding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Chore/improve clang tidy integration - #10666

Open
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration
Open

Chore/improve clang tidy integration#10666
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration

Conversation

@mgallien

Copy link
Copy Markdown
Collaborator

Resolves

#

Summary

TODO

  • ...

Checklist

AI (if applicable)

@mgallienmgallien added this to the 35.0.0 milestone Aug 25, 2026
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 4 times, most recently from 92b2f21 to 8751f13CompareAugust 29, 2026 17:34
github-actions[bot]
github-actionsBot previously requested changes Aug 29, 2026

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️Clang-Tidy found issue(s) with the introduced code (1/1)

#include <QPushButton>
#include <QTimeZone>

#include "ui_sslerrordialog.h"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-diagnostic-error
ui_sslerrordialog.h file not found

@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 3 times, most recently from 8873041 to 95a0996CompareAugust 31, 2026 10:45
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 6 times, most recently from fdd1068 to 220b342CompareSeptember 2, 2026 07:32
@github-actions

Copy link
Copy Markdown
Contributor

Artifact containing the AppImage: nextcloud-appimage-pr-10666.zip

Digest: sha256:69c283f305ec43e2144c9bc212d87bfd3236c0c3a0899c839094074901641771

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@nilsdingnilsding left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check our QML scenes for usages of the registered types

Other than some {minor {things}} this change LGTM.

Comment threadtest/syncenginetestutils.h
Comment threadtest/syncenginetestutils.h
Comment threadtest/testfilesystem.cpp Outdated
Comment threadsrc/gui/socketapi/socketapi_p.h
Comment threadsrc/gui/application.cpp Outdated
Comment threadsrc/gui/syncrunfilelog.cpp Outdated
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/syncfileitem.h
mgallienand others added 7 commits September 2, 2026 15:10
removes code that would never be called
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Extract the inline -checks= list from the CI workflow into a
.clang-tidy configuration file so the check set is discoverable
outside CI and can be reused by local/IDE runs of clang-tidy.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also enforce it via clang-tidy configuration file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also add it to our configuration file to be enforced
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Broaden the clang-format requirement beyond ./src to all C++ source
files, and add a mandatory run-clang-tidy -fix pass that must report
no further changes before a task is considered done.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
added some exceptions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch from 220b342 to e4783c8CompareSeptember 2, 2026 13:54
@mgallien

Copy link
Copy Markdown
CollaboratorAuthor

there might be some issues at runtime

2026-09-02 16:33:02:122 [ warning default qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89 ]: qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89:9: QML QQuickImage*: Cannot open: qrc:/qml/src/gui/activity/qml/undefined/#232629
2026-09-02 16:33:02:240 [ info nextcloud.sync.credentials.webflow desktop/src/gui/creds/webflowcredentials.cpp:394 ]: request finished QUrl("https://cloud.nextcloud.com/ocs/v2.php/apps/notifications/api/v2/notifications/4339589") with request id "ff80ec5c-de97-4510-a577-2b6dee709e9f"
2026-09-02 16:33:02:240 [ warning nextcloud.gui.activity desktop/src/gui/tray/usermodel.cpp:1242 ]: Notification Request to Server succeeded, rebuilding list.
2026-09-02 16:33:02:240 [ fatal default /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h:512 ]: ASSERT failure in QList::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h, line 512

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
59.3% Coverage on New Code (required ≥ 80%)
56 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@mgallien@nilsding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Chore/improve clang tidy integration - #10666

Open
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration
Open

Chore/improve clang tidy integration#10666
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration

Conversation

@mgallien

Copy link
Copy Markdown
Collaborator

Resolves

#

Summary

TODO

  • ...

Checklist

AI (if applicable)

@mgallienmgallien added this to the 35.0.0 milestone Aug 25, 2026
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 4 times, most recently from 92b2f21 to 8751f13CompareAugust 29, 2026 17:34
github-actions[bot]
github-actionsBot previously requested changes Aug 29, 2026

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️Clang-Tidy found issue(s) with the introduced code (1/1)

#include <QPushButton>
#include <QTimeZone>

#include "ui_sslerrordialog.h"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-diagnostic-error
ui_sslerrordialog.h file not found

@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 3 times, most recently from 8873041 to 95a0996CompareAugust 31, 2026 10:45
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 6 times, most recently from fdd1068 to 220b342CompareSeptember 2, 2026 07:32
@github-actions

Copy link
Copy Markdown
Contributor

Artifact containing the AppImage: nextcloud-appimage-pr-10666.zip

Digest: sha256:69c283f305ec43e2144c9bc212d87bfd3236c0c3a0899c839094074901641771

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@nilsdingnilsding left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check our QML scenes for usages of the registered types

Other than some {minor {things}} this change LGTM.

Comment threadtest/syncenginetestutils.h
Comment threadtest/syncenginetestutils.h
Comment threadtest/testfilesystem.cpp Outdated
Comment threadsrc/gui/socketapi/socketapi_p.h
Comment threadsrc/gui/application.cpp Outdated
Comment threadsrc/gui/syncrunfilelog.cpp Outdated
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/syncfileitem.h
mgallienand others added 7 commits September 2, 2026 15:10
removes code that would never be called
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Extract the inline -checks= list from the CI workflow into a
.clang-tidy configuration file so the check set is discoverable
outside CI and can be reused by local/IDE runs of clang-tidy.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also enforce it via clang-tidy configuration file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also add it to our configuration file to be enforced
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Broaden the clang-format requirement beyond ./src to all C++ source
files, and add a mandatory run-clang-tidy -fix pass that must report
no further changes before a task is considered done.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
added some exceptions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch from 220b342 to e4783c8CompareSeptember 2, 2026 13:54
@mgallien

Copy link
Copy Markdown
CollaboratorAuthor

there might be some issues at runtime

2026-09-02 16:33:02:122 [ warning default qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89 ]: qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89:9: QML QQuickImage*: Cannot open: qrc:/qml/src/gui/activity/qml/undefined/#232629
2026-09-02 16:33:02:240 [ info nextcloud.sync.credentials.webflow desktop/src/gui/creds/webflowcredentials.cpp:394 ]: request finished QUrl("https://cloud.nextcloud.com/ocs/v2.php/apps/notifications/api/v2/notifications/4339589") with request id "ff80ec5c-de97-4510-a577-2b6dee709e9f"
2026-09-02 16:33:02:240 [ warning nextcloud.gui.activity desktop/src/gui/tray/usermodel.cpp:1242 ]: Notification Request to Server succeeded, rebuilding list.
2026-09-02 16:33:02:240 [ fatal default /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h:512 ]: ASSERT failure in QList::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h, line 512

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
59.3% Coverage on New Code (required ≥ 80%)
56 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@mgallien@nilsding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Chore/improve clang tidy integration - #10666

Open
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration
Open

Chore/improve clang tidy integration#10666
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration

Conversation

@mgallien

Copy link
Copy Markdown
Collaborator

Resolves

#

Summary

TODO

  • ...

Checklist

AI (if applicable)

@mgallienmgallien added this to the 35.0.0 milestone Aug 25, 2026
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 4 times, most recently from 92b2f21 to 8751f13CompareAugust 29, 2026 17:34
github-actions[bot]
github-actionsBot previously requested changes Aug 29, 2026

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️Clang-Tidy found issue(s) with the introduced code (1/1)

#include <QPushButton>
#include <QTimeZone>

#include "ui_sslerrordialog.h"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-diagnostic-error
ui_sslerrordialog.h file not found

@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 3 times, most recently from 8873041 to 95a0996CompareAugust 31, 2026 10:45
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 6 times, most recently from fdd1068 to 220b342CompareSeptember 2, 2026 07:32
@github-actions

Copy link
Copy Markdown
Contributor

Artifact containing the AppImage: nextcloud-appimage-pr-10666.zip

Digest: sha256:69c283f305ec43e2144c9bc212d87bfd3236c0c3a0899c839094074901641771

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@nilsdingnilsding left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check our QML scenes for usages of the registered types

Other than some {minor {things}} this change LGTM.

Comment threadtest/syncenginetestutils.h
Comment threadtest/syncenginetestutils.h
Comment threadtest/testfilesystem.cpp Outdated
Comment threadsrc/gui/socketapi/socketapi_p.h
Comment threadsrc/gui/application.cpp Outdated
Comment threadsrc/gui/syncrunfilelog.cpp Outdated
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/syncfileitem.h
mgallienand others added 7 commits September 2, 2026 15:10
removes code that would never be called
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Extract the inline -checks= list from the CI workflow into a
.clang-tidy configuration file so the check set is discoverable
outside CI and can be reused by local/IDE runs of clang-tidy.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also enforce it via clang-tidy configuration file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also add it to our configuration file to be enforced
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Broaden the clang-format requirement beyond ./src to all C++ source
files, and add a mandatory run-clang-tidy -fix pass that must report
no further changes before a task is considered done.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
added some exceptions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch from 220b342 to e4783c8CompareSeptember 2, 2026 13:54
@mgallien

Copy link
Copy Markdown
CollaboratorAuthor

there might be some issues at runtime

2026-09-02 16:33:02:122 [ warning default qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89 ]: qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89:9: QML QQuickImage*: Cannot open: qrc:/qml/src/gui/activity/qml/undefined/#232629
2026-09-02 16:33:02:240 [ info nextcloud.sync.credentials.webflow desktop/src/gui/creds/webflowcredentials.cpp:394 ]: request finished QUrl("https://cloud.nextcloud.com/ocs/v2.php/apps/notifications/api/v2/notifications/4339589") with request id "ff80ec5c-de97-4510-a577-2b6dee709e9f"
2026-09-02 16:33:02:240 [ warning nextcloud.gui.activity desktop/src/gui/tray/usermodel.cpp:1242 ]: Notification Request to Server succeeded, rebuilding list.
2026-09-02 16:33:02:240 [ fatal default /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h:512 ]: ASSERT failure in QList::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h, line 512

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
59.3% Coverage on New Code (required ≥ 80%)
56 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@mgallien@nilsding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Chore/improve clang tidy integration - #10666

Open
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration
Open

Chore/improve clang tidy integration#10666
mgallien wants to merge 8 commits into
masterfrom
chore/improveClangTidyIntegration

Conversation

@mgallien

Copy link
Copy Markdown
Collaborator

Resolves

#

Summary

TODO

  • ...

Checklist

AI (if applicable)

@mgallienmgallien added this to the 35.0.0 milestone Aug 25, 2026
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 4 times, most recently from 92b2f21 to 8751f13CompareAugust 29, 2026 17:34
github-actions[bot]
github-actionsBot previously requested changes Aug 29, 2026

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️Clang-Tidy found issue(s) with the introduced code (1/1)

#include <QPushButton>
#include <QTimeZone>

#include "ui_sslerrordialog.h"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-diagnostic-error
ui_sslerrordialog.h file not found

@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 3 times, most recently from 8873041 to 95a0996CompareAugust 31, 2026 10:45
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch 6 times, most recently from fdd1068 to 220b342CompareSeptember 2, 2026 07:32
@github-actions

Copy link
Copy Markdown
Contributor

Artifact containing the AppImage: nextcloud-appimage-pr-10666.zip

Digest: sha256:69c283f305ec43e2144c9bc212d87bfd3236c0c3a0899c839094074901641771

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@nilsdingnilsding left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check our QML scenes for usages of the registered types

Other than some {minor {things}} this change LGTM.

Comment threadtest/syncenginetestutils.h
Comment threadtest/syncenginetestutils.h
Comment threadtest/testfilesystem.cpp Outdated
Comment threadsrc/gui/socketapi/socketapi_p.h
Comment threadsrc/gui/application.cpp Outdated
Comment threadsrc/gui/syncrunfilelog.cpp Outdated
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/owncloudpropagator.h
Comment threadsrc/libsync/syncfileitem.h
mgallienand others added 7 commits September 2, 2026 15:10
removes code that would never be called
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Extract the inline -checks= list from the CI workflow into a
.clang-tidy configuration file so the check set is discoverable
outside CI and can be reused by local/IDE runs of clang-tidy.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also enforce it via clang-tidy configuration file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
also add it to our configuration file to be enforced
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Broaden the clang-format requirement beyond ./src to all C++ source
files, and add a mandatory run-clang-tidy -fix pass that must report
no further changes before a task is considered done.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
added some exceptions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien
mgallienforce-pushed the chore/improveClangTidyIntegration branch from 220b342 to e4783c8CompareSeptember 2, 2026 13:54
@mgallien

Copy link
Copy Markdown
CollaboratorAuthor

there might be some issues at runtime

2026-09-02 16:33:02:122 [ warning default qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89 ]: qrc:/qml/src/gui/activity/qml/ActivityItemContent.qml:89:9: QML QQuickImage*: Cannot open: qrc:/qml/src/gui/activity/qml/undefined/#232629
2026-09-02 16:33:02:240 [ info nextcloud.sync.credentials.webflow desktop/src/gui/creds/webflowcredentials.cpp:394 ]: request finished QUrl("https://cloud.nextcloud.com/ocs/v2.php/apps/notifications/api/v2/notifications/4339589") with request id "ff80ec5c-de97-4510-a577-2b6dee709e9f"
2026-09-02 16:33:02:240 [ warning nextcloud.gui.activity desktop/src/gui/tray/usermodel.cpp:1242 ]: Notification Request to Server succeeded, rebuilding list.
2026-09-02 16:33:02:240 [ fatal default /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h:512 ]: ASSERT failure in QList::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h, line 512

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
59.3% Coverage on New Code (required ≥ 80%)
56 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@mgallien@nilsding