Make first use less overwhelming with browser permissions (#4760)
- Ask for desktop notifications after 1 minute of use instead of instantly - Ask for protocol handler permission after 5 minutes of use instead of instantly
This commit is contained in:
		
							parent
							
								
									1a0df58878
								
							
						
					
					
						commit
						ff7d02b236
					
				@ -28,13 +28,16 @@ export default class Mastodon extends React.PureComponent {
 | 
				
			|||||||
    this.disconnect = store.dispatch(connectUserStream());
 | 
					    this.disconnect = store.dispatch(connectUserStream());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Desktop notifications
 | 
					    // Desktop notifications
 | 
				
			||||||
 | 
					    // Ask after 1 minute
 | 
				
			||||||
    if (typeof window.Notification !== 'undefined' && Notification.permission === 'default') {
 | 
					    if (typeof window.Notification !== 'undefined' && Notification.permission === 'default') {
 | 
				
			||||||
      Notification.requestPermission();
 | 
					      window.setTimeout(() => Notification.requestPermission(), 60 * 1000);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Protocol handler
 | 
				
			||||||
 | 
					    // Ask after 5 minutes
 | 
				
			||||||
    if (typeof navigator.registerProtocolHandler !== 'undefined') {
 | 
					    if (typeof navigator.registerProtocolHandler !== 'undefined') {
 | 
				
			||||||
      const handlerUrl = window.location.protocol + '//' + window.location.host + '/intent?uri=%s';
 | 
					      const handlerUrl = window.location.protocol + '//' + window.location.host + '/intent?uri=%s';
 | 
				
			||||||
      navigator.registerProtocolHandler('web+mastodon', handlerUrl, 'Mastodon');
 | 
					      window.setTimeout(() => navigator.registerProtocolHandler('web+mastodon', handlerUrl, 'Mastodon'), 5 * 60 * 1000);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    store.dispatch(showOnboardingOnce());
 | 
					    store.dispatch(showOnboardingOnce());
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user