diff --git a/components/measurement/nettests/FacebookMessenger.js b/components/measurement/nettests/FacebookMessenger.js
index ab91414d..a6fb1792 100644
--- a/components/measurement/nettests/FacebookMessenger.js
+++ b/components/measurement/nettests/FacebookMessenger.js
@@ -5,13 +5,15 @@ import { DetailsBox } from '../DetailsBox'
import StatusInfo from '../StatusInfo'
import { formatTwoTuple } from 'utils'
-export const FacebookMessengerDetails = ({ measurement, render }) => {
+export const FacebookMessengerDetails = ({ measurement, render, isAnomaly, isFailure, isConfirmed, scores }) => {
const intl = useIntl()
- const testKeys = measurement.test_keys
- const isWorking =
- testKeys.facebook_dns_blocking === false &&
- testKeys.facebook_tcp_blocking === false
- const dnsBlocking = testKeys.facebook_dns_blocking === true
+ console.log("scores", scores)
+ const testKeys = measurement?.test_keys ?? {}
+ const isWorking = !isAnomaly && !isFailure && !isConfirmed
+ // testKeys.facebook_dns_blocking === false &&
+ // testKeys.facebook_tcp_blocking === false
+ const dnsBlocking = scores?.facebook_dns_blocking === true
+ // testKeys.facebook_dns_blocking === true
const tcpBlocking = testKeys.facebook_tcp_blocking === true
const tcpConnections = testKeys.tcp_connect
diff --git a/components/measurement/nettests/HTTPHeaderFieldManipulation.js b/components/measurement/nettests/HTTPHeaderFieldManipulation.js
index c1f8b5b4..d16f10e5 100644
--- a/components/measurement/nettests/HTTPHeaderFieldManipulation.js
+++ b/components/measurement/nettests/HTTPHeaderFieldManipulation.js
@@ -1,19 +1,7 @@
import { defineMessages, useIntl } from 'react-intl'
-export const HttpHeaderFieldManipulationDetails = ({ measurement, render }) => {
+export const HttpHeaderFieldManipulationDetails = ({ measurement, render, isAnomaly }) => {
const intl = useIntl()
- const testKeys = measurement.test_keys
- let isAnomaly = false
- let isFailed = true
- const tampering = testKeys?.tampering || {}
- for (const key of Object.keys(tampering)) {
- if (tampering[key] === true) {
- isAnomaly = true
- }
- if (tampering[key] !== null) {
- isFailed = false
- }
- }
const messages = defineMessages({
middleboxes: {
diff --git a/components/measurement/nettests/HTTPInvalidRequestLine.js b/components/measurement/nettests/HTTPInvalidRequestLine.js
index 69653f1c..9dd6d296 100644
--- a/components/measurement/nettests/HTTPInvalidRequestLine.js
+++ b/components/measurement/nettests/HTTPInvalidRequestLine.js
@@ -1,11 +1,10 @@
import PropTypes from 'prop-types'
import { FormattedMessage, defineMessages } from 'react-intl'
-const HttpInvalidRequestLineDetails = ({ measurement, render }) => {
- const testKeys = measurement.test_keys
- const isAnomaly = testKeys.tampering === true
- const isOK = testKeys.tampering === false
- const isFailed = testKeys.tampering === null
+const HttpInvalidRequestLineDetails = ({ measurement, render, isAnomaly, isFailure, isConfirmed, scores }) => {
+ const testKeys = measurement?.test_keys ?? {}
+ const isOK = !isAnomaly && !isFailure && !isConfirmed
+ const isFailed = isFailure
const sentMessages = testKeys.sent
const receivedMessages = testKeys.received
diff --git a/components/measurement/nettests/Psiphon.js b/components/measurement/nettests/Psiphon.js
index ec2566f1..6992d494 100644
--- a/components/measurement/nettests/Psiphon.js
+++ b/components/measurement/nettests/Psiphon.js
@@ -4,10 +4,8 @@ import { FormattedMessage, defineMessages } from 'react-intl'
import AccessPointStatus from '../AccessPointStatus'
-const PsiphonDetails = ({ measurement, render }) => {
- const {
- test_keys: { failure, bootstrap_time },
- } = measurement
+const PsiphonDetails = ({ measurement, isAnomaly, render }) => {
+ const { bootstrap_time } = measurement?.test_keys ?? {}
const messages = defineMessages({
reachable: {
@@ -27,7 +25,7 @@ const PsiphonDetails = ({ measurement, render }) => {
// https://github.com/ooni/spec/blob/master/nettests/ts-015-psiphon.md#possible-conclusions
// Determine if psiphon is blocked and if the probe could bootstrap psiphon
- if (failure) {
+ if (isAnomaly) {
status = 'anomaly'
metaText = messages.unReachable
if (bootstrap_time === 0) {
diff --git a/components/measurement/nettests/Signal.js b/components/measurement/nettests/Signal.js
index 20c6d566..f6850d8c 100644
--- a/components/measurement/nettests/Signal.js
+++ b/components/measurement/nettests/Signal.js
@@ -1,4 +1,3 @@
-import PropTypes from 'prop-types'
import { defineMessages, useIntl } from 'react-intl'
const messages = defineMessages({
@@ -16,11 +15,9 @@ const messages = defineMessages({
},
})
-const SignalDetails = ({ measurement, render }) => {
+const SignalDetails = ({ measurement, render, isAnomaly, isFailure, isConfirmed, scores }) => {
const intl = useIntl()
- const testKeys = measurement.test_keys
- const { signal_backend_status, signal_backend_failure } = testKeys
- const anomaly = signal_backend_status === 'blocked'
+ const anomaly = isAnomaly
let hint = intl.formatMessage({
id: 'Measurement.Status.Hint.Signal.Reachable',
@@ -45,9 +42,4 @@ const SignalDetails = ({ measurement, render }) => {
})
}
-SignalDetails.propTypes = {
- measurement: PropTypes.object.isRequired,
- render: PropTypes.func,
-}
-
export default SignalDetails
diff --git a/components/measurement/nettests/TorSnowflake.js b/components/measurement/nettests/TorSnowflake.js
index 4cca1c22..3d7c944a 100644
--- a/components/measurement/nettests/TorSnowflake.js
+++ b/components/measurement/nettests/TorSnowflake.js
@@ -20,9 +20,7 @@ const messages = defineMessages({
})
const TorSnowflakeDetails = ({ isAnomaly, isFailure, measurement, render }) => {
- const {
- test_keys: { bootstrap_time, failure },
- } = measurement
+ const { bootstrap_time, failure } = measurement?.test_keys ?? {}
let status
let hint
diff --git a/components/measurement/nettests/WebConnectivity.js b/components/measurement/nettests/WebConnectivity.js
index 9dcfd899..5eda70f2 100644
--- a/components/measurement/nettests/WebConnectivity.js
+++ b/components/measurement/nettests/WebConnectivity.js
@@ -247,8 +247,8 @@ const validateMeasurement = (measurement) => {
},
},
test_keys: {
- accessible: undefined,
- blocking: undefined,
+ // accessible: undefined,
+ // blocking: undefined,
queries: undefined,
tcp_connect: undefined,
requests: undefined,
@@ -368,7 +368,7 @@ const WebConnectivityDetails = ({
)
} else if (isAnomaly) {
status = 'anomaly'
- const blockingReason = blocking ?? scores?.analysis?.blocking_type ?? null
+ const blockingReason = scores?.analysis?.blocking_type ?? null
reason =
messages[`blockingReason.${blockingReason}`] &&
intl.formatMessage(messages[`blockingReason.${blockingReason}`])
@@ -404,7 +404,7 @@ const WebConnectivityDetails = ({
reason,
},
)
- } else if (accessible) {
+ } else {
status = 'reachable'
summaryText = (
,
- network: probe_asn,
- country,
- }}
- />
- )
- headMetadata.message = intl.formatMessage(
- {
- id: 'Measurement.Metadata.WebConnectivity.Down',
- defaultMessage: '{hostname} was down in {country}',
- },
- {
- date,
- hostname,
- country,
- },
- )
- } else {
- // Fallback condition to handle older measurements not present in fastpath
- // See: https://github.com/ooni/explorer/issues/426#issuecomment-612094244
- status = 'error'
- summaryText = (
- ,
- network: probe_asn,
- country,
- }}
- />
- )
- headMetadata.message = intl.formatMessage(
- {
- id: 'Measurement.Metadata.WebConnectivity.Failed',
- defaultMessage: '{hostname} failed to be measured in {country}',
- },
- {
- date,
- hostname,
- country,
- },
- )
}
+ // else if (blocking === false) {
+ // // When not accessible, but also not blocking, it must be down
+ // status = 'down'
+ // summaryText = (
+ // ,
+ // network: probe_asn,
+ // country,
+ // }}
+ // />
+ // )
+ // headMetadata.message = intl.formatMessage(
+ // {
+ // id: 'Measurement.Metadata.WebConnectivity.Down',
+ // defaultMessage: '{hostname} was down in {country}',
+ // },
+ // {
+ // date,
+ // hostname,
+ // country,
+ // },
+ // )
+ // } else {
+ // // Fallback condition to handle older measurements not present in fastpath
+ // // See: https://github.com/ooni/explorer/issues/426#issuecomment-612094244
+ // status = 'error'
+ // summaryText = (
+ // ,
+ // network: probe_asn,
+ // country,
+ // }}
+ // />
+ // )
+ // headMetadata.message = intl.formatMessage(
+ // {
+ // id: 'Measurement.Metadata.WebConnectivity.Failed',
+ // defaultMessage: '{hostname} failed to be measured in {country}',
+ // },
+ // {
+ // date,
+ // hostname,
+ // country,
+ // },
+ // )
+ // }
const tcpConnections = Array.isArray(tcp_connect)
? tcp_connect.map((connection) => {
diff --git a/components/measurement/nettests/WhatsApp.js b/components/measurement/nettests/WhatsApp.js
index a0458487..b83534cb 100644
--- a/components/measurement/nettests/WhatsApp.js
+++ b/components/measurement/nettests/WhatsApp.js
@@ -6,7 +6,7 @@ import { DetailsBox } from '../DetailsBox'
import { formatTwoTuple } from 'utils'
const WhatsAppDetails = ({ isAnomaly, scores, measurement, render }) => {
- const testKeys = measurement.test_keys
+ const testKeys = measurement?.test_keys ?? {}
const tcp_connect = testKeys.tcp_connect
let registrationServerAccessible
let webAccessible
diff --git a/pages/m/[measurement_uid].js b/pages/m/[measurement_uid].js
index e946b0b1..473a9555 100644
--- a/pages/m/[measurement_uid].js
+++ b/pages/m/[measurement_uid].js
@@ -128,7 +128,7 @@ const Measurement = ({
error,
isValidating: isLoadingMeasurementData,
} = useSWR(
- `${process.env.NEXT_PUBLIC_OONI_API}/api/v1/measurement_meta?measurement_uid=${measurementUid}&full=true`,
+ `${process.env.NEXT_PUBLIC_OONI_API}/api/v1/measurement_meta?measurement_uid=${measurementUid}`,
measurementFetcher,
{
revalidateOnFocus: false,