RocketChat / RocketChat/Rocket.Chat

Screen to accept the Terms of Service

Open
#11,580 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

After user login a screen should be shown when the user don't have a property termsOfServiceAccepted: true containing the Terms of Service plus a button to accept them.

This screen should appear before the screen to select the username and should block the app usage like username screen does.

This should be configurable and disabled by default since we already have the text at the login screen saying that by login the user is accepting the terms of service.

This needs to be implemented on mobile clients too.

Will require:

  • New public setting to enable the Enforce Terms of Service
  • DDP and REST api to set terms acceptance, only true, no option to uncheck
  • Expose the new field termsOfServiceAccepted to userData and /me endpoints
  • Implementation on web cliente
  • Implementation on mobile clientes

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

Start by mapping the public setting, DDP and REST endpoints, userData and /me responses, and the web and mobile clients named in the issue. Define how the acceptance flag is exposed and set, then verify that the configurable blocking screen appears before username selection and is disabled by default across clients.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, authentication, full-stack, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.