A pleasant note-taking platform in native C++.
434 matches across 7 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/CMakeLists.txt | 1 | # ============================================================================= |
| LOW | tests/core/test_sync_hooks.cpp | 1 | // Tests for the F4.5 sync hook surface (vnote.sync.before_enable, |
| LOW | tests/core/test_sync_hooks.cpp | 21 | #include <QCoreApplication> |
| LOW | tests/core/test_bootstrap_and_persist.cpp | 1 | // Tests for SyncService::bootstrapAndPersist (Task 13.4 / F1.6). |
| LOW | tests/core/test_bootstrap_and_persist.cpp | 21 | #include <QJsonObject> |
| LOW | tests/core/test_notebook_hooks.cpp | 1 | #include <QFile> |
| LOW | tests/core/test_sync_signal_baseline.cpp | 1 | // Characterization test (T1 of sync-queue-convergence plan). |
| LOW | tests/core/test_sync_signal_baseline.cpp | 21 | #include <QSignalSpy> |
| LOW | tests/core/test_sync_signal_auto_baseline.cpp | 1 | // T2 — Characterization test: current AUTO sync signal sequence. |
| LOW | tests/core/test_sync_signal_auto_baseline.cpp | 21 | // This test is a REGRESSION DETECTOR for Wave 2 (T7/T9). If a future change |
| LOW | tests/core/test_sync_signal_auto_baseline.cpp | 181 | |
| LOW | tests/core/test_buffer.cpp | 1 | #include <QtTest> |
| LOW | tests/core/test_sync_close_block.cpp | 1 | // T27 (sync-queue-convergence): NotebookBeforeClose hook refuses to close a |
| LOW | tests/core/stubs_textviewwindowcontroller.cpp | 1 | // Stubs for symbols referenced by textviewwindowcontroller.cpp but not |
| LOW | tests/core/test_synccredentialsstore.cpp | 1 | // test_synccredentialsstore.cpp - Unit tests for SyncCredentialsStore (T4) |
| LOW | tests/core/test_synccredentialsstore.cpp | 261 | // These tests cover the in-memory existence cache introduced for the UI |
| LOW | tests/core/test_vnote3migrationservice.cpp | 1 | #include <QtTest> |
| LOW | tests/core/test_notebookcoreservice_sync.cpp | 1 | // Tests for the sync wrapper methods on NotebookCoreService. |
| LOW | tests/core/test_eventbridge_sync.cpp | 1 | // T17 — EventBridge sync event routing. |
| LOW | tests/core/test_sync_ops.cpp | 1 | // T12 (sync-queue-convergence): exercise SyncOps::disableSync — a stateless |
| LOW | tests/core/test_markdowneditorcontroller.cpp | 1 | #include <QtTest> |
| LOW | tests/core/test_tagviewer2.cpp | 1 | #include <QtTest> |
| LOW | tests/core/test_tagservice.cpp | 1 | #include <QtTest> |
| LOW | tests/core/test_textviewwindowcontroller.cpp | 1 | #include <QtTest> |
| LOW | tests/core/test_syncservice.cpp | 1 | // test_syncservice.cpp - Unit tests for SyncService empty-PAT/URL guards (Task 3) |
| LOW | tests/core/test_sync_auto_route.cpp | 1 | // T31 — Auto-sync route end-to-end test. |
| LOW | tests/core/test_sync_auto_route.cpp | 21 | #include <core/servicelocator.h> |
| LOW | tests/integration/test_sync_e2e.cpp | 1 | // T16 — End-to-end test for the sync conflict resolution flow + retry cap. |
| LOW | tests/integration/test_sync_e2e.cpp | 21 | #include <QApplication> |
| LOW | tests/models/test_historylistmodel.cpp | 1 | #include <QtTest> |
| LOW | tests/gui/test_navigationmodeservice.cpp | 1 | #include <QtTest> |
| LOW | tests/gui/test_themeservice.cpp | 81 | |
| LOW | tests/controllers/test_syncconflictcontroller.cpp | 1 | // Tests for SyncConflictController (T13) — controller orchestrating |
| LOW | tests/controllers/test_syncconflictcontroller.cpp | 21 | #include <QStringList> |
| LOW | tests/controllers/test_syncconflictcontroller.cpp | 141 | // Click OK. This drives the dialog's accepted -> onAccepted() chain which |
| LOW | tests/controllers/test_syncconflictcontroller.cpp | 201 | } |
| LOW | tests/controllers/test_exportcontroller.cpp | 1 | #include <QtTest> |
| LOW | tests/controllers/test_bootstrap.cpp | 1 | // Tests for NewNotebookController::bootstrapSync (T14). |
| LOW | tests/controllers/test_bootstrap.cpp | 21 | #include <QDir> |
| LOW | tests/controllers/test_searchcontroller.cpp | 1 | #include <QtTest> |
| LOW | tests/controllers/test_notebooksyncinfocontroller.cpp | 1 | // Tests for NotebookSyncInfoController (T11) — controller orchestrating |
| LOW | tests/controllers/test_notebooksyncinfocontroller.cpp | 21 | #include <QJsonObject> |
| LOW | tests/controllers/test_notebooksyncinfocontroller.cpp | 341 | // flat keys: syncEnabled is either false or absent). |
| LOW | tests/controllers/test_notebooksyncinfocontroller.cpp | 841 | // different URL leaves the on-disk git remote stale → split-brain. The only |
| LOW | tests/controllers/test_openvnote3notebookcontroller.cpp | 1 | #include <QtTest> |
| LOW | …ontrollers/test_notebooknodecontroller_multiselect.cpp | 1 | #include <QDir> |
| LOW | tests/helpers/test_helper.h | 1 | #ifndef TEST_HELPER_H |
| LOW | …ts/widgets/test_notebooksyncinfodialog2_url_change.cpp | 1 | // Tests for NotebookSyncInfoDialog2 B1 fix — wiring of the controller's |
| LOW | …ts/widgets/test_notebooksyncinfodialog2_url_change.cpp | 21 | #include <QTimer> |
| LOW | …ts/widgets/test_notebooksyncinfodialog2_url_change.cpp | 121 | |
| LOW | tests/widgets/test_mainwindow_stub.cpp | 1 | // Stub implementations for vnotex::MainWindow. |
| LOW | tests/widgets/test_notebooknodeview_state.cpp | 1 | // Tests for NotebookNodeView::getExpandedFolders() and replayExpandedFolders(). |
| LOW | tests/widgets/test_syncservice_lifecycle.cpp | 1 | // T17: SyncService lifecycle (NotebookBeforeClose hook + bounded shutdown) |
| LOW | tests/widgets/test_syncservice_lifecycle.cpp | 21 | // VNOTE_KEYCHAIN_AVAILABLE compile gate). |
| LOW | tests/widgets/test_notebook_explorer_sync_state.cpp | 1 | // Tests for NotebookExplorer2 sync state classifier predicates. |
| LOW | tests/widgets/test_notebook_explorer_sync_state.cpp | 21 | // |
| LOW | tests/widgets/test_notebooksyncinfodialog2_error.cpp | 1 | // Tests for NotebookSyncInfoDialog2 B2 fix — wiring of the controller's |
| LOW | tests/widgets/test_notebooksyncinfodialog2_error.cpp | 21 | #include <QtTest> |
| LOW | tests/widgets/test_notebookexplorer2_multiselect.cpp | 1 | #include <QtTest> |
| LOW | tests/widgets/test_settings_navigation.cpp | 1 | // test_settings_navigation.cpp - Verify SettingsWidget::navigateTo() logic. |
| 301 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scripts/init.sh | 19 | # Step 1: Initialize and update git submodules |
| LOW | scripts/init.sh | 37 | # Step 2: Install pre-commit hook for main repository |
| LOW | scripts/init.sh | 55 | # Step 3: Install pre-commit hook for vtextedit submodule |
| LOW | src/core/services/bufferservice.cpp | 88 | // Step 1: Resolve UUID to notebookId + relativePath (NO buffer opened here). |
| LOW | src/core/services/bufferservice.cpp | 96 | // Step 2: Delegate to existing openBuffer() which fires FileBeforeOpen BEFORE |
| LOW | src/utils/headingslugger.cpp | 47 | // Step 1: Strip VNote heading sequence numbers. |
| LOW | src/utils/headingslugger.cpp | 55 | // Step 2: Unicode-aware lowercase. |
| LOW | src/utils/headingslugger.cpp | 58 | // Step 3: Remove characters not in keep-set. |
| LOW | src/utils/headingslugger.cpp | 90 | // Step 4: Replace spaces with hyphens. |
| LOW | src/controllers/openvnote3notebookcontroller.cpp | 95 | // Step 1: Require user confirmation. |
| LOW | src/controllers/openvnote3notebookcontroller.cpp | 102 | // Step 2: Inspect source folder. |
| LOW | src/controllers/openvnote3notebookcontroller.cpp | 110 | // Step 3: Validate destination folder. |
| LOW | src/controllers/openvnote3notebookcontroller.cpp | 119 | // Step 4: Run conversion. |
| LOW | src/controllers/openvnote3notebookcontroller.cpp | 141 | // Step 5: Open the converted notebook via OpenNotebookController. |
| LOW | src/controllers/viewareacontroller.cpp | 885 | // Step 1: Get workspace's buffer list from vxcore. |
| LOW | src/controllers/viewareacontroller.cpp | 889 | // Step 2: Close each ViewWindow one-by-one with abort-on-cancel. |
| LOW | src/controllers/viewareacontroller.cpp | 910 | // Step 3: Remove remaining buffers from vxcore workspace. |
| LOW | src/controllers/viewareacontroller.cpp | 923 | // Step 4: Post-removal — find a replacement for the split. |
| LOW | src/controllers/viewareacontroller.cpp | 971 | // Step 5: Delete the workspace in vxcore. |
| LOW | src/controllers/viewareacontroller.cpp | 975 | // Step 6: Destroy the WorkspaceWrapper. |
| LOW | src/controllers/viewareacontroller.cpp | 1039 | // Step 1: HIDE current workspace — take windows from split into wrapper. |
| LOW | src/controllers/viewareacontroller.cpp | 1051 | // Step 2: Update split identity (old workspace ID -> new workspace ID). |
| LOW | src/controllers/viewareacontroller.cpp | 1056 | // Step 3: SHOW target workspace. |
| LOW | src/data/extra/web/js/markdownit.js | 338 | // Step 1: Strip VNote heading sequence numbers. |
| LOW | src/data/extra/web/js/markdownit.js | 342 | // Step 2: Unicode-aware lowercase. |
| LOW | src/data/extra/web/js/markdownit.js | 345 | // Step 3: Remove characters NOT in keep-set. |
| LOW | src/data/extra/web/js/markdownit.js | 351 | // Step 4: Replace spaces with hyphens. |
| LOW | src/data/extra/web/js/markdownit.js | 354 | // Step 5: Deduplicate. |
| LOW | src/widgets/mainwindow2.cpp | 918 | // Step 1: Apply stylesheet |
| LOW | src/widgets/mainwindow2.cpp | 932 | // Step 2: Refresh UI |
| LOW | src/widgets/mainwindow2.cpp | 941 | // Step 3: Done |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3093 | function webViewerPresentationMode() { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3096 | function webViewerSwitchAnnotationEditorMode(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3099 | function webViewerSwitchAnnotationEditorParams(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3151 | function webViewerOptionalContentConfig(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3154 | function webViewerSwitchScrollMode(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3157 | function webViewerSwitchSpreadMode(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3160 | function webViewerDocumentProperties() { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 302 | function backtrackBeforeAllVisibleElements(index, views, top) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 333 | function isElementBottomAfterViewTop(view) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 338 | function isElementNextAfterViewHorizontally(view) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 407 | function normalizeWheelEventDirection(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 507 | function getActiveOrFocusedElement() { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 517 | function apiPageLayoutToViewerModes(layout) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 576 | (function checkCanvasSizeLimitation() { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 2638 | function addWindowResolutionChange() { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 2996 | function webViewerPresentationModeChanged(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 2999 | function webViewerSidebarViewChanged(_ref8) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3029 | function webViewerScrollModeChanged(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3035 | function webViewerSpreadModeChanged(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3133 | function webViewerPageNumberChanged(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3176 | function webViewerUpdateFindMatchesCount(_ref10) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3186 | function webViewerUpdateFindControlState(_ref11) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3208 | function webViewerRotationChanging(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3224 | function webViewerResolutionChange(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3227 | function webViewerVisibilityChange(evt) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 3553 | function webViewerAnnotationEditorStatesChanged(data) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 4237 | function findFocusableElementWithin(hostElement) { |
| LOW | src/data/extra/web/pdf.js/web/viewer.js | 9185 | function isValidAnnotationEditorMode(mode) { |
| LOW | src/data/extra/web/js/computed-style-to-inline-style.js | 19 | function computedStyleToInlineStyle(element) { |
| LOW | src/data/extra/web/js/viz.js/viz.js | 193 | function svgXmlToImageElementFabric(svgXml) { |
| LOW | …a/web/js/markdown-it/markdown-it-inject-linenumbers.js | 28 | function injectLineNumbersForFence(tokens, idx, options, env, slf) { |
| LOW | …a/web/js/markdown-it/markdown-it-inject-linenumbers.js | 39 | function injectLineNumbersForCodeBlock(tokens, idx, options, env, slf) { |
| LOW | …ata/extra/web/js/markdown-it/markdown-it-imsize.min.js | 1 | (function webpackUniversalModuleDefinition(root,factory){if(typeof exports==="object"&&typeof module==="object")module.e |
| LOW | src/data/extra/web/js/markdown-it/xss.min.js | 1 | (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)ret |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | CMakeLists.txt | 25 | # ----------------------------------------------------------------------------- |
| MEDIUM | CMakeLists.txt | 27 | # ----------------------------------------------------------------------------- |
| MEDIUM | tests/CMakeLists.txt | 1 | # ============================================================================= |
| MEDIUM | tests/CMakeLists.txt | 3 | # ============================================================================= |
| MEDIUM | tests/CMakeLists.txt | 15 | # ============================================================================= |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | src/data/extra/web/js/prism/prism.min.js | 79 | !function(a){var n="(?:\r?\n|\r)[ \t]*\\|.+\\|.*";Prism.languages.gherkin={pystring:{pattern:/("""|''')[\s\S]+?\1/,alias |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scripts/init.sh | 60 | # Check if vtextedit is using .git file (submodule) or directory |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/data/extra/syntax-highlighting/syntax/prolog.xml | 179 | add it to "predefined_ops" above (don't forget to escape it). |