Retrieve events

Story: Retrieve events
As grid operator
I want OSGP to retrieve events
So that I can view the events

Scenario: Retrieve events
Given a retrieve events request
When the request is received
Then the events should be retrieved
And the events should be temporarily stored
And a meter data retrieved notification should be sent

Scenario: Retrieve events results
Given a retrieve events results request
When the request is received
Then the events result should be sent
And the temporarily stored events should be deleted

Tasks:

[ ] Define acceptance criteria
[x] Create web services
[x]  Implement scenarios handle retrieve events ws request in WS adapter
[x] Implement scenarios handle retrieve events request message in Domain adapter
[x]  Implement scenarios handle retrieve events request message in Platform core
[x] Implement scenarios handle retrieve events request message in Protocol adapter
[x] Implement scenarios handle retrieve events response message in Platform core
[x] Implement scenarios handle retrieve events response message in Domain adapter
[x] Implement scenarios handle retrieve events response message in WS adapter
[ ] Implement scenarios handle retrieve events results ws request in WS adapter
[ ] Test

COMPONENT: SMART METER WS ADAPTER
Scenario: Handle retrieve events ws request with a single query action from a client
Given a retrieve events request from a client
And the request is for a device with id <<<deviceid>>>
And the request contains a single events query action
And the query action is of event type <<<eventtype:???>>>
And the query action is for a period from <<<startdate>>> until <<<enddate>>>

When the request is received

Then a retrieve events request message should be sent to the smart metering domain adapter
And the message should contain a deviceid <<<deviceid>>>
And the message should contain a single query action
And the action should be of type ...
And ...

Alternative scenarios:

Multiple queries for different event types
Multiple queries for different periods

Exception scenarios:

TBD

COMPONENT: SMART METERING DOMAIN ADAPTER
Scenario: Handle retrieve events request message from the smart metering ws adapter
Given a retrieve events request message from the smart metering ws adapter

When the message is received

Then a retrieve events request message should be sent to the core

Alternative scenarios:

Multiple queries for different event types
Multiple queries for different periods

Exception scenarios:

Device is not known

COMPONENT: CORE
Scenario: Handle retrieve events request message from the smart metering domain adapter
Alternative scenarios:

TBD

Exception scenarios:

Organisation is not known
Organisation is not authorised for the device
Protocol is not known for the device

COMPONENT: DSMR PROTOCOL ADAPTER
Scenario: Handle retrieve events request message from the core
Alternative scenarios:

Multiple E-meter queries for different event types
Multiple E-meter queries for different periods

Exception scenarios:

Device is unreachable

COMPONENT: CORE
Scenario: Handle retrieve events response message from the dsmr protocol adapter
Alternative scenarios:

TBD

Exception scenarios:

TBD

COMPONENT: SMART METERING DOMAIN ADAPTER
Scenario: Handle retrieve events response message from the core
Alternative scenarios:

TBD

Exception scenarios:

TBD

COMPONENT: SMART METERING WS ADAPTER
Scenario: Handle retrieve events response message from the smart metering domain adapter
Given a retrieve events response message from the smart metering domain adapter
When the message is received
Then the events are temporarily stored
And a meter data retrieved notification should be sent to the client
And the notification should contain a correlation id

Alternative scenarios:

TBD

Exception scenarios:

TBD

COMPONENT: SMART METERING WS ADAPTER
Scenario: Handle retrieve events results ws request from a client
Given a retrieve events results ws request
And the request contains a correlation id <<<correlationid>>>

When the request is received

Then the temporary events results should be restored
And a periodic meter results response should be sent to the client
And the response should contain correlation id <<<correlationid>>>
And the response should contain the events results
And the temporarily stored events should be deleted

Alternative scenarios:

TBD

Exception scenarios:

TBD

Example flow with soap-requests and -responses
Issue the request
Retreive events for a smartmeter by issuing a FindEventsRequest:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.alliander.com/schemas/osgp/common/2014/10" xmlns:ns1="http://www.alliander.com/schemas/osgp/smartmetering/sm-management/2014/10">
   <soapenv:Header>
      <ns:ApplicationName>SoapUI</ns:ApplicationName>
      <ns:UserName>KevinSmeets</ns:UserName>
      <ns:OrganisationIdentification>LianderNetManagement</ns:OrganisationIdentification>
   </soapenv:Header>
   <soapenv:Body>
      <ns1:FindEventsRequest>

	      <!-- One device identification has to be present. -->
	      <ns1:DeviceIdentification>E9998000014122714</ns1:DeviceIdentification>

	      <!--At least 1 FindEventsQuery has to be present. There's no maximum. -->
	      <ns1:FindEventsQuery>
	         <ns1:EventLogCategory>STANDARD_EVENT_LOG</ns1:EventLogCategory>
	         <ns1:From>2015-01-01T00:00:00.000Z</ns1:From>
	         <ns1:Until>2015-09-01T00:00:00.000Z</ns1:Until>
	      </ns1:FindEventsQuery>

	      <ns1:FindEventsQuery>
	         <ns1:EventLogCategory>FRAUD_DETECTION_LOG</ns1:EventLogCategory>
	         <ns1:From>2015-02-01T00:00:00.000Z</ns1:From>
	         <ns1:Until>2015-08-01T00:00:00.000Z</ns1:Until>
	      </ns1:FindEventsQuery>

	      <ns1:FindEventsQuery>
	         <ns1:EventLogCategory>COMMUNICATION_SESSION_LOG</ns1:EventLogCategory>
	         <ns1:From>2015-03-01T00:00:00.000Z</ns1:From>
	         <ns1:Until>2015-07-01T00:00:00.000Z</ns1:Until>
	      </ns1:FindEventsQuery>

	      <ns1:FindEventsQuery>
	         <ns1:EventLogCategory>M_BUS_EVENT_LOG</ns1:EventLogCategory>
	         <ns1:From>2015-04-01T00:00:00.000Z</ns1:From>
	         <ns1:Until>2015-06-01T00:00:00.000Z</ns1:Until>
	      </ns1:FindEventsQuery>

      </ns1:FindEventsRequest>
   </soapenv:Body>
</soapenv:Envelope>

FindEventsAsyncResponse for the request:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:FindEventsAsyncResponse xmlns:ns2="http://www.alliander.com/schemas/osgp/smartmetering/sm-management/2014/10" xmlns:ns3="http://www.alliander.com/schemas/osgp/common/2014/10">
         <ns2:AsyncResponse>

            <ns3:CorrelationUid>LianderNetManagement|||E9998000014122714|||20150929121422784</ns3:CorrelationUid>
            <ns3:DeviceId>E9998000014122714</ns3:DeviceId>

         </ns2:AsyncResponse>
      </ns2:FindEventsAsyncResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Logging for the above:
12:14:22.546 [ajp-bio-8009-exec-1] INFO  (SmartMeteringManagementEndpoint.java:73) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - Find events request for organisation: LianderNetManagement and device: E9998000014122714.
12:14:22.675 [ajp-bio-8009-exec-1] INFO  (ManagementService.java:77) c.a.o.a.w.s.a.s.ManagementService - findEvents called with organisation LianderNetManagement
12:14:22.785 [ajp-bio-8009-exec-1] INFO  (SmartMeteringRequestMessageSender.java:79) c.a.o.a.w.s.i.j.SmartMeteringRequestMessageSender - Sending message to the smart metering requests queue
12:14:22.852 [domainSmartMeteringIncomingWebServiceRequestMessageListenerContainer-1] INFO  (WebServiceRequestMessageListener.java:41) c.a.o.a.d.s.i.j.w.WebServiceRequestMessageListener - Received message of type: FIND_EVENTS
12:14:22.947 [domainSmartMeteringIncomingWebServiceRequestMessageListenerContainer-1] INFO  (FindEventsRequestMessageProcessor.java:63) c.a.o.a.d.s.i.j.w.m.FindEventsRequestMessageProcessor - Calling application service function: FIND_EVENTS
12:14:22.967 [domainSmartMeteringIncomingWebServiceRequestMessageListenerContainer-1] INFO  (ManagementService.java:57) c.a.o.a.d.s.a.s.ManagementService - findEvents for organisationIdentification: LianderNetManagement for deviceIdentification: E9998000014122714
12:14:23.038 [domainSmartMeteringIncomingWebServiceRequestMessageListenerContainer-1] INFO  (ManagementService.java:72) c.a.o.a.d.s.a.s.ManagementService - Sending request message to core.
12:14:23.121 [DefaultMessageListenerContainer-2] INFO  (DomainRequestMessageListener.java:48) c.a.o.c.i.j.d.DomainRequestMessageListener - Received domain request message of type: FIND_EVENTS for domain: SMART_METERING and domainVersion: 1.0
12:14:23.241 [DefaultMessageListenerContainer-2] INFO  (ProtocolRequestMessageSender.java:42) c.a.o.c.i.j.p.ProtocolRequestMessageSender - Sending protocol request message for device [E9998000014122714] using protocol [DSMR] with version [4.2.2]
12:14:23.249 [DefaultMessageListenerContainer-2] INFO  (ProtocolRequestMessageSender.java:47) c.a.o.c.i.j.p.ProtocolRequestMessageSender - Message sender destination queue: [protocol-dlms.1_0.osgp-core.1_0.requests] for protocol [DSMR] with version [4.2.2]
12:14:23.255 [DefaultMessageListenerContainer-2] INFO  (ProtocolRequestMessageSender.java:55) c.a.o.c.i.j.p.ProtocolRequestMessageSender - Sending request message to protocol requests queue
12:14:23.284 [DefaultMessageListenerContainer-2] INFO  (DomainRequestMessageListener.java:59) c.a.o.c.i.j.d.DomainRequestMessageListener - Domain request for device [E9998000014122714] processed.
12:14:23.304 [dlmsRequestsMessageListenerContainer-2] INFO  (DeviceRequestMessageListener.java:36) o.o.a.p.d.i.m.DeviceRequestMessageListener - Received message of type: FIND_EVENTS
12:14:23.346 [dlmsRequestsMessageListenerContainer-2] INFO  (ManagementService.java:44) o.o.a.p.d.a.s.ManagementService - findEvents called for device: E9998000014122714 for organisation: LianderNetManagement
12:14:23.353 [dlmsRequestsMessageListenerContainer-2] INFO  (ManagementService.java:49) o.o.a.p.d.a.s.ManagementService - FindEventsQueryMessageDataContainer number of FindEventsQuery: 4
12:14:23.374 [dlmsRequestsMessageListenerContainer-2] INFO  (ManagementService.java:52) o.o.a.p.d.a.s.ManagementService - findEventsQuery.eventLogCategory :STANDARD_EVENT_LOG, findEventsQuery.from: 2015-01-01T01:00:00.000+01:00, findEventsQuery.until: 2015-09-01T02:00:00.000+02:00
12:14:23.396 [dlmsRequestsMessageListenerContainer-2] INFO  (ManagementService.java:52) o.o.a.p.d.a.s.ManagementService - findEventsQuery.eventLogCategory :FRAUD_DETECTION_LOG, findEventsQuery.from: 2015-02-01T01:00:00.000+01:00, findEventsQuery.until: 2015-08-01T02:00:00.000+02:00
12:14:23.405 [dlmsRequestsMessageListenerContainer-2] INFO  (ManagementService.java:52) o.o.a.p.d.a.s.ManagementService - findEventsQuery.eventLogCategory :COMMUNICATION_SESSION_LOG, findEventsQuery.from: 2015-03-01T01:00:00.000+01:00, findEventsQuery.until: 2015-07-01T02:00:00.000+02:00
12:14:23.412 [dlmsRequestsMessageListenerContainer-2] INFO  (ManagementService.java:52) o.o.a.p.d.a.s.ManagementService - findEventsQuery.eventLogCategory :M_BUS_EVENT_LOG, findEventsQuery.from: 2015-04-01T02:00:00.000+02:00, findEventsQuery.until: 2015-06-01T02:00:00.000+02:00
12:14:23.448 [DefaultMessageListenerContainer-1] INFO  (ProtocolResponseMessageListener.java:41) c.a.o.c.i.j.p.ProtocolResponseMessageListener - Received protocol response message with correlationUid [LianderNetManagement|||E9998000014122714|||20150929121422784] and type [FIND_EVENTS]
12:14:23.469 [DefaultMessageListenerContainer-1] INFO  (DeviceResponseMessageService.java:53) c.a.o.c.a.s.DeviceResponseMessageService - Processing protocol response message with correlation uid [LianderNetManagement|||E9998000014122714|||20150929121422784]
12:14:23.477 [DefaultMessageListenerContainer-1] INFO  (DeviceResponseMessageService.java:82) c.a.o.c.a.s.DeviceResponseMessageService - Sending domain response message.
12:14:23.497 [domainSmartMeteringIncomingOsgpCoreResponsesMessageListenerContainer-1] INFO  (OsgpCoreResponseMessageListener.java:41) c.a.o.a.d.s.i.j.c.OsgpCoreResponseMessageListener - Received message of type: FIND_EVENTS
12:14:23.501 [domainSmartMeteringIncomingOsgpCoreResponsesMessageListenerContainer-1] INFO  (FindEventsResponseMessageProcessor.java:70) c.a.o.a.d.s.i.j.c.m.FindEventsResponseMessageProcessor - Calling application service function to handle response: FIND_EVENTS
12:14:23.539 [wsSmartMeteringResponsesMessageListenerContainer-1] INFO  (SmartMeteringResponseMessageListener.java:47) c.a.o.a.w.s.i.j.SmartMeteringResponseMessageListener - Received message of type: FIND_EVENTS
12:14:23.539 [wsSmartMeteringResponsesMessageListenerContainer-1] INFO  (SmartMeteringResponseMessageListener.java:52) c.a.o.a.w.s.i.j.SmartMeteringResponseMessageListener - objectMessage CorrelationUID: LianderNetManagement|||E9998000014122714|||20150929121422784
12:14:23.540 [wsSmartMeteringResponsesMessageListenerContainer-1] INFO  (SmartMeteringResponseMessageListener.java:57) c.a.o.a.w.s.i.j.SmartMeteringResponseMessageListener - Saving events for FIND_EVENTS
12:14:23.562 [wsSmartMeteringResponsesMessageListenerContainer-1] INFO  (FindEventsResponseMessageProcessor.java:77) c.a.o.a.w.s.i.j.m.FindEventsResponseMessageProcessor - Calling application service function to handle response: FIND_EVENTS
12:14:23.562 [wsSmartMeteringResponsesMessageListenerContainer-1] INFO  (FindEventsResponseMessageProcessor.java:82) c.a.o.a.w.s.i.j.m.FindEventsResponseMessageProcessor - Number of events in EventMessageDataContainer: 2
12:14:23.619 [wsSmartMeteringResponsesMessageListenerContainer-1] INFO  (NotificationService.java:48) c.a.o.a.w.s.a.s.NotificationService - sendNotification called with organisation LianderNetManagement
12:14:23.632 [wsSmartMeteringResponsesMessageListenerContainer-1] INFO  (KeyStoreFactoryBean.java:121) o.s.w.s.s.s.KeyStoreFactoryBean - Loading key store from file [/etc/ssl/certs/LianderNetManagement.pfx]
12:14:24.265 [ajp-bio-8009-exec-2] INFO  (SmartMeteringNotificationEndpoint.java:46) c.a.o.s.w.i.w.e.SmartMeteringNotificationEndpoint - Incoming SendNotificationRequest for organisation: LianderNetManagement device: E9998000014122714.
12:14:24.265 [ajp-bio-8009-exec-2] INFO  (NotificationService.java:35) c.a.o.s.w.a.s.NotificationService - Incoming Notification of type: FIND_EVENTS with result: OK
Get the events
Get the events by issuing a FindEventsAsyncRequest containing the correlation UID:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.alliander.com/schemas/osgp/common/2014/10" xmlns:ns1="http://www.alliander.com/schemas/osgp/smartmetering/sm-management/2014/10">
   <soapenv:Header>
      <ns:ApplicationName>SoapUI</ns:ApplicationName>
      <ns:UserName>KevinSmeets</ns:UserName>
      <ns:OrganisationIdentification>LianderNetManagement</ns:OrganisationIdentification>
   </soapenv:Header>
   <soapenv:Body>
      <ns1:FindEventsAsyncRequest>
         <ns1:AsyncRequest>

            <ns:CorrelationUid>LianderNetManagement|||E9998000014122714|||20150929121422784</ns:CorrelationUid>
            <ns:DeviceId>E9998000014122714</ns:DeviceId>

         </ns1:AsyncRequest>
      </ns1:FindEventsAsyncRequest>
   </soapenv:Body>
</soapenv:Envelope>

FindEventsResponse containing a list of events:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:FindEventsResponse xmlns:ns2="http://www.alliander.com/schemas/osgp/smartmetering/sm-management/2014/10" xmlns:ns3="http://www.alliander.com/schemas/osgp/common/2014/10">

         <ns2:Events>
            <ns2:timestamp>2015-09-29T14:14:23.421+02:00</ns2:timestamp>
            <ns2:eventType>ALARM_REGISTER_CLEARED</ns2:eventType>
         </ns2:Events>
         <ns2:Events>
            <ns2:timestamp>2015-09-29T14:14:23.421+02:00</ns2:timestamp>
            <ns2:eventType>HARDWARE_ERROR_PROGRAM_MEMORY</ns2:eventType>
         </ns2:Events>

      </ns2:FindEventsResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Logging for the above:
12:16:52.084 [ajp-bio-8009-exec-1] INFO  (SmartMeteringManagementEndpoint.java:105) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - Get find events response for organisation: LianderNetManagement and device: E9998000014122714.
12:16:52.085 [ajp-bio-8009-exec-1] INFO  (ManagementService.java:111) c.a.o.a.w.s.a.s.ManagementService - findEventsByCorrelationUid called with organisation LianderNetManagement}
12:16:52.103 [ajp-bio-8009-exec-1] INFO  (ManagementService.java:131) c.a.o.a.w.s.a.s.ManagementService - deleting 1 MeterResponseData rows
12:16:52.107 [ajp-bio-8009-exec-1] INFO  (ManagementService.java:134) c.a.o.a.w.s.a.s.ManagementService - returning a list containing 2 events
12:16:52.140 [ajp-bio-8009-exec-1] INFO  (SmartMeteringManagementEndpoint.java:119) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - getFindEventsResponse() number of events: 2
12:16:52.141 [ajp-bio-8009-exec-1] INFO  (SmartMeteringManagementEndpoint.java:121) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - event.eventCode: 11 event.timestamp: 2015-09-29T14:14:23.421+02:00
12:16:52.157 [ajp-bio-8009-exec-1] INFO  (SmartMeteringManagementEndpoint.java:121) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - event.eventCode: 12 event.timestamp: 2015-09-29T14:14:23.421+02:00
12:16:52.157 [ajp-bio-8009-exec-1] INFO  (SmartMeteringManagementEndpoint.java:123) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - mapping events to schema type...
12:16:52.160 [ajp-bio-8009-exec-1] INFO  (SmartMeteringManagementEndpoint.java:127) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - mapping done, sending response...
No events for the correlation UID
In case there are no events, or the events have been fetched earlier (and thus deleted), an empty list (actually no list at all) will be returned in the FindEventsResponse:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:FindEventsResponse xmlns:ns2="http://www.alliander.com/schemas/osgp/smartmetering/sm-management/2014/10" xmlns:ns3="http://www.alliander.com/schemas/osgp/common/2014/10"/>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Logging for the above:
12:52:50.287 [ajp-bio-8009-exec-2] INFO  (SmartMeteringManagementEndpoint.java:105) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - Get find events response for organisation: LianderNetManagement and device: E9998000014122714.
12:52:50.288 [ajp-bio-8009-exec-2] INFO  (ManagementService.java:88) c.a.o.a.w.s.a.s.ManagementService - findEventsByCorrelationUid called with organisation LianderNetManagement}
12:52:50.292 [ajp-bio-8009-exec-2] INFO  (ManagementService.java:109) c.a.o.a.w.s.a.s.ManagementService - deleting 0 MeterResponseData rows
12:52:50.293 [ajp-bio-8009-exec-2] INFO  (ManagementService.java:112) c.a.o.a.w.s.a.s.ManagementService - returning a list containing 0 events
12:52:50.295 [ajp-bio-8009-exec-2] INFO  (SmartMeteringManagementEndpoint.java:119) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - getFindEventsResponse() number of events: 0
12:52:50.296 [ajp-bio-8009-exec-2] INFO  (SmartMeteringManagementEndpoint.java:123) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - mapping events to schema type...
12:52:50.296 [ajp-bio-8009-exec-2] INFO  (SmartMeteringManagementEndpoint.java:127) c.a.o.a.w.s.e.SmartMeteringManagementEndpoint - mapping done, sending response...


Rescaling amp AmplitudeFits method

Amp is rescaled by its value at the merger. This seems to solve issues with data in MKS units. Find a better solution.

Closing this since no need to change the current implementation.


bucket_game:  should problem_id be null in data export?

Also, how in the data do I know how many tries I took to get each problem right?

the problems are logged each time so you can just look at repeated problems or you can look at accuracy. but the problem_id field was handling this previously (query on problem id count). That's currently factored into the postgres db we were using so what I'll do later today or tomorrow is add a problem_id for each problem in problems.js and then re-add this field to all of the games


Added Pokemon Popplio

Hello, i'm I also fixed one bugs and an unseen image and adding Popplio pokemon to the Poke-Dex -> index.html
Bugs : Layout of the Pokemon Thunderus Card below
Unseen image :

I am sorry but the above mentioned changes were just done. You can make another PR to add your pokemon. Thank you.


Command aliasing

#40
Alias added

AddCommand: a
DeleteCommand: d
EditCommand: e
FilterCommand: f

FilterClearCommand: f c

ShowCommand: s
TagCommand: t

CreateTagCommand: t c
RemoveTagCommand: t r

Codecov Report
Base: 70.55% // Head: 70.55% // No change to project coverage :thumbsup:

Coverage data is based on head (06da807) compared to base (d4e04cd).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #64   +/-   ##
=========================================
  Coverage     70.55%   70.55%
  Complexity      576      576
=========================================
  Files            87       87
  Lines          1725     1725
  Branches        192      192
=========================================
  Hits           1217     1217
  Misses          451      451
  Partials         57       57

Impacted Files
Coverage Δ

.../java/seedu/address/logic/commands/AddCommand.java
100.00% <ø> (ø)

...seedu/address/logic/commands/CreateTagCommand.java
76.92% <ø> (ø)

...va/seedu/address/logic/commands/DeleteCommand.java
100.00% <ø> (ø)

...java/seedu/address/logic/commands/EditCommand.java
96.25% <ø> (ø)

...edu/address/logic/commands/FilterClearCommand.java
89.28% <ø> (ø)

...va/seedu/address/logic/commands/FilterCommand.java
91.66% <ø> (ø)

...seedu/address/logic/commands/RemoveTagCommand.java
82.85% <ø> (ø)

...java/seedu/address/logic/commands/ShowCommand.java
100.00% <ø> (ø)

.../seedu/address/logic/commands/TagCommandGroup.java
100.00% <ø> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
83.33% <ø> (ø)

... and 2 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


feature: ✨ handle 429s and add removeListings back

Handle 429's generally and add removeListings back for alternative use.

Seems to work, but isn't solving the bigger issues. Adds universal 429 handling though, so that is good.

You might want to also take into concideration Retry-After header if provided, instead of just parsing the body

Thank you very much for the PR sir @joekiller! I will look into this very soon. Sorry for the delay.

Merging this now. Thank you very much!


Switch --no-cache Doesn't Appear to Prevent Cache

When running the following command...
devcontainer build --no-cache --log-level trace | cat

... I am still seeing CACHED in the output when devcontainer features are being installed (snippet from logs)...
#22 [dev_containers_target_stage 11/15] RUN --mount=type=bind,from=dev_containers_feature_content_source,source=jq-likes_9,target=/tmp/build-features-src/jq-likes_9     cp -ar /tmp/build-features-src/jq-likes_9 /tmp/dev-container-features  && chmod -R 0755 /tmp/dev-container-features/jq-likes_9  && cd /tmp/dev-container-features/jq-likes_9  && chmod +x ./devcontainer-features-install.sh  && ./devcontainer-features-install.sh  && rm -rf /tmp/dev-container-features/jq-likes_9
#22 CACHED

#23 [dev_containers_target_stage  7/15] RUN --mount=type=bind,from=dev_containers_feature_content_source,source=pre-commit_7,target=/tmp/build-features-src/pre-commit_7     cp -ar /tmp/build-features-src/pre-commit_7 /tmp/dev-container-features  && chmod -R 0755 /tmp/dev-container-features/pre-commit_7  && cd /tmp/dev-container-features/pre-commit_7  && chmod +x ./devcontainer-features-install.sh  && ./devcontainer-features-install.sh  && rm -rf /tmp/dev-container-features/pre-commit_7
#23 CACHED

#24 [dev_containers_target_stage  2/15] RUN mkdir -p /tmp/dev-container-features
#24 CACHED

#25 [dev_containers_target_stage  6/15] RUN --mount=type=bind,from=dev_containers_feature_content_source,source=azure-cli-persistence_5,target=/tmp/build-features-src/azure-cli-persistence_5     cp -ar /tmp/build-features-src/azure-cli-persistence_5 /tmp/dev-container-features  && chmod -R 0755 /tmp/dev-container-features/azure-cli-persistence_5  && cd /tmp/dev-container-features/azure-cli-persistence_5  && chmod +x ./devcontainer-features-install.sh  && ./devcontainer-features-install.sh  && rm -rf /tmp/dev-container-features/azure-cli-persistence_5
#25 CACHED

Am I misusing or misunderstanding the --no-cache switch, or is the switch not functioning correctly?

Could you append the full log?


[Last Video] Error with the new Texture.glsl

I found the problem now...
The problem is with the "Texture.glsl" file from the last video about the Game Engine series.
As soon as I create a sprite and set the scaling to 8.00 and then press File->New, the game engine crashes.
I also get an error in the console (the Intel UHD 600 graphics unit is used)
[05:22:51] [error] HAZEL: API_ID_RECOMPILE_FRAGMENT_SHADER performance warning has been generated. Fragment shader recompiled due to state change.

// Basic Texture Shader

#type vertex
#version 450 core

layout(location = 0) in vec3 a_Position;
layout(location = 1) in vec4 a_Color;
layout(location = 2) in vec2 a_TexCoord;
layout(location = 3) in float a_TexIndex;
layout(location = 4) in float a_TilingFactor;
layout(location = 5) in int a_ObjectID;

uniform mat4 u_ViewProjection;

out vec4 v_Color;
out vec2 v_TexCoord;
out flat float v_TexIndex;
out float v_TilingFactor;
out flat int v_ObjectID;

void main()
{
	v_Color = a_Color;
	v_TexCoord = a_TexCoord;
	v_TexIndex = a_TexIndex;
	v_TilingFactor = a_TilingFactor;
	v_ObjectID = a_ObjectID;
	gl_Position = u_ViewProjection * vec4(a_Position, 1.0);
}

#type fragment
#version 450 core

layout(location = 0) out vec4 color;
layout(location = 1) out int o_IDBuffer;

in vec4 v_Color;
in vec2 v_TexCoord;
in flat float v_TexIndex;
in float v_TilingFactor;
in flat int v_ObjectID;

uniform sampler2D u_Textures[32];

void main()
{
	vec4 texColor = v_Color;
	switch(int(v_TexIndex))
	{
		case 0: texColor *= texture(u_Textures[0], v_TexCoord * v_TilingFactor); break;
		case 1: texColor *= texture(u_Textures[1], v_TexCoord * v_TilingFactor); break;
		case 2: texColor *= texture(u_Textures[2], v_TexCoord * v_TilingFactor); break;
		case 3: texColor *= texture(u_Textures[3], v_TexCoord * v_TilingFactor); break;
		case 4: texColor *= texture(u_Textures[4], v_TexCoord * v_TilingFactor); break;
		case 5: texColor *= texture(u_Textures[5], v_TexCoord * v_TilingFactor); break;
		case 6: texColor *= texture(u_Textures[6], v_TexCoord * v_TilingFactor); break;
		case 7: texColor *= texture(u_Textures[7], v_TexCoord * v_TilingFactor); break;
		case 8: texColor *= texture(u_Textures[8], v_TexCoord * v_TilingFactor); break;
		case 9: texColor *= texture(u_Textures[9], v_TexCoord * v_TilingFactor); break;
		case 10: texColor *= texture(u_Textures[10], v_TexCoord * v_TilingFactor); break;
		case 11: texColor *= texture(u_Textures[11], v_TexCoord * v_TilingFactor); break;
		case 12: texColor *= texture(u_Textures[12], v_TexCoord * v_TilingFactor); break;
		case 13: texColor *= texture(u_Textures[13], v_TexCoord * v_TilingFactor); break;
		case 14: texColor *= texture(u_Textures[14], v_TexCoord * v_TilingFactor); break;
		case 15: texColor *= texture(u_Textures[15], v_TexCoord * v_TilingFactor); break;
		case 16: texColor *= texture(u_Textures[16], v_TexCoord * v_TilingFactor); break;
		case 17: texColor *= texture(u_Textures[17], v_TexCoord * v_TilingFactor); break;
		case 18: texColor *= texture(u_Textures[18], v_TexCoord * v_TilingFactor); break;
		case 19: texColor *= texture(u_Textures[19], v_TexCoord * v_TilingFactor); break;
		case 20: texColor *= texture(u_Textures[20], v_TexCoord * v_TilingFactor); break;
		case 21: texColor *= texture(u_Textures[21], v_TexCoord * v_TilingFactor); break;
		case 22: texColor *= texture(u_Textures[22], v_TexCoord * v_TilingFactor); break;
		case 23: texColor *= texture(u_Textures[23], v_TexCoord * v_TilingFactor); break;
		case 24: texColor *= texture(u_Textures[24], v_TexCoord * v_TilingFactor); break;
		case 25: texColor *= texture(u_Textures[25], v_TexCoord * v_TilingFactor); break;
		case 26: texColor *= texture(u_Textures[26], v_TexCoord * v_TilingFactor); break;
		case 27: texColor *= texture(u_Textures[27], v_TexCoord * v_TilingFactor); break;
		case 28: texColor *= texture(u_Textures[28], v_TexCoord * v_TilingFactor); break;
		case 29: texColor *= texture(u_Textures[29], v_TexCoord * v_TilingFactor); break;
		case 30: texColor *= texture(u_Textures[30], v_TexCoord * v_TilingFactor); break;
		case 31: texColor *= texture(u_Textures[31], v_TexCoord * v_TilingFactor); break;
	}
	color = texColor;
	o_IDBuffer = v_ObjectID;
}

This is one of the useless errors only happening on NVIDIA GPUs and safe to ignore.
more on that here: https://stackoverflow.com/a/13201020

Weird that I cannot reproduce this error on my RTX 2080.. However, @MeAndMyUnicorn mentioned he was rendering with Intel UHD 600 graphics...

@LovelySanta maybe it is a variant to that NVIDIA only error.
It wont happen all the time even on a NVIDIA GPU btw.
Or maybe it is fixed in a new driver.


Error when executing the command: " sh scripts/full_mani_skill_example/eval_bc_example.sh"

@tongzhoumu  Thanks for the nice work!
There is an error when executing the command: " sh scripts/full_mani_skill_example/eval_bc_example.sh"
The log is
File "/export/diskb/liukun/ManiSkill-Learn/tools/run_rl.py", line 265, in
main()
File "/export/diskb/liukun/ManiSkill-Learn/tools/run_rl.py", line 254, in main
main_mfrl_brl(cfg, args, rollout, evaluator, logger)
File "/export/diskb/liukun/ManiSkill-Learn/tools/run_rl.py", line 121, in main_mfrl_brl
save_eval_statistics(eval_dir, lens, rewards, finishes, logger)
File "/export/diskb/liukun/ManiSkill-Learn/mani_skill_learn/env/evaluation.py", line 27, in save_eval_statistics
dump(table, osp.join(folder, 'statistics.csv'))
File "/export/diskb/liukun/ManiSkill-Learn/mani_skill_learn/utils/fileio/serialization/io.py", line 47, in dump
handler.dump_to_path(obj, file, **kwargs)
File "/export/diskb/liukun/ManiSkill-Learn/mani_skill_learn/utils/fileio/serialization/handlers/base.py", line 22, in dump_to_path
with open(filepath, mode) as f:
FileNotFoundError: [Errno 2] No such file or directory: './test/bc_transformer_drawer/BC/test/statistics.csv'
Could you please tell the reason?  Thank you very much!

I guess the folder may be deleted by other program during running. Could you check if the folder exists?

I tried using the command mkdir the directory, but it still failed.


Make printResult functionally pure

Remove the functionally impure errorCount++ in printResult

:tada: This PR is included in version 1.4.1-next.1 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Store Infra Client client.pem contents in the macOS Keychain

I just realized we didn't actually have an issue for this even though it's on our roadmap for H2 2021.
Once we're done with moving client.pem contents into the Windows Certificate Store as the default we need to do the same on macOS hosts with the keychain. This requires logic in the client to read a predefined keychain location by default and to set this up during bootstrap with validation.pem files or via knife.

Dustin, this has been archived for now. We still think this is important but want to finish some work against the Windows Certificate store. After that we will reevaluate and reprioritize.

@johnmccrae just checking in to see if this is still on the roadmap, thanks!


Add IP range

This is a WIP. Right now, I'm just looking to get feedback on the
proposed interface for ranges. Once the interface is agreed upon, I'll
write tests and then implement it.

@ecbaldwin  Sorry, I started working on a project where I needed to efficiently compute differences in ranges of IPs, so I happened to reimplement what you have here with a focus on set differences. See #14

Superseded by #14


Indicate minimum versions

It would be much more useful to document the minimum required versions. In locked-down corporate environments, it's pretty common to be stranded on older versions until gatekeepers decide to push an upgrade. I've seen some places running versions that are as much as full a year behind. "Current" doesn't tell us anything more than a list of checkmarks would.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c7957ff6-5b09-31dd-17dd-2bf3660a8ebd
Version Independent ID: b03c3cec-a3de-d563-d0f8-45fabfb39758
Content: ASP.NET Core Blazor supported platforms
Content Source: aspnetcore/blazor/supported-platforms.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @MV10 ... AFAIK, this is only because Blazor is in preview. I'll tag this for RTM, and we'll get firm versions there for 3.0 RTM.

@danroth27 The ask is for ...
https://docs.microsoft.com/en-us/aspnet/core/blazor/supported-platforms
The topic states "Current" for versions of browsers that Blazor supports. Can we say explicitly what version for each of these we support?

@MV10 ... see #14842 for discussion on this one. We're going to leave it at "Current."

@guardrex thanks for the follow-up. Disappointing. Does "Current" mean Microsoft is committed to automatically guaranteeing full-support the moment a new browser version drops? The decision makes zero sense to me, the page is pretty much worthless this way. Oh well.

guaranteeing full-support the moment a new browser version drops?

Yes ... in the sense that if you hit a 🐞 with a new browser release, they should† assist/advise/fix/workaround the scenario.
†I'm a contractor, so I can't speak for MS directly. This is my assessment based on their remarks.

Does "Current" mean Microsoft is committed to automatically guaranteeing full-support the moment a new browser version drops?

Yes. If you come to us with a bug that only happens in the latest version of one of these browsers then we will support you. If you ask for support for an issue that is specific to an older browser version we will still consider the impact, but we will likely ask you to update your browser.


Make Qiskit validate against the extended schema

What is the expected enhancement?
Remove the extensions to Qobj schema and make Qiskit validate against "Qobj base schema" + "backend-specific schema"

No longer needed. QObject schema is now a minimum requirement.


Address self-hosted runners' stability

Our self-hosted runner VMs sometimes go offline, mostly due to running out of space. This seems to be caused by a combination of limited initial space to begin with, as well as Github's runner updates creating duplicates (see here). We need to make their performance more stable.
Requirements

Attempt more thorough cleanups
Increase memory space on VMs

Closing this as the VMs have been upgraded.


kernel: queue: k_queue_poll: Fix slist access race condition

All sys_slist_*() functions aren't threadsafe and calls to them
must be protected with irq_lock. This is usually done in a wider
caller context, but k_queue_poll() is called with irq_lock already
relinquished, and is thus subject to hard to detect and explain
race conditions, as e.g. was tracked in #4022.
Signed-off-by: Paul Sokolovsky<EMAIL_ADDRESS>

@cvinayak @jhedberg and myself are currently testing this patch

Even when using this fix, we see k_queue_poll() return with NULL. See this issue that is tracking it: https://github.com/zephyrproject-rtos/zephyr/issues/4358


Update Swift language specification to version 5.5

See #2854

@hediet it should be fixed now.

Please fix the unit tests, then I can merge the PR.

Should be fixed now, but I can’t run the unit tests on my personal computer rn

Ready to merge?

Thank you!


Swapping the library order so that anything that openssl requires is properly tagged afterward.

LGTM. Waiting for the green.


make it MPP ready

One of the purpose of this library is using it in android-audio-plugin-framework which partly considers desktop as the target. Therefore building ktmidi for desktop will be mandatory at some point.
Similarly, when we want to build and run those apps for web using kotlin JS/wasm, we will have to eliminate all Java dependencies. i.e. any use of java.* API will have to be eliminated.

So far there isn't a good solution for resource loader in MPP. When I was porting ktmidi from managed-midi I was stuck at MidiModuleDatabase which resolves catalogs and JSON resources from .NET assembly embedded resources.

We also write to and read from SMF files (in MidiMusic.kt) using java.io.Stream, and there is no file I/O API in Kotlin MPP.


Storage blob aggregation

Problem statement:

We generate a ton of (small) blobs, specifically for table scenarios
This results in inefficiencies in storage, as well as in snapshot format.
This change attempts to remedy most of these problems by packing small blobs into bigger blobs (per data store), as initial step on this path.

Some key observations:

This change results in bigger summaries (reduced blob de-duping), but substantial less number of nodes and edges in the graph, improving storage perf. This also has indirect impact on snapshot download, which will

not be that impacted in terms of bytes over wire due to compression helping with de-duping
actually likely reducing current snapshot sizes as metadata is the biggest contributor to size, and amount of metadata is reduced substantially
increasing memory foot print, both due to duplication of blobs, as well as creating extra caching layer.

2K cut-off is based on both assumption of granularity of storage ("cluster" size) as well as looking at typical files.

This will reduce number of blobs from ~4K to about 600 for Chapter 2 document. Edges will be reduced by a factor of 3x-4x or so.

Integrating it at runtime layer for easier supportability.
Some of the ugliness in integration points is due to how we use storage and snapshots, conflating concerns, casting incorrectly types, etc.
While working on it, I keep finding bugs in existing code. For example you see work around for bufferToString() - I'll follow up on that separately.
Packing algorithm and its limitations can be improved incrementally in future, allowing more incremental summaries (removing the need for all DDSs or nothing to be summarized by data store).

the key here is that unpacking logic is rather generic and should not change, thus allowing this code to be future proofed.

What's left:

UTs
For some reason I can't hit handle reuse case in my testing, so not sure if  my handling of SummaryType.Handle is correct - need to figure out why I'm not hitting it (i.e. summaries are all full).

What to pay attention to:

Integration and unpacking code - it needs to go in first (keeping packing code not enabled) and get new bits in production to saturation, before we can enable packing itself.

Future improvements:

Remove limitations (more incremental summaries)
Consider moving aggregated blobs one level up, reducing depth of tree and thus cutting number of edges for Chapter2 document by another factor of 2x.

Other than adding UT, it's ready to go. Did a bunch of testing - looks pretty good :) Would appreciate people taking a look.
Q: should implementation stay in container-runtime or move to driver-utils?

Other than adding UT, it's ready to go. Did a bunch of testing - looks pretty good :) Would appreciate people taking a look.
Q: should implementation stay in container-runtime or move to driver-utils?

I think we should keep it in runtime. Because:
1.) It is happening at runtime layer or used by runtime layer to interact with snapshot while packing or unpacking. Drivers does not know anything about it. So it doesn't makes sense for me to keep it in driver-utils.

I think that logically this should be in the driver layer.   I believe current;y this "bundled" directly with the runtime only because we worry about upgrade velocity, but it should be the driver's decision to include this "optimization" or not based on the server characteristic.

I agree that it should be in the driver layer. It really depends on the specific storage provider and whether it wants to have this optimization or not.

+1 to this being part of driver. This optimization is specific to SPO today and while others may want it, it should be optional.

because the driver is part of the loader which is statically linked into things like native and mobile apps we have very little agility in terms of bug fixing. given that i'd very much prefer this in the contianerRuntimer layer

would it be possible to turn this on at some level in our snapshot replay tests so we have a locked version of the format persisted for testing?

because the driver is part of the loader which is statically linked into things like native and mobile apps we have very little agility in terms of bug fixing. given that I'd very much prefer this in the contianerRuntimer layer. i don't really care where the pacakges lives, as long as the code is run in the containerRuntime and not the loader or driver

I understand the concern about the speed of updating the loader/driver in our scenarios. However, putting in the runtime will create a bigger problem long term as the number of container developer glows.   The number of container solution would far exceed the number of host and most of them will be out of our control. Tracking and asking all of these partners to update will be a tall order and will not be a speedy process either.
Logically, I also think that it is driver specific, as the optimization is very storage dependent.  I am ok if this is temporary bundled with the runtime, but I'd' much rather to improve the speed of loader/drvier update if possible rather then creating a problem that is harder to manage longer term.

I've opened https://github.com/microsoft/FluidFramework/issues/5166 to move this layer into drivers (assigned it for now to May sprint). I agree that it belongs there, but I think the key pre-condition - we need to have a solution for how we update drivers, designed and implemented.
I think the key here - build things in layers. And leave linking (aka packing) decision to a layer time (and make it as much as possible to be independent from feature implementation).
I.e. till now, most of the code in ODSP driver was built as add-on, i.e. integrated into the core of the driver, making it really hard to enable/disable pieces or substitute them. Building this logic as an adapter on the storage allows us easily add it to any storage, thus making decisions about where it belongs easy to flip.
I believe other things (like blob de-dupping) can be redesigned to be the same (i.e. adapters), and we may chose to ship them temporarily at runtime layer (or maybe not).


⚠ SolarOscp has degraded performance

In 2d25ef5, SolarOscp ($SOLAROSCP_URL) experienced degraded performance:

HTTP code: 200
Response time: 415 ms

Resolved: SolarOscp performance has improved in 46c5b7a after 10 minutes.


Responsive 'show' classes for collapsible items

It would be useful to be able to set the initial state of collapsible items at different breakpoints using css classes.  e.g.  .show-md, .show-lg.

    toggle button

   shown by default at 'md' breakpoint and up.

any luck with the display utilities?
http://getbootstrap.com/docs/4.0/utilities/display/

Display utils would override entirely. I'm unsure how we'd do this other than it wouldn't be a show-md so much as a collapse-md. That becomes the opposite behavior of our navbar's expand behavior then, too, which is built on collapse :).

Closing as stale


Difftable merge

I've solved the merge conflicts and the code is able to compile. Just that the diff table is not showing up on the web app for now.

resubmit the latest one


Update to axios@1

axios notoriously for years was 0.x but about a year ago they released 1.x
Requesting this pkg to update to 1.x of axios so apps can correctly deduple the multiple instances of axios in their bundle

OR just dont use axios at all. Now you have security vulnerability and scope of updating to v1 is undefined :)
I suggest switching to native fetch.


color map isosurface with a variable that has a different shape

Currently only variables with the same shape (dimension) can be color mapped to the primary isosurface variable. It should be possible to color map a variable with a different shape than the primary variable. For example, using a WRF data set it should be possible to select the "U" variable as the primary variable and color "U" with "V". WRF uses a staggered grid and U and V have different shapes.

duplicates #1584


Error: No parser for "typescriptreact" language @ get_ts_node_under_cursor?

Hi thank you for the plugin.
I'm struggling with this error bellow on
NVIM v0.9.1
Latest treesitter
If I don't setup cmp-graphl then the error goes away. Any clues?

I'm unable to replicate the issue on my end. Could you try running :TSUninstall tsx and then :TSInstall tsx?

TSInstall tsx

mmmm, that didn't help.
==============================================================================
nvim: require("nvim.health").check()

Configuration ~
- OK no issues found

Runtime ~
- OK $VIMRUNTIME: /opt/homebrew/Cellar/neovim/0.9.1/share/nvim/runtime

Performance ~
- OK Build type: Release

Remote Plugins ~
- OK Up to date

terminal ~
- key_backspace (kbs) terminfo entry: `key_backspace=\177`
- key_dc (kdch1) terminfo entry: `key_dc=\E[3~`
- $TERM_PROGRAM="WezTerm"
- $COLORTERM="truecolor"

:checkhealth nvim-treesitter

==============================================================================
nvim-treesitter: require("nvim-treesitter.health").check()

Installation ~
- OK `tree-sitter` found 0.20.8 (parser generator, only needed for :TSInstallFromGrammar)
- OK `node` found v18.16.1 (only needed for :TSInstallFromGrammar)
- OK `git` executable found.
- OK `cc` executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
  Version: Apple clang version 14.0.3 (clang-14<IP_ADDRESS>.1)
- OK Neovim was compiled with tree-sitter runtime ABI version 14 (required >=13). Parsers must be compatible with runtime ABI.

OS Info:
{
  machine = "arm64",
  release = "22.6.0",
  sysname = "Darwin",
  version = "Darwin Kernel Version 22.6.0: Wed Jul  5 22:22:05 PDT 2023; root:xnu-8796.141.3~6/RELEASE_ARM64_T6000"
} ~

Parser/Features         H L F I J
  - bash                ✓ ✓ ✓ . ✓
  - c                   x ✓ x x ✓
  - css                 ✓ . ✓ ✓ ✓
  - diff                ✓ . . . .
  - dockerfile          ✓ . . . ✓
  - gitcommit           ✓ . . . ✓
  - gitignore           ✓ . . . .
  - graphql             ✓ . . ✓ ✓
  - html                ✓ ✓ ✓ ✓ ✓
  - ini                 ✓ . ✓ . .
  - javascript          ✓ ✓ ✓ ✓ ✓
  - json                ✓ ✓ ✓ ✓ .
  - jsonc               ✓ ✓ ✓ ✓ ✓
  - lua                 ✓ ✓ ✓ ✓ ✓
  - markdown            ✓ . ✓ ✓ ✓
  - markdown_inline     ✓ . . . ✓
  - prisma              ✓ . . . .
  - python              ✓ ✓ ✓ ✓ ✓
  - query               ✓ ✓ ✓ ✓ ✓
  - rust                ✓ ✓ ✓ ✓ ✓
  - scss                ✓ . ✓ ✓ .
  - svelte              ✓ . ✓ ✓ ✓
  - toml                ✓ ✓ ✓ ✓ ✓
  - tsx                 ✓ ✓ ✓ ✓ ✓
  - typescript          ✓ ✓ ✓ ✓ ✓
  - vim                 ✓ ✓ ✓ . ✓
  - vimdoc              ✓ . . . ✓
  - yaml                ✓ ✓ ✓ ✓ ✓

  Legend: H[ighlight], L[ocals], F[olds], I[ndents], In[j]ections
         +) multiple parsers found, only one will be used
         x) errors found in the query, try to run :TSUpdate {lang} ~

Could this be related to https://github.com/neovim/neovim/issues/24531? Maybe one of the existing plugins overrides the ft_to_lang mapping because of this bug. Could you link to your neovim config or list out the plugins you're using?


feat: beta release

:tada: This PR is included in version 1.3.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Make elements in  "Participate in the Anoma Network" section of the website clickable

The elements in the "Participate in the Anoma Network" seem to be clickable but don't direct anywhere. Since we have started writing the "Agents of Anoma" I think we can begin to link the articles to correlating role. Ex. The description/element of a "validator" can be directed to the new Validators article. @claraishere @pablohildo @celsobonutti

Yes, we prepared them in order to just update the link when we get more information about every role :)
Is there anything you need from the design part?

I think the design part is fine! we should just update them as the articles come out :)

Noted! I will update this one soon and make sure we remember updating the others whenever a new article is ready

Hey @AMiles14, a minor comment: issues related to anoma.network should be created in the anoma.network repo.


Problem about position offset caused by rotation action

Dear iGibson team:
I'm trying to build the global point cloud graph. I use the position and orientation to calculate the rotation matrix and transformation matrix.
current_rotation = env.simulator.robots[0].eyes.get_orientation()
current_position = env.simulator.robots[0].eyes.get_position()
# rotation matrix
from scipy.spatial.transform import Rotation as R
r = R.from_quat(current_rotation)
r_matrix = r.as_matrix()
# transformation matrix
t_matrix = current_position.T @ r_matrix.T

When the agent performs the forward action, the result is as follows:

When the agent performs the rotation action, the result is as follows:

Obviously, the second graph has offset.
I try to  use rotation matrix only when the agent performs rotation action, the result is as follows:

I guess the error is caused by the position offset of the rotation action. So, how can I eliminate this position offset?
Thanks,
Juan

I am not completely sure I understand your issue. The robot's action is being physically simulated, so if the robot uses a forward action at timestep 0 and a turn-left action at timestep 1, it will still inherit some forward momentum at timestep 1 (like in the real world).
@mjlbach Would you mind sharing your approach or maybe code snippet to build a global point cloud?

Hi @ChengshuLi :
Thanks for your reply.
For the first graph, I use the husky robot and set the robot using forward action at every timestep, the result seems correct.
I just found if I use the turtlebot robot and set the robot using forward action at every timestep, the result is not correct:

The husky robot always collision with other objects and change the position of other objects. I can not initialize it to a good position by env.simulator.robots[0].set_position([10,10,0]). So, I use turtlebot robot in the second and third graphs, and setting the robot uses turn-left action at every timestep. The second graph is the result using the rotation matrix and transformation matrix. The third graph is the result of using the rotation matrix only.
So, I guess there is some position offset of turtlebot robot.
Thanks,
Juan

Hi @ChengshuLi:
I have other questions about the environment, can you answer me?

I set the turtlebot's action to [0,1], the robot will rotate 0.15 radians. Now, I want the turtlebot robot to rotate 90°(from 0° to 90°), what should I do?
If I want the husky robot to rotate 90°(from 0° to 90°), what should I do?
When the robot has a collision with an object, the position of the object will change. I want to know how to judge the validation of the current action(If the robot performs this action, there will not have any collision)? and how to set the object's position not moving even though it has a collision?
How to initialize the position and orientation of the robot? I try to use env.simulator.robots[0].set_position([10,10,0]) and env.land(env.robots[0], [0, 0, 0], [0, 0, 0]), but it does not works.


approach recommended by vercel

next js shows an approach which allows using relay with:

ssr data loading
static build time loading
client side only data loading

the initEnvironment uses the native nextjs way to transfer data without adding another script tag: https://github.com/vercel/next.js/blob/canary/examples/with-relay-modern/lib/relay.js
it seems to be easier for integration as it doesn't require a _document.tsx
do you see any disadvantage in their approach?

The disadvantage is similar to other libraries I’ve seen in that they all rely on getServerSideProps or something similar. From my experience building apps, it is very much an anti pattern when using Relay. One of the largest benefits of Relay is that you can render using partially cached data and then re-fetch in the background, all while not delaying the navigation like getServerSideProps does. I understand it’s recommended by Vercel over getInitialProps, however it’s a far worse user experience when we have Relay at our disposal.
We could technically remove the need for the _document addition I think by using the inline useMemo like they do, although that seems like a hack destined to break in a future version of React.

I tried to draw the flow you described:

So if I understand you correctly both cases behave the same way for a warm cache.
For an empty cache your approach might have an advantage depending on how fast the hydration is.
Your approach would be able to show other cached fragments or at least skeletons in the meantime instead of a blank white page. Right?
Just a minor side note on useMemo:
useMemo can easily be replaced by a concurrency save useState call in this case:
// creates an instance once and store it until component dies
const [example] = useState(() => new Example());

For an empty cache your approach might have an advantage depending on how fast the hydration is.

You're mixing SSR + hydration + relay cache in your comparison which doesn't make sense I think. It's either SSR + hydration or if it's a local navigation instead of the initial page load there won't be SSR nor hydration. I'll make a comparison best to my knowledge:
Initial page load:
Probably the same except that the next.js example is way more simple and uses next.js features to move the data instead of creating a scirpt tag to the document. Obviously the example works with static pages while relay-nextjs doesn't.
Page navigation:
Next.js way getStaticProps
I personally don't have any interest towards static pages so I'm not going to think about this too much. I'll just note that I don't think the example works with with relay cache properly, navigating to a new page will nuke the old cache with a new one.
Next.js way getServerSideProps
I had to make some assumptions here that it means getServerSideProps, since as far as I can see, the example does not have ssr data loading not client side only loading. It only has a static page.

Will not use relay cache at all on page navigations, because getServerSideProps is fired on page navigation, it has no way of knowing that the data is already in cache. Nothing will be rendered while the app waits for getServerSideProps even if all of the required data would already be available.
Will cause latency on navigation since clicking link doesn't do anything until getServerSideProps returns the data. Will confuse users since initially it can seem like the links don't work
Will make it not possible to render skeletons on page navigations

Next.js way client side only
Again, not included in the example, but I can imagine how it would work.

Doesn't have SSR

relay-nextjs (getInitialProps)

Doesn't have any of the above issues

It's possible that I got some details work, since the example doesn't seem to work, since the api is broken and I'm too lazy to setup the api locally.

@FINDarkside Accurate and excellent summary! Thanks!


TensorFlow build is failing on Bazel CI (Release Bazel) for MacOS and Windows

https://buildkite.com/bazel/tensorflow/builds/5772#d0cb252a-2fab-4c9c-aea3-a1b9e914ea15
Windows seems to have been failing since Sep 18 2020
MacOS seems to have been failing since Sep 19 2020

Sorry, those aren't our builds -- the Bazel team maintains them. Can you replicate the failure in our build-from-source instructions?

I think this would be fixed by #43474

Fixed in 74027b89402720e598d5512dddf3ea7737df7ffe


Design the Remote sources upload menu UI

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
This PR introduces the design of the Upload from remote sources UI for DocsGPT which contains a modal menu through which the user can upload their documentation from other sources like Github, Sitemap, etc. This PR fixes the issue https://github.com/arc53/DocsGPT/issues/548

Why was this change needed? (You can also link to an open issue here)
This change was needed because DocsGPT does not have this type of menu from which user can upload docs from other sources, currently. Thus, I have designed the Upload from remote sources UI in a Figma file.

Other information:
This is the link to the figma file: https://www.figma.com/file/uGf3twL3OHFSIQBgVVn6O8/docsgpt-upload-ui?type=design&node-id=0%3A1&mode=design&t=XRgPNYRfN2N93QvY-1

Greatr Job!


Update sysl-template

Update sysl-template to showcase more features of sysl-go.

Select a random pet from the returned list.
Perform a /rest?method=flickr.photos.search search that passes through tags: pet and the name of the random pet.
Return a result that includes the pet name and the list of image urls.

PR https://github.com/anz-bank/sysl-template/pull/9 merged.


fix: mark verification key as computed when changing to or from partial zone type

When changing a zone to or from type partial the cloudflare_zone.<ID>.verification_key will also change. However, the change is not reflected in the plan and thus any resources needing the value of verification_key won't pick up the change until the next apply. This is undesirable as you want to have the change reflected in one apply.
This PR changes it so that when type changes to or from partial Terraform knows that verification_key will be changed as well.
Before
Here's an example of before. As you can see when changing from full to partial it did not show that verification_key was changing.

On the next apply it picks up the change.

After
Here's what it looks like after: in the same apply that is changing from full to partial it shows that verification_key will change. Then, when the apply completes the value is there. No second apply needed.

this has introduced a regression with the zone acceptance tests
TF_ACC=1 go test ./internal/sdkv2provider -v -run "^TestAccCloudflareZone_" -count 1 -timeout 120m -parallel 1
=== RUN   TestAccCloudflareZone_PreventZoneIdAndNameConflicts
=== PAUSE TestAccCloudflareZone_PreventZoneIdAndNameConflicts
=== RUN   TestAccCloudflareZone_NameLookup
=== PAUSE TestAccCloudflareZone_NameLookup
=== RUN   TestAccCloudflareZone_Basic
--- PASS: TestAccCloudflareZone_Basic (6.34s)
=== RUN   TestAccCloudflareZone_BasicWithJumpStartEnabled
--- PASS: TestAccCloudflareZone_BasicWithJumpStartEnabled (2.93s)
=== RUN   TestAccCloudflareZone_WithPlan
--- PASS: TestAccCloudflareZone_WithPlan (3.47s)
=== RUN   TestAccCloudflareZone_PartialSetup
    resource_cloudflare_zone_test.go:86: Step 1/1 error: After applying this test step, the non-refresh plan was not empty.
        stdout:

        Terraform used the selected providers to generate the following execution
        plan. Resource actions are indicated with the following symbols:
          ~ update in-place

        Terraform will perform the following actions:

          # cloudflare_zone.hwmxzqtkod will be updated in-place
          ~ resource "cloudflare_zone" "hwmxzqtkod" {
                id                  = "796fe6f98d347a6e594cc15617622483"
              ~ verification_key    = "179569341-1011955576" -> (known after apply)
                # (10 unchanged attributes hidden)
            }

        Plan: 0 to add, 1 to change, 0 to destroy.
--- FAIL: TestAccCloudflareZone_PartialSetup (6.13s)
=== RUN   TestAccCloudflareZone_FullSetup
--- PASS: TestAccCloudflareZone_FullSetup (3.47s)
=== RUN   TestAccCloudflareZone_WithEnterprisePlan
--- PASS: TestAccCloudflareZone_WithEnterprisePlan (7.45s)
=== RUN   TestAccCloudflareZone_WithEnterprisePlanVanityNameServers
--- PASS: TestAccCloudflareZone_WithEnterprisePlanVanityNameServers (8.05s)
=== RUN   TestAccCloudflareZone_Secondary
--- PASS: TestAccCloudflareZone_Secondary (9.66s)
=== RUN   TestAccCloudflareZone_SecondaryWithVanityNameServers
--- PASS: TestAccCloudflareZone_SecondaryWithVanityNameServers (7.55s)
=== RUN   TestAccCloudflareZone_SetType
    resource_cloudflare_zone_test.go:328: Step 2/2 error: After applying this test step, the non-refresh plan was not empty.
        stdout:

        Terraform used the selected providers to generate the following execution
        plan. Resource actions are indicated with the following symbols:
          ~ update in-place

        Terraform will perform the following actions:

          # cloudflare_zone.hxckgcnxjb will be updated in-place
          ~ resource "cloudflare_zone" "hxckgcnxjb" {
                id                  = "46b7b681132c8a2b0f769fe297ffe76c"
              ~ verification_key    = "379348556-1030387840" -> (known after apply)
                # (10 unchanged attributes hidden)
            }

        Plan: 0 to add, 1 to change, 0 to destroy.
--- FAIL: TestAccCloudflareZone_SetType (11.38s)
=== CONT  TestAccCloudflareZone_PreventZoneIdAndNameConflicts
--- PASS: TestAccCloudflareZone_PreventZoneIdAndNameConflicts (0.22s)
=== CONT  TestAccCloudflareZone_NameLookup
--- PASS: TestAccCloudflareZone_NameLookup (1.42s)
FAIL
FAIL	github.com/cloudflare/terraform-provider-cloudflare/internal/sdkv2provider	68.596s
FAIL
make: *** [testacc] Error 1

@jacobbednarz thanks for the info. I've updated the code and verified those acceptance tests now pass.

nice one, thanks
TF_ACC=1 go test ./internal/sdkv2provider -v -run "^TestAccCloudflareZone_" -count 1 -timeout 120m -parallel 1
=== RUN   TestAccCloudflareZone_PreventZoneIdAndNameConflicts
=== PAUSE TestAccCloudflareZone_PreventZoneIdAndNameConflicts
=== RUN   TestAccCloudflareZone_NameLookup
=== PAUSE TestAccCloudflareZone_NameLookup
=== RUN   TestAccCloudflareZone_Basic
--- PASS: TestAccCloudflareZone_Basic (3.97s)
=== RUN   TestAccCloudflareZone_BasicWithJumpStartEnabled
--- PASS: TestAccCloudflareZone_BasicWithJumpStartEnabled (3.33s)
=== RUN   TestAccCloudflareZone_WithPlan
--- PASS: TestAccCloudflareZone_WithPlan (3.65s)
=== RUN   TestAccCloudflareZone_PartialSetup
--- PASS: TestAccCloudflareZone_PartialSetup (3.40s)
=== RUN   TestAccCloudflareZone_FullSetup
--- PASS: TestAccCloudflareZone_FullSetup (3.66s)
=== RUN   TestAccCloudflareZone_WithEnterprisePlan
--- PASS: TestAccCloudflareZone_WithEnterprisePlan (7.05s)
=== RUN   TestAccCloudflareZone_WithEnterprisePlanVanityNameServers
--- PASS: TestAccCloudflareZone_WithEnterprisePlanVanityNameServers (11.27s)
=== RUN   TestAccCloudflareZone_Secondary
--- PASS: TestAccCloudflareZone_Secondary (6.14s)
=== RUN   TestAccCloudflareZone_SecondaryWithVanityNameServers
--- PASS: TestAccCloudflareZone_SecondaryWithVanityNameServers (6.83s)
=== RUN   TestAccCloudflareZone_SetType
--- PASS: TestAccCloudflareZone_SetType (11.81s)
=== CONT  TestAccCloudflareZone_PreventZoneIdAndNameConflicts
--- PASS: TestAccCloudflareZone_PreventZoneIdAndNameConflicts (0.19s)
=== CONT  TestAccCloudflareZone_NameLookup
--- PASS: TestAccCloudflareZone_NameLookup (1.52s)
PASS
ok  	github.com/cloudflare/terraform-provider-cloudflare/internal/sdkv2provider	63.979s


network: generate network traffic by using iperf

Signed-off-by: xiang<EMAIL_ADDRESS>./bin/chaosd attack network flood -h
generate a mount of network traffic by using iperf

Usage:
  chaosd attack network flood [flags]

Flags:
      --duration string   number of seconds to run the iperf test (default "99999999")
  -h, --help              help for flood
  -i, --ip string         generate traffic to this IP address
      --parallel int32    number of iperf parallel client threads to run (default 1)
  -p, --port string       generate traffic to this port on the IP address
  -r, --rate string       the speed of network traffic, allows bps, kbps, mbps, gbps, tbps unit. bps means bytes per second

Global Flags:
      --log-level string   the log level of chaosd. The value can be 'debug', 'info', 'warn' and 'error'
      --uid string         the experiment ID

@WangXiangUSTC iperf  tool wound not be installed on centos by default. Maybe we should add it to tools directory.

2022-06-17T15:17:12.389+0800	INFO	background-process-manager	build command	{"command": "bash -c iperf -u -c  -t 99999999 -p 2333 -P 1 -b 1gkb"}
[2022/06/17 15:17:12.391 +08:00] [INFO] [network.go:349] ["Start iperf process successfully"] [command="/bin/bash -c iperf -u -c  -t 99999999 -p 2333 -P 1 -b 1gkb"] [Pid=12500]
2022-06-17T15:17:12.392+0800	INFO	background-process-manager	process stopped	{"pid": 12500}
Attack network successfully, uid: 26d7e208-5ae8-4eba-825d-345e18a9067b

This attack failed, but I can't find the error message from this log.

@WangXiangUSTC PTAL

2022-06-17T15:17:12.389+0800	INFO	background-process-manager	build command	{"command": "bash -c iperf -u -c  -t 99999999 -p 2333 -P 1 -b 1gkb"}
[2022/06/17 15:17:12.391 +08:00] [INFO] [network.go:349] ["Start iperf process successfully"] [command="/bin/bash -c iperf -u -c  -t 99999999 -p 2333 -P 1 -b 1gkb"] [Pid=12500]
2022-06-17T15:17:12.392+0800	INFO	background-process-manager	process stopped	{"pid": 12500}
Attack network successfully, uid: 26d7e208-5ae8-4eba-825d-345e18a9067b

This attack failed, but I can't find the error message from this log.

Yeah, I forget to validate the ip-address, fixed in the last commit

@WangXiangUSTC iperf  tool wound not be installed on centos by default. Maybe we should add it to tools directory.

I will add some description of install iperf in the document first, and maybe add this tool into tools directory in another pr.

I find sometimes iperf cannot shutdown but force kill.

I find sometimes iperf cannot shutdown but force kill.

@WangXiangUSTC PTAL

This may be a Debian only problem.

I find sometimes iperf cannot shutdown but force kill.

@WangXiangUSTC PTAL

I have already check it with @Andrewmatilde, it's a bug of iperf on some specified Linux distributed version. @cwen0

/merge


How to perform load js code pages after pages in push

Push.js can do this ?
Or how to write the code of the new document?

Refer to RatchetPro.js https://github.com/mazong1123/ratchet-pro


Fix update_build_links job in Agent RC build pipeline

What does this PR do?
Job in the gitlab pipeline which updates the QA build links page requires the version to provided like 7.52.0-rc.2 so that corresponds to CI_COMMIT_REF_NAME variable. By mistake there is CI_COMMIT_REF_SLUG. used now, which breaks the command.
Motivation
Automation of the Agent release process.
Describe how to test/QA your changes
This change will be tested with the next Agent RC build.

/merge


add nerdctl run --ip ipv4 --ip6 ipv6 ; add compose network subnet

fix #432
Signed-off-by: Piotr Belina<EMAIL_ADDRESS>Hello, I tried to add network configuration for compose and --ip and --ip6 flags for run command.
The compose part is done, but I can't make nerdctl run --ip <IP_ADDRESS> to run.
Maybe somebody can help me

Thanks, but this has to be split to at least three PRs:

Support specifying subnet in Compose
nerdctl run --ip (IPv4) using https://www.cni.dev/plugins/current/ipam/static/ and its support for Compose
IPv6

Is there any update? Looking forward to merging the feature. @piotrbelina

Closing in favor of:

https://github.com/containerd/nerdctl/pull/896


schema for services who get the rule selection

Can you share with me if there is a universally agreed upon standard for sending rules over HTTP via JSON?
Because I notice that there is a specific type for the output mentioned in the readme, but some of this (like the memorizer and resolver) are not JSON serializable since they are functions.
type Options = {
  facts?: Record<string,Fact>;
  rules?: Record<string,Rule>;
  actions?: Record<string,Action>;
  pattern?: RegExp; // for interpolation
  memoizer?: <T>(a: T, b: T) => boolean;
  resolver?: (subject: Record<string,any>, path: string) => any
};

So what I’m looking for is a JSON Schema spec that I can point to to say “this is what the API that reads the rule selections expects to receive.”
For full context, my team is building a temporary component that we will replace with your React component. So having a standardized output will allow us to make that swap easily (ie the adapter pattern). And it will let us start building the services before the UI is written. Thank you for the guidance.

if there is a universally agreed upon standard for sending rules over HTTP via JSON

Nope. It's up for you and your team to decide.

like the memorizer and resolver

The memoizer isn't related to how the rules are transmitted, only how the rules engine is run and it isn't important across HTTP. The resolver is just an agreed upon format that you decide to use to resolve nested values - in general you'll either use json path or dot notation.

So what I’m looking for is a JSON Schema spec that I can point to to say “this is what the API that reads the rule selections expects to receive.”

I'm not sure what you mean by

expects to receive

Perhaps you mean the then/otherwise that we use? As in:
{

  when: {
     // some set of facts that you can evaluate
  },
  then: {
    // some actions to perform, or nested rules to evaluate if the when block resolves to true
  },
  otherwise: {
    // some actions to perform, or nested rules to evaluate if the when block resolves to false
  }

}

If so, this isn't defined by JSON schema spec, it's just a convention that this library uses.
This library uses (or suggests that you use) standard JSON Schema - at the is key of an evaluator - only as a predicate, i.e. to evaluate whether some data returns true when validated against schemas. The output - actions - of the engine is completely up to you and your team.
I'm not sure if I've answered your questions, I'm happy to provide more concrete examples for a specific use case if you can elaborate.


[Doc] Update download link for IS 5.5.0 Key manager pack

Description:
Configuring Identity Server as IDP for SSO-> Sharing the user store [1]
Step 4: The download link for the WSO2 Identity Server 5.5.0 as a Key Manager does not point to pre-packaged Key Manager pack. The link should point to https://wso2.com/api-management/install/
[1] https://docs.wso2.com/display/AM220/Configuring+Identity+Server+as+IDP+for+SSO
Suggested Labels:
Doc

We will not be fixing this as this issue is based on an older version of the product.


Question about ack messages

Hi Chris,
I have a few questions about the use of a return channel for siamese acks.

Is it mandatory to use the siamese_decoder_ack() siamese_encoder_ack() functions?
Instead of those, can I just send the last received packet number and use the SiameseResult siamese_encoder_remove_before() function?
If I do the latter what would I be missing?

Thanks!

I think that would cause the encoder to stop sending data the decoder is
missing so the decoder would get stuck.
On Wed, Sep 11, 2019, 12:35 PM Franco Miceli<EMAIL_ADDRESS>wrote:

Hi Chris,
I have a few questions about the use of a return channel for siamese acks.

Is it mandatory to use the siamese_decoder_ack()
siamese_encoder_ack() functions?
Instead of those, can I just send the last received packet number
and use the SiameseResult siamese_encoder_remove_before() function?
If I do the latter what would I be missing?

Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/catid/siamese/issues/2?email_source=notifications&email_token=AAB5SILN4GKDHLMTTGVMAN3QJFB6ZA5CNFSM4IVYA2YKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HKZ3HDQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB5SILBUOEUZYXBLIQCP3LQJFB6ZANCNFSM4IVYA2YA
.

Great. Thanks for the explanation.
I will probably implement the ack's on my backchannel in order to fully comply with your implementation.
Thanks again.
Best,


⚠ Bofrost.de has degraded performance

In c9346c3, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1243 ms

Resolved: Bofrost.de performance has improved in de4e2ec after 35 minutes.


Assigning excess properties can break type system

The following with ?: passes through the type system (at least will after #122) but throws at runtime
function func(param: { prop: string }) {
	const v1: { excess?: number } = param;
	const v2: number = v1.excess ?? 0;
	return Math.sin(v2)
}

func({ prop: "", excess: console })

This is also true for union types
function func(param: { prop: string }) {
	const v1: {} | { excess: number } = param;
	const v2: number = v1.excess ?? 0;
	return Math.sin(v2)
}

func({ prop: "", excess: console })

The problem is sort of related to narrowing because the v1.excess ?? performs narrowing (number | undefined -> number). Maybe narrowing checks could be added during event application but would like to avoid that. (I should raise a related issue around getter property narrowing)

The Exclusive<...> helper type (to be added in #157) can help here (although that is opt in and not in TSC). Maybe a mode could enforce this for assigning to unions and conditional properties. Want to not ignore this issue while also not creating something that is too strict (and creates a lot of breaking changes).

Note this is also an issue in TSC (https://github.com/microsoft/TypeScript/issues/12936).
Some cases are currently caught by ezno-checker because objects are treated dependently (for variables: it separates assignment restrictions from current values)
const x: {} = { b: "hi" }
const y: { b?: number } = x;
y.b satisfies boolean; // fails with = "hi"

(+ because of assignment tracking via events)
const x: { b: string } = { b: "hi" };
const y: {} = x;
const z: { b?: number } = y;
(function () { z.b = 5; })();
x.b satisfies string; // fails with = number

The issue is around what happens when we don't have the dependent types.

See my comment on TS Exact types here: https://github.com/microsoft/TypeScript/issues/12936#issuecomment-2198567348
A value that is structurally typed (may have excess properties) cannot be safely assigned to a type that includes an optional property that is not present on the type of the value. Only an exact typed object or a fresh object (that we have full information on) can be assigned to a type with an additional optional property. I talked about a type that would work this was called a noextend type.

See my comment on TS Exact types here: microsoft/TypeScript#12936 (comment)

The link shoes a good example for a fail that can occur.
With any solution to this I would like to make it somewhat TSC compatible. Technically from subtyping rules excess properties are fine, the problem is that TSC removes information (etc the extra properties) for variable type annotations.
With the more dependent type system that is aware of mutations through side effects, your example should raise an issue already (or very soon from #157) from ezno check.
Maybe there could be a flag so that all user code is subjected to all type object type annotations being treated as the upcoming Exclusive helper will work?


WIP: Runtime initialization notification

Rather than stamp over the other PR to test CI, let's make a separate (draft) PR to test until we're sure this is the right fix.
Other PR: https://github.com/microsoft/react-native-macos/pull/756

Closing this, we're going a different route.


typo correction

@grenade : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; verified in the documentation. Thanks @grenade; merging.


fix: Missing trailing comma in currencies

I figured this was the part missing that essentially broke the go install for me.
LMK if it looks good!

Thank you so much!


[feat] ReFrame base tests

Closes #1569

Codecov Report

Merging #1570 into master will decrease coverage by 0.00%.
The diff coverage is 77.77%.

@@            Coverage Diff             @@
##           master    #1570      +/-   ##
==========================================
- Coverage   88.03%   88.03%   -0.01%
==========================================
  Files          44       44
  Lines        6896     6901       +5
==========================================
+ Hits         6071     6075       +4
- Misses        825      826       +1

Impacted Files
Coverage Δ

reframe/core/pipeline.py
92.33% <77.77%> (-0.12%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 74282b8...e1803ae. Read the comment docs.

Hello @jjotero, Thank you for updating!

In the file unittests/resources/checks/hellocheck_base.py:

Line 9:1: E302 expected 2 blank lines, found 1
Line 18:1: W391 blank line at end of file

Do see the ReFrame Coding Style Guide

We will need a unit test for this functionality.

Done.


Warning button dropdown problem

Tiny problem, when using btn-warning in a dropdown, the caret is not inverted to white. Also, both examples for btn-warning and btn-inverted when using them in a dropdown are missing from the docs, but the caret for the inverted button is correct.

I think I got similar problem with .btn-primary. I just added
.navbar .nav .open > .btn-primary {
	background-color: #006DCC !important;
}

Worked fine for me.

@jeserkin I think that's a different problem, but I'll look into both.

Resolved the primary bug just now in 2.0.2-wip. Will look into the other one at a later date with some more navbar work.


Add "" to search paths for package.json to allow package.json to be placed in resources

It would be great if "" could be added to the search paths for the app's package.json at:
https://github.com/atom/atom-shell/blob/master/atom/browser/lib/init.coffee#L58
This would make it possible for an app to keep all it's resources in the resources directory without having to create an additional app directory just to store the main.js and package.json files. This simplifies app management, e.g. resourcesPath can be used directly to access all resources including js, and also simplifies build scripts which don't need to create an additional app directory.
This could be added last to the search paths so as not to cause any unnecessary cache misses for people who use app/package.json or app.asar.

The resourcesPath is also used to store Chromium's resource files, and on different platforms we have different resource files under resourcesPath. So putting your app under resourcesPath will mess up your app's files with Chromium's resource files, and some important files might be overwritten in future when Chromium have more resource files.
I'm closing this as won't fix.


Remove logger.info

Logging request_data.body logs raw password with login API.
This line is not really useful anyway and does not exists in magento2-vsbridge-client.

@pkarw


WIP: Generate terrain using dynamic allocation

Generating terrain using dynamic memory allocation. It still shows some bugs in allocation when moving. We will fix it. And it shows some drawbacks in frame rates when the character dashes. We might need to test changing parameters like number of segments in each chunk

https://user-images.githubusercontent.com/58914494/155110277-98840e28-0a4b-4461-bf50-315876448219.mp4

Profile-20220222T233455.json.zip

Performance looks okay. And applied rough shading from @yszhao91

We need to discuss where we will get public URLs of textures

Purpose: To show how to generate infinite terrain that is dynamically updated.
Changes to master: This is an independent example.
To test: Performance and infinite generation of terrain without bugs

Hey I tried using the repo as a fork and turned on the github pages. It was giving an error of finding path to texture images i fixed that but It is still giving this error.


Removing list with index 0 causes panicked.

In the following example, we define a list1 with a class instance, then we remove the list1, rustpython is panicked.
test.py:

class rewrite_list_eq(list):
	pass

class poc:
    def __eq__(self, other):
        list1.clear()
        return self
list1 = rewrite_list_eq([poc()])
list1.remove(list1)

Behavior on rustpython(rustpython 0.1.2):
thread 'main' panicked at 'removal index (is 0) should be < len (is 0)', vm/src/builtins/list.rs:303:38
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Expected behavior(behavior on CPython 3.9.1):
work well on the Python interpreter.
Step to reproduce:
type "cargo run --release test.py" on the console of Ubuntu 18.04 and MacOS Big Sur 11.7.1
rust version: rustc 1.65.0

Note to anyone wanting to tackle this, test similar to this exist in test_equal_operator_modifying_operand and test_count_index_remove_crashes of test_list.

I investigated the source code.
https://github.com/RustPython/RustPython/blob/0723271a3687856d2a961a5218eefd7b1ada2a3e/vm/src/builtins/list.rs#L298-L303
After calling self.mut_index, an elements of list has been deleted.
then self.borrow_vec_mut().remove is called.
But list is empty, So panic occured.
Checking list size is needed After calling self.mut_index.
I'll fix PyList::remove and add test in test_list.py.


Release 0.11.0

This is a bugfix release. The prior release switched from a dictionary lookup to a prefix trie lookup strategy, which allowed for better disambiguation between links, but is more expensive. The bug was that, even if a link was direct, it would trigger a full trie search. Now, direct links
are checked and returned directly if the file exists.
Additionally, a slight performance improvement was made where, in the case that a filename is unique to the entire site, it will rely on a fast dictionary lookup instead of a trie lookup.
Resolves: #19

Whoops, botched this PR. Will reopen another with a properly rebased change & release number


Change the repo name

I don't like this name, for lots of reasons.
This project was intended as a community effort, and sticking one person's name on it sends exactly the wrong message.

agreed, better placeholder? open-mir-eval?

that was a mistake I'm prepared to own up to and correct, but I'm not feeling imaginative today and need help fixing

Didn't mean to put you on the spot -- but I did want to enter my objection into the record.
Anything "mir-eval" might be confusing, given the mir_eval package.
How about "A Web Service for Open Music Evaluation" (AWeSOME)?
(Or just SOME)

likewise, wanted to document my acknowledgement of the error.
don't like the "S", like the "OME" ... maybe Open Music Evaluation Challenge / Campaign? everyone loves omec, and the icons would be easy

i've swapped it to omec to get it somewhere else faster. issue is not closed, pending consensus.

alrighty, well we have a working codename until the rest of the team gets invited and we can vote proper

Here is my proposition (re-posted from my message at<EMAIL_ADDRESS>with minor edits):
COSMIR
Community for Open, Sustainable Music Information Research
Some pros:

quite easy to pronounce and spell. If you can spell ISMIR, you can spell COSMIR.
the cosmos prefix makes it sound scalable. In Ancient Greek, cosmos refers to the whole universe as an orderly system, as opposed to chaos.
has Community, Open, and Sustainable in it, three important principles from the McFee et al paper.
rhymes with ISMIR
allows for a distinctive logo
does not already exist in the dictionary, so your search engine loves it. I did search it: Cosmir is a (rare) Moldovan surname, a general-purpose shop in France, a civil engineering company in Italy. In science, NASA had a Conical Scanning Millimeter-wave Imaging Radiometer (CosMIR) for calibration, which has been discontinued. What I retain is that searching cosmir in a web browser could soon lead to this project, unlike the other names already proposed.
Most importantly, www.cosmir.net is available.

Some cons:

does not have Evaluation in it — but isn’t Evaluation part of Research anyway ?
does not contain « Distributed », « Incremental », or other principles from the McFee et al paper.

While I like COSMIR and a few others proposed in the mailinglist, I would advocate for something that isn't necessarily an acronym. I like the naming of marsyas, theano, keras, and all of that stuff. Just my 2 cents.

I also like this approach, and was thinking along the lines of Archimedes
or the "how do you know she's a witch?" scene from Monty Python's "Holy
Grail"... but have nothing quite yet.
On Thu, Aug 18, 2016 at 1:04 PM, Oriol Nieto<EMAIL_ADDRESS>wrote:

While I like COSMIR and a few others proposed in the mailinglist, I would
advocate for something that isn't necessarily an acronym. I like the naming
of marsyas, theano, keras, and all of that stuff. Just my 2 cents.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ejhumphrey/omec/issues/6#issuecomment-240789359, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA4iq2o3VXGn8vQ6PGvALIMBMcLyWCF7ks5qhJCrgaJpZM4JknHs
.

I would vouch for anything Monty Python / The Hitchhiker's Guide to the Galaxy / Discworld related name (especially if it has something to do with evaluation --yeah, the witch assessment, or the 42 answer, or the invisible university peer review process).

if it has something to do with evaluation

... you mean like the total perspective vortex?

YES :metal:

for what it's worth, the knight who oversees the witch evaluation is named
Sir Bedevere (alt. Bedivere, or olde English, Bedwyr): https://en.wikipedia.
org/wiki/Monty_Python_and_the_Holy_Grail
also worth noting, the evaluation is conducted in front of an entire mob,
which seems fitting.
On Thu, Aug 18, 2016 at 1:38 PM, Brian McFee<EMAIL_ADDRESS>wrote:

if it has something to do with evaluation
... you mean like the total perspective vortex?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ejhumphrey/omec/issues/6#issuecomment-240798655, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA4iqwCYbbqCuO6gjKwkP1s7aMkswZP7ks5qhJidgaJpZM4JknHs
.

https://www.youtube.com/watch?v=zrzMhU_4m-g
On Thu, Aug 18, 2016 at 1:47 PM, Oriol Nieto<EMAIL_ADDRESS>wrote:

YES [image: :metal:]
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ejhumphrey/omec/issues/6#issuecomment-240801290, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA4iq4UT3ywXg7dTL9pAuYxOt4z9hJFUks5qhJrBgaJpZM4JknHs
.

To name this project Sir Bedevere or simply Bedevere would make me extremely happy.

+1 bedevere
On Thu, Aug 18, 2016 at 1:50 PM, Oriol Nieto<EMAIL_ADDRESS>wrote:

To name this project Sir Bedevere or simply Bedevere would make me
extremely happy.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ejhumphrey/omec/issues/6#issuecomment-240802114, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA4iq9_52Ikb34KJypor2ujKN8lxqAJdks5qhJtlgaJpZM4JknHs
.

+1 to the idea of bedevere as well, even if it's got to do with witches and ducks rather than horses lol
Thinking about making it easier to look up, I was thinking about making Sir Bedevere more like MIR Bedevere, or maybe Bedevereval, Bedereval or the like.

Another 2 cents:
I think that making a reference to Galileo would be nice:

Obvious reason is the more-or-less establishment of the scientific method through observation, which clearly has to do with evaluation.
Defied authority since he was a child, which also applies to some degree when we wanna have everything as transparent as possible.
He had music all around: his father, his son, and he himself were lutes, composed, etc.

I don't have any proposal yet, but wanted to see if the idea is well received.
Cheers

Previous ideas in the acronym path were:

IOME: innitiative for open mir evaluation
CSOME: campaign for sustainable and open mir evaluation
NOME: network for open mir evaluation (turns out to be a city in alaska)-> could add a letter at the beginning and make it recursive, like gnome
XISEM: XISEM innitiative for sustainable evaluation in mir -> any other letter instead of X would make it too

If we go the Bedevere route, I would prefer to keep the name as it is. Using the "MIR Bedevere" / "Bedevereval" variants would be a bit redundant, since I'm sure people interested in the project would easily find it when searching in the web for "MIR Bedevere" or "Evaluation Bedevere" (e.g., you just need to type in Google "MIR SALAMI" to find the SALAMI dataset, and that's no biggie plus keeps the name simpler).

yep, you're right. Sounds like it'll be bedevere!

haha hey now, we must let the democratic process run it's due course.
On Tue, Aug 23, 2016 at 12:09 PM, Julián Urbano<EMAIL_ADDRESS>wrote:

yep, you're right. Sounds like it'll be bedevere!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/omec/omec/issues/6#issuecomment-241786155, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA4iq6XGCevUMJMlCUqYO_ZFrybACghkks5qixsmgaJpZM4JknHs
.

in light of recent points raised on the community mailing list, we should revisit this discussion. We've got a few extra names to consider now, and perhaps we can prune the ones that got <2 votes the last time around. I'll throw together another google form today and we'll have an abbreviated voting cycle. keep your eyes peeled!

hi team, after pruning the names that got >85% no thanks, we're really only left with a few options. Therefore, this form is a little bit different. Please vote for org name, project name, or both, and we'll see what the averages look like.
https://goo.gl/forms/QQ27Wc2hmMFMqN0g1
apologies for also sending this as an email in a second.

Folks, please wait a second. Do you seriously consider/propose to rename it again, just because some people -- not even involved with the project at all? (I'm not sure about this, since there's no official list of people involved available) -- dislike the name for whatever reason? IMHO this is ridiculous... And yes, I read their arguments on the music-ir list.

Yes, we are going to rename the project. I'd like this initiative to be successful and well received by the community, hopefully at ISMIR2017. Currently, the name on which we achieved consensus is directly undermining the latter goal.

so much desire to be politically incorrect right now...


[Proposal] Add tag for zig 0.13.0

This commit works for zig 0.13.0
https://github.com/jetzig-framework/zmpl/commit/918b74353c5680b54b435dcacd67268b23ffa129

@liponex No problem - tagged here: https://github.com/jetzig-framework/zmpl/releases/tag/zig-0.13
Thanks for the suggestion.


equivalent to #280

Coverage increased (+0.1%) to 83.155% when pulling e8ec4094fbc4e6bb7819341114fcd8894432c755 on gertjanvanzwieten:fixesmaster into 522c91dec5d66230ef5bdd892a7f13dd3042e6e7 on nutils:master.


fps of mobilenet ssd with tensorRt

what  is exact fps u get when run mobilenet SSD   on jetsontx2

In the execution time table we measured 50.5 milliseconds per frame.  This comes to (1000 / 50.5) = 19.8 FPS.  This can vary based off of system configuration and parameters in the object detection configuration file.


eventContent

Hello sir. Why is this happening even though I added the css file?

Facing Same issue.

To render HTML you need to return it as:
return {html: "
some content
"};

Yes Got it. Please update them into README.
Thanks :)

Can you clarify which words need to be corrected here?


Rx drop

I am using DFP-34X-2C2 from ODI with latest firmware V1.1.8-240408 and I have a problem with Rx drop who to fix this issue please

Set egress rate on router to 1244Mbps

Hello, There are also drops of RX packets on the LAN port. I tried firmware 220304, 240202, 240407, 240408. On all these firmware there are drops of RX packages. I tested it on Mikrotik CCR1036 equipment and on Cisco WS-C3560CX-12PD-S (with and without optics inserted). That's why the previous advice doesn't work... You need to think about something, dropping packages is bad.

the PON Stick has very small CPU and Memory, RX/TX Flow Control hard for the Stick, larger memory like Huawei MA5671a have support Flow Control.
as @lehoangnb said before, since you have CCR1036, set the limit at Switch Port (if available)

the PON Stick has very small CPU and Memory, RX/TX Flow Control hard for the Stick, larger memory like Huawei MA5671a have support Flow Control.
this because GPON (2488Mbps/1244Mbps) is not match with 2.5Gb (2500Mbps/2500Mbps), this packet drop is happen due to absent of Flow Control
as @lehoangnb said before, since you have CCR1036, set the limit at Switch Port (if available)

Thank you so much for the reply. There is no switch chip on the CCR1036, as I understand it, or I have not yet found the settings you are writing about... but it is possible to manually queue packages in the Interface Queues section, and not to the full extent of the hardware, and this I achieved that Tx Queue Drops disappear at Speedtest Uploads. But here's the problem and the question, these errors go to the DFP-34X-2C3 menu on the LAN interface... and I set the speed not 2500, but 1000 on both the DFP-34X and the Microtica interface... They're coming anyway...
P.S.
But the most important thing is that errors occur when installing the DFP-34X in a Cisco switch without optics turned on, at a speed of 1Gbps.

the PON Stick has very small CPU and Memory, RX/TX Flow Control hard for the Stick, larger memory like Huawei MA5671a have support Flow Control.
this because GPON (2488Mbps/1244Mbps) is not match with 2.5Gb (2500Mbps/2500Mbps), this packet drop is happen due to absent of Flow Control
as @lehoangnb said before, since you have CCR1036, set the limit at Switch Port (if available)

Thank you so much for the reply. There is no switch chip on the CCR1036, as I understand it, or I have not yet found the settings you are writing about... but it is possible to manually queue packages in the Interface Queues section, and not to the full extent of the hardware, and this I achieved that Tx Queue Drops disappear at Speedtest Uploads. But here's the problem and the question, these errors go to the DFP-34X-2C3 menu on the LAN interface... and I set the speed not 2500, but 1000 on both the DFP-34X and the Microtica interface... They're coming anyway...
P.S. But the most important thing is that errors occur when installing the DFP-34X in a Cisco switch without optics turned on, at a speed of 1Gbps.

I've try to set interface queue, but it didn't help too much (you can use wondersharper on linux). If your ISP did not provide over 1Gbps speed, you may change sfp speed to SGMII (1Gbps), it will reduce rx drop

Yes, my ISP provider limits the connection speed by 1Gb on its OLT port. But why do errors occur without connected optics and with the set Router LAN interface speed 1Gb?


[Only happens on linux] [Wine] Geode crashes upon opening Mod Info Popup

Geode Issue

[X] I confirm that this crash is NOT related to a mod but directly to Geode Loader itself.

Platform
Windows
Geode Version
v3.0.0-beta.2
Mods Installed
No response
Steps to Reproduce

install linux (arch haha)
install wine9.5
launch gd on a questionable steam api dll
open ANY mod info (clicking view)
crash

Crash Report
crash log
2024-06-19_21-25-38.log
log (doesnt show much)
Geode 2024-06-19 21.26.38.log
Additional Information
this didnt happen in beta 1, I suspect its something with web requests because it only happens when it tries fetching the download count of a mod

i blame https://github.com/geode-sdk/geode/commit/de50b989c7b762b6e0573b3318b05802048da7ce

fixed by fdb473ac7c5c4f377c35da11b21b71086362ae18

ive just confirmed this is not a wine issue, someone got it on windows as well!


Search for projects by project ID

We should add the ability to search for projects by their project id.
I'm seeing requests for permission tags where the users ask for tag X, on project id Y.  Currently, there is no way for me to find their project using the project id.

Hi Paul,
Thanks for your feedback! The "search-by-project-id" has been enabled in portal. You need select “ID” from the dropdown list on the left of search box then paste the project uuid to search.

Additionally, a Copy button is added near project id field on the project detail page for user to copy id more easily.

Yaxue