You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
/*
 | 
						|
 * vim: ts=4:sw=4:expandtab
 | 
						|
 */
 | 
						|
(function () {
 | 
						|
    'use strict';
 | 
						|
    var MAX_MESSAGES = 1000;
 | 
						|
    var PHONE_REGEX = /\+\d{7,12}(\d{3})/g;
 | 
						|
    var debugLog = [];
 | 
						|
    if (window.console) {
 | 
						|
        console._log = console.log;
 | 
						|
        console.log = function(){
 | 
						|
            console._log.apply(this, arguments);
 | 
						|
            if (debugLog.length > MAX_MESSAGES) {
 | 
						|
                debugLog.shift();
 | 
						|
            }
 | 
						|
            var args = Array.prototype.slice.call(arguments);
 | 
						|
            var str = args.join(' ').replace(PHONE_REGEX, "+[REDACTED]$1");
 | 
						|
            debugLog.push(str);
 | 
						|
        };
 | 
						|
        console.get = function() {
 | 
						|
            return window.navigator.userAgent + '\n' + debugLog.join('\n');
 | 
						|
        };
 | 
						|
        console.post = function(log) {
 | 
						|
            if (log === undefined) {
 | 
						|
                log = console.get();
 | 
						|
            }
 | 
						|
            return new Promise(function(resolve) {
 | 
						|
                $.post('https://api.github.com/gists', textsecure.utils.jsonThing({
 | 
						|
                    "files": { "debugLog.txt": { "content": log } }
 | 
						|
                })).then(function(response) {
 | 
						|
                    console._log('Posted debug log to ', response.html_url);
 | 
						|
                    resolve(response.html_url);
 | 
						|
                }).fail(resolve);
 | 
						|
            });
 | 
						|
        };
 | 
						|
 | 
						|
        window.onerror = function(message, script, line, col, error) {
 | 
						|
            console.log(error);
 | 
						|
        };
 | 
						|
    }
 | 
						|
})();
 |