getsentry / getsentry/self-hosted
GitHub App and SSO - works but no user created
- Dominant language
- Shell
- Stars
- 9.6k
- Forks
- 2k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 12
Description
### Self-Hosted Version
24.12.1
### CPU Architecture
x86_64
### Docker Version
kubernetes-sentry
### Docker Compose Version
kubernetes-sentry
### Machine Specification
- [x] My system meets the minimum system requirements of Sentry
### Steps to Reproduce
Hi,
I have setup the GitHub App as per the documentation, and while I can authenticate through GitHub, it does not create any user and falls back to the initial admin user created (which is the only one I currently have). I do have the settings "Allow Registration" to "Enabled".
I have not found any other clues as what else to configure. There is no error logs either I can find.
Note: My GitHub user has 4 different email addresses, and the 1 email linked to the GitHub organization is not the primary email.
### Expected Result
I am guessing I should see a new user being created per the Sentry setting, with the default role configured.
I am happy to provide any information I can. I am not sure where to look anymore.
### Actual Result
This is the logs from the web when authenticating through GitHub:
```
11:04:19 [INFO] sentry.access.api: api.access (method='POST' view='sentry.web.frontend.auth_organization_login.AuthOrganizationLoginView' response=302 user_id='None' is_app='None' token_type='None' is_frontend_request='True' organization_id='None' auth_id='None' path='/auth/login/example/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.06760215759277344 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:27 [INFO] sentry.access.api: api.access (method='GET' view='sentry.web.frontend.home.HomeView' response=302 user_id='None' is_app='None' token_type='None' is_frontend_request='False' organization_id='None' auth_id='None' path='/' caller_ip='10.10.49.117' user_agent='ELB-HealthChecker/2.0' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.001734018325805664 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:27 [INFO] sentry.access.api: api.access (method='GET' view='sentry.web.frontend.home.HomeView' response=302 user_id='None' is_app='None' token_type='None' is_frontend_request='False' organization_id='None' auth_id='None' path='/' caller_ip='10.10.48.192' user_agent='ELB-HealthChecker/2.0' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.0017175674438476562 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:27 [INFO] sentry.access.api: api.access (method='GET' view='sentry.web.frontend.home.HomeView' response=302 user_id='None' is_app='None' token_type='None' is_frontend_request='False' organization_id='None' auth_id='None' path='/' caller_ip='10.10.50.248' user_agent='ELB-HealthChecker/2.0' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.0020084381103515625 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:30 [INFO] sentry.superuser: superuser.needs-validation (DISABLE_SU_FORM_U2F_CHECK_FOR_LOCAL=False self_hosted=True)
11:04:30 [INFO] sentry.superuser: superuser.logged-in (ip_address='84.222.22.222' user_id=1)
11:04:30 [INFO] sentry.auth: user.auth.success (ip_address='84.222.22.222' username='it@example.tech' organization_id=1)
11:04:30 [INFO] sentry.access.api: api.access (method='GET' view='sentry.web.frontend.auth_provider_login.AuthProviderLoginView' response=302 user_id='1' is_app='None' token_type='None' is_frontend_request='True' organization_id='None' auth_id='None' path='/auth/sso/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.9965147972106934 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:30 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:30 [INFO] sentry.access.api: api.access (method='GET' view='sentry.web.frontend.home.HomeView' response=302 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='None' auth_id='None' path='/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.0645298957824707 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:30 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/organizations/example/issues/' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:30 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:30 [INFO] sentry.access.api: api.access (method='GET' view='sentry.web.frontend.react_page.ReactPageView' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/organizations/example/issues/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.1524794101715088 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:30 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/?detailed=0&include_feature_flags=1' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:30 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/teams/' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/projects/?all_projects=1&collapse=latestDeploys&collapse=unusedFeatures' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.organization_teams.OrganizationTeamsEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/teams/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.12647390365600586 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.organization_projects.OrganizationProjectsEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/projects/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.13736248016357422 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.organization_details.OrganizationDetailsEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.20233154296875 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/internal/health/' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/?member=1' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/assistant/' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.assistant.AssistantEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='None' auth_id='None' path='/api/0/assistant/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.08217215538024902 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/broadcasts/' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/users/' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.organization_index.OrganizationIndexEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='None' auth_id='None' path='/api/0/organizations/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.1268167495727539 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/searches/' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.broadcast_index.BroadcastIndexEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/broadcasts/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.11749601364135742 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:31 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.organization_users.OrganizationUsersEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/users/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.1308748722076416 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.issues.endpoints.organization_searches.OrganizationSearchesEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/searches/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.09141373634338379 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/tags/?dataset=events&statsPeriod=14d&useCache=1' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/issues/?collapse=stats&collapse=unhandled&expand=owners&expand=inbox&limit=25&query=is%3Aunresolved%20issue.priority%3A%5Bhigh%2C%20medium%5D&savedSearch=1&shortIdLookup=1&statsPeriod=14d' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/tags/?dataset=search_issues&statsPeriod=14d&useCache=1' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/recent-searches/?limit=10&type=0' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.organization_recent_searches.OrganizationRecentSearchesEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/recent-searches/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.10781335830688477 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.organization_tags.OrganizationTagsEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/tags/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.12346291542053223 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.organization_tags.OrganizationTagsEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/tags/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.13645601272583008 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:31 [INFO] sentry.access.api: api.access (method='GET' view='sentry.issues.endpoints.organization_group_index.OrganizationGroupIndexEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/issues/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.315828800201416 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/issues-count/?query=is%3Aunresolved%20is%3Afor_review%20assigned_or_suggested%3A%5Bme%2C%20my_teams%2C%20none%5D&query=is%3Aregressed&query=is%3Aescalating&query=is%3Aarchived&query=is%3Areprocessing&statsPeriod=14d' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:31 [INFO] sentry.superuser: superuser.request (url='https://sentry.aws.example.tech/api/0/organizations/example/issues-stats/?groups=11&groups=7&groups=8&groups=6&groups=4&groups=1&query=is%3Aunresolved%20issue.priority%3A%5Bhigh%2C%20medium%5D&statsPeriod=14d' method='GET' ip_address='84.222.22.222' user_id=1)
11:04:32 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:32 [INFO] sentry.superuser: superuser.superuser_access (superuser_token_id='L0Gvx30L2mZW' user_id=1 su_org_accessed='example')
11:04:32 [INFO] sentry.access.api: api.access (method='GET' view='sentry.issues.endpoints.organization_group_index_stats.OrganizationGroupIndexStatsEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/issues-stats/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.2826714515686035 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:32 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.organization_issues_count.OrganizationIssuesCountEndpoint' response=200 user_id='1' is_app='False' token_type='None' is_frontend_request='True' organization_id='1' auth_id='None' path='/api/0/organizations/example/issues-count/' caller_ip='84.222.22.222' user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.2825124263763428 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:42 [INFO] sentry.access.api: api.access (method='GET' view='sentry.web.frontend.home.HomeView' response=302 user_id='None' is_app='None' token_type='None' is_frontend_request='False' organization_id='None' auth_id='None' path='/' caller_ip='10.10.49.117' user_agent='ELB-HealthChecker/2.0' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.0017850399017333984 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:42 [INFO] sentry.access.api: api.access (method='GET' view='sentry.web.frontend.home.HomeView' response=302 user_id='None' is_app='None' token_type='None' is_frontend_request='False' organization_id='None' auth_id='None' path='/' caller_ip='10.10.48.192' user_agent='ELB-HealthChecker/2.0' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.002397298812866211 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
11:04:42 [INFO] sentry.access.api: api.access (method='GET' view='sentry.web.frontend.home.HomeView' response=302 user_id='None' is_app='None' token_type='None' is_frontend_request='False' organization_id='None' auth_id='None' path='/' caller_ip='10.10.50.248' user_agent='ELB-HealthChecker/2.0' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.0020012855529785156 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None')
```
### Event ID
_No response_
Contributor guide
Research direction
Start by reproducing the GitHub App flow through /auth/login/example/ and inspect the AuthProviderLoginView and AuthProviderLoginView logs, including the reported email mismatch. Done means a GitHub-authenticated user is created when registration is enabled instead of falling back to the initial admin user.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, github, kubernetes, shell
- Domain
- authentication
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100