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

Device Settings Updates: Download on a metered connection #9779

Closed
3 tasks
marcellamaki opened this issue Oct 18, 2022 · 0 comments · Fixed by #9833
Closed
3 tasks

Device Settings Updates: Download on a metered connection #9779

marcellamaki opened this issue Oct 18, 2022 · 0 comments · Fixed by #9833
Assignees
Labels
P0 - critical Priority: Release blocker or regression

Comments

@marcellamaki
Copy link
Member

Overview

This issue is a full-stack issue that updates the Device Settings page to include a setting where the user can determine whether or not to download data on metered connections. The default behavior is to not download on metered connection. The setting should be set to false by default, and then the user can change it.

To avoid having to create a new migration for each field, we will be using a feature branch for this project update-device-settings. Please make PRs to this branch, which will later be merged into develop when the feature is complete.

Specifications

Figma

Complete figma spec

➡️ Accessibility notes:

  • The title for this section ('Download on metered connection') is an <h2>
  • Please use <KRadioButtons /> to ensure that the content is properly passed on to screen readers, and that focus outlining works. (You may optionally use Kolibri's <RadioButtonGroup /> component, which wraps multiple KRadioButtons)

Screen Shot 2022-10-18 at 9 26 09 AM

API changes

The setting should be a Boolean.

The changes to the API should be made within the existing API file in the /device plugin: kolibri/plugins/device/assets/src/views/DeviceSettingsPage/api.js

Backend changes should include updating the model kolibri/core/device/models.py and related serializer kolibri/core/device/serializers.py

Acceptance Criteria

  • Frontend is updated with correct strings, using existing components
  • On saving, the setting is updated on both the frontend and the backend, and a Settings have been updated message displays. (This snackbar should already exists and it should appear by default on a successful update to the device settings).
  • The DeviceSettingsPage.spec.js should be updated so that existing tests still pass (as necessary) and there should be at least one test written to cover this scenario

Out of Scope

Changing any user behavior or access based on this setting is beyond the scope of this issue. This issue is only to update the interface and allow the user to save the setting, not to make any chances to the download processes based on the setting.

References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P0 - critical Priority: Release blocker or regression
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants