From ac5a6e598b499107383081a4d4583437d23e99d8 Mon Sep 17 00:00:00 2001 From: "Enjeck C." Date: Sat, 9 May 2026 04:46:30 +0100 Subject: [PATCH 1/8] fix: Sharing on older NC versions with files v3 Signed-off-by: Enjeck C. --- playwright/e2e/basic.spec.ts | 2 +- src/App.vue | 3 - src/WebdavService.js | 40 ----- src/components/NoteItem.vue | 10 +- src/components/NoteShareSidebar.vue | 265 ---------------------------- 5 files changed, 9 insertions(+), 311 deletions(-) delete mode 100644 src/WebdavService.js delete mode 100644 src/components/NoteShareSidebar.vue diff --git a/playwright/e2e/basic.spec.ts b/playwright/e2e/basic.spec.ts index b4e3e68dd..69e8573e8 100644 --- a/playwright/e2e/basic.spec.ts +++ b/playwright/e2e/basic.spec.ts @@ -63,7 +63,7 @@ test.describe('Basic checks', () => { await noteItem.locator('.action-item__menutoggle').click() await page.getByRole('menuitem', { name: 'Share', exact: true }).click() - await expect(page.locator('[data-cy-notes-share-sidebar]')).toBeVisible({ timeout: 15000 }) + await expect(page.locator('[data-cy-sidebar]')).toBeVisible({ timeout: 15000 }) await expect(page.getByText('Internal shares')).toBeVisible({ timeout: 15000 }) }) }) diff --git a/src/App.vue b/src/App.vue index e5758991a..59cc24055 100644 --- a/src/App.vue +++ b/src/App.vue @@ -41,7 +41,6 @@ - @@ -62,7 +61,6 @@ import FolderPlusIcon from 'vue-material-design-icons/FolderPlus.vue' import AppSettings from './components/AppSettings.vue' import CategoriesList from './components/CategoriesList.vue' import EditorHint from './components/Modal/EditorHint.vue' -import NoteShareSidebar from './components/NoteShareSidebar.vue' import { config } from './config.js' import { fetchNotes, noteExists, undoDeleteNote } from './NotesService.js' @@ -82,7 +80,6 @@ export default { NcAppNavigationNew, NcAppNavigationItem, NcContent, - NoteShareSidebar, FolderPlusIcon, }, diff --git a/src/WebdavService.js b/src/WebdavService.js deleted file mode 100644 index b585e7ad8..000000000 --- a/src/WebdavService.js +++ /dev/null @@ -1,40 +0,0 @@ -/** - * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -import { getClient, getDefaultPropfind, getRootPath, registerDavProperty, resultToNode } from '@nextcloud/files/dav' - -const client = getClient() - -let sharingDavPropertiesRegistered = false - -function normalizePath(path = '/') { - if (!path || path === '/') { - return '/' - } - - return '/' + path.toString().replace(/^\/+/, '').replace(/\/+$/, '') -} - -function registerSharingDavProperties() { - if (sharingDavPropertiesRegistered) { - return - } - - registerDavProperty('nc:share-attributes', { nc: 'http://nextcloud.org/ns' }) - registerDavProperty('oc:share-types', { oc: 'http://owncloud.org/ns' }) - registerDavProperty('ocs:share-permissions', { ocs: 'http://open-collaboration-services.org/ns' }) - sharingDavPropertiesRegistered = true -} - -export const fetchDavNode = async (path) => { - registerSharingDavProperties() - - const result = await client.stat(`${getRootPath()}${normalizePath(path)}`, { - details: true, - data: getDefaultPropfind(), - }) - - return resultToNode(result.data) -} diff --git a/src/components/NoteItem.vue b/src/components/NoteItem.vue index b65642d60..402d67ef5 100644 --- a/src/components/NoteItem.vue +++ b/src/components/NoteItem.vue @@ -307,8 +307,14 @@ export default { } }, onToggleSharing() { - this.actionsOpen = false - emit('notes:share:open', { noteId: this.note.id }) + if (window?.OCA?.Files?.Sidebar?.setActiveTab) { + emit('toggle-navigation', { open: false }) + setTimeout(() => { + window.dispatchEvent(new Event('resize')) + }, 200) + window.OCA.Files.Sidebar.setActiveTab('sharing') + window.OCA.Files.Sidebar.open(this.note.internalPath) + } }, async onShareCreated(event) { const { share } = event diff --git a/src/components/NoteShareSidebar.vue b/src/components/NoteShareSidebar.vue deleted file mode 100644 index bb7028a4d..000000000 --- a/src/components/NoteShareSidebar.vue +++ /dev/null @@ -1,265 +0,0 @@ - - - - - From 1ab39a50cdaa3d307f817b067e9436e3594e9d30 Mon Sep 17 00:00:00 2001 From: "Enjeck C." Date: Sat, 9 May 2026 04:48:30 +0100 Subject: [PATCH 2/8] fix: Limit NC versions Signed-off-by: Enjeck C. --- appinfo/info.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appinfo/info.xml b/appinfo/info.xml index 2f9235353..2cfe5be76 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -26,7 +26,7 @@ The Notes app is a distraction free notes taking app for [Nextcloud](https://www https://raw.githubusercontent.com/nextcloud/screenshots/master/apps/Notes/notes.png - + From 9798caed8a555f2b7b041783bce0f14088aee22d Mon Sep 17 00:00:00 2001 From: "Enjeck C." Date: Wed, 13 May 2026 11:40:25 +0100 Subject: [PATCH 3/8] fix: Update SERVER_BRANCH to stable32 in workflow configuration Signed-off-by: Enjeck C. --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4e98cb691..938667946 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,7 +25,7 @@ jobs: version: [min, max] fail-fast: false env: - SERVER_BRANCH: master + SERVER_BRANCH: stable32 steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 From 008b8bbe1ba9b4c42145041c72b5f5b55e6393e4 Mon Sep 17 00:00:00 2001 From: "Enjeck C." Date: Sat, 16 May 2026 05:40:20 +0100 Subject: [PATCH 4/8] fix: Update PHP max version to 8.4 in appinfo Signed-off-by: Enjeck C. --- appinfo/info.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appinfo/info.xml b/appinfo/info.xml index 2cfe5be76..9eaa9d3e7 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -25,7 +25,7 @@ The Notes app is a distraction free notes taking app for [Nextcloud](https://www https://github.com/nextcloud/notes.git https://raw.githubusercontent.com/nextcloud/screenshots/master/apps/Notes/notes.png - + From 39cf56b4a7f8fdf9bc6e04f61fbed5fed96cf8d8 Mon Sep 17 00:00:00 2001 From: "Enjeck C." Date: Fri, 29 May 2026 07:59:52 +0100 Subject: [PATCH 5/8] chore(release): v5.0.1 Signed-off-by: Enjeck C. --- CHANGELOG.md | 14 ++++++++++++++ appinfo/info.xml | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7abf0c29..af5ecf08c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,20 @@ Types of changes: - *Fixed* for any bug fixes. - *Security* in case of vulnerabilities. +## 5.0.1 + +### Fixed + +* [Fix: Sharing on older NC versions with files v3 (notes#1853)](https://github.com/nextcloud/notes/pull/1853) + +### Dependencies + +* [[main] Fix npm audit (notes#1834)](https://github.com/nextcloud/notes/pull/1834) +* [Chore(deps-dev): Bump php-cs-fixer/shim from 3.94.2 to 3.95.1 (notes#1838)](https://github.com/nextcloud/notes/pull/1838) +* [Chore(deps): Bump easymde from 2.20.0 to 2.21.0 (notes#1845)](https://github.com/nextcloud/notes/pull/1845) +* [Chore(deps): Bump axios from 1.15.0 to 1.16.0 (notes#1848)](https://github.com/nextcloud/notes/pull/1848) +* [Chore(deps): Bump fast-xml-builder from 1.1.5 to 1.2.0 (notes#1849)](https://github.com/nextcloud/notes/pull/1849) + ## 5.0.0 ### Added diff --git a/appinfo/info.xml b/appinfo/info.xml index 9eaa9d3e7..7f5fa5ad1 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -10,7 +10,7 @@ Distraction-free notes and writing - 5.0.0 + 5.0.1 agpl Kristof Hamann Bernhard Posselt diff --git a/package-lock.json b/package-lock.json index 4b105d1f3..8376e12f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "notes", - "version": "5.0.0", + "version": "5.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "notes", - "version": "5.0.0", + "version": "5.0.1", "license": "agpl", "dependencies": { "@nextcloud/axios": "^2.6.0", diff --git a/package.json b/package.json index 119c62b5f..dad41d05b 100644 --- a/package.json +++ b/package.json @@ -54,5 +54,5 @@ "browserslist": [ "extends @nextcloud/browserslist-config" ], - "version": "5.0.0" + "version": "5.0.1" } From 34ed5d04c82999316673eba29c654288827ef579 Mon Sep 17 00:00:00 2001 From: Benjamin Frueh Date: Tue, 9 Jun 2026 16:19:03 +0200 Subject: [PATCH 6/8] chore: escape inline markdown content Signed-off-by: Benjamin Frueh --- src/components/EditorMarkdownIt.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/EditorMarkdownIt.vue b/src/components/EditorMarkdownIt.vue index c84e7c2ef..993e3d94c 100644 --- a/src/components/EditorMarkdownIt.vue +++ b/src/components/EditorMarkdownIt.vue @@ -160,7 +160,7 @@ export default { setInlineCodeRule() { this.md.renderer.rules.code_inline = function(tokens, idx, options, env, self) { const token = tokens[idx] - return '' + token.content + '' + return '' + escapeHtml(token.content) + '' } }, }, From 270b2ea9278a7b43eff97ddcd5c04a0eb66c66e1 Mon Sep 17 00:00:00 2001 From: Benjamin Frueh Date: Fri, 26 Jun 2026 13:15:00 +0200 Subject: [PATCH 7/8] chore: bump guzzle Signed-off-by: Benjamin Frueh --- composer.json | 2 +- composer.lock | 84 ++++++++++++++++++++++++++++----------------------- 2 files changed, 48 insertions(+), 38 deletions(-) diff --git a/composer.json b/composer.json index d74a04a00..234ac9a0b 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ }, "config": { "platform": { - "php": "8.0" + "php": "8.1" }, "sort-packages": true }, diff --git a/composer.lock b/composer.lock index 91efa7cea..63cbc93fa 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "59ee4d7a0f7a5c289e698bf23f1f4ecb", + "content-hash": "b58f48b37d128be673aa75f51f638757", "packages": [], "packages-dev": [ { @@ -324,25 +324,26 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.10.0", + "version": "7.12.3", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" + "reference": "9aa17bcdd777ee31df9fc83c337ca4ca2340def3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9aa17bcdd777ee31df9fc83c337ca4ca2340def3", + "reference": "9aa17bcdd777ee31df9fc83c337ca4ca2340def3", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^2.3", - "guzzlehttp/psr7": "^2.8", + "guzzlehttp/promises": "^2.5", + "guzzlehttp/psr7": "^2.12.3", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" + "symfony/deprecation-contracts": "^2.5 || ^3.0", + "symfony/polyfill-php80": "^1.25" }, "provide": { "psr/http-client-implementation": "1.0" @@ -351,8 +352,9 @@ "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", "guzzle/client-integration-tests": "3.0.2", + "guzzlehttp/test-server": "^0.5.1", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "phpunit/phpunit": "^8.5.52 || ^9.6.34", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -430,7 +432,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.10.0" + "source": "https://github.com/guzzle/guzzle/tree/7.12.3" }, "funding": [ { @@ -446,28 +448,29 @@ "type": "tidelift" } ], - "time": "2025-08-23T22:36:01+00:00" + "time": "2026-06-23T15:29:02+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.3.0", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "481557b130ef3790cf82b713667b43030dc9c957" + "reference": "4360e982f87f5f258bf872d094647791db2f4c8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", - "reference": "481557b130ef3790cf82b713667b43030dc9c957", + "url": "https://api.github.com/repos/guzzle/promises/zipball/4360e982f87f5f258bf872d094647791db2f4c8e", + "reference": "4360e982f87f5f258bf872d094647791db2f4c8e", "shasum": "" }, "require": { - "php": "^7.2.5 || ^8.0" + "php": "^7.2.5 || ^8.0", + "symfony/deprecation-contracts": "^2.5 || ^3.0" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "type": "library", "extra": { @@ -513,7 +516,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.3.0" + "source": "https://github.com/guzzle/promises/tree/2.5.0" }, "funding": [ { @@ -529,27 +532,29 @@ "type": "tidelift" } ], - "time": "2025-08-22T14:34:08+00:00" + "time": "2026-06-02T12:23:43+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.8.0", + "version": "2.12.3", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "21dc724a0583619cd1652f673303492272778051" + "reference": "7ec62dc3f44aa218487dbed81a9bf9bc647be55d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", - "reference": "21dc724a0583619cd1652f673303492272778051", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/7ec62dc3f44aa218487dbed81a9bf9bc647be55d", + "reference": "7ec62dc3f44aa218487dbed81a9bf9bc647be55d", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.1 || ^2.0", - "ralouphie/getallheaders": "^3.0" + "ralouphie/getallheaders": "^3.0", + "symfony/deprecation-contracts": "^2.5 || ^3.0", + "symfony/polyfill-php80": "^1.25" }, "provide": { "psr/http-factory-implementation": "1.0", @@ -557,8 +562,9 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "0.9.0", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "http-interop/http-factory-tests": "1.1.0", + "jshttp/mime-db": "1.54.0.1", + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -629,7 +635,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.8.0" + "source": "https://github.com/guzzle/psr7/tree/2.12.3" }, "funding": [ { @@ -645,7 +651,7 @@ "type": "tidelift" } ], - "time": "2025-08-23T21:21:41+00:00" + "time": "2026-06-23T15:21:08+00:00" }, { "name": "kubawerlos/php-cs-fixer-custom-fixers", @@ -2030,20 +2036,20 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.4", + "version": "v3.7.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918" + "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/605389f2a7e5625f273b53960dc46aeaf9c62918", - "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/50f59d1f3ca46d41ac911f97a78626b6756af35b", + "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1" }, "type": "library", "extra": { @@ -2052,7 +2058,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.7-dev" } }, "autoload": { @@ -2077,7 +2083,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.4" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.0" }, "funding": [ { @@ -2088,12 +2094,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-25T14:11:13+00:00" + "time": "2026-04-13T15:52:40+00:00" }, { "name": "symfony/polyfill-mbstring", @@ -2395,7 +2405,7 @@ "platform": {}, "platform-dev": {}, "platform-overrides": { - "php": "8.0" + "php": "8.1" }, "plugin-api-version": "2.9.0" } From 97239dda465b4894c3e25c581a2a965d6f3b93e2 Mon Sep 17 00:00:00 2001 From: Benjamin Frueh Date: Thu, 25 Jun 2026 13:11:09 +0200 Subject: [PATCH 8/8] chore(release): v5.0.2 Signed-off-by: Benjamin Frueh --- CHANGELOG.md | 6 ++++++ appinfo/info.xml | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af5ecf08c..96b44c1d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Types of changes: - *Fixed* for any bug fixes. - *Security* in case of vulnerabilities. +## 5.0.2 + +### Changes + +* [chore: escape inline markdown content (notes#1908)](https://github.com/nextcloud/notes/pull/1908) + ## 5.0.1 ### Fixed diff --git a/appinfo/info.xml b/appinfo/info.xml index 7f5fa5ad1..266355dea 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -10,7 +10,7 @@ Distraction-free notes and writing - 5.0.1 + 5.0.2 agpl Kristof Hamann Bernhard Posselt diff --git a/package-lock.json b/package-lock.json index 8376e12f3..11ec89fae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "notes", - "version": "5.0.1", + "version": "5.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "notes", - "version": "5.0.1", + "version": "5.0.2", "license": "agpl", "dependencies": { "@nextcloud/axios": "^2.6.0", diff --git a/package.json b/package.json index dad41d05b..74bc11b50 100644 --- a/package.json +++ b/package.json @@ -54,5 +54,5 @@ "browserslist": [ "extends @nextcloud/browserslist-config" ], - "version": "5.0.1" + "version": "5.0.2" }