Compatibility issues using jest

Description
I've just made the detox setup in my react-native project using mocha and everything ran fine.
However, I would like to use jest to run the tests but the setup is not working.
I've follow this instructions but had not success.
Is this a compatibility issue between the versions that I'm using in my project dependencies? Or am I doing something wrong in the setup?
 The stdout and stderr logs were recreated, you can watch them with:
        tail -F $HOME/Library/Developer/CoreSimulator/Devices/EB743606-C1FF-4281-BAE9-2878E9CE13B5/data/tmp/detox.last_launch_app_log.{out,err}
 send: {"type":"isReady","params":{},"messageId":-1000}
 role=tester action=isReady (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee not connected, cannot fw action (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee login (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=loginSuccess (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=ready (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"ready","messageId":-1000,"params":{}}
  rbx
 send: {"type":"reactNativeReload","params":{},"messageId":-1000}
 role=tester action=reactNativeReload (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=ready (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"ready","messageId":-1000,"params":{}}
  rbx
 send: {"type":"reactNativeReload","params":{},"messageId":-1000}
 role=tester action=reactNativeReload (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=ready (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"ready","messageId":-1000,"params":{}}
  rbx
 send: {"type":"invoke","params":{"target":{"type":"Invocation","value":{"target":{"type":"EarlGrey","value":"instance"},"method":"detox_selectElementWith
Matcher:","args":[{"type":"Invocation","value":{"target":{"type":"Class","value":"GREYMatchers"},"method":"matcherForAccessibilityID:","args":[{"type":"NS
String","value":"AppScreen"}]}}]}},"method":"assertWithMatcher:","args":[{"type":"Invocation","value":{"target":{"type":"Class","value":"GREYMatchers"},"method":"matcherForSufficientlyVisible","args":[]}}]},"messageId":1}
 send: {"type":"currentStatus","params":{},"messageId":2}
 role=tester action=invoke (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":2,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, January
 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:complet
ion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":2}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":3}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":3,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, January
 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:complet
ion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":3}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":4}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":4,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, January
 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:complet
ion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":4}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":5}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":5,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, January
 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:complet
ion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":5}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":6}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":6,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, January
 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:complet
ion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":6}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":7}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":7,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, January
 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:complet
ion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":7}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":8}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":8,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, January
 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:complet
ion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":8}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":9}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":9,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, January
 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:complet
ion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":9}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":10}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":10,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":10}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":11}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":11,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":11}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":12}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":12,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":12}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":13}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":13,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":13}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":14}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":14,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":14}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":15}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":15,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":15}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":16}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":16,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":16}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":17}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":17,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":17}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":18}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":18,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":18}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":19}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":19,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":19}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":20}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":20,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":20}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":21}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":21,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":21}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":22}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":22,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":22}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":23}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":23,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":23}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":24}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":24,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":24}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":25}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":25,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":25}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":26}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":26,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":26}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":27}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":27,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":27}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":28}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":28,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":28}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":29}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":29,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":29}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":30}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":30,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":30}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":31}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":31,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":31}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":32}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":32,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":32}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":33}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":33,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":33}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":34}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":34,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":34}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":35}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":35,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":35}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":36}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":36,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":36}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":37}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":37,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":37}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":38}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":38,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":38}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":39}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":39,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":39}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":40}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":40,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":40}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":41}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=currentStatusResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"currentStatusResult","messageId":41,"params":{"state":"busy","resources":[{"name":"Timed","info":{"endTrackingDate":"Thursday, Januar
y 1, 1970 at 12:48:56 PM Central European Standard Time","object":"<NSObject: 0x604000008270>","name":"animateWithDuration:delay:options:animations:comple
tion:","prettyPrint":"animateWithDuration:delay:options:animations:completion:","duration":0.5104019999504089}},{"name":"Dispatch Queue","info":{"queue":"<OS_dispatch_queue_main: com.apple.main-thread[0x113556dc0] = { xref = -2147483648, ref = -2147483648, sref = 1, target = com.apple.root.default-qos.overcommit[0x113558300], width = 0x1, state = 0x001ffe9e00000400, dirty, max qos 6, in-flight = 0, thread = 0x403 }>","prettyPrint":"com.apple.main-thread"}}],"messageId":41}}
  rbx
 Timed: animateWithDuration:delay:options:animations:completion:
 Dispatch Queue: com.apple.main-thread
 send: {"type":"currentStatus","params":{},"messageId":42}
 role=tester action=currentStatus (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee action=invokeResult (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 onMessage: {"type":"invokeResult","messageId":1,"params":{"result":"(GREYElementInteraction)"}}
  rbx
 send: {"type":"reactNativeReload","params":{},"messageId":-1000}
 role=tester action=reactNativeReload (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)
 role=testee disconnect (sessionId=91d3947e-a43e-560e-0ed0-82a4fa5b12bc)

This worked for me
{
"name": "detoxtest",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test:unit": "jest tests",
"test:e2e": "detox build && jest e2e",
"test:e2e:nobuild": "jest e2e",
"test": "yarn test:unit && yarn test:e2e"
},
"dependencies": {
"react": "16.0.0",
"react-native": "0.50.3"
},
"devDependencies": {
"babel-jest": "21.2.0",
"babel-preset-react-native": "4.0.0",
"detox": "^5.9.3",
"jest": "21.2.1",
"mocha": "^4.0.1",
"react-test-renderer": "16.0.0"
},
"jest": {
"preset": "react-native",
"bail": true,
"setupTestFrameworkScriptFile": "./e2e/init.js"
},
"detox": {
"specs": "e2e",
"runner": "jest",
"configurations": {
"ios.sim.debug": {
"binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/detoxtest.app",
"build": "xcodebuild -project ios/detoxtest.xcodeproj -scheme detoxtest -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
"type": "ios.simulator",
"name": "iPhone 7"
}
}
}
}

@srikanthkyatham thank you!!!
That setup actually works! But now I have a small issue. All my source code and unit tests are under src folder and my package.json has the following scripts (just like yours)
"scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "lint": "eslint src/ dcs-rn-modules/",
    "test:unit": "jest src",
    "test:e2e": "detox build && jest e2e",
    "test:e2e:nobuild": "jest e2e",
    "test": "yarn test:unit && yarn test:e2e"
},

But for some reason, every time I run npm run test:unit it runs the e2e tests too... Do you have any clue about what can be happen here?

Hey everyone!:)
Stumbled upon the same problem and the same solution: change detox command to jest one.
But I've got another comment: with that I can't set configuration for ios or android.
Is it away to pass the config for detox through jest or in init file?
And shouldn't be detox command just work?

Hello,
We are moving support questions to Stack Overflow. Please ask a question there with the detox tag. This section is only meant for Detox issues and enhancement requests.
Thanks


[Bug] Text area is impossibly small to edit, both in side bar and css editor

Describe the bug
The text area is so impossibly small, like 2px tall, that it is impossibly small to edit. I cannot see the text, I cannot edit the text. This impacts both side bar and the extension edit page.

As you can see, there is the main scroll bar, and there is another scroll bar inside that is like 2 px tall, and means I cannot see any text whatsoever, or edit any text.
Browser
Firefox on windows 10.
To Reproduce
Just open the panel on firefox, the editor is ridiculously small.
Expected behavior
A properly sized text editor.
Screenshots
On chromium, this is the result:

This is how it should look. It does not look right on firefox.

This is on Firefox 129.0.1 x64 on Windows 10.
.
Please disable all other extensions then give it a try !


Prevent Notifications from overriding other valid slots

It showed me a notification with the previous slot being a commute of >25 minutes. I selected a category, and when opening the app, the previous commute slot had that category. It should have created a new slot.
Please analyse what happened, and if there might be similar related things that can occur, and submit proposed solution.

This should be covered by tests, see #106.


Toggle collapse via Javascript, not using data api

Hi.
I have a "global" function where I have this:
$.toggle(collapseId, event) {

      var buttonEl = event.target
      var collapsableElement = document.getElementById(collapseId);
      collapse = new Collapse(buttonEl, { target: collapsableElement });
      collapse.toggle();
}

And some button in the html (using Alpinejs in this case)
<button @click="$.toggle('collapse-1, $event)"></button>

Show content

I receive similar error: https://github.com/thednp/bootstrap.native/issues/337 (target is null in my case)
Is it possible to pass a target? Or not passing a target, just making new Collapse(collapseEl).toggle()
Great package btw.

It's impossible to think of a way to understand your case, I need a test site so I can see your markup, how you use the library, either via ES6 import or build src and where you link it.

Also do you get any error in console?

@thednp Sorry for the bad explanation.
In a nutshell, I would know if is it possible to toggle a collapse from javascript, without a button with data-toggle attributes.
Here an example: https://codepen.io/luddinus/pen/qBOrvYN

I understand. While I understand this kind of workaround made possible via jQuery, our original library didn't take into account the possibility of initializing components inside event handlers for various reasons, mainly performance, but BSN v3.0 coming soon to CDN solves some of these issues.
The BSN v2.0.27 components are harder to access, which is something going to change
// BSN 2.0.27 and BSN 3.0
function toggleCollapse(collapseId) {
  BSN.initCallback() // this will initialize any and all components via DATA API if proper markup
  document.getElementById(collapseId).Collapse.toggle(); // access public methods
}

// BSN 3.0
function toggleCollapse(collapseId) {
  BSN.Collapse(document.getElementById(collapseId)).toggle();
}

I would suggest you play around with the MASTER version of the dist/bootstrap.native.js which is V4 and the only Bootstrap version going forward once V3.0 is done with fixing and documenting, currently working on.

The difficulty comes from the change of the build scripts, see what v2.0.28 version was exporting to global BSN, compared to the new v3.0 global exports.

The difficulty comes from
* BSN 3.0 will be Bootstrap 4 only

* the change of the build scripts, see what [v2.0.28](https://github.com/thednp/bootstrap.native/blob/legacy/dist/bootstrap-native.js#L2120-L2132) version was exporting to global `BSN`, compared to the new [v3.0](https://github.com/thednp/bootstrap.native/blob/legacy/dist/bootstrap-native.js#L2120-L2132) global exports.

Hopefully when we have it all done and documented, all these issues gonna get resolved.

Nice, BSN 3.0 will resolve the thing I was asking. Thanks!


ResourceWarning and ImportWarning when running example module

I was trying to run the example module:
import praw

USERAGENT = "Python Script using praw"
r = praw.Reddit(USERAGENT)
submissions = r.get_subreddit('opensource').get_hot(limit=5)

for x in submissions:
    print(x)

But them I get:
(venv) PS D:\Documents\RedditBot> python.exe .\bot.py
79 :: Liberating myself from Google and others
4 :: First release of OpenDoorLogistics. An Open Source application for Fleet...
9 :: 10 ways to contribute to an open source project without writing code
20 :: GitHub's new CEO: We're serious about the enterprise
2 :: OSBConf 2014 | opensourceupdates.com
sys:1: ResourceWarning: unclosed <socket object at 0x02A0DD68>
C:\Development\Languages\Python34\lib\importlib\_bootstrap.py:2150: ImportWarning: sys.meta_path is empty
(venv) PS D:\Documents\RedditBot>

What's wrong?

I just got this error as well when trying to run a script using praw with the python3 binary.


feat: add support for system logger

Which problem is this pull request solving?
With https://github.com/netlify/build/issues/3220 in the pipeline, we'll be able to capture debug data into our system logs without polluting customer builds logs. This PR takes advantage of that and introduces an optional logFunction to both bundle and serve, which is then used instead of console.log to print logs.
When this is in place, Netlify Build will be able to pass along the systemLog() utility, which was introduced in https://github.com/netlify/build/pull/4406.

Sorry @danez, I rejigged things quite a bit, because I was holding this wrong. I think more than debug levels (which indeed we'd probably be better off getting from a logging library), we need the ability to differentiate user-facing errors from system errors.
Can you have another look at this PR, please? I'll be happy to answer any questions that you may still have after reviewing.


Timesheet - 19/10/2021 - Dmitry Mugtasimov

Task 1
Tasks planning and description
Proof of Work

https://github.com/thenewboston-developers/thenewboston-node/issues/457
https://github.com/thenewboston-developers/thenewboston-node/issues/458

Time Spent
0.5 hours

Total Time Spent
0.5 hours
Account Number
757d598308bf1e2943bd1a9fc34ae7b8951ca864d64228b59e62614b27ddefc4

@dmugtasimov, closing this. Talk to @buckyroberts about further details.

@dmugtasimov, update: reopening these and the change with @buckyroberts was implemented on Nov 1.


Refused to frame '' because it violates the following Content Security Policy directive: "frame-src https:".

Descripiton
We have the following issue when we try to use 3D secure

There are no adblockers or any related extensions installed.
The issue happens on both chrome and safari browsers, with the following error messages:
Chrome:

Safari:

On firefox, the error does not happen,  however, the following warning message is displayed:

Steps to reproduce
We dont have a straight forward steps to reproduce, since it happens randomlly after failing the authorization multiple times, or clicking on the authorize/fail buttons more than once at the same time
Other information
I think the screen shown above is related to the "return to merchant" view

I'm currently unsure if the issue is a misconfiguration from our side or it is from this library or Stripe's APIs, appreciate any help

Hi @mohammad-naji7, yikes, that doesn't look good! Let's see how we can fix that.
Can you tell us a little about what you are doing to get this to happen? (Even if it doesn't work every time.) It looks like you are using the PaymentIntent API from your server, and then calling stripe.handleCardPayment, which sometimes shows 3DS. Do you get this broken CSP issue immediately? Or are you first seeing the Stripe "Testmode Source" page and interacting with that in some way?

Ah, ok, I was just able to reproduce by clicking the testmode authorize/fail buttons more than once. We will fix this shortly!

@asolove-stripe Thanks a lot. When do you expect to have this fix released?

I expect the fix to be out later today. In the mean time, just want you to know that this double-click problem is limited to the fake 3DS page we use in testmode and does not affect live transactions.

@mohammad-naji7 @zakisaadeh We've launched a fix here that prevents you from double-clicking on those buttons. I can no longer reproduce the bug, so hopefully this fixes for you. Let me know if not and I can dig some more.

@asolove-stripe having the same exact issue, but it happens all the time when working with a test key. Worked fine till yesterday evening.

One thing that wasn't showing yesterday is the "return to merchant" state. If you click it, the modal breaks.

Hi @NicolaGenesin, thats definitely not good. Can you tell me a bit more about your integration and how to reproduce this? Do you see any errors in the console?

The console errors are the same ones as reported in this issue report.
We're using  and we followed this https://stripe.com/docs/payments/payment-intents/migration integration to the letter.
When using a test card requiring auth, the modal shows up, but when you click on confirm, the "return to merchant" state appears instead of making the stripe test modal dismiss (this was the behaviour until yesterday evening). After clicking on "return to merchant", the modal breaks.

Sorry, for clarification:
Yesterday this was working and you were not seeing "return to merchant" at all, today you are seeing this, and it doesn't work.
Is that correct?
Either way, I just tested the flow outlined in the migration guide there and I am having trouble reproducing. Which testcard number are you using?

Yes that's what I meant. The card I used is 4000 0027 6000 3184

Hi @NicolaGenesin still having some trouble reproducing. I'd like to get some more information is possible. Can you send me an email at<EMAIL_ADDRESS>

@dweedon-stripe good news, there was a subtle but fundamental change overnight that I did not notice (and I am sorry I wasn't able to provide you more details):
return_url='someUrl' has been added to the payment intent creation on our backend.
By removing that param, the stripe modal works as expected. The following is an example intent after a transaction has been confirmed. So my question is, should we use/support return_url at all on web?
`{
"id":"pi_1F5FckLu48Aj7sQoUNIxDO11",
"object":"payment_intent",
"allowed_source_types":[
"card"
],
"amount":200,
"amount_capturable":0,
"amount_received":200,
"application":null,
"application_fee_amount":null,
"canceled_at":null,
"cancellation_reason":null,
"capture_method":"automatic",
"charges":{
"object":"list",
"data":[
{
"id":"ch_1F5FcqLu48Aj7sQoknqKt13p",
"object":"charge",
"amount":200,
"amount_refunded":0,
"application":null,
"application_fee":null,
"application_fee_amount":null,
"balance_transaction":"txn_1F5FcrLu48Aj7sQonBn5CXOO",
"billing_details":{
"address":{
"city":null,
"country":null,
"line1":null,
"line2":null,
"postal_code":null,
"state":null
},
"email":null,
"name":null,
"phone":null
},
"captured":true,
"created":1565286128,
"currency":"gbp",
"customer":"cus_FaQTfAFAr277S0",
"description":null,
"destination":null,
"dispute":null,
"failure_code":null,
"failure_message":null,
"fraud_details":{
        },
        "invoice":null,
        "livemode":false,
        "metadata":{
        },
        "on_behalf_of":null,
        "order":null,
        "outcome":{
           "network_status":"approved_by_network",
           "reason":null,
           "risk_level":"normal",
           "risk_score":39,
           "rule":{
              "id":"allow_if_3ds_authenticated_liability_shift",
              "action":"allow",
              "predicate":":is_3d_secure_authenticated: and :has_liability_shift:"
           },
           "seller_message":"Payment complete.",
           "type":"authorized"
        },
        "paid":true,
        "payment_intent":"pi_1F5FckLu48Aj7sQoUNIxDO11",
        "payment_method":"pm_1F5FciLu48Aj7sQowD7goIgS",
        "payment_method_details":{
           "card":{
              "brand":"visa",
              "checks":{
                 "address_line1_check":null,
                 "address_postal_code_check":null,
                 "cvc_check":"pass"
              },
              "country":"DE",
              "exp_month":4,
              "exp_year":2024,
              "fingerprint":"ViOdhoOWfCBtMq9y",
              "funding":"credit",
              "last4":"3184",
              "three_d_secure":{
                 "authenticated":true,
                 "succeeded":true,
                 "version":"1.0"
              },
              "wallet":null
           },
           "type":"card"
        },
        "receipt_email":null,
        "receipt_number":null,
        "receipt_url":"https://pay.stripe.com/receipts/acct_19o9T7Lu48Aj7sQo/ch_1F5FcqLu48Aj7sQoknqKt13p/rcpt_FaQTyvFCcla6XFx6ZahyMZPgCE6WCLh",
        "refunded":false,
        "refunds":{
           "object":"list",
           "data":[

           ],
           "has_more":false,
           "total_count":0,
           "url":"/v1/charges/ch_1F5FcqLu48Aj7sQoknqKt13p/refunds"
        },
        "review":null,
        "shipping":null,
        "source":null,
        "source_transfer":null,
        "statement_descriptor":null,
        "statement_descriptor_suffix":null,
        "status":"succeeded",
        "transfer_data":null,
        "transfer_group":null
     }
  ],
  "has_more":false,
  "total_count":1,
  "url":"/v1/charges?payment_intent=pi_1F5FckLu48Aj7sQoUNIxDO11"

},
"client_secret":"pi_1F5FckLu48Aj7sQoUNIxDO11_secret_qlPxebeSeZDJf1OmYfALSM3e4",
"confirmation_method":"manual",
"created":1565286122,
"currency":"gbp",
"customer":"cus_FaQTfAFAr277S0",
"description":null,
"invoice":null,
"last_payment_error":null,
"livemode":false,
"metadata":{
},
"next_action":null,
"next_source_action":null,
"on_behalf_of":null,
"payment_method":"pm_1F5FciLu48Aj7sQowD7goIgS",
"payment_method_options":{
"card":{
"request_three_d_secure":"automatic"
}
},
"payment_method_types":[
"card"
],
"receipt_email":null,
"review":null,
"setup_future_usage":"off_session",
"shipping":null,
"source":null,
"statement_descriptor":null,
"statement_descriptor_suffix":null,
"status":"succeeded",
"transfer_data":null,
"transfer_group":null
}`

So my question is, should we use/support return_url at all on web?

Yes, there is a use case for return_url on the web, but it should not be used in conjunction with handleCardAction or handleCardPayment. If you are planning on passing the PaymentIntent into one of those methods and letting Stripe.js handle requires_action, then you should not set return_url.
On the web, return_url is used to support the custom iframe integration outlined here: https://stripe.com/docs/payments/3d-secure-iframe
Let me know if you have any other questions. Hopefully this helps clear things up!


Add Google Analytics tracking code

Fixes #329.

We should be able to get mode from the pageview because its a query param, but I've added an event to track gen. Though we won't be getting both gen and mode linked, so maybe we should change that?

I set up the property. Analytics tells you to use this code:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-26211653-3"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-26211653-3');
</script>

Analytics tells you to use this code:

Fine, whatever, we'll use the new hotness.
I removed the gen stuff because I want to switch to calc.pokemonshowdown.com/gen1 etc as discussed on Discord and i'll add tracking for that then (or maybe we'd then get it simply through the pageviews metric)

:+1 now we wait

Are we not listening for client errors, then?

It's supposed to be automatic with google tag manager - you just do setup in the UI AFAICT.

Can you do the setup? (You should have access now.)

It's supposed to be automatic with google tag manager - you just do setup in the UI AFAICT.

https://developers.google.com/analytics/devguides/collection/gtagjs/exceptions
It does not appear to be automatic. Am I missing something?

I confused Google Tag Manager a www.googletagmanager.com/gtag/js. I wonder how?


Implement deletion of bindings

this closes #1751

@rgodfrey tests passed, the error was caused by archiving artifacts. So it can be merged.


Feature Request: Can you enable the workflow to be run on demand?

Enable it on the trigger "on: workflow_dispatch"

Hi @sivakku unfortunately the action needs a pull request to comment the results on it.
But I like the idea to make it on demand, where would you like to publish the results?

Hey @manuelmhtr, could you consider posting results to Job Summary. This way workflow_dispatch could be used. Thanks!

Thanks @runmael!
It's ready on v2.7.0 🤘


Geode on Linux non-steam?

Your Question
Is there a way to use Geode in linux without the steam version? I already use Wine to run GD but it doesn't recognise Geode(Doesn't appear in-game)

Tried using "export WINEDLLOVERRIDES="XInput9_1_0.dll=n,b"" in the console before running the .exe file just in case but it didn't work

Closing, used wrong directory, use the command export WINEDLLOVERRIDES="XInput9_1_0.dll=n,b" before running the .exe file and you should be ready to go


fix: Hover over card

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[x] Bugfix

Needs Design check

@exezbcz please review

Context

[x] Closes #9598

Did your issue had any of the "$" label on it?

[x] My DOT address: Payout

Screenshot 📸

[x] My fix has changed UI

Copilot Summary
copilot:summary
copilot:poem

thanks!
pay 20 usd

😍 Perfect, I’ve sent the payout
💵 $20 @ 10.29 USD/DOT ~ 1.944 $DOT
🧗 16SjUbGKSdjCdWTy3NNT3JxbRVGGqD4mwkHpc6BD9U2Rp29Z
🔗 0x14ada33480db539c23a88fdd0ee2ece19531c5cc30d5db6c3bb8062b1e10bf93
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Create a modeled IpV4Address

Replace IPv4 wrapper around CaseInsensitiveString with IPv4Address, a case class of four bytes
Add an ipV4 interpolator
Interop with Inet4Address

Interesting, unrelated error here.  I can't reproduce it.
[info] decode should
[error]   x be consistent with utf8Decode (1 second, 564 ms)
[error]    Falsified after 92 passed tests.
[error]    > ARG_0: ""
[error]    > ARG_0_ORIGINAL: "兦냡䶏骧ⶾ䙅"
[error]    > ARG_1: 1
[error]    > ARG_1_ORIGINAL:<PHONE_NUMBER>
[error]    The seed is e5-vbNb5f12ZKua5LXDAI4s5eyLtnY5RGUIoFXj0JEE=
[error]
[error]    > '' != '' (DecodeSpec.scala:24)
[error] org.http4s.util.DecodeSpec.$anonfun$new$4(DecodeSpec.scala:24)

Is the casing change intentional? IPv4 -> IpV4

Dating back to my Java days, I don't capitalize acronyms, so Ip.  V begins a new word, so it's capitalized.  Hence IpV4.  Though we could say the V is part of the same acronym, and Ipv4.  Or we could stylize it like the spec, and IPv4.  I guess I can justify any of the three.  Strong opinions welcome.

I can accept Ipv4 :D


Caching for attributes that allow it

Checklist

[x] Added a CHANGELOG.rst entry

@cbourjau does this look legit? How can I ensure correctness (up for a pair-testing session!)? I'm seeing ~2x speedup in an end-to-end test that constructs, builds, and serializes a graph.

That sounds very promising and looks like a great start! Assuming that the user never mutates these private objects, which correctness issues do you anticipate? I am certainly happy to have a pair-programming session!

If you are worried about correctness, it would be sufficient to check if the cached AttributeProto has the same attribute name as requested, and otherwise it can be copied and a new name can be set on the copy. You shouldn't see any copies, and if they are necessary in some corner cases, they will be observable as a slight performance regression (perhaps a warning can be added if wanted). Maybe something like this would work:
         if self._last_onnx is None:
             self._last_onnx = self._to_onnx_deref(key)
         if self._last_onnx != key:
             proto = onnx.AttributeProto()
             proto.CopyFrom(self._last_onnx)
             proto.name = key
             self._last_onnx = proto
        return self._last_onnx

Why are the changes in _standard necessary? I'm not sure I can tell.
If _Ref is too annoying to handle (and I could see why that would be...) perhaps it should be removed, as we do not use functions anywhere (they are not that useful in the first place).

Why are the changes in _standard necessary?

Right now we are creating new Attr objects with type(v)(v.value) which would strip the cache away.

it would be sufficient to check if the cached AttributeProto has the same attribute name as requested, and otherwise it can be copied and a new name can be set on the copy.

The key is different when type checking:
https://github.com/Quantco/spox/blob/d59a9998c7158f00ec17334ad4d4210402e0095b/src/spox/_attributes.py#L53
As you can see, I'm completely ignoring it for now:
https://github.com/Quantco/spox/blob/0f109a17b10ccdf0c82f9c7d95d297986be46ebe/src/spox/_attributes.py#L61-L67
Do you see any concrete problems with this, and can we add a test?

Good point about the "dummy" keys used during the validation. The only worry I have about mutating the attribute is if its reference is hanging around elsewhere after a build call. Attributes will become part of Nodes when building. Thus, a test that reflects the real world would be if the attribute's name is updated in a NodeProto object:
import spox
from onnx import AttributeProto
from onnx.helper import make_node

attr = spox._attributes.AttrFloat32s([1., 2.])
attr_onnx = attr._to_onnx("foo")

node = make_node("FooNode", inputs=["bar"], outputs=["baz"])
node.attribute.append(attr_onnx)

assert node.attribute[0].name == "foo"

attr_onnx.name = "ZZZ"
assert node.attribute[0].name == "foo"

The result is that NodeProto.append appears to make a copy so we are in the clear in this regard, but should add it as a test to catch any future breakage upstream. We may also add a stern warning to the docstring of _to_onnx that the return value of that function should not be assigned to anything long-lived and is primarily intended to be used immediately in NodeProto.append (which makes a copy as shown above).

For future reference: Simeon and I just discussed this issue. It is a bit scary to mutate the cached value with a user-provided name and it would be great to avoid doing that. To that end, we realized that the name is usually known from the start when creating the Attrxxx object in the opset. We can alter the opset generation to pass the key there and that should safe us from mutating it later. Only thing that may require a little more thought is where which name belongs for _Ref attributes.

With caching:

Without caching:

import numpy as np
import onnx
import spox
import spox.opset.ai.onnx.ml.v3 as ml

Strings = spox.Tensor(np.str_, ("K",))
s = spox.argument(Strings)

NUM_ELEMENTS = 15_000_000

encoded = ml.label_encoder(
    s,
    keys_strings=[str(idx) for idx in range(NUM_ELEMENTS)],
    values_floats=[float(idx) for idx in range(NUM_ELEMENTS)],
)

onnx_model = spox.build(
    inputs={"s": s},
    outputs={"encoded": encoded},
)

onnx.save(onnx_model, f"model_spox.onnx", save_as_external_data=True)

Memory benchmarks
I tried to memory benchmark with memory_profiler, but the results could vary a lot.  Either way, doesn't look as if things are out of control (which I didn't expect anyhow). I think this is good to go! Thanks!


fix: better check for whether the file need to generate freezed structs/enums

Changes
Allow all structs/enums that meet the conditions to be able to generate code correctly through freezed because the approach in #1304 may fail under certain circumstances.
Checklist

[x] An issue to be fixed by this PR is listed above.
x] New tests are added to ensure new features are working. End-to-end tests are usually in the ./frb_example/pure_dart example, more specifically, rust/src/api.rs and dart/lib/main.dart.
[x] The code generator is run and the code is formatted (via just precommit).
[x] If this PR adds/changes features, documentations (in the ./book folder) are updated.
[ ] CI is passing.

Remark for PR creator

Justfile is a task runner for the command line interface that allows you to run shell commands from a file named justfile in your project directory. You can use Justfile after installing it. Note that commands written in justfile of this repository are expected to be run in bash, not cmd or powershell. Running just ... commands in cmd or powershell will produce errors as the syntax is not compatible. On Windows, you can use git bash if you have Git installed.
If fzyzcjy does not reply for a few days, maybe he just did not see it, so please ping him.

may fail under certain circumstances.

btw, would like to hear what circumstance? the added test in api.rs does not look like failing with the old code (has not have time to run it by myself, just looked at it using a minute).

btw, would like to hear what circumstance? the added test in api.rs does not look like failing with the old code (has not have time to run it by myself, just looked at it using a minute).

Creating an empty api.rs file and generating Dart code with two different types (struct or enum) of SyncReturn will render the code invalid.


titleBarStyle=custom breaks Alt+ Keyboard shortcuts

VSCode Version: 1.25.0
OS Version: Win10ProX64

"window.titleBarStyle": "custom" prevents you from assigning any of the Alt+X keyboard shortcuts where X is a keyboard shortcut for one of the file menus - F, E, S, V, G, D, T, H
Steps to Reproduce:

Enable "window.titleBarStyle": "custom"

Create a keyboard shortcut with the keybinding as Alt+E

Expected: Alt+E should carry out the command.
Actual: The Edit menu pops up

Does this issue occur when all extensions are disabled?: Yes

Not a dupe of #53100 since there it seems OP was using Alt+Shift which seems to work.. although only if you manually set alt+shift+ in keybindings.json.
If you try to do it from Preferences > Keyboard Shortcuts tab you can't assign the shortcut Alt+Shift+F -- the File menu pops up.

duplicate of #53654


⚠ BeyondHD has degraded performance

In 68c95c9, BeyondHD ($BHD) experienced degraded performance:

HTTP code: 502
Response time: 16037 ms

Resolved: BeyondHD performance has improved in 4c3cb33 after 38 minutes.


Revise note format for consistency in basics.rst

Some notes were preceded by a header while others were not. Added headers to all notes.

Thanks for the catch @gkdoc


Crash on top-level definitions on a layered effect (Empty option)

The following module causes a crash from trying to obtain the wp_trivial combinator for the layered effect, which is not defined for any layered effect.
module Triv

let m (a:Type u#aa) () : Type u#aa = unit -> Tot  a

let return (a:Type) (x:a) : m a () = fun () -> x

let bind (a b : Type) (c : m a ()) (f : a -> m b ()) : m b () =
  fun () -> f (c ()) ()

let subcomp (a:Type) (u:eqtype_as_type unit) (f : m a u) : m a () = f

let if_then_else (a:Type) (f : m a ()) (g : m a ()) (b : bool) : Type = m a ()

[@@allow_informative_binders]
reifiable
reflectable
layered_effect {
  M : a:Type -> eqtype_as_type unit -> Effect
  with
  repr         = m;
  return       = return;
  bind         = bind;
  subcomp      = subcomp;
  if_then_else = if_then_else
}

let lift_pure_gtd (a:Type)
                  (f : eqtype_as_type unit -> Tot a)
                 : m a ()
 = fun () -> f ()

sub_effect PURE ~> M = lift_pure_gtd

//let test () : M int () = 42 // why does this fail?

let test () : M int () = M?.reflect (fun () -> 42)

let test_call = test ()

Seems to be coming from a check that every top-level definition has a trivial WP (i.e. no precondition). In this case, I think that should just be constantly true since layered effects have value representations. @aseemr wdyt? I could take a stab at it.
Also note that a definition for test fails to verify. The VC seems to involve an equality between formulas, so not sure what's going on there.
@andricicezar this is the crash you saw.

Thanks for the report @mtzguido and @andricicezar.
The issue here is that test_call is a top-level term with layered effect. For other effects at the top-level, we check that they have a trivial precondition (and emit a warning that this term has top-level effects). For layered effects, we don't yet have a way to check for trivial precondition. We never wrote such a top-level layered effect, and so did not see this earlier.
For now I have made it an error if there is a top-level layered effect, so test_call doesn't crash anymore. If we have to support it, we need a mechanism to check for trivial precondition for layered effects.
As for the commented definition of test failing, it is because of how the lift from PURE to M is written. The lift is written only for Tot computations. When lifting 42 to M, however, there is also an equality inserted for 42 making the wp something like fun p -> forall x. x == 42 ==> p x. And when applying the lift combinator, we try to unify this with the Tot wp, which sends an equality smt query to the solver.
If instead the lift is written with a proper wp argument, it succeeds.

Thanks Aseem!
What would be the problem with having a non-trivial precondition for a layered effect? Is it just a matter of convention? I understand it for the primitive effects, since the computation will run at module loading time and should not crash the program or misbehave, but for a layered effect, the definition really represents a value at extraction time, and won't do anything. Any potentially unsafe computation has to be thunked inside the repr.
And thanks for the explanation on the lift, I forgot we should instead require wp (fun _ -> True) to do Tot-lifts.

I think that it would be unsound to drop preconditions (which is what would happen if we allowed non-trivial preconditions) for layered effects. Because when the term is reified for extraction, the thunk can be forced without any typechecking again. And so, it would be straightforward to perform the "unsafe" computation inside the repr.
For example, consider a layered effect:
type repr a wp = unit -> PURE a wp

For a function f:
let f (x:int) : PURE int (fun p -> x > 0 /\ p (x+1)) = x + 1

writing
let x = f 0

would fail, since the precondition of f is not trivial. But then we can use layered effects to write:
let f_m (x:int) : M int (fun p -> x > 0 /\ p (x+1)) = f x

let x = f_m 0

If we allowed this (which is what I think you are suggesting, please correct me if I am wrong), it would allow applying f to -1.
Now the problem is, I could not work this example fully, because extraction of
let x = f_m (-1)

is busted. We could fix it to extract x as a thunk, but then the effect is lost after this point, and the rest of the code treats x as just an int value, so how should it be reified in the rest of the code is not clear to me.

Hi Assem, sorry for the delay. I'm confused as to why:
let f_m (x:int) : M int (fun p -> x > 0 /\ p (x+1)) = f x

let x = f_m 0

is problematic. Isn't the type of (reified) x just unit -> int? So it doesn't call f until applied?

This example works with F* master:
module Test

let m (a:Type u#aa) : Type u#aa = unit -> Tot  a

let return (a:Type) (x:a) : m a = fun () -> x

let bind (a b : Type) (c : m a) (f : a -> m b) : m b =
  fun () -> f (c ()) ()

let subcomp (a:Type) (f : m a) : m a = f

let if_then_else (a:Type) (f : m a) (g : m a) (b : bool) : Type = m a

[@@ top_level_effect]
reifiable
reflectable
layered_effect {
  M : a:Type -> Effect
  with
  repr         = m;
  return       = return;
  bind         = bind;
  subcomp      = subcomp;
  if_then_else = if_then_else
}

let lift_pure_gtd (a:Type)
                  (f : eqtype_as_type unit -> Tot a)
                 : m a
 = fun () -> f ()

sub_effect PURE ~> M = lift_pure_gtd

//let test () : M int () = 42 // why does this fail?

let test () : M int = M?.reflect (fun () -> 42)

let test_call = test ()

extracts to:
open Prims
type 'a m = unit -> 'a
let return : 'a . 'a -> 'a m = fun x -> fun uu___ -> x
let bind : 'a 'b . 'a m -> ('a -> 'b m) -> 'b m =
  fun c -> fun f -> fun uu___ -> f (c ()) ()
let subcomp : 'a . 'a m -> 'a m = fun f -> f
type ('a, 'f, 'g, 'b) if_then_else = 'a m
let __proj__M__item__return = return
let __proj__M__item__bind = bind
let lift_pure_gtd : 'a . (unit -> 'a) -> 'a m = fun f -> fun uu___ -> f ()
let (test : unit -> Prims.int m) =
  fun uu___ -> fun uu___1 -> (Prims.of_int (42))
let (test_call : Prims.int) = Obj.magic (test ())

Closing the issue, please reopen if needed, thanks!


cmd/go: decide, document standard benchmark data format

We propose to make the current output of go test -bench the defined format for recording all Go benchmark data. Having a defined format allows benchmark measurement programs and benchmark analysis programs to interoperate while evolving independently.
See golang.org/design/14313-benchmark-format for details.

Why have the key start with a lowercase letter rather than an uppercase one? Wouldn't having it start with an uppercase letter make it easier to write go code that unmarshals the configuration (for example, not needing struct tags like in json)?

A line from the example output:
BenchmarkDecode/text:digits/level:speed/size:1e4/gomaxprocs:8            100        154125 ns/op      64.88 MB/s       40418 B/op          7 allocs/op
is it possible to change "100" to "100 iters" or "100 runs" so that every number also has a unit? Or will that be backwards incompatible?

@nigeltao, unfortunately that would be backwards incompatible.

What's the reasoning for this restriction?

Tooling can expect that the unit strings are identical for all runs to be compared; for example, a result reporting “ns/op” need not be considered comparable to one reporting “µs/op.”

It doesn't seem like it makes the job of a parser author harder to just drop this restriction (and generation code can pick an appropriate unit per line, if desired).

@cespare, in the general case dropping that restriction would make the job of the parser much harder, if not impossible. Since we're proposing that benchmarks can emit custom metrics, that would require the parser to know how to conform arbitrary scalings of arbitrary units. It would also require that we specify much more precisely the syntax of units. Currently we've specified the unit syntax enough to make "best effort" rescaling possible in benchmark processors, but even if a processor doesn't understand a unit, it can at least expect it to be spelled consistently so it can match up results.

@aclements got it, thanks.

This proposal adds one new kind of line: configuration. What do you think about also standardizing a column header line format? Right now the format doesn't provide any mechanism for carrying the context around with it, so a line like this
BenchmarkDecodeDigitsSpeed1e4-8          100        154125 ns/op      64.88 MB/s       40418 B/op          7 allocs/op

only makes sense given the current benchmark conventions.
Now, given that lines other than configuration lines and benchmark result lines are ignored, it's possible for someone to make up their own format for column headers. But might it be better to settle on a single convention from the start?
(A slightly different convention would be to decide on a well-known configuration key (columns?) which specifies the column names.)

By the way, I commented on a few typos in the CL (https://go-review.googlesource.com/#/c/19490/) after it was already submitted.

I wonder whether the specification should call out that the file is UTF-8 encoded and that lines are separated by line feeds.
It may also be helpful to specify whether or not a tool can assume that value units are always ratios, so must include a slash character. There is also the question whether a value unit with multiple slashes is undefined, forbidden or something else.

I suggest to require all lines beginning with a # character to be ignored.
Currently
#foo: bar
is a valid configuration line. It cannot be ignored because of the word other in

All other lines in the data file, including but not limited to blank lines and lines beginning with a # character, are ignored.

LGTM overall. Seems very useful.
Some nits and questions:

space characters separate “key:” from “value.”

0 or more space characters, or 1 or more space characters?

Value can be omitted entirely but the colon must still be present.

Presumably if the answer to the above is "1 or more", then the spaces may also be omitted in this case.

The first field is the benchmark name, which must begin with Benchmark and is typically followed by a capital letter, as in BenchmarkReverseString. Tools displaying benchmark data conventionally omit the Benchmark prefix.

It'd be better to require a following capital letter. If the name is just Benchmark and the tool omits the prefix, the name will be blank, which is likely to confuse the user or look like a bug. The Go tool already requires this of benchmark function names.

The same benchmark name can appear on multiple result lines, indicating that the benchmark was run multiple times.

This is a mismatch with running benchmarks over multiple packages right now. Using tip:
$ go test -bench=. encoding/base32 encoding/base64
PASS
BenchmarkEncodeToString-8	   30000	     42033 ns/op	 194.89 MB/s
BenchmarkDecodeString-8  	   10000	    182128 ns/op	  71.99 MB/s
ok  	encoding/base32	3.593s
PASS
BenchmarkEncodeToString-8	  100000	     22681 ns/op	 361.17 MB/s
BenchmarkDecodeString-8  	   20000	     99789 ns/op	 109.47 MB/s
ok  	encoding/base64	5.487s

According to the proposal, this would be interpreted incorrectly as two benchmarks run twice, rather than four benchmarks run once.
If this proposal were adopted, however, we could add to the output a config line to disambiguate, perhaps like:
$ go test -bench=. encoding/base32 encoding/base64
PASS
package: encoding/base32
BenchmarkEncodeToString-8	   30000	     42033 ns/op	 194.89 MB/s
BenchmarkDecodeString-8  	   10000	    182128 ns/op	  71.99 MB/s
ok  	encoding/base32	3.593s
PASS
package: encoding/base64
BenchmarkEncodeToString-8	  100000	     22681 ns/op	 361.17 MB/s
BenchmarkDecodeString-8  	   20000	     99789 ns/op	 109.47 MB/s
ok  	encoding/base64	5.487s

The main known issue with the current go test -bench is that we'd like to emit finer-grained detail about runs, for linearity testing and more robust statistics. This proposal allows that by simply printing more result lines.

Link to issue 10669.

We anticipate that the new x/perf subrepo will include a library for loading benchmark data from files

Will https://godoc.org/golang.org/x/tools/benchmark/parse be updated? Deprecated? Replaced?

Thanks for the comments.
@ulikunitz:

I wonder whether the specification should call out that the file is UTF-8 encoded and that lines are separated by line feeds.

Sure.

It may also be helpful to specify whether or not a tool can assume that value units are always ratios, so must include a slash character. There is also the question whether a value unit with multiple slashes is undefined, forbidden or something else.

It's a fascinating question, but one that maybe we should leave open, at least at first. I can't think of any units that wouldn't have exactly one slash, but maybe (probably) I am just not thinking hard enough.

I suggest to require all lines beginning with a # character to be ignored.

Nice catch. Thank you.

@josharian:

0 or more space characters, or 1 or more space characters?

1 or more (x:y: 12) sets "x:y" = "12".

Presumably if the answer to the above is "1 or more", then the spaces may also be omitted in this case.

Yes.

It'd be better to require a following capital letter. If the name is just Benchmark and the tool omits the prefix, the name will be blank, which is likely to confuse the user or look like a bug. The Go tool already requires this of benchmark function names.

Interesting corner case, thanks. Actually the go command allows plain Benchmark. The tool will have to rename it to something. The go command does require that if something follows "Benchmark", that something must not be a lower case letter: "Benchmarked" is not a benchmark.

If this proposal were adopted, however, we could add to the output a config line to disambiguate,

Nice.

Will https://godoc.org/golang.org/x/tools/benchmark/parse be updated? Deprecated? Replaced?

I expect deprecated in favor of a new parser in x/perf (see #14304). The code in package parse is very tied to benchcmp's view of the world (unsurprising since it was basically an mv from cmd/benchcmp). Worse, benchcmp's view of the world - which I accept full blame for - is fundamentally flawed, since it doesn't understand the idea of running a benchmark multiple times and therefore cannot do any statistical validity checks. A general parsing library should really provide something closer to the raw input, leaving analysis to the code invoking the parser. For benchstat, I started by using package parse and trying to recook the results into the form I wanted, but I found that it was easier to parse the raw data from scratch.
For that matter, benchstat will move to x/perf, but probably, due to the statistical failings, benchcmp will be left behind, deprecated, and eventually removed. Not for a while though, and somewhat off-topic for the current proposal.

Thanks for the comments! I believe I've addressed all of them in https://go-review.googlesource.com/21030.

I suggest to require all lines beginning with a # character to be ignored.

Good catch. I made the rule a bit stricter than you proposed by requiring that the first character satisfy unicode.IsLower(). If there's a compelling case to weaken this, we can do so in the future.

It may also be helpful to specify whether or not a tool can assume that value units are always ratios, so must include a slash character. There is also the question whether a value unit with multiple slashes is undefined, forbidden or something else.

It's a fascinating question, but one that maybe we should leave open, at least at first. I can't think of any units that wouldn't have exactly one slash, but maybe (probably) I am just not thinking hard enough.

There are useful units with zero slashes, such as binary size in a compiler benchmark and median GC utilization (though you could argue these are "per iteration"). There are also useful units with multiple slashes, such as bytes/CPU/sec. You could represent this as bytes/(CPU*sec), but this goes one step deeper into the rabbit hole of specifying unit syntax, which we're trying to avoid at least for now. I've been using some of these more complex units in the GC benchmark suite I've been putting together (see metrics.go).

This proposal adds one new kind of line: configuration. What do you think about also standardizing a column header line format?

I'm not sure I understand what you're proposing. What would be in the column header line format that isn't already in the benchmark line? Could you give a concrete example?

@aclements the meaning of the columns isn't given in the benchmark line. The unit alone does not tell you what is being measured. A header line would give this information:
name                                     iters      time/iter         throughput       allocs              allocs
BenchmarkDecodeDigitsSpeed1e4-8          100        154125 ns/op      64.88 MB/s       40418 B/op          7 allocs/op

(Apologies for the lousy names.)
It's less relevant today because Go benchmarks have a known set (and ordering) of columns, but your format says that this is also a valid benchmark line:
BenchmarkFoo     1000        12.34 MB/s

and without more context one cannot know what the 12.34 MB/s represents. (Compression rate? alloc rate? network throughput?)
Anyway, as I mentioned, there's plenty of leeway in the specification for anyone to create their own header convention; I was just wondering if it makes sense to prescribe one from the outset.

@cespare, interesting. I think I understand. This is the difference between dimensions and units: one tells you what's being measured (e.g., "time"), while the other relates a value to a specific physical quantity (e.g., "minutes", and "seconds").
I've actually been fighting with this in a general unit parser/renormalizer I wrote for benchstat, since benchstat wants to show a dimension for its own column headers, and values with nicely (and differently) scaled units in the rows. Specifying it explicitly feels almost unnecessary because you can usually derive the dimension from the unit, but you're right that some of the units used by go test are quite vague. Arguably, these units are bad: any two numbers in the same or conformable units should be comparable, but "B/op" could many any number of different things that aren't necessary comparable. It might be possible to always derive reasonable dimensions from "better" units, such as "bytes allocated/op".
So, another solution is to say that we know what ns/op, MB/s, B/op, and allocs/op mean, but any custom metrics have to have "better" units.

I just hit this myself. https://github.com/rsc/benchstat/pull/5

I just encountered one annoying problem with this format. If there are no tests (such as in the go1 benchmarks), the testing package prints "testing: warning: no tests to run", which this format interprets as a configuration line with key "testing" and value "warning: no tests to run".

@mpvl can we change that print to use the SKIP form you had suggested?

Or we can specifically reserve and ignore the "testing" configuration key,
which is reasonable given that "testing" is the package name.

The 'testing ...' line is written to stderr. It should not be present in
stdout.
On Thu, Apr 21, 2016 at 3:59 PM, Minux Ma<EMAIL_ADDRESS>wrote:

Or we can specifically reserve and ignore the "testing" configuration key,
which is reasonable given that "testing" is the package name.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/14313#issuecomment-212772616

The 'testing ...' line is written to stderr. It should not be present in stdout.

True, but I usually capture both when I'm logging benchmarks because I want to see the errors in the log.

I'm sorry. This was my misunderstanding, I thought that you were piping the
benchmark to a file, then the testing: line was throwing off a tool that
post processed that file.
On Fri, 22 Apr 2016, 00:19 Austin Clements<EMAIL_ADDRESS>wrote:

The 'testing ...' line is written to stderr. It should not be present in
stdout.
True, but I usually capture both when I'm logging benchmarks because I
want to see the errors in the log.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/14313#issuecomment-212968839

Closing this as a dup of #2981 (JSON as the standard format?), because both would likely be resolved regardless of what is decided.
Feel free to reopen this if you feel otherwise.

@bradfitz, to be clear, the currently proposed JSON format doesn't capture most of what's interesting about this proposal (custom metrics and benchmark metadata), and according to https://github.com/golang/go/issues/2981#issuecomment-240600442, it seems these things are out of scope for the current JSON proposal.
Not that there's any harm in closing this issue. We're already using this format. But it's not a dup of #2981 since it covers different ground.

I agree—not a dup. There's a lot happening here beyond mere encoding. And it's not clear to me how the JSON proposal handles the header lines discussed here, which are not tied to specific benchmark runs. Re-opening.

Then I'm marking this as "Proposal-Accepted" so it doesn't come up in future proposal review searches. This is affected accepted because you're all using it anyway. I still think there's value in a standard format like JSON, but that discussion can continue in #2981.
We can keep this bug open to document the design proposal here.

Hi,
I didn't find one, so I wrote an API for encoding/decoding/streaming the benchmark output as defined by the spec readme at https://github.com/cep21/benchparse.  I'm happy to contribute it if desired.

Ping @rsc @aclements .

We are unaware of any standard formats for recording raw benchmark data, and we've been unable to find any using web searches. One might expect that a standard benchmark suite such as SPEC CPU2006 would have defined a format for raw results, but that appears not to be the case.

Looks like you want to reinvent a wheel. I know about at least these formats: JMeter, Skia, Chrome, BenchmarkAnything, Google Benchmark, dstat.

So… What’s left in this issue?