nextcloud / nextcloud/spreed

Remove file path information and query by file id only

Open
#18,676 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

client: 🤖🍏 mobile enhancement feature: api 🛠️ feature: frontend 🖌️ feature: upload & shares & voice 📤🎙️ performance 🚀
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.

We've seen some issues over the time that are related to filesystem setups, be it performance wise or returning inaccurate path information (sometimes intended, sometimes by accident). On locally cached information it is even possible that the file is moved on the server, but it is not updated on the clients.
On iOS we recently changed how we query file information from being path based, to fileid based (ref https://github.com/nextcloud/talk-ios/pull/2598), to work around several issues. We did a query anyway before opening a file, to check if we still have the correct file cached, or if it was changed on the server (and then we don't want to display outdated files).

The question is now if we can do the same on all clients and completely remove setting up the filesystem from Talk for every user.

Rough todo:

  • Ensure the rich object is still valid without a path (or is empty path okay?)
  • Implement it on android (iOS already done)
  • Check if viewer can do it directly (passing a fileid, instead of a path and name) or if we can just do a PROPFIND by fileid and pass that to viewer
  • After some time, remove filesystem code server side and require updated clients

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Begin with the existing iOS file-id query referenced in talk-ios PR #2598 and compare the Android, viewer, and server-side filesystem paths. Verify rich objects and viewer behavior without paths, then confirm that clients query by file ID before considering removal of the server-side filesystem code.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, ios, javascript
Domain
api, backend, mobile-dev
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.