Fix European trip return heuristic for weekend location tracking
Adjust European short trip heuristic from >3 days to >1 day to correctly detect when user has returned home from European trips. This fixes the April 29-30, 2023 case where the location incorrectly showed "Sankt Georg, Hamburg" instead of "Bristol" when the user was free (no events scheduled) after the foss-north trip ended on April 27. The previous logic required more than 3 days to pass before assuming return home from European countries, but for short European trips by rail/ferry, users typically return within 1-2 days. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
663dc479c2
commit
ea4980a5d7
6407 changed files with 1072847 additions and 18 deletions
16
node_modules/eslint/lib/rules/utils/unicode/index.js
generated
vendored
Normal file
16
node_modules/eslint/lib/rules/utils/unicode/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
/**
|
||||
* @author Toru Nagashima <https://github.com/mysticatea>
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
const isCombiningCharacter = require("./is-combining-character");
|
||||
const isEmojiModifier = require("./is-emoji-modifier");
|
||||
const isRegionalIndicatorSymbol = require("./is-regional-indicator-symbol");
|
||||
const isSurrogatePair = require("./is-surrogate-pair");
|
||||
|
||||
module.exports = {
|
||||
isCombiningCharacter,
|
||||
isEmojiModifier,
|
||||
isRegionalIndicatorSymbol,
|
||||
isSurrogatePair
|
||||
};
|
||||
13
node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js
generated
vendored
Normal file
13
node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js
generated
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* @author Toru Nagashima <https://github.com/mysticatea>
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Check whether a given character is a combining mark or not.
|
||||
* @param {number} codePoint The character code to check.
|
||||
* @returns {boolean} `true` if the character belongs to the category, any of `Mc`, `Me`, and `Mn`.
|
||||
*/
|
||||
module.exports = function isCombiningCharacter(codePoint) {
|
||||
return /^[\p{Mc}\p{Me}\p{Mn}]$/u.test(String.fromCodePoint(codePoint));
|
||||
};
|
||||
13
node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js
generated
vendored
Normal file
13
node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js
generated
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* @author Toru Nagashima <https://github.com/mysticatea>
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Check whether a given character is an emoji modifier.
|
||||
* @param {number} code The character code to check.
|
||||
* @returns {boolean} `true` if the character is an emoji modifier.
|
||||
*/
|
||||
module.exports = function isEmojiModifier(code) {
|
||||
return code >= 0x1F3FB && code <= 0x1F3FF;
|
||||
};
|
||||
13
node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js
generated
vendored
Normal file
13
node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js
generated
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* @author Toru Nagashima <https://github.com/mysticatea>
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Check whether a given character is a regional indicator symbol.
|
||||
* @param {number} code The character code to check.
|
||||
* @returns {boolean} `true` if the character is a regional indicator symbol.
|
||||
*/
|
||||
module.exports = function isRegionalIndicatorSymbol(code) {
|
||||
return code >= 0x1F1E6 && code <= 0x1F1FF;
|
||||
};
|
||||
14
node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js
generated
vendored
Normal file
14
node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js
generated
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* @author Toru Nagashima <https://github.com/mysticatea>
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Check whether given two characters are a surrogate pair.
|
||||
* @param {number} lead The code of the lead character.
|
||||
* @param {number} tail The code of the tail character.
|
||||
* @returns {boolean} `true` if the character pair is a surrogate pair.
|
||||
*/
|
||||
module.exports = function isSurrogatePair(lead, tail) {
|
||||
return lead >= 0xD800 && lead < 0xDC00 && tail >= 0xDC00 && tail < 0xE000;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue