Restore progressive remote video playback for user-accepted certificates
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 2.5k
- Forks
- 1k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 13
Description
How to use GitHub
- Please use the 👍 reaction to show that you are interested into the same feature.
- 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.
Feature request
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Is your feature request related to a problem? Please describe.
Yes. On my self-hosted Nextcloud instance, the HTTPS certificate has been explicitly reviewed and accepted by the user.
In previous versions of the iOS app, opening a remote video displayed a certificate warning. After confirming that the certificate was trusted, the video could be played directly from the server without downloading the complete file first.
Following the solution implemented for #4209 in #4222, the app now downloads the entire video before playback begins.
This makes the video playable, but it is considerably slower and less convenient for large files. A video of several gigabytes may require a long wait before playback starts, even when the user only wants to watch a small part of it. It also temporarily increases the amount of storage used by the Nextcloud app on the iPhone, since the complete video must be downloaded locally before playback can begin.
Describe the solution you'd like
I would like progressive remote video playback to be restored when the certificate for that specific host has already been explicitly reviewed and accepted by the user.
Certificate validation should not be disabled globally. The trust decision should apply only to the same host and certificate accepted by the user.
The complete-download behaviour introduced in #4222 could remain available as a fallback when progressive playback cannot be established.
Describe alternatives you've considered
The current download-before-playback fallback works, and the video plays correctly after the download finishes. However, it is not a practical replacement for remote streaming when working with large videos.
Using a publicly trusted certificate is another possible solution, but it requires additional infrastructure that was not necessary with the previous behaviour of the iOS app.
Additional context
Related issue and pull request:
- #4209
- #4222
Tested with:
- Nextcloud iOS TestFlight 34.1.1, build 2
- iOS 26.6
- Nextcloud Server 34.0.2
- Self-hosted Docker Compose deployment
- HTTPS over a private local network
- Certificate explicitly accepted by the user
Previous behaviour:
- Open the remote video.
- Confirm the certificate warning.
- Playback starts directly from the server.
Current behaviour:
- Open the remote video.
- The app displays “Download in progress”.
- The complete file is downloaded.
- Playback starts only after the download finishes.
This request is specifically about restoring progressive remote playback. The current fallback can remain available for cases where streaming is not possible.
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 tracing the implementation introduced for #4222 and the certificate-acceptance flow described in this issue. Reproduce playback with a user-accepted certificate and a large remote video, then verify that progressive playback returns for the accepted host and certificate while complete-download fallback still works when streaming cannot be established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, swift
- Domain
- mobile-dev, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100