Link previews fail to populate often, despite metadata being resolved successfully
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 2.2k
- Forks
- 586
- Avg merge
- 18h 27m
- Merged PRs (30d)
- 333
Description
[!TIP]
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.
Steps to reproduce
- Send a link to a page that has OpenGraph info (most social media sites do), or other resolvable metadata.
- Talk may or may not show a link preview, not sure what determines success or failure.
- Inspect the element and see the description field, for example, does have data but has an element-level CSS declaration of
display: none.
Expected behaviour
The preview should populate.
Actual behaviour
The preview does not populate.
Example: The first link populates a preview successfully, but the second does not despite both being from the same site and being similar posts.
https://mastodon.xyz/@nextcloud/116092044856390715
https://mastodon.xyz/@nextcloud/116483496632525540
The description field for the second link is populated, and if it was not display: none, it would be visible.
Talk app
Talk app version: 23.0.4
Custom Signaling server configured: Yes, 2.1.0~docker
Custom TURN server configured: Yes
Custom STUN server configured: Yes
Browser
Microphone available: yes
Camera available: yes
Operating system: Linux (Bazzite, based on Fedora Atomic 43)
Browser name: Vivaldi (same behavior in the Talk desktop and mobile apps)
Browser version:
Version: 7.9.3970.59 (Official Build) (64-bit)
Chromium Version: 146.0.7680.211
Channel: Official Build
Platform / OS: Linux - org.freedesktop.platform 25.08
Executable Path: /app/vivaldi/vivaldi
Command Line: /app/vivaldi/vivaldi --enable-features=WebRTCPipeWireCapturer --disable-features=WebAssemblyTrapHandler,DesktopPWAsRunOnOsLogin --class=Vivaldi-flatpak --no-default-browser-check --flag-switches-begin --flag-switches-end --ozone-platform=wayland --origin-trial-disabled-features=CanvasTextNg|WebAssemblyCustomDescriptors --render-node-override=/dev/dri/renderD128
Browser log
Server configuration
Operating system: Docker
Web server: Nginx
Database: MariaDB
PHP version: 8.4.20
Nextcloud Version: Nextcloud Hub 26 Winter (33.0.2)
List of activated apps:
Enabled:
- activity: 6.0.0
- announcementbanner: 2.4.2
- app_api: 33.0.0
- bruteforcesettings: 6.0.0
- checksum: 2.1.1
- circles: 33.0.0
- cloud_federation_api: 1.17.0
- command_bot: 1.1.0
- comments: 1.23.0
- contactsinteraction: 1.14.1
- dashboard: 7.13.0
- data_request: 5.0.0
- dav: 1.36.0
- doom_nextcloud: 1.0.8
- drop_account: 3.0.0
- encryption: 2.21.0
- end_to_end_encryption: 2.1.0
- federatedfilesharing: 1.23.0
- federation: 1.23.0
- files: 2.5.0
- files_archive: 1.2.8
- files_downloadlimit: 5.1.0
- files_pdfviewer: 6.0.0
- files_photospheres: 1.33.0
- files_reminders: 1.6.0
- files_retention: 4.0.1
- files_sharing: 1.25.2
- files_trashbin: 1.23.0
- files_versions: 1.26.0
- files_zip: 2.3.0
- firstrunwizard: 6.0.0
- forms: 5.2.7
- forum: 1.0.1
- groupfolders: 21.0.7
- impersonate: 4.0.0
- integration_mastodon: 5.1.0
- logreader: 6.0.0
- lookup_server_connector: 1.21.0
- music: 3.0.0
- nextcloud_announcements: 5.0.0
- notes: 5.0.0
- notifications: 6.0.0
- notify_push: 1.3.1
- oauth2: 1.21.0
- password_policy: 5.0.0
- photos: 6.0.0
- previewgenerator: 5.13.0
- privacy: 5.0.0
- profile: 1.2.0
- provisioning_api: 1.23.0
- recommendations: 6.0.0
- registration: 2.9.0
- related_resources: 4.0.0
- richdocuments: 10.1.2
- richdocumentscode: 25.4.904
- serverinfo: 5.0.0
- settings: 1.16.0
- sharebymail: 1.23.0
- spreed: 23.0.4
- support: 5.0.0
- survey_client: 5.0.0
- systemtags: 1.23.0
- text: 7.0.0
- theming: 2.8.0
- theming_customcss: 1.20.0
- thesearchpage: 2.1.2
- twofactor_backupcodes: 1.22.0
- twofactor_totp: 15.0.0
- updatenotification: 1.23.0
- user_migration: 10.2.0
- user_status: 1.13.0
- viewer: 6.0.0
- weather_status: 1.13.0
- webhook_listeners: 1.5.0
- workflowengine: 2.15.0
Disabled:
- admin_audit: 1.23.0
- files_external: 1.25.1
- suspicious_login: 11.0.0
- testing: 1.23.0
- twofactor_nextcloud_notification: 7.0.0
- user_ldap: 1.24.0
Nextcloud configuration:
{
"system": {
"htaccess.RewriteBase": "\/",
"memcache.local": "\\OC\\Memcache\\APCu",
"apps_paths": [
{
"path": "\/var\/www\/html\/apps",
"url": "\/apps",
"writable": false
},
{
"path": "\/var\/www\/html\/custom_apps",
"url": "\/custom_apps",
"writable": true
}
],
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"password": "***REMOVED SENSITIVE VALUE***",
"port": 0
},
"mail_smtpmode": "smtp",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "587",
"mail_smtpsecure": "tls",
"mail_smtpauth": true,
"mail_smtpauthtype": "LOGIN",
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"upgrade.disable-web": true,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"***REMOVED SENSITIVE VALUE***"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "mysql",
"version": "33.0.2.2",
"overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"maintenance": false,
"twofactor_enforced": "true",
"twofactor_enforced_groups": [
"***REMOVED SENSITIVE VALUE***"
],
"twofactor_enforced_excluded_groups": [
"Forum Only"
],
"defaultapp": "dashboard,spreed",
"app_install_overwrite": [
"files_archive"
],
"loglevel": 2
}
}
Server log (data/nextcloud.log)
No logs are generated on pageload.
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 by reproducing the issue with the two Mastodon URLs and inspect the link-preview description element and its display state. Compare the successful and unsuccessful previews, then verify that resolvable metadata produces a visible preview in the Talk web, desktop, and mobile clients.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100