Embedding an entire Deck board in a Notes page causes an error to flash on screen
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.4k
- Forks
- 354
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 43
Description
How to use GitHub
- Please use the 👍 reaction to show that you are affected by the same issue.
- Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
- Subscribe to receive notifications on status change and new comments.
Describe the bug
Embedding entire Deck boards in other apps (like Notes or Collectives pages) causes the error: can't access property "params", this.$route is undefined to flash on the screen. However, the actual board does seem to function correctly. In the browser console I can see the error logged as coming from Board.vue.
To Reproduce
Steps to reproduce the behavior:
- Create a new Note, Collectives page (or probably any item using the same text functionality)
- Type
/, select Deck, then select an entire board. - See error
Expected behavior
There should be no error.
Screenshots
See this image of a Note that I just created. The first three embeds, respectively, a Files folder, a Talk chat, and a single Deck item, all work correctly. However, as soon as I add the fourth item, an entire Deck board, I get this error.
Client details:
- OS: Ubuntu
- Browser: Tested in Firefox and Chrome
Server details
> Aside: the issuetemplate app is dead it seems, see https://github.com/nextcloud/issuetemplate/issues/546Operating system: Ubuntu 25.04
Web server: Apache
Database: Postgres
PHP version: 8.3.24
Nextcloud version: Nextcloud Hub 10 (31.0.8)
Where did you install Nextcloud from: Nextcloud AIO
Signing status: ?
Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
Technical information
=====================
The following list covers which files have failed the integrity check. Please read
the previous linked documentation to learn more about the errors and how to fix
them.
Results
=======
- files_mindmap
- EXCEPTION
- OC\IntegrityCheck\Exceptions\InvalidSignatureException
- Certificate is not valid.
Raw output
==========
Array
(
[files_mindmap] => Array
(
[EXCEPTION] => Array
(
[class] => OC\IntegrityCheck\Exceptions\InvalidSignatureException
[message] => Certificate is not valid.
)
)
)
List of activated apps:
Enabled:
- activity: 4.0.0
- app_api: 5.0.2
- auto_groups: 1.6.2
- bruteforcesettings: 4.0.0
- calendar: 5.3.9
- camerarawpreviews: 0.8.7
- circles: 31.0.0
- cloud_federation_api: 1.14.0
- collectives: 3.1.1
- command_bot: 1.0.1
- comments: 1.21.0
- contacts: 7.2.5
- contactsinteraction: 1.12.0
- context_chat: 4.4.1
- dashboard: 7.11.0
- dav: 1.33.0
- deck: 1.15.2
- drawio: 3.1.0
- event_update_notification: 2.6.1
- external: 6.0.2
- federatedfilesharing: 1.21.0
- files: 2.3.1
- files_3dmodelviewer: 0.0.15
- files_automatedtagging: 2.0.0
- files_downloadlimit: 4.0.0
- files_fulltextsearch: 31.0.0
- files_pdfviewer: 4.0.0
- files_sharing: 1.23.1
- files_trashbin: 1.21.0
- files_versions: 1.24.0
- files_zip: 2.1.0
- firstrunwizard: 4.0.0
- forms: 5.1.2
- fulltextsearch: 31.0.0
- fulltextsearch_elasticsearch: 31.0.0
- groupfolders: 19.1.3
- integration_paperless: 1.0.7
- integration_youtube: 0.4.0
- intros: 1.1.2
- issuetemplate: 0.7.0
- logreader: 4.0.0
- lookup_server_connector: 1.19.0
- mail: 5.3.1
- music: 2.2.0
- nextcloud-aio: 0.8.0
- nextcloud_announcements: 3.0.0
- notes: 4.12.3
- notifications: 4.0.0
- notify_push: 1.2.0
- oauth2: 1.19.1
- password_policy: 3.0.0
- photos: 4.0.0
- polls: 8.3.2
- previewgenerator: 5.9.0
- privacy: 3.0.0
- profile: 1.0.0
- provisioning_api: 1.21.0
- quota_warning: 1.21.0
- recognize: 9.0.3
- recommendations: 4.0.0
- related_resources: 2.0.0
- richdocuments: 8.7.4
- serverinfo: 3.0.0
- settings: 1.14.0
- sharebymail: 1.21.0
- side_menu: 5.1.1
- spreed: 21.1.3
- support: 3.0.0
- suspicious_login: 9.0.1
- tables: 0.9.5
- terms_of_service: 4.5.0
- text: 5.0.0
- theming: 2.6.1
- theming_customcss: 1.18.0
- twofactor_backupcodes: 1.20.0
- twofactor_totp: 13.0.0-dev.0
- updatenotification: 1.21.0
- user_status: 1.11.0
- viewer: 4.0.0
- weather_status: 1.11.0
- webhook_listeners: 1.2.0
- whiteboard: 1.1.3
- workflowengine: 2.13.0
Disabled:
- admin_audit: 1.21.0 (installed 1.21.0)
- assistant: 2.6.1 (installed 2.6.1)
- audioplayer: 3.5.1 (installed 3.5.1)
- bookmarks: 15.1.3 (installed 15.1.3)
- call_summary_bot: 3.0.1 (installed 3.0.1)
- duplicatefinder: 1.7.3 (installed 1.7.3)
- encryption: 2.19.0
- federation: 1.21.0 (installed 1.21.0)
- files_accesscontrol: 2.0.0 (installed 2.0.0)
- files_external: 1.23.0 (installed 1.23.0)
- files_markdown: 2.4.1 (installed 2.4.1)
- files_mindmap: 0.0.33 (installed 0.0.33)
- files_readmemd: 3.0.2 (installed 3.0.2)
- files_reminders: 1.4.0 (installed 1.4.0)
- htmlviewer: 31.0.0 (installed 31.0.0)
- integration_homeassistant: 0.0.6 (installed 0.0.6)
- integration_openai: 3.7.1 (installed 3.7.1)
- mail_roundcube: 1.2.1 (installed 1.2.1)
- memories: 7.6.2 (installed 7.6.2)
- ownershiptransfer: 1.2.1 (installed 1.2.1)
- sharereview: 1.4.0 (installed 1.4.0)
- snappymail: 2.38.2 (installed 2.38.2)
- survey_client: 3.0.0 (installed 3.0.0)
- systemtags: 1.21.1 (installed 1.21.1)
- tasks: 0.16.1 (installed 0.16.1)
- twofactor_nextcloud_notification: 5.0.0
- user_ldap: 1.22.0
- whereami: 0.0.37 (installed 0.0.37)
Nextcloud configuration:
{
"system": {
"one-click-instance": true,
"one-click-instance.user-limit": 100,
"apps_paths": [
{
"path": "\/var\/www\/html\/apps",
"url": "\/apps",
"writable": false
},
{
"path": "\/var\/www\/html\/custom_apps",
"url": "\/custom_apps",
"writable": true
}
],
"check_data_directory_permissions": false,
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"password": "***REMOVED SENSITIVE VALUE***",
"port": 6379
},
"overwritehost": "cloud.thomsbakery.cafe",
"overwriteprotocol": "https",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"localhost",
"cloud.thomsbakery.cafe"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "pgsql",
"version": "31.0.8.1",
"overwrite.cli.url": "https:\/\/cloud.thomsbakery.cafe\/",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"maintenance": false,
"loglevel": 0,
"log_type": "file",
"logfile": "\/var\/www\/html\/data\/nextcloud.log",
"log_rotate_size": 52428800,
"log.condition": {
"apps": [
"admin_audit"
]
},
"upgrade.disable-web": true,
"mail_smtpmode": "smtp",
"simpleSignUpLink.shown": false,
"share_folder": "\/Shared",
"one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
"upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
"updatedirectory": "\/nc-updater",
"allow_local_remote_servers": true,
"davstorage.request_timeout": 3600,
"documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
"htaccess.RewriteBase": "\/",
"dbpersistent": false,
"auth.bruteforce.protection.enabled": true,
"ratelimit.protection.enabled": true,
"files_external_allow_create_new_local": true,
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"forwarded_for_headers": [
"HTTP_CF_CONNECTING_IP",
"HTTP_X_FORWARDED_FOR"
],
"forbidden_filename_basenames": [
"con",
"prn",
"aux",
"nul",
"com0",
"com1",
"com2",
"com3",
"com4",
"com5",
"com6",
"com7",
"com8",
"com9",
"com\u00b9",
"com\u00b2",
"com\u00b3",
"lpt0",
"lpt1",
"lpt2",
"lpt3",
"lpt4",
"lpt5",
"lpt6",
"lpt7",
"lpt8",
"lpt9",
"lpt\u00b9",
"lpt\u00b2",
"lpt\u00b3"
],
"forbidden_filename_characters": [
"<",
">",
":",
"\"",
"|",
"?",
"*",
"\\",
"\/"
],
"forbidden_filename_extensions": [
" ",
".",
".filepart",
".part"
],
"memories.db.triggers.fcu": true,
"memories.exiftool": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/exiftool-amd64-musl",
"memories.vod.path": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/go-vod-amd64",
"memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg",
"memories.vod.ffprobe": "\/usr\/bin\/ffprobe",
"app_install_overwrite": [
"inventory",
"dashboardcharts",
"files_markdown",
"files_readmemd",
"caniupdate",
"weather",
"nextcloud-aio",
"issuetemplate"
],
"updater.release.channel": "stable",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_sendmailmode": "smtp",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtpauth": true,
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "587",
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"notify_push": {
"urls": [
"https:\/\/cloud.thomsbakery.cafe\/push"
],
"connection_url": "http:\/\/nextcloud-aio-nextcloud:12000",
"use_proxy": false
},
"turn_servers": [
{
"server": "turn:turn.thomsbakery.cafe:3478",
"secret": null,
"protocols": "udp,tcp",
"priority": 0.5
}
],
"stun_servers": [
"stun:stun.thomsbakery.cafe:3478"
],
"spreed": {
"recording": {
"enabled": false
},
"sip": {
"enabled": false
},
"call": {
"enabled": true,
"recording": {
"enabled": false
}
}
},
"objectstore": {
"class": "\\OC\\Files\\ObjectStore\\S3",
"arguments": {
"bucket": "nextcloud-thoms-main",
"autocreate": true,
"key": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"hostname": "s3.ap-southeast-1.wasabisys.com",
"port": 443,
"use_ssl": true,
"region": "us-east-1",
"use_path_style": true,
"uploadPartSize": 52428800,
"concurrency": 5,
"connect_timeout": 10,
"timeout": 3600,
"connection_timeout": 15
}
},
"filelocking.enabled": true,
"memcache.local": "\\OC\\Memcache\\APCu",
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"enable_previews": true,
"preview_concurrency_all": 2,
"preview_max_memory": 512,
"preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
"preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
"jpeg_quality": 60,
"enabledPreviewProviders": {
"1": "OC\\Preview\\Image",
"2": "OC\\Preview\\MarkDown",
"3": "OC\\Preview\\MP3",
"4": "OC\\Preview\\TXT",
"5": "OC\\Preview\\OpenDocument",
"6": "OC\\Preview\\Movie",
"7": "OC\\Preview\\Krita",
"0": "OC\\Preview\\Imaginary",
"23": "OC\\Preview\\ImaginaryPDF"
},
"cron_log": true,
"maintenance_window_start": 100,
"dbdriveroptions": {
"12": true,
"2": 60
},
"db.debug": false,
"log_query": false,
"activity_expire_days": 7,
"trashbin_retention_obligation": "auto, 14",
"versions_retention_obligation": "auto, 14",
"default_phone_region": "VN",
"session_lifetime": 86400,
"session_keepalive": true,
"remember_login_cookie_lifetime": 2592000,
"updatechecker": false,
"DOMAIN": "cloud.thomsbakery.cafe"
}
}
**Are you using an external user-backend, if yes which one: No
Logs
Nextcloud log (data/nextcloud.log)
Insert your Nextcloud log here
My Nextcloud log file was huge (322mb), so I deleted nextcloud.log and tried recreating the embed again.
Nothing at all shows up in the logs when I do that.
Browser log
[INFO] activity: Activity API registered
Object { app: "activity", uid: "lewy", level: 0 }
[index.mjs:48:17](https://cloud.thomsbakery.cafe/apps/activity/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] @nextcloud/files: FileActions initialized
Object { app: "@nextcloud/files", uid: "lewy", level: 0 }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/viewer/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] viewer: OCA.Viewer initialized
Object { app: "viewer", uid: "lewy", level: 0 }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/viewer/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] @nextcloud/files: FileListHeaders initialized
Object { app: "@nextcloud/files", uid: "lewy", level: 0 }
[index.mjs:45:17](webpack:///collectives/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] core: Unified search initialized!
Object { app: "core", uid: "lewy", level: 0 }
[index.mjs:45:17](webpack:///nextcloud/node_modules/@nextcloud/logger/dist/index.mjs)
OCA.Files.Sidebar initialized [Sidebar.js:19:11](webpack:///nextcloud/apps/files/src/services/Sidebar.js)
[INFO] viewer: No OCP.Files app found, viewer is now in standalone mode
Object { app: "viewer", uid: "lewy", level: 0 }
[index.mjs:48:17](https://cloud.thomsbakery.cafe/apps/viewer/node_modules/@nextcloud/logger/dist/index.mjs)
OCA.Comments.View initialized [comments-app.js:15:9](webpack:///nextcloud/apps/comments/src/comments-app.js)
OCA.Sharing.ShareSearch initialized [ShareSearch.js:16:11](webpack:///nextcloud/apps/files_sharing/src/services/ShareSearch.js)
OCA.Sharing.ExternalLinkActions initialized [ExternalLinkActions.js:16:11](webpack:///nextcloud/apps/files_sharing/src/services/ExternalLinkActions.js)
OCA.Sharing.ExternalShareActions initialized [ExternalShareActions.js:16:11](webpack:///nextcloud/apps/files_sharing/src/services/ExternalShareActions.js)
Source map error: No sources are declared in this source map.
Resource URL: https://cloud.thomsbakery.cafe/custom_apps/polls/js/preload-helper-Dh9HmuEY.chunk.mjs
Source Map URL: preload-helper-Dh9HmuEY.chunk.mjs.map
Source map error: No sources are declared in this source map.
Resource URL: https://cloud.thomsbakery.cafe/custom_apps/tables/js/preload-helper-DI1sXkNj.chunk.mjs
Source Map URL: preload-helper-DI1sXkNj.chunk.mjs.map
Source map error: No sources are declared in this source map.
Resource URL: https://cloud.thomsbakery.cafe/apps/activity/js/preload-helper-DPcAka6r.chunk.mjs
Source Map URL: preload-helper-DPcAka6r.chunk.mjs.map
[ERROR] viewer: Could not register handler
Object { app: "viewer", uid: "lewy", level: 0, error: "The handler doesn't have a valid component", handler: {…} }
[index.mjs:54:17](https://cloud.thomsbakery.cafe/apps/viewer/node_modules/@nextcloud/logger/dist/index.mjs)
[INFO] viewer: 8 viewer handlers registered
Object { app: "viewer", uid: "lewy", level: 0, handlers: (8) […] }
[index.mjs:48:17](https://cloud.thomsbakery.cafe/apps/viewer/node_modules/@nextcloud/logger/dist/index.mjs)
Initializing unified search plugin-filters from talk [search.js:21:10](webpack:///talk/src/search.js)
[INFO] core: session heartbeat polling started
Object { app: "core", uid: "lewy", level: 0 }
[index.mjs:48:17](webpack:///nextcloud/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] activity: Registered new sidebar action
Object { app: "activity", uid: "lewy", level: 0 }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/activity/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] activity: Registered new sidebar actions factory
Object { app: "activity", uid: "lewy", level: 0 }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/activity/node_modules/@nextcloud/logger/dist/index.mjs)
[INFO] comments: Comments plugin registered for Activity sidebar action
Object { app: "comments", uid: "lewy", level: 0 }
[index.mjs:48:17](webpack:///nextcloud/node_modules/@nextcloud/logger/dist/index.mjs)
Notifications permissions granted [NotificationsApp.vue:417:1](https://cloud.thomsbakery.cafe/apps/notifications/src/NotificationsApp.vue)
Has notify_push enabled, slowing polling to 15 minutes [NotificationsApp.vue:207:1](https://cloud.thomsbakery.cafe/apps/notifications/src/NotificationsApp.vue)
Polling interval updated to 900000 [NotificationsApp.vue:380:1](https://cloud.thomsbakery.cafe/apps/notifications/src/NotificationsApp.vue)
Started background fetcher as session_keepalive is enabled [NotificationsApp.vue:251:1](https://cloud.thomsbakery.cafe/apps/notifications/src/NotificationsApp.vue)
[DEBUG] core: this browser is officially supported ! 🚀
Object { app: "core", uid: "lewy", level: 0 }
[index.mjs:45:17](webpack:///nextcloud/node_modules/@nextcloud/logger/dist/index.mjs)
XHRGET
https://cloud.thomsbakery.cafe/custom_apps/intros/data/structure/structure.json
[HTTP/3 404 157ms]
Got notification data, restoring default polling interval. [NotificationsApp.vue:336:1](https://cloud.thomsbakery.cafe/apps/notifications/src/NotificationsApp.vue)
Uncaught (in promise)
Object { message: "Request failed with status code 404", name: "AxiosError", code: "ERR_BAD_REQUEST", config: {…}, request: XMLHttpRequest, response: {…}, status: 404, stack: "", … }
[main.js:42:26](https://cloud.thomsbakery.cafe/custom_apps/intros/src/main.js)
[DEBUG] text: WebSocketPolyfill#constructor
Object { app: "text", uid: "lewy", level: 0, url: "ws://localhost:1234/file:444570", fileId: 444570, initialSession: null }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/text/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] text: status
Object { app: "text", uid: "lewy", level: 0, status: "connected" }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/text/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] text: [PollingBackend] Fetching steps
Object { app: "text", uid: "lewy", level: 0 }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/text/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] text: synced
Object { app: "text", uid: "lewy", level: 0, version: 22527, steps: (1) […] }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/text/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] text: synced
Object { app: "text", uid: "lewy", level: 0, version: 22527, steps: (1) […] }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/text/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] text: [PollingBackend] Fetching steps
Object { app: "text", uid: "lewy", level: 0 }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/text/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] text: synced
Object { app: "text", uid: "lewy", level: 0, version: 22527, steps: (2) […] }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/text/node_modules/@nextcloud/logger/dist/index.mjs)
TypeError: can't access property "params", this.$route is undefined
fetchData Board.vue:182
created Board.vue:167
VueJS 17
<anonymous> init-reference.js:60
oV index-56SXuvlv.mjs:39
renderWidget referencePickerModal-sscttPbK.mjs:164
VueJS 5
renderWidget referencePickerModal-sscttPbK.mjs:163
handler referencePickerModal-sscttPbK.mjs:137
VueJS 11
setup referencePickerModal-sscttPbK.mjs:50
VueJS 4
setup referencePickerModal-sscttPbK.mjs:49
c index.mjs:2905
VueJS 7
[Board.vue:196:1](webpack:///deck/src/components/board/Board.vue)
Source map error: No sources are declared in this source map.
Resource URL: https://cloud.thomsbakery.cafe/apps/text/js/_plugin-vue2_normalizer-wd1ZAbRr.chunk.mjs
Source Map URL: _plugin-vue2_normalizer-wd1ZAbRr.chunk.mjs.map
[DEBUG] text: [PollingBackend] Fetching steps
Object { app: "text", uid: "lewy", level: 0 }
[index.mjs:45:17](https://cloud.thomsbakery.cafe/apps/text/node_modules/@nextcloud/logger/dist/index.mjs)
[DEBUG] text: synced
Object { app: "text", uid: "lewy", level: 0, version: 22527, steps: (2) […] }
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with Board.vue and reproduce the issue by embedding an entire Deck board in a Note or Collectives page. Inspect the code path that accesses this.$route during embedded-board rendering. Done means the error no longer flashes or appears in the browser console while the embedded board continues to function.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100