Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Regression NC29.0.8rc1 - View jumps to top after file close for long file lists #48545

Closed
5 of 8 tasks
XueSheng-GIT opened this issue Oct 3, 2024 · 4 comments · Fixed by #48632
Closed
5 of 8 tasks
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 29-feedback bug

Comments

@XueSheng-GIT
Copy link

⚠️ This issue respects the following points: ⚠️

Bug description

Nextcloud 29.0.8rc1: Files app of webif. If you open a file of a long file list and close it again, the view jumps to the top of the list and the file is not highlighted. For short file lists, the view does not jump, but still the file is not highlighted after close.
This is a regression compared to NC29.0.7.

See also screen recording at the Additional info section below.

Steps to reproduce

  1. Open Nextcloud webif
  2. Open files app
  3. Open a folder with a lot of files (issue is partly related to the length of the list and the available height of the view).
  4. Open one of the files near the bottom of the list (e.g. markdown, pdf, ...).
  5. Close the file again.

Expected behavior

After file close, view should stay at it's position and file should be highlighted.

Nextcloud Server version

29

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.1

Web server

None

Database engine version

PostgreSQL

Is this bug present after an update or on a fresh install?

Updated from a MINOR version (ex. 28.0.1 to 28.0.2)

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

{
"system": {
"instanceid": "REMOVED SENSITIVE VALUE",
"passwordsalt": "REMOVED SENSITIVE VALUE",
"secret": "REMOVED SENSITIVE VALUE",
"trusted_domains": [
"cloud.domain.de"
],
"datadirectory": "REMOVED SENSITIVE VALUE",
"dbtype": "pgsql",
"version": "29.0.8.0",
"dbname": "REMOVED SENSITIVE VALUE",
"dbhost": "REMOVED SENSITIVE VALUE",
"dbtableprefix": "oc_",
"dbuser": "REMOVED SENSITIVE VALUE",
"dbpassword": "REMOVED SENSITIVE VALUE",
"installed": true,
"forcessl": true,
"forceSSLforSubdomains": true,
"htaccess.RewriteBase": "/",
"overwrite.cli.url": "https://cloud.domain.de/",
"overwritehost": "cloud.domain.de",
"overwriteprotocol": "https",
"overwritewebroot": "",
"trusted_proxies": "REMOVED SENSITIVE VALUE",
"mail_smtpmode": "smtp",
"mail_smtpsecure": "ssl",
"mail_sendmailmode": "smtp",
"mail_from_address": "REMOVED SENSITIVE VALUE",
"mail_domain": "REMOVED SENSITIVE VALUE",
"mail_smtpauthtype": "LOGIN",
"mail_smtpauth": true,
"mail_smtphost": "REMOVED SENSITIVE VALUE",
"mail_smtpport": "465",
"mail_smtpname": "REMOVED SENSITIVE VALUE",
"mail_smtppassword": "REMOVED SENSITIVE VALUE",
"theme": "",
"logtimezone": "Europe/Berlin",
"loglevel": 0,
"log_rotate_size": 104857600,
"maintenance": false,
"trashbin_retention_obligation": "30, 180",
"memcache.local": "\OC\Memcache\APCu",
"memcache.distributed": "\OC\Memcache\Redis",
"memcache.locking": "\OC\Memcache\Redis",
"redis": {
"host": "REMOVED SENSITIVE VALUE",
"port": 0,
"dbindex": 0,
"password": "REMOVED SENSITIVE VALUE",
"timeout": 1.5
},
"enabledPreviewProviders": [
"OC\Preview\PNG",
"OC\Preview\JPEG",
"OC\Preview\GIF",
"OC\Preview\HEIC",
"OC\Preview\BMP",
"OC\Preview\XBitmap",
"OC\Preview\MP3",
"OC\Preview\TXT",
"OC\Preview\MarkDown",
"OC\Preview\Movie",
"OC\Preview\MKV",
"OC\Preview\MP4",
"OC\Preview\AVI"
],
"preview_max_x": "2048",
"preview_max_y": "2048",
"jpeg_quality": "60",
"updater.release.channel": "stable",
"app_install_overwrite": [
"calendar",
"keeweb",
"files_retention",
"bruteforcesettings",
"previewgenerator",
"socialsharing_email",
"fulltextsearch",
"fulltextsearch_elasticsearch",
"files_fulltextsearch",
"groupfolders",
"files_fulltextsearch_tesseract",
"emlviewer",
"files_accesscontrol"
],
"default_language": "de",
"default_locale": "de_DE",
"default_phone_region": "DE",
"allow_local_remote_servers": true,
"activity_use_cached_mountpoints": true,
"defaultapp": "",
"maintenance_window_start": 1,
"skeletondirectory": "/mnt/nextcloud/skeleton",
"templatedirectory": "/mnt/nextcloud/templates"
}
}

List of activated Apps

Enabled:

  • activity: 2.21.1
  • admin_audit: 1.19.0
  • assistant: 1.1.0
  • bookmarks: 14.2.6
  • bruteforcesettings: 2.9.0
  • calendar: 4.7.16
  • circles: 29.0.0-dev
  • cloud_federation_api: 1.12.0
  • collectives: 2.14.4
  • comments: 1.19.0
  • contacts: 6.0.0
  • contactsinteraction: 1.10.0
  • dashboard: 7.9.0
  • dav: 1.30.1
  • deck: 1.13.2
  • drop_account: 2.6.1
  • federatedfilesharing: 1.19.0
  • federation: 1.19.0
  • files: 2.1.1
  • files_automatedtagging: 1.19.0
  • files_downloadlimit: 2.0.0
  • files_emailviewer: 0.1.0
  • files_external: 1.21.0
  • files_fulltextsearch: 29.0.1
  • files_pdfviewer: 2.10.0
  • files_reminders: 1.2.0
  • files_retention: 1.18.0
  • files_sharing: 1.21.0
  • files_tags: 0.1.0
  • files_trashbin: 1.19.0
  • files_versions: 1.22.0
  • firstrunwizard: 2.18.0
  • fulltextsearch: 29.0.1
  • fulltextsearch_elasticsearch: 29.0.1
  • groupfolders: 17.0.4
  • integration_openai: 2.0.3
  • integration_replicate: 3.0.0
  • keeweb: 0.6.20
  • logreader: 2.14.0
  • lookup_server_connector: 1.17.0
  • mail: 3.7.8
  • nextcloud_announcements: 1.18.0
  • notes: 4.11.0
  • notifications: 2.17.0
  • notify_push: 0.7.0
  • oauth2: 1.17.1
  • password_policy: 1.19.0
  • photos: 2.5.0
  • previewgenerator: 5.6.0
  • privacy: 1.13.0
  • provisioning_api: 1.19.0
  • recommendations: 2.1.0
  • related_resources: 1.4.0
  • richdocuments: 8.4.7
  • serverinfo: 1.19.0
  • settings: 1.12.0
  • sharebymail: 1.19.0
  • spreed: 19.0.9
  • support: 1.12.0
  • survey_client: 1.17.0
  • suspicious_login: 7.0.0
  • systemtags: 1.19.0
  • text: 3.10.1
  • theming: 2.4.0
  • twofactor_backupcodes: 1.18.0
  • twofactor_nextcloud_notification: 3.10.0
  • twofactor_totp: 11.0.0-dev
  • updatenotification: 1.19.1
  • user_status: 1.9.0
  • viewer: 2.3.0
  • weather_status: 1.9.0
  • welcome: 1.2.0
  • workflow_ocr: 1.29.0
  • workflow_script: 1.14.1
  • workflowengine: 2.11.0
    Disabled:
  • emlviewer: 1.0.9 (installed 1.0.9)
  • encryption: 2.17.0 (installed 2.8.1)
  • files_accesscontrol: 1.19.1 (installed 1.19.1)
  • files_lock: 29.0.1 (installed 29.0.1)
  • user_ldap: 1.20.0

Nextcloud Signing status

n/a

Nextcloud Logs

n/a

Additional info

Screen recording of the issue:

Bildschirmaufzeichnung.vom.2024-10-03.07-33-40.webm
@XueSheng-GIT XueSheng-GIT added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Oct 3, 2024
@XueSheng-GIT
Copy link
Author

Issues which may be (partly) related: #44300, #44792, #46084

@RainerEmrich
Copy link

RainerEmrich commented Oct 3, 2024

Same here with php8.3 and mariadb.

@XueSheng-GIT
Copy link
Author

I just played around with NC 30.0.1 RC1 and faced the same issue. While doing some more tests I noticed that also opening and closing the sidebar triggers this issue.

In firefox browser console following messages are shown:
Opening a file or opening it's sidebar:

[DEBUG] files: VirtualList: scrolling to index 17 
Object { app: "files", uid: "admin", level: 0, scrollTop: 907.5, columnCount: 1 }

Closing that file or it's sidebar:

[DEBUG] files: VirtualList: scrolling to index 0 
Object { app: "files", uid: "admin", level: 0, scrollTop: -27.5, columnCount: 1 }

I'm working a lot with files and I fear I'll completely be lost with NC 29.0.8 or NC 30.0.1. Each time you open/close a file or its sidebar, you don't know which file you were working on because file list scrolls to top and file is not highlighted anymore.

@artonge Could this be a regression as result of removing the fileid from the route #47920?
CC @susnux

@susnux
Copy link
Contributor

susnux commented Oct 9, 2024

I posted it already in the pull request, but I think we need to slightly adjust the parameters in the route:

I think the underlying issue is we have two properties for three states:

States:

  1. Sidebar open
  2. File open
  3. File focused

(3 is needed because of virtual scrolling to preserve the correct files in view).

Properties that control the states:

  1. openFile
  2. Fileid in route

So I think the best solution would be to add a new query part: details for information if the sidebar should be opened.

So we end up with:

  • /files/123: Focus file 123
  • /files/123?openFile: Open the file 123 with default action (viewer)
  • /files/123?details: Open the sidebar for file 123
  • /files/123?details&openFile: Open the sidebar for file 123 while the viewer is open

This would allow to reload the page at any state and the same view will be created as before the reload.

backportbot bot pushed a commit that referenced this issue Oct 29, 2024
backportbot bot pushed a commit that referenced this issue Oct 29, 2024
artonge added a commit that referenced this issue Oct 29, 2024
artonge added a commit that referenced this issue Oct 29, 2024
nextcloud-command pushed a commit that referenced this issue Oct 29, 2024
Fix #48545

Signed-off-by: Louis Chemineau <[email protected]>
Signed-off-by: nextcloud-command <[email protected]>
nextcloud-command pushed a commit that referenced this issue Oct 29, 2024
Fix #48545

Signed-off-by: Louis Chemineau <[email protected]>
Signed-off-by: nextcloud-command <[email protected]>
nextcloud-command pushed a commit that referenced this issue Oct 29, 2024
Fix #48545

Signed-off-by: Louis Chemineau <[email protected]>
Signed-off-by: nextcloud-command <[email protected]>
nextcloud-command pushed a commit that referenced this issue Oct 29, 2024
Fix #48545

Signed-off-by: Louis Chemineau <[email protected]>
Signed-off-by: nextcloud-command <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 29-feedback bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants