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

Download Limit Support #3184

Open
i2h3 opened this issue Nov 11, 2024 · 0 comments · Fixed by #3204 or nextcloud/NextcloudKit#107
Open

Download Limit Support #3184

i2h3 opened this issue Nov 11, 2024 · 0 comments · Fixed by #3204 or nextcloud/NextcloudKit#107
Assignees

Comments

@i2h3
Copy link

i2h3 commented Nov 11, 2024

See parent issue in meta repository for files clients.

Important consideration: The optional server-side app for limiting downloads can be disabled or not even installed.

Add UI tests, if feasible.

@i2h3 i2h3 self-assigned this Nov 11, 2024
@github-project-automation github-project-automation bot moved this to 🧭 Planning evaluation (don't pick) in 🤖 🍏 Clients team Nov 11, 2024
@tobiasKaminsky tobiasKaminsky moved this from 🧭 Planning evaluation (don't pick) to 🏗️ In progress in 🤖 🍏 Clients team Nov 12, 2024
i2h3 added a commit that referenced this issue Nov 22, 2024
- Added tableDownloadLimit entity to app database.
- Extended capability query to also consider download limit app.
- Extended capabilities list view for display of download limit availability.
- Extended share detail user interface to mimic the web user interface for managing download limits.
- Every time WebDAV properties of a file are retrieved, its associated download limits are removed and recreated.

Housekeeping:
- Outsourced NCShareDateCell into dedicated source code file.
- Outsourced NCShareToggleCell into dedicated source code file.

Notes:
- In my first attempt I had a detail view in the download limit row of the advanced share options showing the remaining number of downloads. However, that required to inject and retain the download limit entity object into the complicated share table configuration object. That, in turn, results in inconsistent data state due to invalid and outdated references. To resolve those issues, the assembly of the advanced share options user interface needs some refactoring which appears to expansive at this point and I prefer to leave it as it is for now.

Signed-off-by: Iva Horn <[email protected]>
i2h3 added a commit that referenced this issue Nov 22, 2024
- Added tableDownloadLimit entity to app database.
- Extended capability query to also consider download limit app.
- Extended capabilities list view for display of download limit availability.
- Extended share detail user interface to mimic the web user interface for managing download limits.
- Every time WebDAV properties of a file are retrieved, its associated download limits are removed and recreated.

Housekeeping:
- Outsourced NCShareDateCell into dedicated source code file.
- Outsourced NCShareToggleCell into dedicated source code file.

Notes:
- In my first attempt I had a detail view in the download limit row of the advanced share options showing the remaining number of downloads. However, that required to inject and retain the download limit entity object into the complicated share table configuration object. That, in turn, results in inconsistent data state due to invalid and outdated references. To resolve those issues, the assembly of the advanced share options user interface needs some refactoring which appears to expansive at this point and I prefer to leave it as it is for now.

Signed-off-by: Iva Horn <[email protected]>
@i2h3 i2h3 linked a pull request Nov 26, 2024 that will close this issue
@tobiasKaminsky tobiasKaminsky linked a pull request Nov 26, 2024 that will close this issue
i2h3 added a commit that referenced this issue Nov 27, 2024
- Added tableDownloadLimit entity to app database.
- Extended capability query to also consider download limit app.
- Extended capabilities list view for display of download limit availability.
- Extended share detail user interface to mimic the web user interface for managing download limits.
- Every time WebDAV properties of a file are retrieved, its associated download limits are removed and recreated.

Housekeeping:
- Outsourced NCShareDateCell into dedicated source code file.
- Outsourced NCShareToggleCell into dedicated source code file.

Notes:
- In my first attempt I had a detail view in the download limit row of the advanced share options showing the remaining number of downloads. However, that required to inject and retain the download limit entity object into the complicated share table configuration object. That, in turn, results in inconsistent data state due to invalid and outdated references. To resolve those issues, the assembly of the advanced share options user interface needs some refactoring which appears to expansive at this point and I prefer to leave it as it is for now.

Signed-off-by: Iva Horn <[email protected]>
i2h3 added a commit that referenced this issue Dec 3, 2024
- Added tableDownloadLimit entity to app database.
- Extended capability query to also consider download limit app.
- Extended capabilities list view for display of download limit availability.
- Extended share detail user interface to mimic the web user interface for managing download limits.
- Every time WebDAV properties of a file are retrieved, its associated download limits are removed and recreated.

Housekeeping:
- Outsourced NCShareDateCell into dedicated source code file.
- Outsourced NCShareToggleCell into dedicated source code file.

Notes:
- In my first attempt I had a detail view in the download limit row of the advanced share options showing the remaining number of downloads. However, that required to inject and retain the download limit entity object into the complicated share table configuration object. That, in turn, results in inconsistent data state due to invalid and outdated references. To resolve those issues, the assembly of the advanced share options user interface needs some refactoring which appears to expansive at this point and I prefer to leave it as it is for now.

Signed-off-by: Iva Horn <[email protected]>
i2h3 added a commit that referenced this issue Dec 19, 2024
- Added tableDownloadLimit entity to app database.
- Extended capability query to also consider download limit app.
- Extended capabilities list view for display of download limit availability.
- Extended share detail user interface to mimic the web user interface for managing download limits.
- Every time WebDAV properties of a file are retrieved, its associated download limits are removed and recreated.

Housekeeping:
- Outsourced NCShareDateCell into dedicated source code file.
- Outsourced NCShareToggleCell into dedicated source code file.

Notes:
- In my first attempt I had a detail view in the download limit row of the advanced share options showing the remaining number of downloads. However, that required to inject and retain the download limit entity object into the complicated share table configuration object. That, in turn, results in inconsistent data state due to invalid and outdated references. To resolve those issues, the assembly of the advanced share options user interface needs some refactoring which appears to expansive at this point and I prefer to leave it as it is for now.

Signed-off-by: Iva Horn <[email protected]>
marinofaggiana added a commit that referenced this issue Dec 23, 2024
* #3184: Download Limit Support

- Added tableDownloadLimit entity to app database.
- Extended capability query to also consider download limit app.
- Extended capabilities list view for display of download limit availability.
- Extended share detail user interface to mimic the web user interface for managing download limits.
- Every time WebDAV properties of a file are retrieved, its associated download limits are removed and recreated.

Housekeeping:
- Outsourced NCShareDateCell into dedicated source code file.
- Outsourced NCShareToggleCell into dedicated source code file.

Notes:
- In my first attempt I had a detail view in the download limit row of the advanced share options showing the remaining number of downloads. However, that required to inject and retain the download limit entity object into the complicated share table configuration object. That, in turn, results in inconsistent data state due to invalid and outdated references. To resolve those issues, the assembly of the advanced share options user interface needs some refactoring which appears to expansive at this point and I prefer to leave it as it is for now.

Signed-off-by: Iva Horn <[email protected]>

* Updated NextcloudKit reference to files_downloadlimit branch.

Signed-off-by: Iva Horn <[email protected]>

* Update iOSClient/Data/NCManageDatabase+DownloadLimit.swift

Signed-off-by: Milen Pivchev <[email protected]>

* fix

Signed-off-by: Marino Faggiana <[email protected]>

* Updated NextcloudKit reference to develop branch.

Signed-off-by: Iva Horn <[email protected]>

* Fix(l10n): Update translations from Transifex

Signed-off-by: Nextcloud bot <[email protected]>

* Fix(l10n): Update translations from Transifex

Signed-off-by: Nextcloud bot <[email protected]>

* fix

Signed-off-by: Marino Faggiana <[email protected]>

---------

Signed-off-by: Iva Horn <[email protected]>
Signed-off-by: Milen Pivchev <[email protected]>
Signed-off-by: Marino Faggiana <[email protected]>
Signed-off-by: Nextcloud bot <[email protected]>
Co-authored-by: Iva Horn <[email protected]>
Co-authored-by: Milen Pivchev <[email protected]>
Co-authored-by: Nextcloud bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🏗️ In progress
2 participants