diff --git a/package-lock.json b/package-lock.json
index 57ad1d31a..7c010c5b1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,23 +13,23 @@
"@comapeo/ipc": "2.1.0",
"@expo-google-fonts/rubik": "0.2.3",
"@formatjs/intl-getcanonicallocales": "2.5.4",
- "@formatjs/intl-locale": "4.2.8",
- "@formatjs/intl-pluralrules": "5.4.1",
- "@formatjs/intl-relativetimeformat": "11.4.8",
+ "@formatjs/intl-locale": "4.2.9",
+ "@formatjs/intl-pluralrules": "5.4.2",
+ "@formatjs/intl-relativetimeformat": "11.4.9",
"@gorhom/bottom-sheet": "5.0.6",
"@osm_borders/maritime_10000m": "1.1.0",
"@react-native-community/hooks": "3.0.0",
"@react-native-community/netinfo": "11.4.1",
- "@react-native-picker/picker": "2.10.2",
+ "@react-native-picker/picker": "2.11.0",
"@react-navigation/bottom-tabs": "6.5.8",
"@react-navigation/drawer": "6.6.15",
"@react-navigation/native": "6.1.7",
"@react-navigation/native-stack": "6.9.13",
"@rnmapbox/maps": "10.1.33",
- "@sentry/react-native": "5.20.0",
- "@tanstack/react-query": "5.62.8",
- "@turf/helpers": "7.1.0",
- "@turf/random": "7.1.0",
+ "@sentry/react-native": "6.5.0",
+ "@tanstack/react-query": "5.64.2",
+ "@turf/helpers": "7.2.0",
+ "@turf/random": "7.2.0",
"@types/luxon": "3.4.2",
"assert": "2.1.0",
"buffer": "6.0.3",
@@ -63,28 +63,28 @@
"nanoid": "5.0.9",
"nodejs-mobile-react-native": "18.20.4",
"react": "18.2.0",
- "react-hook-form": "7.54.1",
- "react-intl": "7.0.4",
+ "react-hook-form": "7.54.2",
+ "react-intl": "7.1.4",
"react-native": "0.73.6",
"react-native-android-open-settings": "1.3.0",
"react-native-confirmation-code-field": "7.4.0",
- "react-native-device-info": "14.0.1",
+ "react-native-device-info": "14.0.2",
"react-native-gesture-handler": "2.21.2",
"react-native-indicators": "0.17.0",
"react-native-linear-gradient": "2.8.3",
- "react-native-mmkv": "2.12.1",
+ "react-native-mmkv": "2.12.2",
"react-native-progress": "5.0.1",
- "react-native-reanimated": "3.16.5",
+ "react-native-reanimated": "3.16.7",
"react-native-restart": "0.0.27",
"react-native-safe-area-context": "4.14.0",
"react-native-scale-bar": "1.0.6",
"react-native-screens": "3.29.0",
"react-native-share": "12.0.3",
- "react-native-svg": "15.10.1",
+ "react-native-svg": "15.11.1",
"react-native-url-polyfill": "2.0.0",
"react-native-vector-icons": "10.2.0",
"react-native-zeroconf": "0.13.8",
- "readable-stream": "4.5.2",
+ "readable-stream": "4.7.0",
"rpc-reflector": "1.3.11",
"start-stop-state-machine": "1.2.0",
"tiny-typed-emitter": "2.1.0",
@@ -92,7 +92,7 @@
"utm": "1.1.1",
"valibot": "0.42.1",
"validate-color": "2.2.4",
- "zustand": "5.0.2"
+ "zustand": "5.0.3"
},
"devDependencies": {
"@babel/core": "7.25.7",
@@ -113,7 +113,7 @@
"@tanstack/eslint-plugin-query": "5.62.1",
"@testing-library/react-native": "12.4.3",
"@types/debug": "4.1.12",
- "@types/geojson": "7946.0.14",
+ "@types/geojson": "7946.0.15",
"@types/jest": "29.5.13",
"@types/lodash.isequal": "4.5.6",
"@types/node": "20.8.4",
@@ -4811,57 +4811,57 @@
}
},
"node_modules/@formatjs/ecma402-abstract": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.1.tgz",
- "integrity": "sha512-Ip9uV+/MpLXWRk03U/GzeJMuPeOXpJBSB5V1tjA6kJhvqssye5J5LoYLc7Z5IAHb7nR62sRoguzrFiVCP/hnzw==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.2.tgz",
+ "integrity": "sha512-6sE5nyvDloULiyOMbOTJEEgWL32w+VHkZQs8S02Lnn8Y/O5aQhjOEXwWzvR7SsBE/exxlSpY2EsWZgqHbtLatg==",
"license": "MIT",
"dependencies": {
- "@formatjs/fast-memoize": "2.2.5",
- "@formatjs/intl-localematcher": "0.5.9",
+ "@formatjs/fast-memoize": "2.2.6",
+ "@formatjs/intl-localematcher": "0.5.10",
"decimal.js": "10",
"tslib": "2"
}
},
"node_modules/@formatjs/fast-memoize": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.5.tgz",
- "integrity": "sha512-6PoewUMrrcqxSoBXAOJDiW1m+AmkrAj0RiXnOMD59GRaswjXhm3MDhgepXPBgonc09oSirAJTsAggzAGQf6A6g==",
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.6.tgz",
+ "integrity": "sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==",
"license": "MIT",
"dependencies": {
"tslib": "2"
}
},
"node_modules/@formatjs/icu-messageformat-parser": {
- "version": "2.9.7",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.9.7.tgz",
- "integrity": "sha512-cuEHyRM5VqLQobANOjtjlgU7+qmk9Q3fDQuBiRRJ3+Wp3ZoZhpUPtUfuimZXsir6SaI2TaAJ+SLo9vLnV5QcbA==",
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.0.tgz",
+ "integrity": "sha512-Hp81uTjjdTk3FLh/dggU5NK7EIsVWc5/ZDWrIldmf2rBuPejuZ13CZ/wpVE2SToyi4EiroPTQ1XJcJuZFIxTtw==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/icu-skeleton-parser": "1.8.11",
+ "@formatjs/ecma402-abstract": "2.3.2",
+ "@formatjs/icu-skeleton-parser": "1.8.12",
"tslib": "2"
}
},
"node_modules/@formatjs/icu-skeleton-parser": {
- "version": "1.8.11",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.11.tgz",
- "integrity": "sha512-8LlHHE/yL/zVJZHAX3pbKaCjZKmBIO6aJY1mkVh4RMSEu/2WRZ4Ysvv3kKXJ9M8RJLBHdnk1/dUQFdod1Dt7Dw==",
+ "version": "1.8.12",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.12.tgz",
+ "integrity": "sha512-QRAY2jC1BomFQHYDMcZtClqHR55EEnB96V7Xbk/UiBodsuFc5kujybzt87+qj1KqmJozFhk6n4KiT1HKwAkcfg==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
+ "@formatjs/ecma402-abstract": "2.3.2",
"tslib": "2"
}
},
"node_modules/@formatjs/intl": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-3.0.4.tgz",
- "integrity": "sha512-pnetak6R7Xp/ET96O5kx9zRYoQQqr6sbRXWkJHKw0Hr/jr3ls4CddZKq+suwCDuW6p/ior2BhpOSh/WLLcJM6w==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-3.1.3.tgz",
+ "integrity": "sha512-yWtB1L4vOr17MLII3bcNRmjx6qBkSupJuA6nJz1zVxpWbJXKQL5vgvjRCehTO3z7HolxFjtLdfV0/RN+bC34Fg==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/fast-memoize": "2.2.5",
- "@formatjs/icu-messageformat-parser": "2.9.7",
- "intl-messageformat": "10.7.10",
+ "@formatjs/ecma402-abstract": "2.3.2",
+ "@formatjs/fast-memoize": "2.2.6",
+ "@formatjs/icu-messageformat-parser": "2.11.0",
+ "intl-messageformat": "10.7.14",
"tslib": "2"
},
"peerDependencies": {
@@ -4874,12 +4874,12 @@
}
},
"node_modules/@formatjs/intl-enumerator": {
- "version": "1.8.7",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-enumerator/-/intl-enumerator-1.8.7.tgz",
- "integrity": "sha512-qd7UlWUivKRJ073btssUqMSqzWW9yN3Ki6EqfCZ6uvIv19mONelE5q3GMmdPWBEjgqZikBzBE2qPTqfrgJ4TCA==",
+ "version": "1.8.8",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-enumerator/-/intl-enumerator-1.8.8.tgz",
+ "integrity": "sha512-U/1FGFNObuWWy0N+DwRiDDZvH8cjKixjDDbgr1I1RJ66jOLSVDUApdOsGd8hSmFFAiNXT5s4tM9WfL4QT5VoSw==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
+ "@formatjs/ecma402-abstract": "2.3.2",
"tslib": "2"
}
},
@@ -4893,46 +4893,46 @@
}
},
"node_modules/@formatjs/intl-locale": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-locale/-/intl-locale-4.2.8.tgz",
- "integrity": "sha512-6RY/npeA0kyoZ8QW0JRAT+VBAFBT6+4ZVeGkKCNIDjbLX2LPuU73emGR35Mbwcc6pquVFrxyo6mXxKNzib0kEA==",
+ "version": "4.2.9",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-locale/-/intl-locale-4.2.9.tgz",
+ "integrity": "sha512-zX3Y06SmZ3sAGymzTFNTpWCx4yfdHmuODpGBPbyMfA5Z7Frc17VKEW+D7FIJOVdBZD1918d97vKxu7UAlAxwaw==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/intl-enumerator": "1.8.7",
+ "@formatjs/ecma402-abstract": "2.3.2",
+ "@formatjs/intl-enumerator": "1.8.8",
"@formatjs/intl-getcanonicallocales": "2.5.4",
"tslib": "2"
}
},
"node_modules/@formatjs/intl-localematcher": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.9.tgz",
- "integrity": "sha512-8zkGu/sv5euxbjfZ/xmklqLyDGQSxsLqg8XOq88JW3cmJtzhCP8EtSJXlaKZnVO4beEaoiT9wj4eIoCQ9smwxA==",
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.10.tgz",
+ "integrity": "sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==",
"license": "MIT",
"dependencies": {
"tslib": "2"
}
},
"node_modules/@formatjs/intl-pluralrules": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-5.4.1.tgz",
- "integrity": "sha512-kKK4ixTsfKAzyJIVRiJGuw4zd18nEHXiKloYBO9VmLpxrwJTgLQHv2+1hcbxQcwbbo2uc8moUFQuyvxeGEFOfw==",
+ "version": "5.4.2",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-5.4.2.tgz",
+ "integrity": "sha512-iPjo+F3q7W7KPQrIwJ7Hm72viKtvJeqcpyCHOWcx4haw04gnHksmd1qqfLgXj8l0w66kfG5f1ECwNfToYtseUA==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/intl-localematcher": "0.5.9",
+ "@formatjs/ecma402-abstract": "2.3.2",
+ "@formatjs/intl-localematcher": "0.5.10",
"decimal.js": "10",
"tslib": "2"
}
},
"node_modules/@formatjs/intl-relativetimeformat": {
- "version": "11.4.8",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-11.4.8.tgz",
- "integrity": "sha512-HOyTJaxMLpurJXAwRyYsElxiLKXJnbczghxZNe4Rqlstet8dZxwBonGkAnkd1sKgmVp2W2454nr40dlvlMRqnA==",
+ "version": "11.4.9",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-11.4.9.tgz",
+ "integrity": "sha512-nhDpZkDcAoW7hfqy6kLwY/Zb41rRKzkyWp7kbTZHmIsIjUfKlqekoBuwZ7xfOOKz82wsJkkJWASB60gkLWt9Ng==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/intl-localematcher": "0.5.9",
+ "@formatjs/ecma402-abstract": "2.3.2",
+ "@formatjs/intl-localematcher": "0.5.10",
"tslib": "2"
}
},
@@ -7035,9 +7035,9 @@
}
},
"node_modules/@react-native-picker/picker": {
- "version": "2.10.2",
- "resolved": "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.10.2.tgz",
- "integrity": "sha512-kr3OvCRwTYjR/OKlb52k4xmQVU7dPRIALqpyiihexdJxEgvc1smnepgqCeM9oXmNSG4YaV5/RSxFlLC5Z/T/Eg==",
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.11.0.tgz",
+ "integrity": "sha512-QuZU6gbxmOID5zZgd/H90NgBnbJ3VV6qVzp6c7/dDrmWdX8S0X5YFYgDcQFjE3dRen9wB9FWnj2VVdPU64adSg==",
"license": "MIT",
"workspaces": [
"example"
@@ -7666,68 +7666,87 @@
"join-component": "^1.1.0"
}
},
+ "node_modules/@sentry-internal/browser-utils": {
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.47.0.tgz",
+ "integrity": "sha512-vOXzYzHTKkahTLDzWWIA4EiVCQ+Gk+7xGWUlNcR2ZiEPBqYZVb5MjsUozAcc7syrSUy6WicyFjcomZ3rlCVQhg==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry/core": "8.47.0"
+ },
+ "engines": {
+ "node": ">=14.18"
+ }
+ },
"node_modules/@sentry-internal/feedback": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.100.1.tgz",
- "integrity": "sha512-yqcRVnjf+qS+tC4NxOKLJOaSJ+csHmh/dHUzvCTkf5rLsplwXYRnny2r0tqGTQ4tuXMxwgSMKPYwicg81P+xuw==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.47.0.tgz",
+ "integrity": "sha512-IAiIemTQIalxAOYhUENs9bZ8pMNgJnX3uQSuY7v0gknEqClOGpGkG04X/cxCmtJUj1acZ9ShTGDxoh55a+ggAQ==",
+ "license": "MIT",
"dependencies": {
- "@sentry/core": "7.100.1",
- "@sentry/types": "7.100.1",
- "@sentry/utils": "7.100.1"
+ "@sentry/core": "8.47.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=14.18"
}
},
- "node_modules/@sentry-internal/replay-canvas": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.100.1.tgz",
- "integrity": "sha512-TnqxqJGhbFhhYRhTG2WLFer+lVieV7mNGeIxFBiw1L4kuj8KGl+C0sknssKyZSRVJFSahhHIosHJGRMkkD//7g==",
+ "node_modules/@sentry-internal/replay": {
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.47.0.tgz",
+ "integrity": "sha512-G/S40ZBORj0HSMLw/uVC6YDEPN/dqVk901vf4VYfml686DEhJrZesfAfp5SydJumQ0NKZQrdtvny+BWnlI5H1w==",
+ "license": "MIT",
"dependencies": {
- "@sentry/core": "7.100.1",
- "@sentry/replay": "7.100.1",
- "@sentry/types": "7.100.1",
- "@sentry/utils": "7.100.1"
+ "@sentry-internal/browser-utils": "8.47.0",
+ "@sentry/core": "8.47.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=14.18"
}
},
- "node_modules/@sentry-internal/tracing": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.100.1.tgz",
- "integrity": "sha512-+u9RRf5eL3StiyiRyAHZmdkAR7GTSGx4Mt4Lmi5NEtCcWlTGZ1QgW2r8ZbhouVmTiJkjhQgYCyej3cojtazeJg==",
+ "node_modules/@sentry-internal/replay-canvas": {
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.47.0.tgz",
+ "integrity": "sha512-M4W9UGouEeELbGbP3QsXLDVtGiQSZoWJlKwqMWyqdQgZuLoKw0S33+60t6teLVMhuQZR0UI9VJTF5coiXysnnA==",
+ "license": "MIT",
"dependencies": {
- "@sentry/core": "7.100.1",
- "@sentry/types": "7.100.1",
- "@sentry/utils": "7.100.1"
+ "@sentry-internal/replay": "8.47.0",
+ "@sentry/core": "8.47.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.18"
+ }
+ },
+ "node_modules/@sentry/babel-plugin-component-annotate": {
+ "version": "2.20.1",
+ "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.20.1.tgz",
+ "integrity": "sha512-4mhEwYTK00bIb5Y9UWIELVUfru587Vaeg0DQGswv4aIRHIiMKLyNqCEejaaybQ/fNChIZOKmvyqXk430YVd7Qg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/@sentry/browser": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.100.1.tgz",
- "integrity": "sha512-IxHQ08ixf0bmaWpe4yt1J4UUsOpg02fxax9z3tOQYXw5MSzz5pDXn8M8DFUVJB3wWuyXhHXTub9yD3VIP9fnoA==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.47.0.tgz",
+ "integrity": "sha512-K6BzHisykmbFy/wORtGyfsAlw7ShevLALzu3ReZZZ18dVubO1bjSNjkZQU9MJD5Jcb9oLwkq89n3N9XIBfvdRA==",
+ "license": "MIT",
"dependencies": {
- "@sentry-internal/feedback": "7.100.1",
- "@sentry-internal/replay-canvas": "7.100.1",
- "@sentry-internal/tracing": "7.100.1",
- "@sentry/core": "7.100.1",
- "@sentry/replay": "7.100.1",
- "@sentry/types": "7.100.1",
- "@sentry/utils": "7.100.1"
+ "@sentry-internal/browser-utils": "8.47.0",
+ "@sentry-internal/feedback": "8.47.0",
+ "@sentry-internal/replay": "8.47.0",
+ "@sentry-internal/replay-canvas": "8.47.0",
+ "@sentry/core": "8.47.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.18"
}
},
"node_modules/@sentry/cli": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.30.0.tgz",
- "integrity": "sha512-GTO5e98vy2QwEYQvhE/ZtGUiVrUu4XungLioJbazm+ZOen8cyac8YOapZfozN5mtxjWOWMOwhOqoTeCU3Q8YKQ==",
+ "version": "2.39.1",
+ "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.39.1.tgz",
+ "integrity": "sha512-JIb3e9vh0+OmQ0KxmexMXg9oZsR/G7HMwxt5BUIKAXZ9m17Xll4ETXTRnRUBT3sf7EpNGAmlQk1xEmVN9pYZYQ==",
"hasInstallScript": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"https-proxy-agent": "^5.0.0",
"node-fetch": "^2.6.7",
@@ -7742,19 +7761,20 @@
"node": ">= 10"
},
"optionalDependencies": {
- "@sentry/cli-darwin": "2.30.0",
- "@sentry/cli-linux-arm": "2.30.0",
- "@sentry/cli-linux-arm64": "2.30.0",
- "@sentry/cli-linux-i686": "2.30.0",
- "@sentry/cli-linux-x64": "2.30.0",
- "@sentry/cli-win32-i686": "2.30.0",
- "@sentry/cli-win32-x64": "2.30.0"
+ "@sentry/cli-darwin": "2.39.1",
+ "@sentry/cli-linux-arm": "2.39.1",
+ "@sentry/cli-linux-arm64": "2.39.1",
+ "@sentry/cli-linux-i686": "2.39.1",
+ "@sentry/cli-linux-x64": "2.39.1",
+ "@sentry/cli-win32-i686": "2.39.1",
+ "@sentry/cli-win32-x64": "2.39.1"
}
},
"node_modules/@sentry/cli-darwin": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.30.0.tgz",
- "integrity": "sha512-JVesQ9PznbHBOOOwuej2X8/onfXdmAEjBH6fTyWxBl6K8mB4KmBX/aHunXWMBX+VR9X32XZghIqj7acwaFUMPA==",
+ "version": "2.39.1",
+ "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.39.1.tgz",
+ "integrity": "sha512-kiNGNSAkg46LNGatfNH5tfsmI/kCAaPA62KQuFZloZiemTNzhy9/6NJP8HZ/GxGs8GDMxic6wNrV9CkVEgFLJQ==",
+ "license": "BSD-3-Clause",
"optional": true,
"os": [
"darwin"
@@ -7763,76 +7783,147 @@
"node": ">=10"
}
},
- "node_modules/@sentry/core": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.100.1.tgz",
- "integrity": "sha512-f+ItUge/o9AjlveQq0ZUbQauKlPH1FIJbC1TRaYLJ4KNfOdrsh8yZ29RmWv0cFJ/e+FGTr603gWpRPObF5rM8Q==",
- "dependencies": {
- "@sentry/types": "7.100.1",
- "@sentry/utils": "7.100.1"
- },
+ "node_modules/@sentry/cli-linux-arm": {
+ "version": "2.39.1",
+ "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.39.1.tgz",
+ "integrity": "sha512-DkENbxyRxUrfLnJLXTA4s5UL/GoctU5Cm4ER1eB7XN7p9WsamFJd/yf2KpltkjEyiTuplv0yAbdjl1KX3vKmEQ==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "os": [
+ "linux",
+ "freebsd"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=10"
}
},
- "node_modules/@sentry/hub": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-7.100.1.tgz",
- "integrity": "sha512-zdt7f1k+5JE5FAunzBZUEFbvK5YP/LekLMeogTonaRObB07J6fJ9FD4mtNk7pV0utrTDwR+n942qmp+LbWauWA==",
- "dependencies": {
- "@sentry/core": "7.100.1",
- "@sentry/types": "7.100.1",
- "@sentry/utils": "7.100.1"
- },
+ "node_modules/@sentry/cli-linux-arm64": {
+ "version": "2.39.1",
+ "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.39.1.tgz",
+ "integrity": "sha512-5VbVJDatolDrWOgaffsEM7znjs0cR8bHt9Bq0mStM3tBolgAeSDHE89NgHggfZR+DJ2VWOy4vgCwkObrUD6NQw==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "os": [
+ "linux",
+ "freebsd"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=10"
}
},
- "node_modules/@sentry/integrations": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.100.1.tgz",
- "integrity": "sha512-RUyZHcsN3Plc8G4hJN3BCMdbwS8ljUY3E3iLjzucA4HroBsGk5AMc6n7Pp/QqFIRgxrPjKEgA52Wgy5Nq6dSvw==",
- "dependencies": {
- "@sentry/core": "7.100.1",
- "@sentry/types": "7.100.1",
- "@sentry/utils": "7.100.1",
- "localforage": "^1.8.1"
- },
+ "node_modules/@sentry/cli-linux-i686": {
+ "version": "2.39.1",
+ "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.39.1.tgz",
+ "integrity": "sha512-pXWVoKXCRrY7N8vc9H7mETiV9ZCz+zSnX65JQCzZxgYrayQPJTc+NPRnZTdYdk5RlAupXaFicBI2GwOCRqVRkg==",
+ "cpu": [
+ "x86",
+ "ia32"
+ ],
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "os": [
+ "linux",
+ "freebsd"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ }
+ },
+ "node_modules/@sentry/cli-linux-x64": {
+ "version": "2.39.1",
+ "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.39.1.tgz",
+ "integrity": "sha512-IwayNZy+it7FWG4M9LayyUmG1a/8kT9+/IEm67sT5+7dkMIMcpmHDqL8rWcPojOXuTKaOBBjkVdNMBTXy0mXlA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "os": [
+ "linux",
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@sentry/cli-win32-i686": {
+ "version": "2.39.1",
+ "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.39.1.tgz",
+ "integrity": "sha512-NglnNoqHSmE+Dz/wHeIVRnV2bLMx7tIn3IQ8vXGO5HWA2f8zYJGktbkLq1Lg23PaQmeZLPGlja3gBQfZYSG10Q==",
+ "cpu": [
+ "x86",
+ "ia32"
+ ],
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@sentry/cli-win32-x64": {
+ "version": "2.39.1",
+ "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.39.1.tgz",
+ "integrity": "sha512-xv0R2CMf/X1Fte3cMWie1NXuHmUyQPDBfCyIt6k6RPFPxAYUgcqgMPznYwVMwWEA1W43PaOkSn3d8ZylsDaETw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@sentry/core": {
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.47.0.tgz",
+ "integrity": "sha512-iSEJZMe3DOcqBFZQAqgA3NB2lCWBc4Gv5x/SCri/TVg96wAlss4VrUunSI2Mp0J4jJ5nJcJ2ChqHSBAU48k3FA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.18"
}
},
"node_modules/@sentry/react": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.100.1.tgz",
- "integrity": "sha512-EdrBtrXVLK2LSx4Rvz/nQP7HZUZQmr+t3GHV8436RAhF6vs5mntACVMBoQJRWiUvtZ1iRo3rIsIdah7DLiFPgQ==",
- "dependencies": {
- "@sentry/browser": "7.100.1",
- "@sentry/core": "7.100.1",
- "@sentry/types": "7.100.1",
- "@sentry/utils": "7.100.1",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/react/-/react-8.47.0.tgz",
+ "integrity": "sha512-SRk2Up+qBTow4rQGiRXViC2i4M5w/tae5w8I/rmX+IxFoPyh8wXERcLAj/8xbbRm8aR+A4i5gNgfFtrYsyFJFA==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry/browser": "8.47.0",
+ "@sentry/core": "8.47.0",
"hoist-non-react-statics": "^3.3.2"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.18"
},
"peerDependencies": {
- "react": "15.x || 16.x || 17.x || 18.x"
+ "react": "^16.14.0 || 17.x || 18.x || 19.x"
}
},
"node_modules/@sentry/react-native": {
- "version": "5.20.0",
- "resolved": "https://registry.npmjs.org/@sentry/react-native/-/react-native-5.20.0.tgz",
- "integrity": "sha512-1jWqQFRvQeFgYrEXfvr0TTG/kXIGV2KgtkNqlInTTuXFXo6qInFhuu4Ak4zNuitFlfr6Soh2ASlJrpkBKf2pAg==",
- "dependencies": {
- "@sentry/browser": "7.100.1",
- "@sentry/cli": "2.30.0",
- "@sentry/core": "7.100.1",
- "@sentry/hub": "7.100.1",
- "@sentry/integrations": "7.100.1",
- "@sentry/react": "7.100.1",
- "@sentry/types": "7.100.1",
- "@sentry/utils": "7.100.1"
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/@sentry/react-native/-/react-native-6.5.0.tgz",
+ "integrity": "sha512-SwSfNbzipMZcq3fBVYGOLS53lYPa53uWlpj/qwmgkcJ6gABWZ8ak9ZXbZgPJkVyTLnbY6TQNCbC8BvbMKAlsxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry/babel-plugin-component-annotate": "2.20.1",
+ "@sentry/browser": "8.47.0",
+ "@sentry/cli": "2.39.1",
+ "@sentry/core": "8.47.0",
+ "@sentry/react": "8.47.0",
+ "@sentry/types": "8.47.0",
+ "@sentry/utils": "8.47.0"
},
"bin": {
"sentry-expo-upload-sourcemaps": "scripts/expo-upload-sourcemaps.js"
@@ -7848,37 +7939,28 @@
}
}
},
- "node_modules/@sentry/replay": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.100.1.tgz",
- "integrity": "sha512-B1NFjzGEFaqejxBRdUyEzH8ChXc2kfiqlA/W/Lg0aoWIl2/7nuMk+l4ld9gW5F5bIAXDTVd5vYltb1lWEbpr7w==",
+ "node_modules/@sentry/types": {
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.47.0.tgz",
+ "integrity": "sha512-ruiowlIBQUPDwNcO0KTudKP9T2QYF3S2TLhDdoJb+0ZGJduH4PsgGAojUSpGR+idKfrlOSlUpcdg9+WxsoOckg==",
+ "license": "MIT",
"dependencies": {
- "@sentry-internal/tracing": "7.100.1",
- "@sentry/core": "7.100.1",
- "@sentry/types": "7.100.1",
- "@sentry/utils": "7.100.1"
+ "@sentry/core": "8.47.0"
},
"engines": {
- "node": ">=12"
- }
- },
- "node_modules/@sentry/types": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.100.1.tgz",
- "integrity": "sha512-fLM+LedHuKzOd8IhXBqaQuym+AA519MGjeczBa5kGakes/BbAsUMwsNfjsKQedp7Kh44RgYF99jwoRPK2oDrXw==",
- "engines": {
- "node": ">=8"
+ "node": ">=14.18"
}
},
"node_modules/@sentry/utils": {
- "version": "7.100.1",
- "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.100.1.tgz",
- "integrity": "sha512-Ve6dXr1o6xiBe3VCoJgiutmBKrugryI65EZAbYto5XI+t+PjiLLf9wXtEMF24ZrwImo4Lv3E9Uqza+fWkEbw6A==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.47.0.tgz",
+ "integrity": "sha512-9F8OsV2DvCzql/15wBAEJsuDo6+dd182YorqF5hDSTDkwjvTYhbHgimy3xzMu9wF83NqrUTFnDEcX8fj1e61DQ==",
+ "license": "MIT",
"dependencies": {
- "@sentry/types": "7.100.1"
+ "@sentry/core": "8.47.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.18"
}
},
"node_modules/@sideway/address": {
@@ -8367,9 +8449,9 @@
}
},
"node_modules/@tanstack/query-core": {
- "version": "5.62.8",
- "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.62.8.tgz",
- "integrity": "sha512-4fV31vDsUyvNGrKIOUNPrZztoyL187bThnoQOvAXEVlZbSiuPONpfx53634MKKdvsDir5NyOGm80ShFaoHS/mw==",
+ "version": "5.64.2",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.64.2.tgz",
+ "integrity": "sha512-hdO8SZpWXoADNTWXV9We8CwTkXU88OVWRBcsiFrk7xJQnhm6WRlweDzMD+uH+GnuieTBVSML6xFa17C2cNV8+g==",
"license": "MIT",
"funding": {
"type": "github",
@@ -8377,12 +8459,12 @@
}
},
"node_modules/@tanstack/react-query": {
- "version": "5.62.8",
- "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.62.8.tgz",
- "integrity": "sha512-8TUstKxF/fysHonZsWg/hnlDVgasTdHx6Q+f1/s/oPKJBJbKUWPZEHwLTMOZgrZuroLMiqYKJ9w69Abm8mWP0Q==",
+ "version": "5.64.2",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.64.2.tgz",
+ "integrity": "sha512-3pakNscZNm8KJkxmovvtZ4RaXLyiYYobwleTMvpIGUoKRa8j8VlrQKNl5W8VUEfVfZKkikvXVddLuWMbcSCA1Q==",
"license": "MIT",
"dependencies": {
- "@tanstack/query-core": "5.62.8"
+ "@tanstack/query-core": "5.64.2"
},
"funding": {
"type": "github",
@@ -8634,13 +8716,13 @@
}
},
"node_modules/@turf/helpers": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz",
- "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.2.0.tgz",
+ "integrity": "sha512-cXo7bKNZoa7aC7ydLmUR02oB3IgDe7MxiPuRz3cCtYQHn+BJ6h1tihmamYDWWUlPHgSNF0i3ATc4WmDECZafKw==",
"license": "MIT",
"dependencies": {
"@types/geojson": "^7946.0.10",
- "tslib": "^2.6.2"
+ "tslib": "^2.8.1"
},
"funding": {
"url": "https://opencollective.com/turf"
@@ -8781,14 +8863,14 @@
}
},
"node_modules/@turf/random": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@turf/random/-/random-7.1.0.tgz",
- "integrity": "sha512-22mXv8ejDMUWkz8DSMMqdZb0s7a0ISJzXt6T9cHovfT//vsotzkVH+5PDxJQjvmigKMnpaUgobHmQss23tAwEQ==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@turf/random/-/random-7.2.0.tgz",
+ "integrity": "sha512-fNXs5mOeXsrirliw84S8UCNkpm4RMNbefPNsuCTfZEXhcr1MuHMzq4JWKb4FweMdN1Yx2l/xcytkO0s71cJ50w==",
"license": "MIT",
"dependencies": {
- "@turf/helpers": "^7.1.0",
+ "@turf/helpers": "^7.2.0",
"@types/geojson": "^7946.0.10",
- "tslib": "^2.6.2"
+ "tslib": "^2.8.1"
},
"funding": {
"url": "https://opencollective.com/turf"
@@ -8863,9 +8945,9 @@
"license": "MIT"
},
"node_modules/@types/geojson": {
- "version": "7946.0.14",
- "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz",
- "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==",
+ "version": "7946.0.15",
+ "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.15.tgz",
+ "integrity": "sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==",
"license": "MIT"
},
"node_modules/@types/graceful-fs": {
@@ -9026,11 +9108,15 @@
"license": "MIT"
},
"node_modules/@types/prop-types": {
- "version": "15.7.5",
+ "version": "15.7.14",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz",
+ "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==",
"license": "MIT"
},
"node_modules/@types/react": {
"version": "18.2.60",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.60.tgz",
+ "integrity": "sha512-dfiPj9+k20jJrLGOu9Nf6eqxm2EyJRrq2NvwOFsfbb7sFExZ9WELPs67UImHj3Ayxg8ruTtKtNnbjaF8olPq0A==",
"license": "MIT",
"dependencies": {
"@types/prop-types": "*",
@@ -9085,7 +9171,9 @@
}
},
"node_modules/@types/scheduler": {
- "version": "0.16.2",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==",
"license": "MIT"
},
"node_modules/@types/semver": {
@@ -16759,11 +16847,6 @@
"node": ">=16.x"
}
},
- "node_modules/immediate": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
- "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
- },
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -16920,14 +17003,14 @@
}
},
"node_modules/intl-messageformat": {
- "version": "10.7.10",
- "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.10.tgz",
- "integrity": "sha512-hp7iejCBiJdW3zmOe18FdlJu8U/JsADSDiBPQhfdSeI8B9POtvPRvPh3nMlvhYayGMKLv6maldhR7y3Pf1vkpw==",
+ "version": "10.7.14",
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.14.tgz",
+ "integrity": "sha512-mMGnE4E1otdEutV5vLUdCxRJygHB5ozUBxsPB5qhitewssrS/qGruq9bmvIRkkGsNeK5ZWLfYRld18UHGTIifQ==",
"license": "BSD-3-Clause",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/fast-memoize": "2.2.5",
- "@formatjs/icu-messageformat-parser": "2.9.7",
+ "@formatjs/ecma402-abstract": "2.3.2",
+ "@formatjs/fast-memoize": "2.2.6",
+ "@formatjs/icu-messageformat-parser": "2.11.0",
"tslib": "2"
}
},
@@ -20216,14 +20299,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/lie": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
- "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==",
- "dependencies": {
- "immediate": "~3.0.5"
- }
- },
"node_modules/light-my-request": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.14.0.tgz",
@@ -20634,14 +20709,6 @@
"node": ">=4"
}
},
- "node_modules/localforage": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz",
- "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==",
- "dependencies": {
- "lie": "3.1.1"
- }
- },
"node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -23938,7 +24005,8 @@
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+ "license": "MIT"
},
"node_modules/psl": {
"version": "1.9.0",
@@ -24246,9 +24314,9 @@
}
},
"node_modules/react-hook-form": {
- "version": "7.54.1",
- "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.54.1.tgz",
- "integrity": "sha512-PUNzFwQeQ5oHiiTUO7GO/EJXGEtuun2Y1A59rLnZBBj+vNEOWt/3ERTiG1/zt7dVeJEM+4vDX/7XQ/qanuvPMg==",
+ "version": "7.54.2",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.54.2.tgz",
+ "integrity": "sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==",
"license": "MIT",
"engines": {
"node": ">=18.0.0"
@@ -24262,22 +24330,22 @@
}
},
"node_modules/react-intl": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-7.0.4.tgz",
- "integrity": "sha512-WGNfCPNcRQhNAZBN+amz2hfR8Kd7jngScJ4WaRZcsaOWsvva1ciStnUIGj9MvOAxPqTf1D78J5OdRdc3l0wgKQ==",
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-7.1.4.tgz",
+ "integrity": "sha512-deZFfvIR4aJIHmI7t3nn3Q46OuriyNRYPaQ3KM4lg6Fh6huMr7m8fkSzR6593WeUghkh8ZoQlYjUVrQEcrlbrA==",
"license": "BSD-3-Clause",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/icu-messageformat-parser": "2.9.7",
- "@formatjs/intl": "3.0.4",
+ "@formatjs/ecma402-abstract": "2.3.2",
+ "@formatjs/icu-messageformat-parser": "2.11.0",
+ "@formatjs/intl": "3.1.3",
"@types/hoist-non-react-statics": "3",
"@types/react": "16 || 17 || 18 || 19",
"hoist-non-react-statics": "3",
- "intl-messageformat": "10.7.10",
+ "intl-messageformat": "10.7.14",
+ "react": "^16.6.0 || 17 || 18 || 19",
"tslib": "2"
},
"peerDependencies": {
- "react": "^16.6.0 || 17 || 18 || 19",
"typescript": "5"
},
"peerDependenciesMeta": {
@@ -24370,9 +24438,9 @@
}
},
"node_modules/react-native-device-info": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-14.0.1.tgz",
- "integrity": "sha512-/ygggNdYgddjEnWxaNOwrL8bT9u8iJXCdz/CKpQi61SptIMmlCXmn125ey4rr0CTK/YIVpL6kZhVFInnNo+Q3w==",
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-14.0.2.tgz",
+ "integrity": "sha512-W1oqu4dC4uLKT/Z4uimRP6birJprWjhMP/AwV9hxGSZ5K3wJ/yb34aQ22sd6HmegQHfT2PmkFs3mj+4uXLE1YQ==",
"license": "MIT",
"peerDependencies": {
"react-native": "*"
@@ -24418,7 +24486,9 @@
}
},
"node_modules/react-native-mmkv": {
- "version": "2.12.1",
+ "version": "2.12.2",
+ "resolved": "https://registry.npmjs.org/react-native-mmkv/-/react-native-mmkv-2.12.2.tgz",
+ "integrity": "sha512-6058Aq0p57chPrUutLGe9fYoiDVDNMU2PKV+lLFUJ3GhoHvUrLdsS1PDSCLr00yqzL4WJQ7TTzH+V8cpyrNcfg==",
"license": "(MIT AND BSD-3-Clause)",
"peerDependencies": {
"react": "*",
@@ -24438,9 +24508,9 @@
}
},
"node_modules/react-native-reanimated": {
- "version": "3.16.5",
- "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.16.5.tgz",
- "integrity": "sha512-mq/5k14pimkhCeP9XwFJkEr8XufaHqIekum8fqpsn0fcBzbLvyiqfM2LEuBvi0+DTv5Bd2dHmUHkYqGYfkj3Jw==",
+ "version": "3.16.7",
+ "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.16.7.tgz",
+ "integrity": "sha512-qoUUQOwE1pHlmQ9cXTJ2MX9FQ9eHllopCLiWOkDkp6CER95ZWeXhJCP4cSm6AD4jigL5jHcZf/SkWrg8ttZUsw==",
"license": "MIT",
"dependencies": {
"@babel/plugin-transform-arrow-functions": "^7.0.0-0",
@@ -24514,9 +24584,9 @@
}
},
"node_modules/react-native-svg": {
- "version": "15.10.1",
- "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.10.1.tgz",
- "integrity": "sha512-Hqz/doQciVFK/Df2v+wsW96oY5jxlta7rZ31KQYo78dlgvAHEaGr6paEOAMvlIruw7EHNQ0Vc1ZmJPJF2kfIPQ==",
+ "version": "15.11.1",
+ "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.11.1.tgz",
+ "integrity": "sha512-Qmwx/yJKt+AHUr4zjxx/Q69qwKtRfr1+uIfFMQoq3WFRhqU76aL9db1DyvPiY632DAsVGba1pHf92OZPkpjrdQ==",
"license": "MIT",
"dependencies": {
"css-select": "^5.1.0",
@@ -24879,9 +24949,9 @@
"license": "MIT"
},
"node_modules/readable-stream": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
- "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
+ "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
"license": "MIT",
"dependencies": {
"abort-controller": "^3.0.0",
@@ -27936,9 +28006,10 @@
"license": "MIT"
},
"node_modules/tslib": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
- "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
"node_modules/tunnel-agent": {
"version": "0.6.0",
@@ -29093,9 +29164,9 @@
}
},
"node_modules/zustand": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.2.tgz",
- "integrity": "sha512-8qNdnJVJlHlrKXi50LDqqUNmUbuBjoKLrYQBnoChIbVph7vni+sY+YpvdjXG9YLd/Bxr6scMcR+rm5H3aSqPaw==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.3.tgz",
+ "integrity": "sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==",
"license": "MIT",
"engines": {
"node": ">=12.20.0"
diff --git a/package.json b/package.json
index da26289d3..adb87f395 100644
--- a/package.json
+++ b/package.json
@@ -34,23 +34,23 @@
"@comapeo/ipc": "2.1.0",
"@expo-google-fonts/rubik": "0.2.3",
"@formatjs/intl-getcanonicallocales": "2.5.4",
- "@formatjs/intl-locale": "4.2.8",
- "@formatjs/intl-pluralrules": "5.4.1",
- "@formatjs/intl-relativetimeformat": "11.4.8",
+ "@formatjs/intl-locale": "4.2.9",
+ "@formatjs/intl-pluralrules": "5.4.2",
+ "@formatjs/intl-relativetimeformat": "11.4.9",
"@gorhom/bottom-sheet": "5.0.6",
"@osm_borders/maritime_10000m": "1.1.0",
"@react-native-community/hooks": "3.0.0",
"@react-native-community/netinfo": "11.4.1",
- "@react-native-picker/picker": "2.10.2",
+ "@react-native-picker/picker": "2.11.0",
"@react-navigation/bottom-tabs": "6.5.8",
"@react-navigation/drawer": "6.6.15",
"@react-navigation/native": "6.1.7",
"@react-navigation/native-stack": "6.9.13",
"@rnmapbox/maps": "10.1.33",
- "@sentry/react-native": "5.20.0",
- "@tanstack/react-query": "5.62.8",
- "@turf/helpers": "7.1.0",
- "@turf/random": "7.1.0",
+ "@sentry/react-native": "6.5.0",
+ "@tanstack/react-query": "5.64.2",
+ "@turf/helpers": "7.2.0",
+ "@turf/random": "7.2.0",
"@types/luxon": "3.4.2",
"assert": "2.1.0",
"buffer": "6.0.3",
@@ -84,28 +84,28 @@
"nanoid": "5.0.9",
"nodejs-mobile-react-native": "18.20.4",
"react": "18.2.0",
- "react-hook-form": "7.54.1",
- "react-intl": "7.0.4",
+ "react-hook-form": "7.54.2",
+ "react-intl": "7.1.4",
"react-native": "0.73.6",
"react-native-android-open-settings": "1.3.0",
"react-native-confirmation-code-field": "7.4.0",
- "react-native-device-info": "14.0.1",
+ "react-native-device-info": "14.0.2",
"react-native-gesture-handler": "2.21.2",
"react-native-indicators": "0.17.0",
"react-native-linear-gradient": "2.8.3",
- "react-native-mmkv": "2.12.1",
+ "react-native-mmkv": "2.12.2",
"react-native-progress": "5.0.1",
- "react-native-reanimated": "3.16.5",
+ "react-native-reanimated": "3.16.7",
"react-native-restart": "0.0.27",
"react-native-safe-area-context": "4.14.0",
"react-native-scale-bar": "1.0.6",
"react-native-screens": "3.29.0",
"react-native-share": "12.0.3",
- "react-native-svg": "15.10.1",
+ "react-native-svg": "15.11.1",
"react-native-url-polyfill": "2.0.0",
"react-native-vector-icons": "10.2.0",
"react-native-zeroconf": "0.13.8",
- "readable-stream": "4.5.2",
+ "readable-stream": "4.7.0",
"rpc-reflector": "1.3.11",
"start-stop-state-machine": "1.2.0",
"tiny-typed-emitter": "2.1.0",
@@ -113,7 +113,7 @@
"utm": "1.1.1",
"valibot": "0.42.1",
"validate-color": "2.2.4",
- "zustand": "5.0.2"
+ "zustand": "5.0.3"
},
"devDependencies": {
"@babel/core": "7.25.7",
@@ -134,7 +134,7 @@
"@tanstack/eslint-plugin-query": "5.62.1",
"@testing-library/react-native": "12.4.3",
"@types/debug": "4.1.12",
- "@types/geojson": "7946.0.14",
+ "@types/geojson": "7946.0.15",
"@types/jest": "29.5.13",
"@types/lodash.isequal": "4.5.6",
"@types/node": "20.8.4",
diff --git a/src/frontend/hooks/server/remoteDetectionAlert.ts b/src/frontend/hooks/server/remoteDetectionAlert.ts
new file mode 100644
index 000000000..0eb76503d
--- /dev/null
+++ b/src/frontend/hooks/server/remoteDetectionAlert.ts
@@ -0,0 +1,15 @@
+import {useSuspenseQuery} from '@tanstack/react-query';
+import {useActiveProject} from '../../contexts/ActiveProjectContext';
+
+export const REMOTE_DETECTION_ALERTS_KEY = 'alerts';
+
+export function useRemoteDetectionAlerts() {
+ const {projectId, projectApi} = useActiveProject();
+
+ return useSuspenseQuery({
+ queryFn: async () => {
+ return await projectApi.remoteDetectionAlert.getMany();
+ },
+ queryKey: [REMOTE_DETECTION_ALERTS_KEY, projectId],
+ });
+}
diff --git a/src/frontend/screens/MapScreen/ObservationMapLayer.tsx b/src/frontend/screens/MapScreen/MapLayers/ObservationMapLayer.tsx
similarity index 82%
rename from src/frontend/screens/MapScreen/ObservationMapLayer.tsx
rename to src/frontend/screens/MapScreen/MapLayers/ObservationMapLayer.tsx
index 44074f511..f13e1821e 100644
--- a/src/frontend/screens/MapScreen/ObservationMapLayer.tsx
+++ b/src/frontend/screens/MapScreen/MapLayers/ObservationMapLayer.tsx
@@ -1,13 +1,13 @@
import React from 'react';
import MapboxGL from '@rnmapbox/maps';
-import {useObservations} from '../../hooks/server/observations';
-import {usePresetsQuery} from '../../hooks/server/presets';
-import {useNavigationFromHomeTabs} from '../../hooks/useNavigationWithTypes';
+import {useObservations} from '../../../hooks/server/observations';
+import {usePresetsQuery} from '../../../hooks/server/presets';
+import {useNavigationFromHomeTabs} from '../../../hooks/useNavigationWithTypes';
import {
createObservationMapLayerStyle,
observationsToFeatureCollection,
-} from '../../lib/ObservationMapLayer.ts';
+} from '../../../lib/ObservationMapLayer';
export const ObservationMapLayer = () => {
const {data: observations} = useObservations();
diff --git a/src/frontend/screens/MapScreen/MapLayers/RemoteDetectionAlertsLayer.tsx b/src/frontend/screens/MapScreen/MapLayers/RemoteDetectionAlertsLayer.tsx
new file mode 100644
index 000000000..02e1dade3
--- /dev/null
+++ b/src/frontend/screens/MapScreen/MapLayers/RemoteDetectionAlertsLayer.tsx
@@ -0,0 +1,133 @@
+import React from 'react';
+import MapboxGL from '@rnmapbox/maps';
+
+import {RemoteDetectionAlert} from '@comapeo/schema';
+import {FeatureCollection} from 'geojson';
+import {useRemoteDetectionAlerts} from '../../../hooks/server/remoteDetectionAlert';
+
+const LABEL_FILTER = [
+ 'all',
+ [
+ 'in',
+ '$type',
+ 'Polygon',
+ 'LineString',
+ 'Point',
+ 'MultiLineString',
+ 'MultiPolygon',
+ 'MultiPoint',
+ ],
+ ['has', 'alertType'],
+ ['has', 'monthDetec'],
+ ['has', 'yearDetec'],
+];
+
+const POINT_FILTER = ['in', '$type', 'Point', 'MultiPoint'];
+
+const LINESTRING_FILTER = ['in', '$type', 'LineString', 'MultiLineString'];
+
+const POLYGON_STROKE_FILTER = ['in', '$type', 'Polygon', 'MultiPolygon'];
+
+const POLYGON_FILL_FILTER = ['in', '$type', 'Polygon', 'MultiPolygon'];
+
+export const RemoteDetectionAlertsMapLayer = () => {
+ const {data: alerts} = useRemoteDetectionAlerts();
+
+ if (!alerts) {
+ return null;
+ }
+
+ return (
+
+ {/* Symbol Layer for Labels */}
+
+
+ {/* Circle Layer for Points */}
+
+
+ {/* Line Layer for LineStrings and MultiLineStrings */}
+
+
+ {/* Line Layer for Polygon Stroke */}
+
+
+ {/* Fill Layer for Polygon Fill */}
+
+
+ );
+};
+
+function convertRemoteDetectionAlertsToFeatures(
+ alerts: RemoteDetectionAlert[],
+): FeatureCollection {
+ return {
+ type: 'FeatureCollection',
+ features: alerts.map(alert => {
+ const dateStart = new Date(alert.detectionDateStart);
+ return {
+ type: 'Feature',
+ geometry: alert.geometry,
+ properties: {
+ alertType: alert.metadata.alert_type,
+ detectionDateStart: alert.detectionDateStart,
+ detectionDateEnd: alert.detectionDateEnd,
+ sourceId: alert.sourceId,
+ monthDetec: dateStart.getMonth() + 1,
+ yearDetec: dateStart.getFullYear(),
+ },
+ };
+ }),
+ };
+}
diff --git a/src/frontend/screens/MapScreen/TracksMapLayer.tsx b/src/frontend/screens/MapScreen/MapLayers/TracksMapLayer.tsx
similarity index 90%
rename from src/frontend/screens/MapScreen/TracksMapLayer.tsx
rename to src/frontend/screens/MapScreen/MapLayers/TracksMapLayer.tsx
index 9c6f986c4..1e5803833 100644
--- a/src/frontend/screens/MapScreen/TracksMapLayer.tsx
+++ b/src/frontend/screens/MapScreen/MapLayers/TracksMapLayer.tsx
@@ -3,11 +3,11 @@ import * as React from 'react';
import {StyleSheet} from 'react-native';
import {FeatureCollection} from 'geojson';
-import {BLACK} from '../../lib/styles';
-import {useTracks} from '../../hooks/server/track';
+import {BLACK} from '../../../lib/styles';
+import {useTracks} from '../../../hooks/server/track';
import {Track} from '@comapeo/schema';
import {OnPressEvent} from '@rnmapbox/maps/lib/typescript/src/types/OnPressEvent';
-import {useNavigationFromHomeTabs} from '../../hooks/useNavigationWithTypes';
+import {useNavigationFromHomeTabs} from '../../../hooks/useNavigationWithTypes';
export const TracksMapLayer = () => {
const {data: tracks} = useTracks();
diff --git a/src/frontend/screens/MapScreen/index.tsx b/src/frontend/screens/MapScreen/index.tsx
index 24d78330f..8289f49c8 100644
--- a/src/frontend/screens/MapScreen/index.tsx
+++ b/src/frontend/screens/MapScreen/index.tsx
@@ -8,7 +8,7 @@ import {
} from '../../sharedComponents/icons';
import {View, StyleSheet} from 'react-native';
-import {ObservationMapLayer} from './ObservationMapLayer';
+import {ObservationMapLayer} from './MapLayers/ObservationMapLayer';
import {AddButton} from '../../sharedComponents/AddButton';
import {useNavigationFromHomeTabs} from '../../hooks/useNavigationWithTypes';
import {useDraftObservation} from '../../hooks/useDraftObservation';
@@ -20,9 +20,10 @@ import {GPSPermissionsModal} from './GPSPermissions/GPSPermissionsModal';
import {CurrentTrackMapLayer} from './CurrentTrack/CurrrentTrackMapLayer';
import {UserLocation} from './UserLocation';
import {useSharedLocationContext} from '../../contexts/SharedLocationContext';
-import {useMapStyleJsonUrl} from '../../hooks/server/maps.ts';
-import {TracksMapLayer} from './TracksMapLayer';
-import {assert} from '../../lib/assert.ts';
+import {useMapStyleJsonUrl} from '../../hooks/server/maps';
+import {TracksMapLayer} from './MapLayers/TracksMapLayer';
+import {assert} from '../../lib/assert';
+import {RemoteDetectionAlertsMapLayer} from './MapLayers/RemoteDetectionAlertsLayer';
// This is the default zoom used when the map first loads, and also the zoom
// that the map will zoom to if the user clicks the "Locate" button and the
@@ -114,6 +115,7 @@ export const MapScreen = () => {
{isFinishedLoading && (
<>
+
diff --git a/src/frontend/screens/Sync/ProjectSyncDisplay.tsx b/src/frontend/screens/Sync/ProjectSyncDisplay.tsx
index 3cddd524d..0cc862d55 100644
--- a/src/frontend/screens/Sync/ProjectSyncDisplay.tsx
+++ b/src/frontend/screens/Sync/ProjectSyncDisplay.tsx
@@ -37,6 +37,7 @@ import {
import {ScreenContentWithDock} from '../../sharedComponents/ScreenContentWithDock';
import {HeaderText} from '../../sharedComponents/Text/HeaderText';
import {BodyText} from '../../sharedComponents/Text/BodyText';
+import {REMOTE_DETECTION_ALERTS_KEY} from '../../hooks/server/remoteDetectionAlert';
const m = defineMessages({
devicesFound: {
@@ -156,6 +157,10 @@ export const ProjectSyncDisplay = ({
}
// TODO: All queries associated with project should be invalidated
queryClient.invalidateQueries({queryKey: [OBSERVATION_KEY, projectId]});
+
+ queryClient.invalidateQueries({
+ queryKey: [REMOTE_DETECTION_ALERTS_KEY, projectId],
+ });
});
return () => {