undefined method `[]' for nil:NilClass

I'm having some issues getting the collector to run successfully. It looks like the code is being executed successfully because I can see that it establishes the logstash connection and opens the listening port via netstat. When running tcpdump on the second terminal I can also see that no packets are being sent from the sflow listener to logstash. The error below repeats indefinitely and the speed seems to be related to the expected flows, leading me to believe it is successfully receiving the packets, but just unable to process them successfully.  I've gone back and ensured that eventmachine, yaml, and bindata are installed. Any other thoughts on what the issue may be?  Thanks!
OS: CentOS 6.5
Ruby: ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-linux]
Logstash: logstash-1.4.2
TERMINAL 1
[root@HOST sflow]# bundle exec ./bin/sflow.rb
Connecting to Logstash: localhost:6543
Server listening.
2014-11-07 09:50:23 -0500
nil
undefined method []' for nil:NilClass /DIR/logstash-1.4.2/sflow/lib/sflow/parsers/parsers.rb:7:in parse_packet'
/DIR/logstash-1.4.2/sflow/lib/sflow/collector.rb:13:in block in receive_data' /usr/local/lib/ruby/gems/2.1.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:1037:in call'
/usr/local/lib/ruby/gems/2.1.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:1037:in `block in spawn_threadpool'
2014-11-07 09:50:23 -0500
TERMINAL 2
[root@HOST sflow]# netstat -anup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
udp        0      0 <IP_ADDRESS>:6543                <IP_ADDRESS>:*                               32242/java
udp        0      0 <IP_ADDRESS>:57626             <IP_ADDRESS>:6543              ESTABLISHED 493/ruby
udp        0      0 <IP_ADDRESS>:6343                <IP_ADDRESS>:*                               493/ruby

I'm also having problems with this on an ubuntu system
HAHAHAAH@MyServer:~/sflow$ bundle exec ./bin/sflow.rb
Connecting to Logstash: localhost:6543
Getting switch interface names 2015-03-09 13:18:30 -0400
no name for <IP_ADDRESS>
/usr/lib/ruby/1.9.1/resolv.rb:128:in getname' /home/HAHAHAAH/sflow/lib/sflow/snmp/iface_names.rb:8:in block in initialize'
/home/HAHAHAAH/sflow/lib/sflow/snmp/iface_names.rb:7:in each_key' /home/HAHAHAAH/sflow/lib/sflow/snmp/iface_names.rb:7:in each'
/home/HAHAHAAH/sflow/lib/sflow/snmp/iface_names.rb:7:in initialize' /home/HAHAHAAH/sflow/lib/sflow/collector.rb:54:in new'
/home/HAHAHAAH/sflow/lib/sflow/collector.rb:54:in start_collector' ./bin/sflow.rb:7:in '
/home/HAHAHAAH/sflow/lib/sflow/collector.rb:63:in rescue in start_collector': unable to start sflow collector (RuntimeError)         from /home/HAHAHAAH/sflow/lib/sflow/collector.rb:42:in start_collector'
from ./bin/sflow.rb:7:in `'
However, I did configure a switch with the right IP and the right name. I also tried it FQDN

I'm also having trouble getting the sflow collector.
I'm receiving data from the collector but only the name of the host the collector is running on:
type, host, _type, _index, _id, @version, @timestamp, ,sflow_agent_address
sflow 	<IP_ADDRESS> 	sflow 	sflow-2015.04.17 	AUzEsWZnhNNs4DpbGImT 	1 	2015-04-17T00:05:02.262Z 	0 	KM_C5G
the collector is recieving data from the switch however its getting mangled in transit to logstash. ALso the console for the collector looks like its not able to process the sflow data its receiving. Im using snmp v3 to get the interface names - could that be related?
When i receive sflow traffic the switch the collector shows the following:
root@logstash:/tmp/sflow# bundle exec ./bin/sflow.rb
Connecting to Logstash: logstash.local:6543
Getting switch interface names . done.
Server listening.
2015-04-16 17:14:39 -0700
{"agent_address"=>"MY_SWITCH", "sampling_rate"=>2048, "i_iface_value"=>48, "o_iface_value"=>0, "ipv4_src"=>"<IP_ADDRESS>", "ipv4_dst"=>"<IP_ADDRESS>", "frame_length"=>68, "frame_length_multiplied"=>139264, "tcp_src_port"=>49170, "tcp_dst_port"=>443}
undefined method []' for nil:NilClass /home/sysadmin/sflow/lib/sflow/snmp/iface_names.rb:33:in mapswitchportname'
/home/sysadmin/sflow/lib/sflow/storage/storage.rb:24:in send_udpjson' /home/sysadmin/sflow/lib/sflow/collector.rb:26:in block in receive_data'
/var/lib/gems/1.9.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:951:in call' /var/lib/gems/1.9.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:951:in run_deferred_callbacks'
/var/lib/gems/1.9.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in run_machine' /var/lib/gems/1.9.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in run'
/home/sysadmin/sflow/lib/sflow/collector.rb:56:in start_collector' ./bin/sflow.rb:7:in '
doing ctrl-c to cancel shows the following:
/var/lib/gems/1.9.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in run_machine' /var/lib/gems/1.9.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in run'
/home/sysadmin/sflow/lib/sflow/collector.rb:56:in start_collector' ./bin/sflow.rb:7:in '
/home/sysadmin/sflow/lib/sflow/collector.rb:63:in rescue in start_collector': unable to start sflow collector (RuntimeError) 	from /home/sysadmin/sflow/lib/sflow/collector.rb:42:in start_collector'
from ./bin/sflow.rb:7:in `'
root@logstash:/home/sysadmin/sflow# ruby --version
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
any ideas on how to fix this? any help would be greatly apreciated.

Actually, I found a different way around my whole SFLOW + ELK. I can't take any credit for this, but if you want I could search for the guy who suggested it to me. Basically the workaround he did, and that I also applied was to create simple wrapper scripts that would execute sflowtool and pipe the information into logstash. A logstash config file is what executes the wrapper which executes the the wrapper, which executes sflow tool.
Here's how it went (on an Ubuntu 14.04 system)
First obtain the sflowtool for linux and build it (you'll need build-essentials if you don't have it already)
cd $home
wget http://www.inmon.com/bin/sflowtool-3.22.tar.gz
tar -xvzf sflowtool-3.22.tar.gz
cd sflowtool-3.22
sudo ./configure
sudo make
sudo make install

Now that we have sflowtool installed, we can create the wrapper script that logstash will call.
cd /var/
sudo mkdir scripts
sudo nano /var/scripts/sflowtool-wrapper.sh

And here's the actual sflowtool-wrapper.sh script. Pay attention to the /usr/local/bin/sflowtool as the path may be different on your version of linux.
#!/bin/bash
#
# Wrapper script for sflowtool when used in pipe input in logstash.
# This wrapper script ensures that the sflowtool is not running prior to start of the sflowtool.

ARGS="$@"
SFLOWTOOL_PID=$(/bin/ps -ef | /bin/grep "/usr/local/bin/sflowtool $ARGS" | /bin/grep -v "grep" | /bin/awk ' { print $2 } ')

if [ ! -z $SFLOWTOOL_PID ]; then
        kill -s 9 $SFLOWTOOL_PID
fi
/usr/local/bin/sflowtool "$@"

And now can chmod that file so it's exectuable. I tried chmod 755 but it had problems executing from logstash, so 775 worked for me. It's a fairly secured system so I'm not worried: sudo chmod 775 /var/scripts/sflowtool-wrapper.sh
Finally, in logstash config, I start with
input {
  pipe {
     type => "sflow"
     command => "/var/scripts/sflowtool-wrapper.sh -l -p 6343"
  }
}

And if you'd like, here's my full logstash config file for sflow.
###<----------------- INPUTS ----------------->###
input {
  pipe {
     type => "sflow"
     command => "/var/scripts/sflowtool-wrapper.sh -l -p 6343"
  }
}
###<----------------- FILTERS ----------------->###
filter {
  if [type] == "sflow" {
    grok {
        match => [ "message", "%{WORD:Sample_Type},%{IP:Flow_Reporter},%{NUMBER:Input_Port},%{NUMBER:Output_Port},%{GREEDYDATA:Source_MAC},%{GREEDYDATA:Dest_MAC},%{GREEDYDATA},%{NUMBER:Source_Vlan},%{NUMBER:Dest_Vlan},%{IP:Flow_Source},%{IP:Flow_Destination},%{NUMBER:Flow_Protocol},%{WORD},%{NUMBER:IPTTL},%{NUMBER:Flow_Source_Port},%{NUMBER:Flow_Destination_Port},%{WORD},%{NUMBER:Packet_Size},%{NUMBER:IP_Size},%{NUMBER:Mean_Skip_Count}" ]
        match => [ "message", "%{WORD:Sample_Type},%{IP:Flow_Reporter},%{NUMBER:int_ifIndex},%{NUMBER:int_ifType},%{NUMBER:hyper_ifSpeed},%{NUMBER:int_ifDirection},%{NUMBER:int_ifStatus},%{NUMBER:hyper_ifInOctets},%{NUMBER:int_ifInUcastPkts},%{NUMBER:int_ifInMulticastPkts},%{NUMBER:int_ifInBroadcastPkts},%{NUMBER:int_ifInDiscards},%{NUMBER:int_ifInErrors},%{NUMBER:int_ifInUnknownProtos},%{NUMBER:hyper_ifOutOctets},%{NUMBER:int_ifOutUcastPkts},%{NUMBER:int_ifOutMulticastPkts},%{NUMBER:int_ifOutBroadcastPkts},%{NUMBER:int_ifOutDiscards},%{NUMBER:int_ifOutErrors},%{NUMBER:int_ifPromiscuousMode}" ]
    }
  }

  geoip {
        source => "[Flow_Source]"
        target => "Flow_src_geoip"
        add_field => [ "[Flow_src_geoip][coordinates]", "%{[Flow_src_geoip][longitude]}" ]
        add_field => [ "[Flow_src_geoip][coordinates]", "%{[Flow_src_geoip][latitude]}"  ]
        add_tag => [ "sflow" ]
  }
  geoip {
        source => "[Flow_Destination]"
        target => "Flow_dst_geoip"
        add_field => [ "[Flow_dst_geoip][coordinates]", "%{[Flow_dst_geoip][longitude]}" ]
        add_field => [ "[Flow_dst_geoip][coordinates]", "%{[Flow_dst_geoip][latitude]}"  ]
        add_tag => [ "sflow" ]
  }

  mutate {
    convert => [ "FW_geoip.area_code", "integer" ]
    convert => [ "FW_geoip.dma_code", "integer" ]
    convert => [ "FW_geoip.latitude", "float" ]
    convert => [ "FW_geoip.longitude", "float" ]
    convert => [ "Flow_Source_Port", "integer" ]
    convert => [ "Flow_Destination_Port", "integer" ]

    convert => [ "Packet_Size", "integer" ]
    convert => [ "IP_Size", "integer" ]
    convert => [ "Mean_Skip_Count", "integer" ]
    convert => [ "hyper_ifSpeed", "integer" ]
    convert => [ "hyper_ifInOctets", "integer" ]
    convert => [ "int_ifInUcastPkts", "integer" ]
    convert => [ "int_ifInMulticastPkts", "integer" ]
    convert => [ "int_ifInBroadcastPkts", "integer" ]
    convert => [ "int_ifInDiscards", "integer" ]
    convert => [ "int_ifInErrors", "integer" ]
    convert => [ "hyper_ifOutOctets", "integer" ]
    convert => [ "int_ifOutUcastPkts", "integer" ]
    convert => [ "int_ifOutMulticastPkts", "integer" ]
    convert => [ "int_ifOutBroadcastPkts", "integer" ]
    convert => [ "int_ifOutDiscards", "integer" ]
    convert => [ "int_ifOutErrors", "integer" ]
  }
}

###<----------------- OUTPUT ----------------->###
output {
    stdout { }
    elasticsearch {
      protocol => "node"
      node_name => "sflow-logstash"
      cluster => "elasticsearch"
      host => "localhost"
    }
}

Thank you so much. This is exactly what I was looking for!

Glad to have helped!

so i've been looking into the sflow fields and im unning into a problem. I'm trying to get the following information and graph it in kibana.
Im able to get the following information just find from the flow fields:
agent (flow source ip), srcIP, TCPSrcPort, dstIP, TCPDstPort
However, I also want to have the bytes and packets for the flow and sflow only has the byte/packet field on the interface counters and not the flow counters.
in netflow i would collect the following fields:
IPV4_SRC_ADDR, L4_SRC_PORT, IPV4_DST_ADDR, L4_DST_PORT, IN_BYTES, IN_PKTS
@message from elasticsearch
FLOW,<IP_ADDRESS>,48,0,00141cd484a1,20b399ab5093,0x0800,5,0,<IP_ADDRESS>,<IP_ADDRESS>,6,0x00,126,445,49482,0x10,1522,1500,2048
CNTR,<IP_ADDRESS>,48,6,100000000,1,3,189641622348,400597923,20605593,22994,0,0,0,119063213814,391638219,1163290,58060,0,0,2
do you have any idea how i would be able to get something similar to the netflow using sflow?

I'm pretty sure I have the same issue to be fair, but I haven't gotten around to investigating it. I feel like you could play with the wrapper script to pass some arguments to sflowtool to see if you can get that raw information. If logstash is stopped, you should be able to call sflowtool manually and it will dump it's captures to your screen. That should also help you to debug the raw information you're receiving. Check out http://www.inmon.com/technology/sflowTools.php for some more information on sflowtool arguments

This might be somewhat informative also: http://blog.sflow.com/2011/12/sflowtool.html

Could anyone assist with this one;
When I attempt to run the command below, as outlined in the readme, I'm getting an error complaining about snmpwalk. I don't see any reference to needing it.
I've no programming experience so I'm not sure why it's generating the snmp error data below.

[root@computer sflow]# bundle exec ./bin/sflow.rb

Connecting to Logstash: computer:6343
Getting switch interface names 2015-06-09 11:02:43 +0100
No such file or directory - snmpwalk
/opt/sflow/lib/sflow/snmp/iface_names.rb:11:in ``'
/opt/sflow/lib/sflow/snmp/iface_names.rb:11:in block in initialize' /opt/sflow/lib/sflow/snmp/iface_names.rb:7:in each_key'
/opt/sflow/lib/sflow/snmp/iface_names.rb:7:in each' /opt/sflow/lib/sflow/snmp/iface_names.rb:7:in initialize'
/opt/sflow/lib/sflow/collector.rb:54:in new' /opt/sflow/lib/sflow/collector.rb:54:in start_collector'
./bin/sflow.rb:7:in <main>' /opt/sflow/lib/sflow/collector.rb:63:in rescue in start_collector': unable to start sflow collector (RuntimeError)
from /opt/sflow/lib/sflow/collector.rb:42:in start_collector'         from ./bin/sflow.rb:7:in '
I'm using CentOS7, having installed the ELK stack (version 1.5) from elastic.co


Added mail-to feature on mail id

Added mail-to  feature on the mail id present in the footer under the contact section.
What we have achieved by this feature ?
Now whenever user clicks that mail id, the user will be directed to his mail dialog. So just by clicking that mail id he can start writing to the CodeChamp.
Mail id present here below Patna, India

This how the user will be directed to the mail dialog

@DeveloperAshish8 have a look on this feature ! This is a minor feature yet very effective. You can merge this pull request successfully.


Fix frame vector size

push_back is replaced by direct indexing since std::vector<uintptr_t> output(n); already creates a a vector with n elements (set to 0).

LGTM. Just curious, is there any perf difference between the two if the size is already set? I pretty much just used push_back out of habit. 😅

The issue here is not performance: std::vector<uintptr_t> output(n); creates a vector with n elements (all set to zero).
Then each push_back will add another element, so in the end output has 2n elements with the first n elements being 0.
To insert n elements in a vector, you can:

Create an empty vector (std::vector<uintptr_t> output;) and then use push_back. Vector will resize itself by doubling its capacity accordingly.
You can improve the previous if you know the number of items in advance, by using output.reserve(n); to pre-allocate the vector to its final capacity.
Construct the vector with n elements (as done in this PR), the elements will be value initialized (ie. set to zero in the case of ints) and then set the value of each elements by indexing the vector. For ints, this approach might be a little bit faster than the previous one, but for elements that are costlier to value initialized, this one would be better.

Ah, good to know. For some reason I was thinking it worked like output.reserve(n). Good catch! 😅


fix: fix await compile error

close: #30

In packages/compiler/test/css-vars.spec.ts, I modified the variable name, so I updated the relevant snapshots, and there were no other changes


Should be explicit on the versions needed for the NPM packages

The set of npm i commands needed to setup the right versions of angulr/cli, etc. should be explicitly set. By default I got<EMAIL_ADDRESS>My upgrade did not work when following these instructions.
[Enter feedback here]

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

ID: 7e45815d-18e6-e5c0-7eb6-621b8eb4d82a
Version Independent ID: 7e45815d-18e6-e5c0-7eb6-621b8eb4d82a
Content: Upgrade Windows Admin Center extensions to Angular 11
Content Source: WindowsServerDocs/manage/windows-admin-center/extend/guides/upgrade-to-angular-11.md
Product: windows-server
Technology: manage
GitHub Login: @davannaw-msft
Microsoft Alias: dawhite

npm-list.txt

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Event indexer

Build an event indexer that observes anchor #[event]s, and throws them into some queryable, indexable database like postgres.

Working on this at https://anchor-indexer.com


Update parse() to handle args that are tuples

fixes https://github.com/MetaMask/metamask-extension/issues/5983
This PR address an issue with parsing methods with signatures like fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)
Encodings of contract arguments can include tuples (and tuples within tuples, etc.) This will cause parenthesis to appear in the arg list of the signature. This could lead to the representation of method names and arguments with parameters included.
This PR ensures that the presence of tuples in method signatures does not cause parenthesis to appear in the string representation of the method name and its arguments.
Test cases are added.

Associated version bump PR in MetaMask https://github.com/MetaMask/metamask-extension/pull/6403


Issue with ./install_prereq.sh and Wifi AP creation on Ubuntu 21.04

Dear Dev ,
There are  two issues on Ubuntu 21.04 with current scripts :
./install_prereq.sh is failing due to lack of universal repo being enabled as default on Ubuntu 21.04
Quick fix :
If there are errors "Package '********' has no installation candidate"
Ask user if he/she want to add Universal Repo ( sudo add-apt-repository universe )and re run the script
Second issue is wrong naming for Network Manger in /scripts/setup_ap.sh in two lines :
sudo service network-manager stop  should be  sudo service NetworkManager stop
and
sudo service network-manager restart  should be  sudo service NetworkManager restart
Without that change Vtrust AP will not be working for longer than couple of seconds .
Same issue will be with all Ubuntu 21.04 based distorts I think
After these changes I was able to flash 4 devices :)

Thanks!!!

Hello,
I agree that the correct statement for my version would be sudo service NetworkManager stop as well - I made that change, unfortunately that did not fix my issue described here:
https://github.com/ct-Open-Source/tuya-convert/issues/1022
Looks like there is not much feedback from the original team as much as I can see - so my hope of getting to the root cause of my issue seems unlikely. Also, I´m not sure how a change like the above would be pulled into the repo ..


⚠ SkipTheTrailers has degraded performance

In e333d61, SkipTheTrailers ($STT) experienced degraded performance:

HTTP code: 200
Response time: 5038 ms

Resolved: SkipTheTrailers performance has improved in 6bed2df.


Remove SKU from workflowProperties in Logic swagger

The latest logic app API service no longer supports a SKU. This PR removes the SKU from workflow properties.
(WorkflowHostingPlanNotSupportedForApiVersion) The workflow 'atest' uses a hosting plan. Usage of a hosting plan is deprecated since API version '2016-06-01'
Discussion with the logic app service team confirmed this should be removed.
Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

/azp run automation - sdk

/azp run automation - sdk


NTR: DNA topoisomerase IV complex

DNA topoisomerase IV complex
A heteromeric enzyme, which in most bacteriophage species is composed of multiple subunits. Functions in chromosome segregation and can relax supercoiled DNA.
Cellular Component
Parent- protein-containing complex: GO:0032991; Siblings- DNA topoisomerase IV complex: GO:0009340; DNA topoisomerase complex (ATP-hydrolyzing): GO:0009330
-PMID: 6296073 (figure 7)

I think what needs to be done in this case is a tidying up of the definition of the existing type IV term. The definition makes it sound like it is restricted to bacteria, but I think the enzymatic activity is the same. If we do need to make a new term, we can't use the same name.

The paper cited specifically indicates that the topoisomerase being characterized is a type II DNA topoisomerase, not a type IV DNA topoisomerase.

Liu et al. (2) and Stetler et al. (3) have made the important finding that certain of the
DNA-delay genes of bacteriophage T4 code for a new type II DNA topoisomerase, confirming
a prediction of McCarthy (4) that these gene products form an enzyme with gyrase-like
activity. This DNA topoisomerase is ATP-dependent and relaxes either negative or positive
supercoils. T4 DNA topoisomerase activity in extracts was shown to be dependent on the
functioning of three T4 DNA-delay genes, 39, 52, and 60 (2). However, while p39 and p52
were shown to be part of the purified enzyme complex (2, 3), the gene 60 product was not
clearly identified nor was it unequivocally shown to be part of the complex.

We have MF terms for type II DNA topoisomerases, but I don't see a CC term.

Parentage:
is_a GO:1902494 catalytic complex
and
capable_of GO:0061505 DNA topoisomerase II activity
We are missing a grouping term for DNA topoisomerase complex. I noticed that DNA topoisomerase activity is split into ATP-hydrolysing and ATP-independent activities so the grouping term would have to be ATP-agnostic.
Birgit

Thanks for the input @bmeldal It's very helpful!
Regarding complex terms, this ticket now has requests for these two new terms:

DNA topoisomerase complex (GO:new)
DNA topoisomerase II complex (GO:new)

and there are already two existing DNA topo complex terms:

DNA topoisomerase IV complex (GO:0009340)
DNA topoisomerase complex (ATP-hydrolyzing) (GO:0009330)

but considering the existing terms in MF, I'm not sure where a new term for 'DNA topoisomerase II complex' should be placed relative to the two existing CC terms, or if it's even appropriate to have a term for a 'DNA topoisomerase II complex', when there are two different types of DNA topoisomerase II activities.
Here's what we have in MF for DNA topo activities:

I've been looking into this again. Here is a really nice concise summary of Type II topoisomerases:
Bax BD, Murshudov G, Maxwell A, Germe T. DNA Topoisomerase Inhibitors:
Trapping a DNA-Cleaving Machine in Motion. J Mol Biol. 2019 Jul 10. pii:
S0022-2836(19)30432-2. doi: 10.1016/j.jmb.2019.07.008. Review. PMID:31301408.

Type II DNA topoisomerases are divided into sub-types, II A and IIB [1, 5] based on structural and evolutionary considerations. Type IIA are found in bacteria and eukaryotes, whereas IIB were discovered in archaea and more recently in plants and plasmodial parasites.  Most bacteria have two type IIA topoisomerases, DNA gyrase and topoisomerase IV. DNA gyrase consists of two copies of GyrA and two copies of GyrB and functions as an A2B2 heterotetramer (Fig. 1). Topoisomerase IV has two homologous subunits, ParC and ParE, and also functions as a heterotetramer. DNA gyrase can uniquely introduce negative supercoils into DNA, while topoisomerase IV performs strand passage with two different double-stranded DNA segments and has both decatenation and relaxation activity. Eukaryotic type IIA topoisomerases are encoded as a single protein, with regions equivalent to GyrB and GyrA at the N-and C-terminus of a single subunit (Fig. 1). Residues at the DNA cleavage catalytic center are conserved between the eukaryotic and prokaryotic type IIA topoisomerases.

The table from https://en.wikipedia.org/wiki/Topoisomerase#Classes is consistent except that I think that this table has an error where it labels the multimericity of the H. sapiens topo II-alpha and Topo II-beta as heterodimers instead of as homodimers (which both the above very recent paragraph from the review and the other wiki page on "DNA topoisomerases" [https://en.wikipedia.org/wiki/DNA_topoisomerase] say is the structure of eukaryotic type II topoisomerases.
Neither the review I quote or either of the two wiki pages on topoisomerases discuss bacteriophage type II topoisomerase. While the 1983 paper describing the purification of the bacteriophage type II topoisomerase (PMID: 6296073) talks about it being a trimer, it also admits that they aren't really sure that it is a trimer:

However, while p39 and p52 were shown to be part of the purified enzyme complex (2, 3), the gene 60 product was not clearly identified nor was it unequivocally shown to be part of the complex.

I looked for a recent paper discussing bacteriophage T4 topo II and found this:
Todd GC, Walter NG. Secondary structure of bacteriophage T4 gene 60 mRNA:
implications for translational bypassing. RNA. 2013 May;19(5):685-700. doi:
10.1261/rna.037291.112. Epub 2013 Mar 14.  PMID:23492219

Escherichia coli bacteriophage isolates in the T-even family contain a highly conserved type II DNA topoisomerase whose subunits are encoded by genes 52 and 39 (Hatfull 2008; Cresawn et al. 2011). In contrast, in bacteriophage T4 (T4) the conserved open reading frame (ORF) of gene 39 is disrupted by the insertion of an ∼1000-bp mobile DNA element. This insertion splits the N-terminal portion of the conserved gene 39 ORF from its C-terminal portion, which is encoded by the new T4 gene 60 (Fig. 1A; Hatfull 2008; Bonocora et al. 2011; Cresawn et al. 2011).

Thus, while it seems that it is technically true that phage T4 topo II contains three different gene products, it is still basically conserved with bacterial topo II's, which are normally heterotetramers.

These are the three CC terms we currently have for topoisomerase complexes:

[Term]
id: GO:0009330
name: DNA topoisomerase complex (ATP-hydrolyzing)
namespace: cellular_component
def: "Complex that possesses DNA topoisomerase (ATP-hydrolyzing) activity." [GOC:mah]
comment: See also the molecular function term 'DNA topoisomerase (ATP-hydrolyzing) activity ; GO:0003918'.
is_a: GO:0032991 ! protein-containing complex
is_a: GO:0044424 ! intracellular part

[Term]
id: GO:0009340
name: DNA topoisomerase IV complex
namespace: cellular_component
def: "A heterodimeric enzyme, which in most bacterial species is composed of two subunits, ParC and ParE. Functions in chromosome segregation and can relax supercoiled DNA." [GOC:jl, PMID:7783632]
is_a: GO:0032991 ! protein-containing complex
is_a: GO:0044444 ! cytoplasmic part

[Term]
id: GO:0140225
name: DNA topoisomerase I-TDRD3 complex
namespace: cellular_component
def: "A protein complex that has DNA topoisomerase type I and RNA topoisomerase activities."  DNA topoisomerase type I activity
intersection_of: capable_of_part_of GO:0006265 ! DNA topological change
intersection_of: capable_of_part_of GO:0140226 ! RNA topoisomerase activity
created_by: pg
creation_date: 2018-05-29T10:05:33Z

It looks to me like this one: id: GO:0009330 - DNA topoisomerase complex (ATP-hydrolyzing) is meant to be a general term for ALL topoisomerase II complexes, since all topo II's are complexes, either heterotetramers (bacterial DNA gyrase, bacterial topo IV, and archael topo VI), or homodimers (eukaryotic topo II-alpha & topo II-beta) that hydrolyze ATP, and also ONLY topo II enzymes hydrolyze ATP.
However, we also have this term: GO:0009340 - DNA topoisomerase IV complex, which is a specific subtype of topo II.

Checking annotations for this term:
id: GO:0009330
name: DNA topoisomerase complex (ATP-hydrolyzing)
namespace: cellular_component
def: "Complex that possesses DNA topoisomerase (ATP-hydrolyzing) activity." [GOC:mah]
comment: See also the molecular function term 'DNA topoisomerase (ATP-hydrolyzing) activity ; GO:0003918'.
Here's a summary of annotations per evidence code for each Panther family listed in the download from AmiGO:

The 5 IMP annotations in PTHR:10290, which is a topoisomerase I enzyme are all for human TOP1 and I have suggested deleting them.
I also see that the term referred (GO:0003918) to in the comment for GO:0009330 DNA topoisomerase complex (ATP-hydrolyzing), has now been renamed as DNA topoisomerase type II (ATP-hydrolyzing) activity.
Thus, I think we can safely say that this term is supposed to be the complex term for topo II enzymes.

Since the term GO:0009330 was originally intended to be the complex term for type II topoisomerase complexes, and has been used in that way with only a few errors, I propose that we update the existing term to be clearer by updating the name, definition, deleting the comment, and adding an equivalence axiom.
We should also add a relationship to indicate that DNA topoisomerase IV complex ; GO:0009340 is_a type of DNA topoisomerase II complex (ATP-hydrolyzing) ; GO:0009330
Update term name
old name: DNA topoisomerase complex (ATP-hydrolyzing)
=> new name: DNA topoisomerase II complex (ATP-hydrolyzing)
OR this instead: DNA topoisomerase II complex
Update definition
def: "Complex that possesses DNA topoisomerase (ATP-hydrolyzing) activity." [GOC:mah]
=> def: Complex that possesses DNA topoisomerase II activity. Topoisomerase II activity is distinguished from topoisomerase I activity in that topoisomerase II cleaves both strands (rather than a single strand) of a double helix and requires ATP binding and hydrolysis. Bacterial topoisomerase IIA enzymes (DNA topoisomerase I, aka DNA gyrase, and DNA topisomerase IV) are typically A2B2 heterotetramers, though there are some exceptions such as in bacteriophage T4 where one of the subunits is split into two by the insertion of a mobile DNA element. Eukaryotic topoisomerase IIA enzymes (topoisomerases II-alpha and II-beta) are typically homodimers where each monomer contains the equivalent of the bacterial A and B subunits present on the same polypeptide. Type IIB topoisomerases are found primarily in Archaea and plants, but also in some bacteria. Type IIB enzymes typically have B subunits encompassing the ATP-binding site homologous to type IIA enzymes, but have non-homologous A subunits catalyzing DNA cleavage, though some variations exist in the subunit
Delete stale comment & replace with equivalence axiom
comment: See also the molecular function term 'DNA topoisomerase (ATP-hydrolyzing) activity ; GO:0003918'.
=> propose deleting this comment, which is now out of date with the current term name (DNA topoisomerase type II (ATP-hydrolyzing) activity) which has been updated to include the phrase type II since the comment was written. Using an equivalence axiom will keep this relationship up to date.
=> add equivalence axiom:
'protein-containing complex'
and ('capable of' some 'DNA topoisomerase type I activity')
and ('capable of part of' some 'DNA topological change')
Add relationship to this term
id: GO:0009340
name: DNA topoisomerase IV complex
=> add: is_a "DNA topoisomerase II complex (ATP-hydrolyzing) ; GO:0009330"
@dfrank9 - Assuming we proceed with this course of action, this existing term (GO:0009330) would be an appropriate complex term for you to use. If you feel that you can determine from this paper whether they think it is a DNA gyrase (aka DNA topoisomerase II) or a DNA topoisomerase IV, then you could use a more specific term. We already have a more specific term for "DNA topoisomerase IV complex", but not for "DNA gyrase complex", but in the absence of a request to make a term for "DNA gyrase complex", I'm currently not planning to make one.
Since it's summer and lots of people are on holiday this week, and I'm out next week, I'm going to wait till people are back to check that no one has any objections.

Ok, that's making my head spin! types and names are inconsistent for historic reasons :(
First comment:

=> add equivalence axiom:
'protein-containing complex'
and ('capable of' some 'DNA topoisomerase type I activity')
and ('capable of part of' some 'DNA topological change')

shouldn't that read
"and ('capable of' some 'DNA topoisomerase type II activity')" - i.e type II?
General comment on all 3 tickets that you linked/created:
Whatever you decide I would consider:
a) use the name(s) the user community know
b) only create terms that are functionally different.
e.g., according to your amended Wiki table in #17668 & #17668 all Type IA Topos have the same function so the complex term should really be just "Topoisomerase type IA complex" with all the species-specific terms being narrow synonyms (except for IIIbeta that has an unknown function and therefore is a headache!). That was the convention we agreed on so not to inflate the ontology too much.
Not sure if that's helpful but that's the best I can come up with now ;-)
Birgit

Ok, that's making my head spin! types and names are inconsistent for historic reasons :(

Yes, mine too! That's actually why I copied the data from the Wikipedia table and reformatted it so that I could see everything at a glance.

First comment:

=> add equivalence axiom:
'protein-containing complex'
and ('capable of' some 'DNA topoisomerase type I activity')
and ('capable of part of' some 'DNA topological change')

shouldn't that read
"and ('capable of' some 'DNA topoisomerase type II activity')" - i.e type II?

Yes, good catch. I copy/pasted from the existing equivalence axiom from the topo !-TDRD3 complex term and forgot to edit that...:(

General comment on all 3 tickets that you linked/created:
Whatever you decide I would consider:
a) use the name(s) the user community know
b) only create terms that are functionally different.
e.g., according to your amended Wiki table in #17668 & #17668 all Type IA Topos have the same function so the complex term should really be just "Topoisomerase type IA complex" with all the species-specific terms being narrow synonyms (except for IIIbeta that has an unknown function and therefore is a headache!). That was the convention we agreed on so not to inflate the ontology too much.

I see how all Type IA topos having the same function is an argument for only have one MF term for type IA topoisomerase activity. But, I'm not sure that holds for the complexes since while the detectable MF, to remove (-) but not (+) supercoils is the same, the context is not. In addition, the majority of the type 1A topo enzymes are monomers, so the only existing complex term for any type 1A topo is the "DNA topoisomerase I-TDRD3 complex" term that needs to have its name and definition refined.

I think the problem with making all the specific Topo terms is that they will become composition-specific without any further differences in their relationships unless you can assign different processes to them.
We were trying to assess if we can define all complex terms using logical definitions. We are not there yet but making all these terms won't help. But I don't know the Topos field.

@bmeldal - I am not currently proposing to make complex terms for all of the topoisomerases. My current proposal is to refine the name and definition of the existing term DNA topoisomerase complex (ATP-hydrolyzing) (GO:0009330) to make it clear that this is the general term for any type II topoisomerase. Following on from that, it is clear that a clean up of the MF terms for type II topoisomerase is needed as outlined here: https://github.com/geneontology/go-ontology/issues/17661
However, we already have a term for topoisomerase IV (in the type IIA subgroup), and I am not planning to propose obsoleting it. I think there is a case for making a term for DNA gyrase (aka topoisomerase II) since we already have a complex term for the other bacterial type IIA topo (topo IV) and there is a clear difference in what bacterial topo II (aka DNA gyrase) and topo IV do. However, I'm only going to do this if if is requested for annotation.
The only other complex term that we have for a topoisomerase is the one for DNA topoisomerase I-TDRD3 complex that I have suggested refinements for in #17667.
I will leave any future topoisomerase complex terms to be made as annotators find a need for them.

Ok, getting my head round these:
Type IIA:

Acc to your table, Topo II (bacs) and Topo IV (bacs) have different activities so justifies different complex terms with relationships to their respective (fixed) functions :)

We have already curated the 2 E. coli complexes (gyrase and Topo IV) and assigned
"GO:0009330 DNA topoisomerase complex (ATP-hydrolyzing)".
and
"GO:0003918 DNA topoisomerase type II (ATP-hydrolyzing) activity" & "GO:0034335 DNA supercoiling activity"
to both.
(Once the MF terms are fixed I have to remove the parent-child duplicated annotations!)
We must have missed the existence of the Topo IV term.
Action:

I need to update the complex term to Topo IV in CP.
We need a NEW term for Topo II / gyrase!

GO:0009330 DNA topoisomerase complex (ATP-hydrolyzing)
As the different Topo IIs have different activities it's hard to make a generic Topo II term, though? How are you going to define the generic term? It can't be logically defined as its activities vary depending on the subtype.
I am wondering if this term needs obsoleting and GPs need to be reannotated to either NEW DNA topoisomerase II/gyrase or GO:0009340 DNA topoisomerase IV complex.
Type IA: (see also #17667)
We also have DNA topoisomerase I-TDRD3 complex in the CP.
My gut feeling is that we can make the GO term a generic Type IA term linked to its MF "GO:0003917 DNA topoisomerase type I activity". There are many enzymes that can be annotated to the same GO function term while the function is carried out in different contexts. I wouldn't let that stop us.
Anyway, there is (so far) only one type IA term anyway - until we request the reverse gyrase terms. Sandra is now curating all E.coli complexes.
I also found
** GO:0031422 RecQ helicase-Topo III complex:**
We annotated it in CP for yeast.
It's defined in GO as
"A complex containing a RecQ family helicase and a topoisomerase III homologue; may also include one or more additional proteins; conserved from E. coli to human."
and we annotated it with "GO:0003917 DNA topoisomerase type I activity".
Is this effectively also a Type IA Topo?
Sorry, I'm trying to clear this up in my head as much as in the discussion!

Ok, getting my head round these:
Type IIA:

Acc to your table, Topo II (bacs) and Topo IV (bacs) have different activities so justifies
different complex terms with relationships to their respective (fixed) functions :)

Action:
* We need a NEW term for Topo II / gyrase!

Regarding NEW term for DNA gyrase, would you please create a new ticket for this, and any other, new topoisomerase terms you are ready to request right now. It's useful for tracking purposes to separate things into different tickets, so it would be a big help. You can assign it to me immediately since it would be unkind to make any other GO editor get involved in the topoisomerase quagmire!

GO:0009330 DNA topoisomerase complex (ATP-hydrolyzing)
As the different Topo IIs have different activities it's hard to make a generic Topo II term, though? How are you going to define the generic term? It can't be logically defined as its activities vary depending on the subtype.

Regarding MF terms for topoisomerases, I think that it is reasonable to have top level grouping MF terms for topo type I versus topo type II since there are some very distinct differences  between these, as defined by whether they cleave a single strand (type I) or both strands (type II), and all type II's are ATP-dependent. For bacterial topo IIA's, DNA gyrase (aka topo II) versus topo IV, it seems relatively easy to define distinct MFs, though we need to make sure that the type I versus type II mechanism makes it into these defs, especially for topo IV since this type II topo, like many type I topos, relaxes (-) supercoils, so the MF is only distinct if it includes the type I vs type II (SS vs DS cut) mechanism as well as the effect on supercoiling.
It is less obvious to me how to define MFs for vertebrate III-alpha versus III-beta (type IA's) or for vertebrate II-alpha versus II-beta (type IIA's), though I'm not opposed to adding more MF terms where we can clearly define the MF. However, I think we may need to think of the "Function" column from the Wikipedia derived table of topo's as a combination of MF and BP as GO defines them, rather than pure MF.

I am wondering if this term needs obsoleting and GPs need to be reannotated to either NEW DNA topoisomerase II/gyrase or GO:0009340 DNA topoisomerase IV complex.

There are also annotations for mammalian topoisomerase genes as well as for bacterial genes, so at the moment I think that we should NOT obsolete this term since it is appropriate for mammalian topo II genes. As I said above, it isn't clear to me how to define MF terms for vertebrate topo-II-alpha versus topo-II-beta, so it seems better to leave these annotated to the general topo II MF term. I have already requested that the annotations for human TOP1 to this term be removed since I think they are an error.

Type IA: (see also #17667)
We also have DNA topoisomerase I-TDRD3 complex in the CP.
My gut feeling is that we can make the GO term a generic Type IA term linked to its MF "GO:0003917 DNA topoisomerase type I activity". There are many enzymes that can be annotated to the same GO function term while the function is carried out in different contexts. I wouldn't let that stop us.

The way this is named with TDRD3 as part of the name seems to imply that this was intended to be specific to that complex, but I didn't see any annotations to this term at all in GO when I looked in AmiGO the other day.

I also found
GO:0031422 RecQ helicase-Topo III complex:

We annotated it in CP for yeast.
It's defined in GO as
"A complex containing a RecQ family helicase and a topoisomerase III homologue; may also include one or more additional proteins; conserved from E. coli to human."
and we annotated it with "GO:0003917 DNA topoisomerase type I activity".
Is this effectively also a Type IA Topo?

Would you please make a new ticket (again, you can assign it to me) to edit the name and/or synonyms of GO:0031422 RecQ helicase-Topo III complex: so that it can be found by searching for "topoisomerase". This seems like a reasonably generic class for a helicase-topoisomerase complex. My reading suggests that there are quite a number of these, but I haven't taken enough notes on these to have these sorted out in my head.
Also, I am wondering if TDRD3 is a helicase?, in which case the existing "DNA topoisomerase I-TDRD3 complex" term would be a subtype of "RecQ helicase-Topo III complex"

Anyway, there is (so far) only one type IA term anyway - until we request the reverse gyrase terms. Sandra is now curating all E.coli complexes.

When you are ready, just make a new ticket to request any reverse gyrase terms. Since they are heterodimers, CC terms could be useful

Sorry, I'm trying to clear this up in my head as much as in the discussion!

@bmeldal - Don't be sorry! I have to have the reformatted topoisomerase table in view every time I work on this ticket or I make mistakes, one of which you caught! I very much appreciate that you're getting involved with this issue to help sort out what is useful to you for annotation.
I'm on vacation from August 3-10, so I probably won't do anything on this until after I'm back.

Thinking more about the best name for this term, and also thinking about the two existing MF terms for the type I and type II topoisomerase activities (which I've just suggested renaming in a more consistent and systematic way (https://github.com/geneontology/go-ontology/issues/17734)

DNA topoisomerase type II (ATP-hydrolyzing) activity  (GO:0003918)
DNA topoisomerase type I activity (GO:0003917)

I am updating my suggested new name for this term to match my proposal from the MF terms:
Update term name
old name: DNA topoisomerase complex (ATP-hydrolyzing)
=> new name: topoisomerase type II (double strand cut, ATP-hydrolyzing) complex

Finishing up some details mentioned here: https://github.com/geneontology/go-ontology/issues/17736
Added parentage for two terms for subtypes of type II topo complexes:

DNA gyrase complex and DNA topoisomerase IV complex
is_a GO:0009330 DNA topoisomerase II complex (double strand cut, ATP-hydrolyzing)

Added equivalence axiom for this term:

GO:0009330 DNA topoisomerase II complex (double strand cut, ATP-hydrolyzing)
is_a protein-containing complex
capable_of GO:0003918 DNA topoisomerase type II (ATP-hydrolyzing) activity
for now. I think there is nothing wrong with those statements.

clarification of MF term 'DNA supercoiling activity'

Your comment makes me think that we should modify the name of the existing "DNA supercoiling term' to make it clear that it is specific to negative ones

I checked existing annotations and ALL were gyrA or gyrB subunits, so this has only been used as expected for DNA gyrase subunits

leave the DNA gyrase activity synonyms for this term to help draw the connection between this activity and DNA gyrase enzymes, but change them to RELATED, or maybe to NARROW.

@bmeldal - let me know if you notice anything I missed

Yes, I think that's it - for now ;-)


Problem with Chrome Version 64.0.3282.140 (Official Build) (64-bit)

First..thank you for taking the time to make this available.
I have installed the project per your instructions and am having a few problems
After navigating to the home directory web-push-php-example and excuting php -S localhost 8000 router.php I am getting the following messages on the console
[Thu Feb  8 10:58:51 2018] PHP Warning:  readfile(\C:\ProjectFiles\webpushphp\web-push-php-example\src\app.js): failed to open stream: No such file or directory in C:\ProjectFiles\webpushphp\web-push-php-example\router.php on line 31
If I prefix the reference to app.js to src/app.js in the index file, then Chrome complains about line 1 of app.js with
Uncaught SyntaxError: Unexpected token <
Additional information : I was able to get the index page to successfully load by changing the directory one level down to src and then : php -S localhost 8000
I was then able to navigate to localhost:8000/index.html and it loaded successfully.
It allowed me to subscribe. But when I tried to send a push notification the following php errors were thrown. (I'm using PHP 7.2) -
[Thu Feb  8 11:28:46 2018] ::1:60660 [200]: /push_subscription.php
[Thu Feb  8 11:28:51 2018] PHP Fatal error:  Cannot use FG\ASN1\Object as Object because 'Object' is a special class name in C:\ProjectFiles\webpushphp\web-push-php-example\vendor\mdanter\ecc\src\Serializer\PrivateKey\DerPrivateKeySerializer.php on line 5
[Thu Feb  8 11:28:51 2018] ::1:60666 [200]: /send_push_notification.php - Cannot use FG\ASN1\Object as Object because 'Object' is a special class name in C:\ProjectFiles\webpushphp\web-push-php-example\vendor\mdanter\ecc\src\Serializer\PrivateKey\DerPrivateKeySerializer.php on line 5

I guess I'm back to asking for any help you might give please ?
TIA - Jim

Additional information : So it turns out that mdanter\ecc does not work with PHP 7.2 so I dropped back to php5.6. This cured the Cannot Use Object because of the special name. I'm able to enable push notifications but when I click on send notification nothing happens. No errors are thrown, but nothing is coming up on my browser either. :)

I had similar issues, followed your fix to change direction and ended up in exactly the same situation where simply nothing happens after sending push notification request. No errors in console or cmd. (PHP 7.0)

I just ended up using this walk through : https://manu.ninja/web-push-notifications
It works. It took me about 30 minutes but, I didn't have to figure out anything. I just followed the steps and it comes with a handy video too.

So you simply ended up using node.js instead of PHP?
I'm not sure I want to go that road. We run mostly on PHP and would prefer not running node just for those push notifications.

No, we are rewriting the pieces in PHP. It still uses the web-push library which has a PHP version. it just gives us a working model so we can see how all the pieces fit together.I'd be happy to share when we get it switched over and working.

Success - I got it to work !
Ok..I think we are making progress here. I actually got this to work.
#1) First be sure you have cacert.pem downloaded from here : https://curl.haxx.se/docs/caextract.html
#2) Then add a line to your php.ini file that looks like this (except use your path):
; Location of cacert file for curl ssl
curl.cainfo = "E:\xampp\php\extras\ssl\cacert.pem"
#3) In router.php around line 25 change
include DIRECTORY_SEPARATOR . $filePath;
to
include $filePath
#4) In router.php around line 30 change
readfile (DIRECTORY_SEPARATOR . $filePath);
to
readfile($filePath);
I'm running this using PHP 5.6.15
If you have additional issues .. in send_push_notifications.php at the bottom add this line -
errror_log(print_r($res));
It should give you hints as to any other issues you might have.

Thanks guys for the feedback and investigation! :)
By the way, please don't use this minimalistic and untested router in production.


New version: Ryujinx.Ryujinx.Ava version 1.1.1211

Pull request has been created with komac v2.1.1 :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

No errors to post.

(Automated response - build 800.)

@wingetbot waivers Add Validation-Executable-Error

@wingetbot waivers Add Validation-Executable-Error


add an editable billing field for organizations in their profile

User story
As as sponsor I want to add a billing address to my profile so that I can have a proper invoice. See link below
https://twitter.com/asp_net/status/1102545977653776384
Best solution for this problem
Include a Billing Address editable field in the profile

I'll look at it along with #1766

@Betree @piamancini isn't that fixed in https://github.com/opencollective/opencollective-frontend/pull/1344 and a duplicate of https://github.com/opencollective/opencollective/issues/1639 ?

Definitely, closing in favor of https://github.com/opencollective/opencollective/issues/1639.
I'll review opencollective/opencollective-frontend#1344 so we can merge it

@piamancini Done & deployed, see https://github.com/opencollective/opencollective/issues/1639#issuecomment-469617745


Use dignified.js

Ref https://github.com/dignifiedquire/dignified.js/issues/1

[ ] add .npmignore


Symfony 5 support

This PR fixed #118.

Hey, thanks for getting a start on this!
Getting a passing build on (my somewhat outdated) test suite is going to take a bit more work. I've started here and have green tests but I need to untangle the travis versions as well ( https://github.com/thephpleague/tactician-bundle/compare/symfony-5?expand=1 )
If you'd like to give that a go, that would be the major blocker. Honestly, I may just tag a new v1.2 and start dropping older version support. Symfony itself no longer supports 2.8, for example. Alternately, just roll forward with getting #115 done would be ideal but sounds like there's still a good chunk to do.

The PR is really all about to append |^5.0 to the composer.json, so simply tagging it with 1.2 would work. But I understand if you prefer to do the things right, and I'm fine to wait until you untangled old travis builds and completed #115. No worries, there is no rush here. :)
Thank you for the tactician, btw! I've used it for years to apply CQRS to my Symfony projects, but never have said "thanks" before.

Just out of curiosity, is there any update on this issue/PR? I'd love to use this bundle on a Symfony 5 project, but currently cannot do so.

(If this is going to take a while, I suppose I can simply fork this PR and use it until a new release is cut. Just let me know what you advise.)

(If this is going to take a while, I suppose I can simply fork this PR and use it until a new release is cut. Just let me know what you advise.)

Another option, which worked for me perfectly - use the new 'Messenger' Symfony component. :) I switched to this component and it works as a charm, with very few changes in existing sources (actually, just had to replace handle with __invoke in all my handlers and that's it).
Check it out, particularly Multiple Buses.

I haven't had time to work on this over the holidays. As mentioned above, there's a bit more work to do here to get a passing build on this.
@webinarium If you've switched over to Symfony Messenger, are you planning to take this any further?

If you've switched over to Symfony Messenger, are you planning to take this any further?

Sorry, didn't know you're expecting something from me regarding the PR. As far as I can see, failed builds were broken before the PR, and I thought you are on it.
Anyway, I upmerged my PR with your recent commits and this fixed most of the failures - only 2.8 builds failed on composer stage with the "Allowed memory size of<PHONE_NUMBER> bytes exhausted" message. So, I've increased the memory limit from 1.5G to 2G in Travis - now everything passes! :)
Is there anything else I can help you with regarding the PR? It looks good to me now.

My apologies for bad communication then. :) I agree looks good now and the raised limit is okay with me, I'll trim down the Travis Matrix and tag a new release this evening or so. I appreciate you putting in the extra work here, think you've made a lot of folks very happy :)


always show documents for a collection in web interface

Scope & Purpose
Always show documents for a collection in web interface, regardless of what collection.count() says. This fixes a potential race between fetching the count and fetching the documents.

[x] :hankey: Bugfix
[ ] :pizza: New feature
[ ] :hammer: Refactoring
[ ] :book: CHANGELOG entry made
[x] :muscle: The behavior in this PR was manually tested
[ ] :computer: The behavior change can be verified via automatic tests

Backports:

[ ] No backports required
[ ] Backports required for: (Please specify versions)

Testing & Verification

[x] This change is a trivial rework / code cleanup without any test coverage.

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12221/

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/12221/

Closed in favor of https://github.com/arangodb/arangodb/pull/12830.


Inheritance order mismatch between config and container class

See the following PR comments and slack convos:

https://github.com/ssec-jhu/evolver-ng/pull/100#discussion_r1681198353
https://ssecjhu.slack.com/archives/C06ERHTMC57/p1720622605487049

The parent classes of some Config classes don't match its container classes inheritance list and order when it ought to.
Some examples:
https://github.com/ssec-jhu/evolver-ng/blame/main/evolver/hardware/interface.py#L66-L67
class EffectorDriver(VialHardwareDriver):
    class Config(VialConfigBaseModel):  # <--- Should be ``VialHardwareDriver``
        pass

Similarly for:

SensorDriver
VialHardwareDriver
HardwareDriver
and more...

@amitschang I'll just fix this in a mo, I've had to partially fix it for #86 anyhow.


Using rubocop with -a option.

I try to use rubocop with -a (--auto-correct) option to fix all minor issues automatically.
I try to put in the .overcommit.yml file strings like
PreCommit:
  RuboCop:
    enabled: true
    command: ['rubocop', '-a']
    #or this:
    #command: ['bundle', 'exec', 'rubocop', '-a']
    on_warn: fail # Treat all warnings as failures

But it's not apply fixes to files before commit.
So, questions is:
How to run rubocop -a before pre-commit checks automatically? Is there any option for it in overcommit project?

You'll have to write a custom hook to accomplish this, since the built-in RuboCop hook is intended simply to report errors, not to alter files before commit.

@jawshooah yes, but i send another parameter to rubocop command (as you can see in example above), that run with -a --auto-correct option should also fix warnings. What I missed?

The core problem is that any changes rubocop --auto-correct makes are never staged. Overcommit sets up the hook environment by stashing all changes but keeping the index, runs the hooks, then restores the environment by doing a hard reset and re-applying the stash.
Actually, I'm not sure that you could even accomplish what you want with a custom hook at all, since restoring the environment wipes out any changes made during the hook run. @sds, can you think of a way around this?

@skywinder Overcommit is not intended to run hooks that modify any files or add/remove files from the git index. It's not really an intended use case due to technical details of how we implement the pre-commit hook saving and restoring of the working tree.
It also keeps the tool open to supporting cool features in future like running hooks in parallel (#144) — the moment you start to encourage hooks to modify files you provide more ways for a user to shoot themselves in the foot since you have multiple actors (hooks) modifying a shared resource (the git index).
My recommendation is your custom hook should simply print out the command that should be run to auto correct the offenses if it finds any. Hope that helps.

@sds thanks for clarifying! It's definitely  makes sense!

Sorry that's not helpful at all. The rubocop --auto-correct command is one of the most useful of them all. Nobody wants to dive in and indent, remove spaces and refactor syntax manually. Rubocop does this excellently FOR YOU. Overcommit should allow such commands.

@janwerkhoven What @sds explained above is that preserving file modifications during hook runs would require a significant overhaul of Overcommit's internals, and it just isn't worth it to support this one use-case. Especially when you can accomplish the same thing by just running rubocop --auto-correct yourself when Overcommit notifies you of errors on commit.

We're tracking adding support for hooks with file-changing side effects in #238. It's definitely something we know will be useful. Open to well-tested pull requests for those who want it sooner rather than later!


Move enum files to Enums/

Separating enum files from other classes may make them easier to access.

I've noticed it myself, it was odd to me that ENUMs are mixed with models

Thanks for helping out! Unfortunately, I'm going to decline this PR. I don't think separating model-related enums from models adds value. I prefer to keep code together that belongs together conceptually, not because of its technical properties.
If we're going to refactor the directory structure, it'll be to a more domain-driven approach: https://stitcher.io/blog/organise-by-domain
I don't think the app is big enough to warrant a restructure though.
Hope you understand!

Makes sense


Color Guardians [PCSE00612]

App summary

App name: Color Guardians
App serial: PCSE00612
App version: 1.00

Vita3K summary

Version: v0.1.8
Build number: 3162
Commit hash: https://github.com/vita3k/vita3k/commit/3abd4e36
CPU backend: Dynarmic
GPU backend: Vulkan

Test environment summary

Tested by: Sam
OS: Windows 10
CPU: AMD 5500u
GPU: AMD Radeon Graphics
RAM: 6 GB

Issues

Screenshots

Log

Recommended labels

-Playable

reported t posing issue

Vita3K summary

Version: v0.1.8
Build number: 3212
Commit hash: https://github.com/vita3k/vita3k/commit/7170fc69
CPU backend: Dynarmic
GPU backend: Vulkan

App summary

App name: Color Guardians
App serial: PCSE00612
App version: 1.00

Screenshots

Log
vita3k.log
https://github.com/Vita3K/compatibility/labels/graphics bug
https://github.com/Vita3K/compatibility/labels/Ingame %2B


readme file issues

wrong command for creating virtual environment  "mkvirtualenv docker-compose" probably should be "virtualenv docker-compose"

virtual env activate command omitted

adding current user into docker group not mentioned (groupadd docker)

apparmor/selinux disabling notes not mentioned

host process of libvirt disabling notes not mentioned

recomended kubernetes version not mentioned for kubelet

mkvirtualenv is the right command, if you are using http://virtualenvwrapper.readthedocs.io/
Also this does not require env activation (but still could be activated using workon name_of_env.
So mention about apparmor/selinux, virtualenvwrapper, disabling host libvirt and other dependencies for sure should be mentioned in README.md.

@jellonek we can suggest normal virtualenv + activation. No need to install yet another tool if someone is not using it.

@jellonek thanks for your detailed comment. you are right.

Closed in #58


⚠ Bofrost.lu has degraded performance

In 2dca86c, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1211 ms

Resolved: Bofrost.lu performance has improved in d3c3bf4 after 9 minutes.


venv_dev is not created on Ubuntu 23

Describe the bug
When i try to build venv_dev it runs to an error (code 2).
CodeChecker version
bc7bf7c2d23ea4bf39b131cafe74ec1e2c2bf004
To Reproduce
Steps to reproduce the behaviour:
make venv_dev
Received error
  Using cached psycopg2-binary-2.8.6.tar.gz (384 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [21 lines of output]
      running egg_info
      writing psycopg2_binary.egg-info/PKG-INFO
      writing dependency_links to psycopg2_binary.egg-info/dependency_links.txt
      writing top-level names to psycopg2_binary.egg-info/top_level.txt

      Error: pg_config executable not found.

      pg_config is required to build psycopg2 from source.  Please add the directory
      containing pg_config to the $PATH or specify the full executable path with the
      option:

          python setup.py build_ext --pg-config /path/to/pg_config build ...

      or with the pg_config option in 'setup.cfg'.

      If you prefer to avoid building psycopg2 from source, please install the PyPI
      'psycopg2-binary' package instead.

      For further information please check the 'doc/src/install.rst' file (also at
      <https://www.psycopg.org/docs/install.html>).

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
make[1]: *** [Makefile:51: pip_dev_deps] Error 1
make[1]: Leaving directory '/home/t/codechecker/web'
make: *** [Makefile:139: venv_dev] Error 2```

Check this PR https://github.com/Ericsson/codechecker/pull/3363/files
maybe this is the solution.

Modification of Makefile has resulted slightly different output, but still with an error:
`Collecting psycopg2-binary==2.8.6 (from -r requirements_py/dev/requirements.txt (line 2))
Using cached psycopg2-binary-2.8.6.tar.gz (384 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [37 lines of output]
/home/t/codechecker/venv_dev/lib/python3.11/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in setup.cfg
!!
          ********************************************************************************
          The license_file parameter is deprecated, use license_files instead.

          This deprecation is overdue, please update your project and remove deprecated
          calls to avoid build errors in the future.

          See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
          ********************************************************************************

  !!
    parsed = self.parsers.get(option_name, lambda x: x)(value)
  running egg_info
  creating /tmp/pip-pip-egg-info-pbts_dm4/psycopg2_binary.egg-info
  writing /tmp/pip-pip-egg-info-pbts_dm4/psycopg2_binary.egg-info/PKG-INFO
  writing dependency_links to /tmp/pip-pip-egg-info-pbts_dm4/psycopg2_binary.egg-info/dependency_links.txt
  writing top-level names to /tmp/pip-pip-egg-info-pbts_dm4/psycopg2_binary.egg-info/top_level.txt
  writing manifest file '/tmp/pip-pip-egg-info-pbts_dm4/psycopg2_binary.egg-info/SOURCES.txt'

  Error: pg_config executable not found.

  pg_config is required to build psycopg2 from source.  Please add the directory
  containing pg_config to the $PATH or specify the full executable path with the
  option:

      python setup.py build_ext --pg-config /path/to/pg_config build ...

  or with the pg_config option in 'setup.cfg'.

  If you prefer to avoid building psycopg2 from source, please install the PyPI
  'psycopg2-binary' package instead.

  For further information please check the 'doc/src/install.rst' file (also at
  <https://www.psycopg.org/docs/install.html>).

  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
make[1]: *** [Makefile:51: pip_dev_deps] Error 1
make[1]: Leaving directory '/home/t/codechecker/web'
make: *** [Makefile:139: venv_dev] Error 2`

when  you are retrying with teh new make file please remove first the entire venv_dev dir and then retry. Is the result the same like this?

Yes, i tried removing both using the 'rm -rf' and via make 'clean_venv_dev'

I see this error       Error: pg_config executable not found.
do you have postgresql (maybe postgresql dev) installed on your machine?

sudo apt install libpq-dev python3-dev 	should effectively fix the issue


[Request] docker support for arm64

Currently the docker images are only built for amd64
Would be nice to have support for arm64 as well.

Any news? Solutions?

any news?

Maybe you can use this?
https://github.com/MikolajKolek/pterodactyl-images-arm64

You are welcome to try my fork karyeet/pufferpanel:devel (from: https://github.com/karyeet/PufferPanel).
Except for source servers (which dont support arm64), running servers in standard environment and in supported containers works as expected.
I haven't PR'd cause I haven't gotten the other images (ex. pufferpanel/pufferpanel:java) to work properly, however using official images (ex openjdk:17 or node:16) works fine and is probably better practice anyway.

Just to confirm, the docker image is non-functional on ARM64?
I just assumed it would work since it's supported via apt. Oops!

There is not a docker image for the ARM64 platform. Github's actions don't support arm directly, and the cross-compile killed the build times. I am looking at a better solution long-term.

i NEEEEEEED ARMm

For folks coming into this, it's unlikely that this will be supported anytime soon due to GitHub limitations. I'd strongly encourage folks to install the native package & use the docker server environment to run your game servers in docker.

No idea why I never mentioned this here but I maintain ARM images for pufferpanel available at https://ghcr.io/oskardotglobal/pufferpanel. It all builds on Actions, yeah it does take 30mins per build but at least it works.
For tags and further information see the repository: https://github.com/oskardotglobal/pufferpanel-docker-arm


Fix multi-plane aspect bit check

The FormatIsColor() util fxn classified anything not depth or stencil as 'color', and applied the aspect bit checks correspondingly. This PR segregates multi-plane formats from the catch-all color classification and adds multi-plane specific aspect bit checks for them.
Resolves #2527.

For purpose of resolving this issue, it's sufficient just to exclude the multi-plane formats from categorization by the FormatIsColor() util function.  I've loosened the multi-plane checks in ValidateImageAspectMask() to just verify that all aspectMask bits are within the overall allowed subset.  There are specific VUIDs that capture the different requirements for barriers and image views that (will, soon) provide the domain-specific validation of the aspect mask.


Reorganize and refactor Python scripts

Reorganize and refactor Python scripts
Directory changes

Move top-level disabledTestParser under a new scripts folder, and rename to disabled_tests to match PEP8 conventions

scripts
└── disabled_tests
    ├── common
    │   ├── __init__.py
    │   └── models.py
    ├── tests
    │   ├── data
    │   │   ├── ProblemList_openjdk11-openj9.txt
    │   │   ├── ProblemList_openjdk13.txt
    │   │   └── out.json
    │   ├── __init__.py
    │   └── test_exclude_parser.py
    ├── README.md
    ├── exclude_parser.py
    ├── issue_status.py
    └── requirements.txt

Include unit tests, a README and requirements.txt
Remove output examples ProblemList.json and output.json
Rename generateDisabledTestListJson.py to exclude_parser.py

Code changes

exclude_parser.py now takes stdin/stdout as default input/output stream to enable command-line usage shown in the README
Introduce dataclasses and type hints
Now requires Python 3.8+ (because of typing.TypedDict)

Signed-off-by: Jocelyn Gervais<EMAIL_ADDRESS>

@smlambert
Not included in this MR is a potential rework we'll have to do for issue_status.py :'( It seems it was only tested on a VERY small scale (with the example data provided by Lan) because we reach the rate limit in about 50 GitHub API calls, and it stops working. @amir-waheed also saw the problem when running it in Jenkins: https://github.com/adoptium/aqa-tests/pull/3346#issuecomment-1040885156


How do you use config.properties to set the test url?

I set test.config.url= and the tests still went to bing.com in the Junit example.  Is this as designed?  I want to change the url using config.properties.

Looks like this is a bug for all projects. For the time being, add this to your BingSite.java class located at /src/test/java/<your-project>/page/BingSite.java
  /**
   * Open the home page.
   */
  public void open()
  {
    this.open(getDefaultUrl());
  }

Should be fixed with merge #11

This is fixed in latest release (0.9.1)


Cybersecurity: 1.9 What is Virtualization ?

Description
If we want to do penetration testing then kali Linux is recommended in your system, for running both machines host+virtual (Windows and kali on the same device, when your base operating system is Windows!) we need virtualization.
Discuss more What is Virtualization and the need for virtualization?
Note:

Please avoid copy/paste, BE YOURSELF
Changes should be made inside the Cyber_Security/ directory & Cyber_Security branch.
Task will be assigned on first come first serve
Check it out Contribution Guidelines

Can I work on this

Can this issue be assigned to me along with 1.9.1, please ??

Can I work on this

Yes @AtharvaaPatil you can go with this task!
I'm assigning it to you!

Can this issue be assigned to me along with 1.9.1, please ??

Hi @iamKushGupta ,
Atharvaa comment first on this issue, so I assigned this task to Atharva, You can check other issues.
Thank you!


ConveyorAssembly performance improvements

Most of these improvements are skipping setting Transform if the new value isn't different from the old one. This is surprisingly slow when there are lots of children.
The biggest bottleneck seemed to be ConveyorAssembly's _PhysicsProcess, which adjusts all assembly parts. Ideally, we'd remove the whole thing and replace it with calls from setters and NOTIFICATION_TRANSFORM_CHANGED listeners. That way, it wouldn't run every frame.
The new solution is to pause assembly adjustments while the simulation is running. This seemed to be a good compromise. Most of the slowdown impact that I experienced was at simulation-time, not edit-time.
Backup Workaround
You shouldn't need to do this anymore, but it's still possible. It would mostly be useful when the simulation isn't running and framerate is still too slow.
Select all ConveyorAssemblys that won't need adjusting and set ProcessModeto Disabled in the inspector for the whole selection. Everything will run much smoother, and all conveyors will continue to function.
Unfortunately, we need the ConveyorAssembly scripts to run on load so they can fix their appearance. So, either don't save the scene after doing the workaround or change ProcessMode back to Inherit if things ever look broken.
Misc
Added more Jolt platforms.

Still, performance during simulation didn't improve much for me.

This was expected. See https://github.com/Open-Industry-Project/Open-Industry-Project/issues/59 for info about more optimizations.

I'm not sure why the Jolt release I found didn't match the existing Windows binary

See: https://github.com/Open-Industry-Project/godot-jolt/commit/d6dbe05d736353f81d893926a7dcdffc76bdb0d4
To address these errors that show up after scaling:

The ConveyorEnd subpart should probably be converted from using a RigidBody to a StaticBody as well to match everything else now.

Still, performance during simulation didn't improve much for me.

This was expected. See #59 for info about more optimizations.

Based on my experiments so far, this isn't a rendering or physics problem. Removing all Roller meshes or bodies didn't impact performance much at all. It'll matter eventually, but it's not the current bottleneck.
Skipping all the code in ConveyorAssembly's _PhysicsProcess is huge. Just pushed a change that pauses ConveyorAssembly updates while the simulation is running. Much smoother.
I'll look into building your Jolt fork next. I agree the errors are annoying.

Skipping all the code in ConveyorAssembly's _PhysicsProcess is huge. Just pushed a change that pauses ConveyorAssembly updates while the simulation is running. Much smoother.

You lose the ability to modify the assemblies scale while the simulation is running though.
This might be a necessary sacrifice at some point, but we'll still have to address the resulting suboptimal UX. Either we need to allow them to be resized still or to disable the scaling gizmo.
I think the latter is worth investigating. I already use the transform gizmo to freeze/unfreeze boxes (See: https://github.com/Open-Industry-Project/godot/commit/6e64dfc4e5a08d813f189eefb8aa56b42f612439). It should be possible to create an event for this in the fork. I even have an old proposal for this: https://github.com/godotengine/godot-proposals/issues/8445

This might be a necessary sacrifice at some point, but we'll still have to address the resulting suboptimal UX. Either we need to allow them to be resized still or to disable the scaling gizmo.

I see what I've done so far as a temporary fix. I'd consider scaling during simulation a lower-priority issue that we can get to later, unlike slow performance. Also, if you really need to, scaling will still resize the belt conveyors (stretch them), they will just be very ugly until you stop the simulation.

I think the former is worth investigating. I already use the transform gizmo to freeze/unfreeze boxes (See: Open-Industry-Project/godot@6e64dfc). It should be possible to create an event when the gizmo is being used in the fork and use it to reenable the process. I even have an old proposal for this: godotengine/godot-proposals#8445

That's pretty cool. Yeah, I see the ideal solution being better change detection/tracking.
If you think this temporary fix is good enough for now, I'll create a new issue for the long-term fix.

I'd consider scaling during simulation a lower-priority issue that we can get to later, unlike slow performance.

Agreed.

If you think this temporary fix is good enough for now, I'll create a new issue for the long-term fix.

Yeah, the main issues seem to be addressed. Please create a new issue to track the long-term solution.

Thanks!


Remove version: taers232c.GAMADV-XTD3 version 6.71.05

This version is older than what has been set in max-versions-to-keep by the publisher.
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/taers232c/GAMADV-XTD3/releases/download/v6.71.05/gamadv-xtd3-6.71.05-windows-x86_64.msi
OK
(Automated message - build 910)


Arabic Translation

Translating to arabic here: https://github.com/hishamelbaz/covid-19
Expecting to face few issues with RTL.
Btw, thanks for the huge effort, this is extremely useful.

Closed issue to give opportunity to someone with more experience in medical/statistical field translation, if nothing is started in the next couple of days will reopen and submit my translation.


Make sure to ignore large formatting changes

Description
Remnants from long forgotten times... (I.e: follow up to #4175)

Checklist

[x] Commit sequence broadly makes sense and commits have useful messages
[ ] New tests are added if needed and existing tests are updated
[ ] All visible changes are prepended to the latest section of a CHANGELOG.md for the affected packages.
New section is never added with the code changes. (See RELEASING.md)
[ ] When applicable, versions are updated in .cabal and CHANGELOG.md files according to the
versioning process.
[ ] The version bounds in .cabal files for all affected packages are updated.
If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)
[x] Code is formatted with fourmolu (use scripts/fourmolize.sh)
[x] Cabal files are formatted (use scripts/cabal-format.sh)
[x] hie.yaml has been updated (use scripts/gen-hie.sh)
[x] Self-reviewed the diff

Thank you for trying to improve the dev process, but I do not believe this should be part of the PR template. I think it is enough to have this information in the contributing guide, because this is not a requirement and it is quite subjective of what "large formatting changes" really is.
Too many checkboxes in the PR template will lead to contributors to just ignoring them. Which means we need to put there things that are absolutely necessary for alsmot every PR submitted to ledger.
I'll close this PR for now. But, if you think I am wrong in doing so we can discuss it later and you can try and persuade me into changing my mind :wink:

I agree with @lehins  - I'm already ignoring the template , if anything, it might be good to reduce some of the wording so it 's easier to do a quick check by skimming it.


Wrong diary shown for selected date.

When user selects a date to view diary of that particular date, diary entry of previously selected date is shown.
Link showing issue: https://www.recordjoy.com/view/YBW3yY599Jmtqu4glz7Z
what can be improved:
Show proper diary for selected date.
An alert showing which date user has selected.

@AdnanMuzavor  No need to add the alert just fix the date issue .


Implement Dependabot to merge automatically dependency updates

Since dependabot don't support bun we've decided to use renovatebot


encoder_dims does not exist in the metadata

I'm using this model: sherpa-onnx-zipformer-large-en-2023-06-26.tar.bz2
when building and testing on iPhone I see the following error:
/Users/kislaysingh/offile_tts/sherpa-onnx/sherpa-onnx/csrc/online-zipformer-transducer-model.cc:InitEncoder:98 encoder_dims does not exist in the metadata

I tried making model type both zipformer and zipformer2 getting the same error. Although I'm able to run the following successfully on the iPhone: sherpa-onnx-zipformer-en-2023-04-01
Basically this hugging face playground model does exactly what I'm looking for, I'm guessing it's the large one.
Do I need to use some other configs?

An offline/non-streaming model cannot be used with an OnlineRecognizer.
The error log is expected.
Your usage is not correct.


Centos 7 installation

How to fix this warning:
sudo ng update --force=true  --all Using package manager: 'npm' Collecting installed dependencies... Found 87 dependencies. UPDATE package.json (5026 bytes) npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><3.6 but none is installed. You must install peer dependencies yourself. npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself. npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>< 3.6 but none is installed. You must install peer dependencies yourself. npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself. npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself. npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^16.0.0 but none is installed. You must install peer dependencies yourself. npm WARN<EMAIL_ADDRESS>requires a peer of react@>= 15 but none is installed. You must install peer dependencies yourself. npm WARN<EMAIL_ADDRESS>requires a peer of react-dom@>= 15 but none is installed. You must install peer dependencies yourself. npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself. npm WARN<EMAIL_ADDRESS>requires a peer of fibers@>= 3.1.0 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
Angular CLI: 8.3.8
Node: 10.16.3
OS: linux x64
Angular: 8.2.9

Closing this issue due to inactivity. Please open a new issue if the problem still exists.


Couldn't open file: cfg/mnist_lenet.cfg

Hi Mofanv:
When I ran the command 'darknetp classifier train -pp 4 cfg/mnist.dataset cfg/mnist_lenet.cfg'
It has an error: 'Couldn't open file: cfg/mnist_lenet.cfg'
It seems that it cannot open two files at once. Do you know how to fix it?
Thanks,
ZLKong

Never mind, I did not login as root.


[WIP] convert resource status to gql

Reason for change
We want to convert this componenet too!
ToDo:

[ ] did i do this right
[ ] how can i test this / add tests for this! please teach me

Testing

Checklist

[ ] CHANGELOG: The Unreleased section of CHANGELOG was updated
[ ] Prop changes: docs were updated
[ ] Prop changes: E2E tests were updated, testing from the highest level possible
[ ] Platform testing: If this change should be tested against a platform, has it been?

Very nice! Yeah let’s pair tomorrow and write some tests for this.

I’d like to see in manifold-resource-status-view you use the ResourceStatusLabel type from our generated GraphQL types. Replace that object, and only display text straight from GraphQL. Currently, if our GraphQL added labels, we’d have to add them manually to our status component. That is dumb and we should automatically display new statuses from our backend.

@dangodev - manifold-resource-status-view is still being used in manifold-resource-list component (still rest)
How do you feel if we merge this code (after tests are added), convert manifold-resource-list and then come back to manifold-resource-status-view with the proper types?
Alternatively, we could also mark this code as blocked on manifold-resource-list converstion.

Oh good call. Well how about this: we still remove that manual object and just let resourceState display whatever’s passed in? My main concern is that that object blocks some of the new status labels.
You could also transform text case with CSS
text-transform: lowercase;

&::first-letter {
  text-transform: uppercase;
}


TASK - Implement a standalone D20 rolling feature

Process (note for myself):
-Create number generator
-Create dice graphic (d20)
-Animation for dice roll
-Dice graphic will correspond to generated number


Request for Guidance on Integrating and Using Dropdowns and Date Pickers

Problem Statement:
The current documentation lacks sufficient guidance on how to effectively integrate and use dropdowns and date pickers within the GlideApps Data Grid. As a user, I find it challenging to understand the required steps and configurations for incorporating these components into my application.
Integration Instructions:
How to import and integrate the necessary components for dropdowns and date pickers.
Configuration:
Detailed explanations on how to configure and set up dropdowns and date pickers within the grid.
Examples of common use cases and scenarios where these components are valuable.
Usage Guidance:
Step-by-step instructions for implementing dropdowns and date pickers, including code examples.
Best practices for handling user interactions, such as selecting options from a dropdown or picking dates.
Clear and comprehensive guidance on integrating and using these components would be highly valuable.

Update: Figured out the part on how to achieve this using useExtraCells(). Although I need more information on handling the edit of these cells.
`const getCellContent = (cell: Item): GridCell => {
    const [col, row] = cell;
    const attribute = attributes[col];
    const record = indicatorRecords[row];

    if (attribute.name === "org_node_name") {
      return {
        kind: GridCellKind.Custom,
        allowOverlay: true,
        readonly: false,
        copyData: "",
        data: {
          kind: "dropdown-cell",
          allowedValues: organizationNames,
          value: record ? record.org_node.name : "",
        },
      };
    } else if (attribute.name === "start_date") {
      return {
        kind: GridCellKind.Custom,
        allowOverlay: true,
        readonly: false,
        copyData: "",
        data: {
          kind: "date-picker-cell",
          date: new Date(),
          displayDate: record ? record.start_date : "",
          format: "date",
        },
      };
    } else if (attribute.name === "end_date") {
      return {
        kind: GridCellKind.Custom,
        allowOverlay: true,
        readonly: false,
        copyData: "",
        data: {
          kind: "date-picker-cell",
          date: new Date(),
          displayDate: record ? record.end_date : "",
          format: "date",
        },
      };`


Model data context is not available on node where Model is declared

The databinding on {bar} fails in this case:
Foo.js:
export default class Foo {
    constructor() {
        this.bar = 123
    }
}

Foo.ux:
<Panel ux:Class="Foo" Model="Foo" Width="{bar}" />

This is valid, it's something we decided a long-time ago that a binding should not check it's child contexts.  Consider that Model is adding a JavaScript child, and thus bar isn't available in the context of the parent.
Given the problems we had, and what we solved before, it's unlikely we'll be able to change this limitation. It's also not something that actually comes up too often in use-cases. And places where it does usually have a workaround.

Closing as this is the expected behavior


[JN-1231] extract only published

DESCRIPTION (include screenshots, and mobile screenshots for participant UX)
While there are more versioned objects, this only deals with site content and surveys. They're really the only things that are making the extracts huge.
TO TEST:  (simple manual steps for confirming core behavior -- used for pre-release checks)

populate hearthive
for extra completeness, make some changes to surveys and to site content to create versions in different environments
extract with only published content checked & repopulate
observe that the downloaded zip file was small & that there is no history in the repopoulated portal

Also, see if you can leverage findAllByStudyEnvIdWithSurvey from StudyEnvrionmentSurveyService rather than having to write new DAO methods.

I'm not quite sure how to use this method since survey extraction happens at the portal level, unless we loaded all study environments for a portal, ran findAllByStudyEnvIdWithSurvey on each, and then got all the unique results. But I assume that's not what you mean.


Millis() does not increment during sleep mode, how to get time?

Thanks for your very interesting approach of Arduino sleep and waking-up by the watch-dog timer. I studied your blog six months ago and among the similar topics of other's blogs I find yours very clear and concise. Since then I have implemanted your code in my projects with success. Nevertheless a new issue appeared recently concerning the millis() function, since it is not incremented during the sleep period. My project records a sensor on SD as a function of number of sleeps and tries to avoid RTC to make it smaller and less energy consuming. Please could you tell me if you can find a more trivial solution to obtain the time since the sleep by itself uses a timer, somehow? Thanks a lot for everything.

Hej!
Happy to hear that the blog and code are useful.
As you write it, a solution is to write on the SD card both the number of sleeps and the millis() time. You can then estimate the time elapsed a posteriori. I think this is the best solution if you want to avoid a RTC.


Be more consistent about construction/destruction of ChipCertificateData

We are mixing placement new with Clear() calls and no destructor
calls, and in some cases (ChipCertificateSet::Release) doing neither
clearing nor destruction.  Instead, try to consistently use
~ChipCertificateData when we are no longer keeping track of the
relevant object.
The addition of Clear() in ~ChipCertificateData is both to match
existing behavior and on the assumption that we don't want that data
lying around in memory if not needed.

Problem
See commit message.

Summary of Changes
See commit message.

Fixes https://github.com/project-chip/connectedhomeip/issues/4688

I do find this a bit awkward because it accepts that the destructor can run multiple times on the same object (we do not seem to check for any 'is constructed already' flag.
Maybe we should specifically document this requirement. Clear() had the benefit that it was obvious that you may call it multiple times on the same object.

@bzbarsky-apple ?

I added a comment on mCertCount documenting the invariants here.


Gra 905 freebsd - use wgctl

note:  must be built on freebsd machine.  cross-compiling will not work
issue on wireguard repo

merge conflicts need resolution


Update Golangci-lint

Updating Golangci-lint version to fix issue found in #15

@SchSeba @eoghanlawless
Can you review?