Skip to content

Commit

Permalink
Merge pull request #73 from mixpanel/fix-cookie-set
Browse files Browse the repository at this point in the history
Fix cookie set function
  • Loading branch information
ilyakamens authored Jul 22, 2016
2 parents 40c158c + 1256064 commit 0e199bd
Show file tree
Hide file tree
Showing 14 changed files with 319 additions and 129 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
**2.9.4** (22 Jul 2016)
- Cookie setting fix: return cookie setting function to its previous functionality of using days instead of seconds

**2.9.3** (19 Jul 2016)
- Autotrack: small tweaks

Expand Down
29 changes: 26 additions & 3 deletions build/mixpanel.amd.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ define(function () { 'use strict';

var Config = {
DEBUG: false,
LIB_VERSION: '2.9.3'
LIB_VERSION: '2.9.4'
};

// since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
Expand Down Expand Up @@ -951,7 +951,7 @@ define(function () { 'use strict';
return cookie;
},

set: function(name, value, seconds, cross_subdomain, is_secure) {
set_seconds: function(name, value, seconds, cross_subdomain, is_secure) {
var cdomain = '',
expires = '',
secure = '';
Expand All @@ -976,6 +976,29 @@ define(function () { 'use strict';
document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

set: function(name, value, days, cross_subdomain, is_secure) {
var cdomain = '', expires = '', secure = '';

if (cross_subdomain) {
var matches = document$1.location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i),
domain = matches ? matches[0] : '';

cdomain = ((domain) ? '; domain=.' + domain : '');
}

if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toGMTString();
}

if (is_secure) {
secure = '; secure';
}

document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

remove: function(name, cross_subdomain) {
_.cookie.set(name, '', -1, cross_subdomain);
}
Expand Down Expand Up @@ -1863,7 +1886,7 @@ define(function () { 'use strict';
if (!isNaN(secondsToDisable) && secondsToDisable > 0) {
var disableUntil = _.timestamp() + (secondsToDisable * 1000);
console.log('disabling CE for ' + secondsToDisable + ' seconds (from ' + _.timestamp() + ' until ' + disableUntil + ')');
_.cookie.set(DISABLE_COOKIE, true, secondsToDisable, true);
_.cookie.set_seconds(DISABLE_COOKIE, true, secondsToDisable, true);
}
},

Expand Down
29 changes: 26 additions & 3 deletions build/mixpanel.cjs.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

var Config = {
DEBUG: false,
LIB_VERSION: '2.9.3'
LIB_VERSION: '2.9.4'
};

// since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
Expand Down Expand Up @@ -951,7 +951,7 @@ _.cookie = {
return cookie;
},

set: function(name, value, seconds, cross_subdomain, is_secure) {
set_seconds: function(name, value, seconds, cross_subdomain, is_secure) {
var cdomain = '',
expires = '',
secure = '';
Expand All @@ -976,6 +976,29 @@ _.cookie = {
document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

set: function(name, value, days, cross_subdomain, is_secure) {
var cdomain = '', expires = '', secure = '';

if (cross_subdomain) {
var matches = document$1.location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i),
domain = matches ? matches[0] : '';

cdomain = ((domain) ? '; domain=.' + domain : '');
}

if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toGMTString();
}

if (is_secure) {
secure = '; secure';
}

document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

remove: function(name, cross_subdomain) {
_.cookie.set(name, '', -1, cross_subdomain);
}
Expand Down Expand Up @@ -1863,7 +1886,7 @@ var ce = {
if (!isNaN(secondsToDisable) && secondsToDisable > 0) {
var disableUntil = _.timestamp() + (secondsToDisable * 1000);
console.log('disabling CE for ' + secondsToDisable + ' seconds (from ' + _.timestamp() + ' until ' + disableUntil + ')');
_.cookie.set(DISABLE_COOKIE, true, secondsToDisable, true);
_.cookie.set_seconds(DISABLE_COOKIE, true, secondsToDisable, true);
}
},

Expand Down
29 changes: 26 additions & 3 deletions build/mixpanel.globals.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

var Config = {
DEBUG: false,
LIB_VERSION: '2.9.3'
LIB_VERSION: '2.9.4'
};

// since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
Expand Down Expand Up @@ -952,7 +952,7 @@
return cookie;
},

set: function(name, value, seconds, cross_subdomain, is_secure) {
set_seconds: function(name, value, seconds, cross_subdomain, is_secure) {
var cdomain = '',
expires = '',
secure = '';
Expand All @@ -977,6 +977,29 @@
document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

set: function(name, value, days, cross_subdomain, is_secure) {
var cdomain = '', expires = '', secure = '';

if (cross_subdomain) {
var matches = document$1.location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i),
domain = matches ? matches[0] : '';

cdomain = ((domain) ? '; domain=.' + domain : '');
}

if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toGMTString();
}

if (is_secure) {
secure = '; secure';
}

document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

remove: function(name, cross_subdomain) {
_.cookie.set(name, '', -1, cross_subdomain);
}
Expand Down Expand Up @@ -1864,7 +1887,7 @@
if (!isNaN(secondsToDisable) && secondsToDisable > 0) {
var disableUntil = _.timestamp() + (secondsToDisable * 1000);
console.log('disabling CE for ' + secondsToDisable + ' seconds (from ' + _.timestamp() + ' until ' + disableUntil + ')');
_.cookie.set(DISABLE_COOKIE, true, secondsToDisable, true);
_.cookie.set_seconds(DISABLE_COOKIE, true, secondsToDisable, true);
}
},

Expand Down
29 changes: 26 additions & 3 deletions build/mixpanel.umd.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

var Config = {
DEBUG: false,
LIB_VERSION: '2.9.3'
LIB_VERSION: '2.9.4'
};

// since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
Expand Down Expand Up @@ -955,7 +955,7 @@
return cookie;
},

set: function(name, value, seconds, cross_subdomain, is_secure) {
set_seconds: function(name, value, seconds, cross_subdomain, is_secure) {
var cdomain = '',
expires = '',
secure = '';
Expand All @@ -980,6 +980,29 @@
document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

set: function(name, value, days, cross_subdomain, is_secure) {
var cdomain = '', expires = '', secure = '';

if (cross_subdomain) {
var matches = document$1.location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i),
domain = matches ? matches[0] : '';

cdomain = ((domain) ? '; domain=.' + domain : '');
}

if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toGMTString();
}

if (is_secure) {
secure = '; secure';
}

document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

remove: function(name, cross_subdomain) {
_.cookie.set(name, '', -1, cross_subdomain);
}
Expand Down Expand Up @@ -1867,7 +1890,7 @@
if (!isNaN(secondsToDisable) && secondsToDisable > 0) {
var disableUntil = _.timestamp() + (secondsToDisable * 1000);
console.log('disabling CE for ' + secondsToDisable + ' seconds (from ' + _.timestamp() + ' until ' + disableUntil + ')');
_.cookie.set(DISABLE_COOKIE, true, secondsToDisable, true);
_.cookie.set_seconds(DISABLE_COOKIE, true, secondsToDisable, true);
}
},

Expand Down
29 changes: 26 additions & 3 deletions examples/commonjs-browserify/bundle.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

var Config = {
DEBUG: false,
LIB_VERSION: '2.9.3'
LIB_VERSION: '2.9.4'
};

// since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
Expand Down Expand Up @@ -952,7 +952,7 @@ _.cookie = {
return cookie;
},

set: function(name, value, seconds, cross_subdomain, is_secure) {
set_seconds: function(name, value, seconds, cross_subdomain, is_secure) {
var cdomain = '',
expires = '',
secure = '';
Expand All @@ -977,6 +977,29 @@ _.cookie = {
document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

set: function(name, value, days, cross_subdomain, is_secure) {
var cdomain = '', expires = '', secure = '';

if (cross_subdomain) {
var matches = document$1.location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i),
domain = matches ? matches[0] : '';

cdomain = ((domain) ? '; domain=.' + domain : '');
}

if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toGMTString();
}

if (is_secure) {
secure = '; secure';
}

document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

remove: function(name, cross_subdomain) {
_.cookie.set(name, '', -1, cross_subdomain);
}
Expand Down Expand Up @@ -1864,7 +1887,7 @@ var ce = {
if (!isNaN(secondsToDisable) && secondsToDisable > 0) {
var disableUntil = _.timestamp() + (secondsToDisable * 1000);
console.log('disabling CE for ' + secondsToDisable + ' seconds (from ' + _.timestamp() + ' until ' + disableUntil + ')');
_.cookie.set(DISABLE_COOKIE, true, secondsToDisable, true);
_.cookie.set_seconds(DISABLE_COOKIE, true, secondsToDisable, true);
}
},

Expand Down
31 changes: 28 additions & 3 deletions examples/es2015-babelify/bundle.js
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ var ce = {
if (!isNaN(secondsToDisable) && secondsToDisable > 0) {
var disableUntil = _utils._.timestamp() + secondsToDisable * 1000;
console.log('disabling CE for ' + secondsToDisable + ' seconds (from ' + _utils._.timestamp() + ' until ' + disableUntil + ')');
_utils._.cookie.set(DISABLE_COOKIE, true, secondsToDisable, true);
_utils._.cookie.set_seconds(DISABLE_COOKIE, true, secondsToDisable, true);
}
},

Expand Down Expand Up @@ -638,7 +638,7 @@ Object.defineProperty(exports, '__esModule', {
});
var Config = {
DEBUG: false,
LIB_VERSION: '2.9.3'
LIB_VERSION: '2.9.4'
};

exports['default'] = Config;
Expand Down Expand Up @@ -5032,7 +5032,7 @@ _.cookie = {
return cookie;
},

set: function set(name, value, seconds, cross_subdomain, is_secure) {
set_seconds: function set_seconds(name, value, seconds, cross_subdomain, is_secure) {
var cdomain = '',
expires = '',
secure = '';
Expand All @@ -5057,6 +5057,31 @@ _.cookie = {
document.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

set: function set(name, value, days, cross_subdomain, is_secure) {
var cdomain = '',
expires = '',
secure = '';

if (cross_subdomain) {
var matches = document.location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i),
domain = matches ? matches[0] : '';

cdomain = domain ? '; domain=.' + domain : '';
}

if (days) {
var date = new Date();
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
expires = '; expires=' + date.toGMTString();
}

if (is_secure) {
secure = '; secure';
}

document.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
},

remove: function remove(name, cross_subdomain) {
_.cookie.set(name, '', -1, cross_subdomain);
}
Expand Down
Loading

0 comments on commit 0e199bd

Please sign in to comment.