Reuse internal buffers

I added a BufferPool class to allow the library to reuse internal buffers. I had noted that there were a decent amount of large allocations and some GC activity occurring. Since all of these buffers are the same size, it was an ideal candidate for buffer reuse. This should provide some relief in scenarios where maybe a ZstdOutputStream/ZstdInputStream is allocated once per file or connection or other resource in an application (specifically Kafka) and those resources are periodically recycled.
I did choose to remove the ability to pass in the byte[] into the ZstdInputStream, since in that case it would be unclear who owned that byte[]. Also in the discussion of https://github.com/luben/zstd-jni/issues/131 it was made clear that a reuse behavior was desired and could not use any non-Java standard classes. To that end, I decided to drop support for that and hide the reuse logic from the end user. Snappy does allow for customization of the reuse logic, but I'm going to hold off on that unless that is really desired.
I put together a JMH benchmark (note - I did use the netty library in my case, but any outputstream to wrap should work):
ByteBuf buf = PooledByteBufAllocator.DEFAULT.heapBuffer(BUFFER_SIZE);
try (InputStream is = new ByteArrayInputStream(src);
		OutputStream gos = new SnappyOutputStream(new ByteBufOutputStream(buf))) {
	int n;
	while (-1 != (n = is.read(tmp))) {
		gos.write(tmp, 0, n);
	}
} finally {
	buf.release();
}

NEW:
Benchmark                                                     Mode  Cnt      Score     Error   Units
MyBenchmark.zstdBufferPool                                   thrpt    5  12079.029 ± 975.565   ops/s
MyBenchmark.zstdBufferPool:·gc.alloc.rate                    thrpt    5      1.650 ±   0.137  MB/sec
MyBenchmark.zstdBufferPool:·gc.alloc.rate.norm               thrpt    5    150.404 ±   0.836    B/op
MyBenchmark.zstdBufferPool:·gc.churn.G1_Eden_Space           thrpt    5      1.903 ±   9.456  MB/sec
MyBenchmark.zstdBufferPool:·gc.churn.G1_Eden_Space.norm      thrpt    5    175.388 ± 876.010    B/op
MyBenchmark.zstdBufferPool:·gc.churn.G1_Survivor_Space       thrpt    5      0.133 ±   1.147  MB/sec
MyBenchmark.zstdBufferPool:·gc.churn.G1_Survivor_Space.norm  thrpt    5     12.368 ± 106.492    B/op
MyBenchmark.zstdBufferPool:·gc.count                         thrpt    5      6.000            counts
MyBenchmark.zstdBufferPool:·gc.time                          thrpt    5    215.000                ms

OLD:
Benchmark                                                       Mode  Cnt       Score       Error   Units
MyBenchmark.zstdBaseline1456                                   thrpt    5    8508.975 ±  1646.953   ops/s
MyBenchmark.zstdBaseline1456:·gc.alloc.rate                    thrpt    5    1017.925 ±   197.283  MB/sec
MyBenchmark.zstdBaseline1456:·gc.alloc.rate.norm               thrpt    5  131750.644 ±     0.850    B/op
MyBenchmark.zstdBaseline1456:·gc.churn.G1_Eden_Space           thrpt    5    1158.503 ±   297.409  MB/sec
MyBenchmark.zstdBaseline1456:·gc.churn.G1_Eden_Space.norm      thrpt    5  149861.671 ± 13690.768    B/op
MyBenchmark.zstdBaseline1456:·gc.churn.G1_Survivor_Space       thrpt    5      51.783 ±    16.397  MB/sec
MyBenchmark.zstdBaseline1456:·gc.churn.G1_Survivor_Space.norm  thrpt    5    6699.395 ±  1456.076    B/op
MyBenchmark.zstdBaseline1456:·gc.count                         thrpt    5     175.000              counts
MyBenchmark.zstdBaseline1456:·gc.time                          thrpt    5    9065.000                  ms

As expected, there is a great improvement in gc.alloc.rate.norm (allocation's per operation) and quantity/length of GC pauses. And obviously this all leads to the throughput in ops/s to increase.

Hi, sorry for the delay - I was away for a few weeks.
@chia7712 , can you take a look - this approach seams good to me - it uses internal buffer poll so it will work with the reflection. Do you see any disadvantage for your use case?


Tasmota mqtt switch with two state_topic (tele and stat) - wrong HASS state

I'm not sure if this is a bug or a feature and I would like to get an opinion how to solve this.
The problem:
Tasmota switch has two topics to report a state – without using both, HASS can have a the wrong state after restart or if device had a reset, for a very long time (OFF while the power is ON)  only changing the state can fix this.  This is a very serious issue in some cases (Boiler case)
More details:
tele/pow0/STATE = {"Time":"2018-11-24T16:59:06","Uptime":"2T22:12:00","Vcc":3.206,"POWER":"ON","Wifi":{"AP":1,"SSId":"fbi-4","RSSI":100,"APMac":"30:B5:C2:96:6D:96"}}
stat/b0/RESULT = {"POWER":"OFF"}
stat topic is sent after command while tele topic is sent periodically every x sec (e.g. 300 sec).
At first, I've used the stat topic something like this (from the tasmota wiki)
`

platform: mqtt
name: "ac1"
state_topic: "stat/s0/RESULT"
value_template: '{{ value_json["POWER1"] }}'
command_topic: "cmnd/s0/POWER1"
availability_topic: "tele/s0/LWT"
qos: 1
payload_on: "ON"
payload_off: "OFF"
payload_available: "Online"
payload_not_available: "Offline"
retain: false
but this does not catch thetele` state update.

HASS default Mqtt switch does not support more than one topic/template per switch.
Options to solve this:

Add a private mqtt switch that support a list of [topic/template] – does not seem very complicated
Adding another switch with the same name but with different topic state create a new mqtt object but it seems associated to the same GUI object and API and it get updated

somthing like this:
`

platform: mqtt
name: "ac1"
state_topic: "tele/s0/STATE"
value_template: '{{ value_json["POWER1"] }}'
command_topic: "cmnd/s0/POWER1"
availability_topic: "tele/s0/LWT"
qos: 1
payload_on: "ON"
payload_off: "OFF"
payload_available: "Online"
payload_not_available: "Offline"
retain: false
`
I don't know why it works but it seems both mqtt objects update the same GUI entity (same name "ac1")

Questions:

Is option #2 a valid workaround? will it work on lovelace-ui?
Is it better to add a new mqtt switch with more than one state_topic?
add to HA startup.yaml (from tasmota wiki)

`

service: mqtt.publish
data:
topic: "cmnd/s0/power1"
payload: ""
`

This will force the update only at startup
The problem with this option that 'reset' of tasmota (without the reset from HASS) will keep the state wrong, so I think only option #1 or option #2 are valid
(let's say the device can change the state by itself without command and report it)

Setting a mqtt retain flag is not a valid answer

This should be fixed in Tasmota, I suggest to close this issue and instead open an issue / feature request in arendst/Sonoff-Tasmota.
Feel free to ping/mention me, and I'll try to get it done soon.

Could you elaborate about the direction of fix? Haveing one topic from Tasmota point of view does not seems to me as the right solution (it is simple)
Looking into Tasmota reset sequence, stat topic is sent so option #3 is enough for common cases (state can change only by cmnd topic) but not robust as I would like it to be.
Moreover I would be happy to understand why option #2 solve the issue (from HASS perspective)

@hhaim 2) most likely hides the issue to a (now fixed) race condition which incorrectly made MQTT devices with same name share entity I'd
The PR I opened on Tasmota sends the periodic updates as stat/s0/RESULT instead of as Tele/s0/STATUS

Understood. So for the common case option #2 is not valid. Only option #1 will solve the common issue.
Regarding Tasmota, looked into the PR. Seems as good solution.
For Switch topic would be “stat/[dev]/+” while for sensor, it could still have a more granular topic like “stat/[dev]/SENSOR”

Yes, 1) would have been a solution, but perhaps unnecessarily complex to support lists of topics.

@hhaim, @emontnemery: Send tele/STATUS as state/RESULT doesn't solve problem of update in HA or other automation software. Still have to wait up to teleperiod for update.
There are two simple options on HA side:

use recorder like this example and all switches and input selects restore last known state after HA restart automatically

db_url: !secret database_url
purge_interval: 1
purge_keep_days: 5

include:
  domains:
    - switch
    - input_select

use automation after HA restart with group topic (here sonoffxxx) and all sonoffs respond with state/RESULT and update state in HA. If you have unit with more relays, just repeate it for power2, power3, etc. This option cover also situation if sonoff change state when HA is off, e.g. during restart

- alias: HASS Startup
  trigger:
    platform: homeassistant
    event: start
  action:
    - service: mqtt.publish
      data:
        topic: "cmnd/sonoffxxx/power1"
        payload: ""

@mkh595 You're right, an automation is required to get correct state immediately after restart of HA.
Instead of the automation you mention, use this one to get all states, not just relay state:
- alias: "Power state on HA start-up"
  trigger:
    platform: homeassistant
    event: start
  action:
    - service: mqtt.publish
      data:
        topic: "cmnd/sonoffs/state"
        payload: ""

Yes, this is by the book solution, I've mention it in the question and maybe I wasn't clear enogth
"add to HA startup.yaml (from tasmota wiki)
`
service: mqtt.publish
data:
topic: "cmnd/s0/power1"
payload: ""
`"
The problem is that there are two method (two topics) to reports the state
The RESULT is published only when asked by command and STAUTS  is always there, why not to use it??
I thnk that the propuse solution by  @emontnemery is more  robust as both STATUS and RESULTs will be processed by the MQTT HASS entity (be based from same topic using +), There won't  be a need for the startup script etc and my boiler won't blow up due to  state sync issue

But why do you have problem with two methods? Why do you need to use both?
Switch I have defined
 state_topic: "stat/topic/POWER1"
 command_topic: "cmnd/topic/POWER1"

When sonoff is restarted, it always send stat/topic/POWER1 at start so there is no issue with sync.
If HA is restarted, it ask via cmnd/grouptopic/POWER1 for status of all relays, there is no issue with sync.
I don't need use tele/topic/STATE to periodically update status of relays. Why? This telepriod message is for sensors like temp, humi etc. which change values.

Don't do things more complicated.

more robust as both STATUS and RESULTs will be processed by the MQTT HASS entity

Yes, this is exactly the point.
@mkh595 If the MQTT broker is restarted, or some MQTT message is simply lost, there is absolutely no guarantee that the states are is sync. By using tele/topic/STATE, you are guaranteed a sync within the teleperiod and whenever there is a status change.

(a few lines of code). It requires minimal YAML configuration (short topic only) and support both topics/LWT as defaults.  It does not require the startup script configuration etc.

I can share my custom Tasmota switch and binary sensor if required.

@garymcleanuk Please refer to Tasmota wiki:
https://github.com/arendst/Sonoff-Tasmota/wiki/Home-Assistant#tip-sync-power-state
https://github.com/arendst/Sonoff-Tasmota/wiki/Home-Assistant-‐-Manual-Config#tip-sync-power-state

I am not very happy with the solution based on forcing telemetry updates in Tasmota devices whenever a state change happens. It seems to work, but I think it is unnatural and innecessarily pollutes the MQTT message log.
I believe the custom HA switch by @hhaim is the best way to go: it responds to all relevant standard Tasmota messages and, as a big plus, makes device configuration extremely simple and error-free.
@hhaim Thank you for sharing your Tasmota custom components (BTW, your reference to them in your message above is broken). I have been using a modified version of the switch component, which allows for POWER as equivalent of POWER1 in state messages, and also fixes a deprecated MQTT receive-message callback. It's working like a charm. I would be happy to share those changes if you would like to integrate them into your component.

@gufonero thanks, I am almost blown my boiler with the old method :-)
The new component works fine for 6 months now.
The new links:

The wiki how to install
example for how to use almost the same.
The code is here

The same behavior can also be achieved by enabling SetOption59 in every Tasmota device and using state_topic STATE.


Feat/rewards

Messing around with a rewards table last night while watching Sentry, not ready but also not priority so raising this for later

Superseded by #782


Intermittent test failure in SimpleProducerConsumerTest.testBlockUnackConsumerAckByDifferentConsumer

As seen in https://builds.apache.org/job/pulsar-pull-request/org.apache.pulsar$pulsar-broker/21/testReport/junit/org.apache.pulsar.client.api/SimpleProducerConsumerTest/testBlockUnackConsumerAckByDifferentConsumer/
java.lang.AssertionError: expected [110] but found [100]
	at org.apache.pulsar.client.api.SimpleProducerConsumerTest.testBlockUnackConsumerAckByDifferentConsumer(SimpleProducerConsumerTest.java:1643)

seems not happened for a long time, would like to close this.


I'm a non-programmer and I find "code"offensive

The fact this program contains the word "code" in it's name is very offending. Why not remove the word "code" from it's name? I'm sure no other program did this before us!

VSCode Version: all of em
OS Version: all of em

Steps to Reproduce:

Download vscode
Read the title
Realise you could've read the title without installing vscode
???
Profit!!!

Does this issue occur when all extensions are disabled?:  We think this issue is unactionable or unrelated to the goals of this project. Please follow our issue reporting guidelines.
Happy Coding!

I am a trans-disabled person of color and I find it racist that, what seems to me to be, a white, cis, straight male gets to decide what is an issue or a non-issue for people who are not so privileged as to be able to code. I think this issue should be re-opened, addressed, and an apology should be issued. I will try and reach out to your manager at Microsoft and be sure that this is mentioned on your next performance review.


gzip on/off switch for host

Is your feature request related to a problem? Please describe.
I need to switch off gzip for a particular proxy host
Describe the solution you'd like
A toggle switch allowing me to enable/disable gzip for a particular Proxy Host
Describe alternatives you've considered
Custom configuration

5/7

How do other users of this project enable compression?
It would be really nice to have such a switch


Tooltip not working with the 'button-remove' class

I'm trying to figure out why does the 'button--tooltip' class work for the 'button-envelope' icon, but doeosn't work for 'button-remove' icon.
The following code's tooltip works:
(Working screenshot of button-envelope's tooltip)
<button class="button-envelope" type="button" onclick="location.href='...'">
    View envelope
</button>

This code doesn't work:
(Cursor on (X) button-remove - tooltip not showing)
<button class="button-remove" type="button" onclick="location.href='...'">
    Remove form
</button>

In each case the cursor is placed upon the related icon.

Currently, I worked this issue around using the following code:
<button class="button-remove button-documents" type="button" onclick="location.href='...'">
    Remove form
</button>

We do not have those CSS class in our CSS, I'm afraid you chose the wrong repository 😟


Flickering screen on M1 MacBook Air + macOS14.4.1

% sw_vers
ProductName:		macOS
ProductVersion:		14.4.1
BuildVersion:		23E224

https://github.com/context-labs/mactop/assets/64497909/3da3b8ec-293b-47f8-9351-0ba3a0e66460

This does not look like the correct mactop here, the current version is v0.1.7, not sure why it is showing v0.1.11 and the layout looks entirely different than what we offer here? For example, we do not support battery information yet. Please ensure you are installing mactop from the official homebrew repository with brew install mactop

oh interesting, you might want to discourage pip install mactop if you aren't already:
% pip install mactop==
ERROR: Could not find a version that satisfies the requirement mactop== (from versions: 0.1.0, 0.1.4, 0.1.6, 0.1.8, 0.1.9, 0.1.10, 0.1.11)


"I'm not able to serve you at the moment, please try again later"

How do I fix this problem, I can't make it work. I've tried it on two machines now. :thinking:

Make sure you have restored Database (ref Readme). If problem exists, post your gunicorn server log here

@alfredfrancis Okay, it's fixed now. Thank you. pic

@alfredfrancis However, I only used this line of code "mongorestore --drop --db=iky-ai --dir=dump/iky-ai/" I don't have docker on my machine and it appears it's still functioning. Is this acceptable? Won't I have future complications?

mongorestore is just a mongodb feature. It'll work irrespective of your installation type. No worries there.


Testing Item Counter

Feature Description #3
Make sure that the function for the items counter is covered with unit tests using Jest.
Cheer :tada: :tada:
Happy Review :clap: :clap: :clap:

@Bateyjosue
Please Fix the linter error


Feature request: NO_COLOR standard implementation

Hi, it would be great implement the NO_COLOR standard on ttchat since there's many  CLI already with it (jaq, miller, crop, upx, python, xq, etc..,) and save the users from use "color=never", "--monochrome-color" or whatever.
Command-line software which adds ANSI color to its output by default should check
 for a NO_COLOR environment variable that, when present and not an empty string
 (regardless of its value), prevents the addition of ANSI color.

By adopting this standard, users that prefer to have plain, non-colored text output
 can export NO_COLOR=1 to their shell’s environment and automatically disable color
 by default in all supported software.

If your software outputs color by default, please consider not doing so.

More info on: https://no-color.org/

Cheers

This sounds reasonable to add. If I don't get to it tomorrow, it'll probably be sometime late next week.


Use terminalTotalDifficultyPassed to determine "network is known to be merged"

Describe the feature
Right now we determine the "network is not known to be merged" based on the TTD { fork_block, .. } field:
https://github.com/paradigmxyz/reth/blob/37a8780a4d71856fddc09a9146823d00a2ed0201/crates/primitives/src/chain/spec.rs#L1478-L1482
This is incorrect because this is not enabled for mainnet:
https://github.com/paradigmxyz/reth/blob/37a8780a4d71856fddc09a9146823d00a2ed0201/crates/primitives/src/chain/spec.rs#L1346-L1351
This causes reth to incorrectly show "network is not known to be merged".
Instead we should use the terminal_total_difficulty_passed parameter if parsing from genesis.json, and introduce a parameter in ChainSpec for this. Then we can use that field to determine this messsage.
Additional context
No response

could you please assign this issue to me, I want to have a try

could you please assign this issue to me, I want to have a try

Just assigned!

I just realized we have paris_block_and_total_difficulty in ChainSpec so that could even be re-used for this


IDE question

Hi thanks for the guide, very interesting so far,
What would be the reason IDEs where left out of the discussion?

What would be the reason IDEs where left out of the discussion?

You should be able to use all the popular IDEs and editors with this workflow,
for example Visual Studio Code, or PyCharm. (If you have any problems using your
IDE or editor with it, do let me know.)
There are several reasons why I did not talk about IDEs.

IDEs generally come with their own ways of integrating tools. That's great,
but if you collaborate with other people, you need a way of setting up a
development environment that does not depend on a specific IDE. Ideally,
anybody with a shell and an editor should be up and running with your project
in a short time, and be able to contribute to it.

Another reason is that the article series tries to stay out of the business of
surveying available tools and weighing their advantages and disadvantages.
Instead, it attempts to trace one clear path through the maze that I have
found to work, without giving you a lot of options. IDEs are too much of a
matter of personal preference for that approach.

I don't use an IDE 😊

Thanks for the answer, I can see your point...
It was probably a good call to leave it out of this article series.
I am still curious about the approach of not using and IDE, pros/cons, why do you prefer it..
I'll be happy if you would elaborate on this.
Thanks!

Sure. I've just always used emacs, nowadays in the form of spacemacs with vi bindings. It still integrates with black, flake8, and mypy, for example. But I like a workflow where everything is quite decoupled and flexible, and you always keep a terminal window close. (Not saying you can't get that with modern IDEs as well, this is just what I'm most productive in right now.)

I have a question link to some issue with the pre-commit hook. before this article I used to manage git taks in git VSC git tab or in Github Desktop. Since I set-up the pre-commit hook, I have an error with VSC and Github Desktop who seem to not find poetry.
> git commit --quiet --allow-empty-message --file -
Check Yaml...........................................(no files to check)Skipped
Fix End of Files.........................................................Passed
Trim Trailing Whitespace.................................................Passed
black....................................................................Failed
- hook id: black
- exit code: 1

Executable `poetry` not found

flake8...................................................................Failed
- hook id: flake8
- exit code: 1

Executable `poetry` not found

Any idea how to solve that ? Except using only terminal to manage git stuff ;-)

It's hard to give concrete advice here, as I know too little about your specific setup. But basically it boils down to this: The process running git must have poetry on its PATH. So you need to find out two things:

Where is poetry installed on your filesystem?
What is the value of the PATH environment variable in the git process? Usually the environment is just inherited from the program invoking git, which would be VS Code or GitHub Desktop in your case. So you could start there.

If you installed Poetry as recommended in the article, your shell startup file should take care of getting Poetry on your PATH. If your editor does not see this, it was not started from a shell (directly or indirectly), so you need to find out how to configure the editor to set PATH correctly (or just start the editor from a terminal session).


Why does HP:phenotypic abormality have UBERON terms as ancestors?

In https://github.com/monarch-initiative/semsimian/issues/82#issuecomment-1658950359
@caufieldjh showed us that  HP:phenotypic abnormality is very different parents than MP:phenotypic abnormality.
Can we determine why? In particular, why does the HP term have Uberon ancestors?
@caufieldjh I will assign you for now, but feel free to talk to Chris and assign someone else - it is easier for me to work if I can assign while creating the ticket so I am sure its not dropping of the radar.

I think those other sets of ancestors may have been from a previous version of Phenio (the following is from v2023-07-11).
$ runoak -i sqlite:obo:phenio ancestors -p i,p MP:0000001
id      label
BFO:0000001     entity
BFO:0000002     continuant
BFO:0000020     specifically dependent continuant
MP:0000001      mammalian phenotype (MPO)
PATO:0000001    quality
UPHENO:0001001  Phenotype
UPHENO:0001001  phenotype
UPHENO:0001003  phenotype by ontology source

$ runoak -i sqlite:obo:phenio ancestors -p i,p HP:0000118
id      label
BFO:0000001     entity
BFO:0000002     continuant
BFO:0000020     specifically dependent continuant
HP:0000001      All
HP:0000001      All (HPO)
HP:0000118      Phenotypic abnormality
HP:0000118      Phenotypic abnormality (HPO)
PATO:0000001    quality
UPHENO:0001001  Phenotype
UPHENO:0001001  phenotype
UPHENO:0001002  Phenotypic abnormality
UPHENO:0001003  phenotype by ontology source
UPHENO:0001005  abnormal phenotype by ontology source

None of those pesky CARO or UBERON terms. Still not completely parallel, since HP:0000118 -> BFO:0000001 has to traverse UPHENO:0001005 and UPHENO:0001002.
The tree view:
$ runoak -i sqlite:obo:phenio tree -p i,p MP:0000001
* [] BFO:0000001 ! entity
    * [i] BFO:0000002 ! continuant
        * [i] BFO:0000020 ! specifically dependent continuant
            * [i] PATO:0000001 ! quality
                * [i] UPHENO:0001001 ! phenotype
                    * [i] UPHENO:0001003 ! phenotype by ontology source
                        * [i] **MP:0000001 ! mammalian phenotype (MPO)**

$ runoak -i sqlite:obo:phenio tree -p i,p HP:0000118
* [] BFO:0000001 ! entity
    * [i] BFO:0000002 ! continuant
        * [i] BFO:0000020 ! specifically dependent continuant
            * [i] PATO:0000001 ! quality
                * [i] UPHENO:0001001 ! phenotype
                    * [i] UPHENO:0001002 ! Phenotypic abnormality
                        * [i] UPHENO:0001005 ! abnormal phenotype by ontology source
                            * [i] **HP:0000118 ! Phenotypic abnormality (HPO)**
                    * [i] UPHENO:0001003 ! phenotype by ontology source
                        * [i] UPHENO:0001005 ! abnormal phenotype by ontology source
                            * [i] **HP:0000118 ! Phenotypic abnormality (HPO)**
* [] HP:0000001 ! All (HPO)
    * [i] **HP:0000118 ! Phenotypic abnormality (HPO)**

The shortest path between the two is still short: ['MP:0000001', 'UPHENO:0001003', 'UPHENO:0001005', 'HP:0000118'] but this is also part of the path between all HP and MP nodes without other shared UPHENO terms in PHENIO. My point being that there is additional distance to cover in the cross-phenotype comparisons, semsim or otherwise.

Excellent @caufieldjh. Sorry I didnt realise you made that analysis already in this ticket. I guess then CARO/UBERON was not really taken into account, right?
Lets stick with this example here for a minute.
Ok, to restate the problem: When using a lattice, we create a lot of parallel hierarchies, like HPO:All is a distinct parent of HP:PA and not of MP:PA. When using the equivalence model, MP:PA would automatically get HP:PA as a parent.
Now the question is: is that desireable?
I don't know either way right now. If the polyhierarchies are not harmonised (which they are not), the lattice models would result in a large amount of distance between terms which would have been virtually identical after the equivalence model.
cc @souzadevinicius this is going to be  the first scientific question we will have to answer!


KVSSINK adding to GST.pipeline() in python

Below is the sample code provided by NVIDIA for deepstreamsdk. analysing feed from usb cam. I am trying to add KVSSINK to the code for streaming the detected feed.
I am have been encountered with a logic_error that i am unable to understand. any ideas?

`
#!/usr/bin/env python3
import sys
sys.path.append('../')
import gi
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst
from common.is_aarch_64 import is_aarch64
from common.bus_call import bus_call
import pyds
PGIE_CLASS_ID_VEHICLE = 0
PGIE_CLASS_ID_BICYCLE = 1
PGIE_CLASS_ID_PERSON = 2
PGIE_CLASS_ID_ROADSIGN = 3
def osd_sink_pad_buffer_probe(pad,info,u_data):
frame_number=0
#Intiallizing object counter with 0.
obj_counter = {
PGIE_CLASS_ID_VEHICLE:0,
PGIE_CLASS_ID_PERSON:0,
PGIE_CLASS_ID_BICYCLE:0,
PGIE_CLASS_ID_ROADSIGN:0
}
num_rects=0
gst_buffer = info.get_buffer()
if not gst_buffer:
    print("Unable to get GstBuffer ")
    return

# Retrieve batch metadata from the gst_buffer
# Note that pyds.gst_buffer_get_nvds_batch_meta() expects the
# C address of gst_buffer as input, which is obtained with hash(gst_buffer)
batch_meta = pyds.gst_buffer_get_nvds_batch_meta(hash(gst_buffer))
l_frame = batch_meta.frame_meta_list
while l_frame is not None:
    try:
        # Note that l_frame.data needs a cast to pyds.NvDsFrameMeta
        # The casting is done by pyds.NvDsFrameMeta.cast()
        # The casting also keeps ownership of the underlying memory
        # in the C code, so the Python garbage collector will leave
        # it alone.
       frame_meta = pyds.NvDsFrameMeta.cast(l_frame.data)
    except StopIteration:
        break

    frame_number=frame_meta.frame_num
    num_rects = frame_meta.num_obj_meta
    l_obj=frame_meta.obj_meta_list
    while l_obj is not None:
        try:
            # Casting l_obj.data to pyds.NvDsObjectMeta
            obj_meta=pyds.NvDsObjectMeta.cast(l_obj.data)
        except StopIteration:
            break
        obj_counter[obj_meta.class_id] += 1
        try:
            l_obj=l_obj.next
        except StopIteration:
            break

    # Acquiring a display meta object. The memory ownership remains in
    # the C code so downstream plugins can still access it. Otherwise
    # the garbage collector will claim it when this probe function exits.
    display_meta=pyds.nvds_acquire_display_meta_from_pool(batch_meta)
    display_meta.num_labels = 1
    py_nvosd_text_params = display_meta.text_params[0]
    # Setting display text to be shown on screen
    # Note that the pyds module allocates a buffer for the string, and the
    # memory will not be claimed by the garbage collector.
    # Reading the display_text field here will return the C address of the
    # allocated string. Use pyds.get_string() to get the string content.
    py_nvosd_text_params.display_text = "Frame Number={} Number of Objects={} Vehicle_count={} Person_count={}".format(frame_number, num_rects, obj_counter[PGIE_CLASS_ID_VEHICLE], obj_counter[PGIE_CLASS_ID_PERSON])

    # Now set the offsets where the string should appear
    py_nvosd_text_params.x_offset = 10
    py_nvosd_text_params.y_offset = 12

    # Font , font-color and font-size
    py_nvosd_text_params.font_params.font_name = "Serif"
    py_nvosd_text_params.font_params.font_size = 10
    # set(red, green, blue, alpha); set to White
    py_nvosd_text_params.font_params.font_color.set(1.0, 1.0, 1.0, 1.0)

    # Text background color
    py_nvosd_text_params.set_bg_clr = 1
    # set(red, green, blue, alpha); set to Black
    py_nvosd_text_params.text_bg_clr.set(0.0, 0.0, 0.0, 1.0)
    # Using pyds.get_string() to get display_text as string
    print(pyds.get_string(py_nvosd_text_params.display_text))
    pyds.nvds_add_display_meta_to_frame(frame_meta, display_meta)
    try:
        l_frame=l_frame.next
    except StopIteration:
        break

return Gst.PadProbeReturn.OK

def main(args):
# Check input arguments
if len(args) != 2:
sys.stderr.write("usage: %s \n" % args[0])
sys.exit(1)
# Standard GStreamer initialization
GObject.threads_init()
Gst.init(None)

# Create gstreamer elements
# Create Pipeline element that will form a connection of other elements
print("Creating Pipeline \n ")
pipeline = Gst.Pipeline()

if not pipeline:
    sys.stderr.write(" Unable to create Pipeline \n")

# Source element for reading from the file
print("Creating Source \n ")
source = Gst.ElementFactory.make("v4l2src", "usb-cam-source")
if not source:
    sys.stderr.write(" Unable to create Source \n")

caps_v4l2src = Gst.ElementFactory.make("capsfilter", "v4l2src_caps")
if not caps_v4l2src:
    sys.stderr.write(" Unable to create v4l2src capsfilter \n")

print("Creating Video Converter \n")

# Adding videoconvert -> nvvideoconvert as not all
# raw formats are supported by nvvideoconvert;
# Say YUYV is unsupported - which is the common
# raw format for many logi usb cams
# In case we have a camera with raw format supported in
# nvvideoconvert, GStreamer plugins' capability negotiation
# shall be intelligent enough to reduce compute by
# videoconvert doing passthrough (TODO we need to confirm this)

# videoconvert to make sure a superset of raw formats are supported
vidconvsrc = Gst.ElementFactory.make("videoconvert", "convertor_src1")
if not vidconvsrc:
    sys.stderr.write(" Unable to create videoconvert \n")

# nvvideoconvert to convert incoming raw buffers to NVMM Mem (NvBufSurface API)
nvvidconvsrc = Gst.ElementFactory.make("nvvideoconvert", "convertor_src2")
if not nvvidconvsrc:
    sys.stderr.write(" Unable to create Nvvideoconvert \n")

caps_vidconvsrc = Gst.ElementFactory.make("capsfilter", "nvmm_caps")
if not caps_vidconvsrc:
    sys.stderr.write(" Unable to create capsfilter \n")

# Create nvstreammux instance to form batches from one or more sources.
streammux = Gst.ElementFactory.make("nvstreammux", "Stream-muxer")
if not streammux:
    sys.stderr.write(" Unable to create NvStreamMux \n")

# Use nvinfer to run inferencing on camera's output,
# behaviour of inferencing is set through config file
pgie = Gst.ElementFactory.make("nvinfer", "primary-inference")
if not pgie:
    sys.stderr.write(" Unable to create pgie \n")

# Use convertor to convert from NV12 to RGBA as required by nvosd
nvvidconv = Gst.ElementFactory.make("nvvideoconvert", "convertor")
if not nvvidconv:
    sys.stderr.write(" Unable to create nvvidconv \n")

# Create OSD to draw on the converted RGBA buffer
nvosd = Gst.ElementFactory.make("nvdsosd", "onscreendisplay")

if not nvosd:
    sys.stderr.write(" Unable to create nvosd \n")

# Finally render the osd output
if is_aarch64():
    transform = Gst.ElementFactory.make("nvegltransform", "nvegl-transform")

print("Creating EGLSink \n")
sink = Gst.ElementFactory.make("nveglglessink", "nvvideo-renderer")
if not sink:
    sys.stderr.write(" Unable to create egl sink \n")

print("Playing cam %s " %args[1])
caps_v4l2src.set_property('caps', Gst.Caps.from_string("video/x-raw, framerate=30/1"))
caps_vidconvsrc.set_property('caps', Gst.Caps.from_string("video/x-raw(memory:NVMM)"))
source.set_property('device', args[1])
streammux.set_property('width', 640)
streammux.set_property('height', 480)
streammux.set_property('batch-size', 1)
streammux.set_property('batched-push-timeout', 4000000)
pgie.set_property('config-file-path', "dstest1_pgie_config.txt")
# Set sync = false to avoid late frame drops at the display-sink
sink.set_property('sync', False)
print("Creating kvssink \n")
kvsink = Gst.ElementFactory.make("kvssink", "kvssink")
if not sink:
    sys.stderr.write(" Unable to create kvs sink \n")

print("setting ksink properties")
kvsink.set_property('stream-name',"xxxxxxx")
kvsink.set_property('access-key',"xxxxxxxxxxx")
kvsink.set_property('secret-key',"xxxxxxx")
kvsink.set_property('aws-region',"xxxxxxxx")

print("Adding elements to Pipeline \n")
pipeline.add(source)
pipeline.add(caps_v4l2src)
pipeline.add(vidconvsrc)
pipeline.add(nvvidconvsrc)
pipeline.add(caps_vidconvsrc)
pipeline.add(streammux)
pipeline.add(pgie)
pipeline.add(nvvidconv)
pipeline.add(nvosd)
pipeline.add(sink)
pipeline.add(kvsink)
if is_aarch64():
    pipeline.add(transform)

# we link the elements together
# v4l2src -> nvvideoconvert -> mux ->
# nvinfer -> nvvideoconvert -> nvosd -> video-renderer
print("Linking elements in the Pipeline \n")
source.link(caps_v4l2src)
caps_v4l2src.link(vidconvsrc)
vidconvsrc.link(nvvidconvsrc)
nvvidconvsrc.link(caps_vidconvsrc)

sinkpad = streammux.get_request_pad("sink_0")
if not sinkpad:
    sys.stderr.write(" Unable to get the sink pad of streammux \n")
srcpad = caps_vidconvsrc.get_static_pad("src")
if not srcpad:
    sys.stderr.write(" Unable to get source pad of caps_vidconvsrc \n")
srcpad.link(sinkpad)
streammux.link(pgie)
pgie.link(nvvidconv)
nvvidconv.link(nvosd)
if is_aarch64():
    nvosd.link(transform)
    transform.link(sink)
else:
    nvosd.link(sink)

# create an event loop and feed gstreamer bus mesages to it
loop = GObject.MainLoop()
bus = pipeline.get_bus()
bus.add_signal_watch()
bus.connect ("message", bus_call, loop)

# Lets add probe to get informed of the meta data generated, we add probe to
# the sink pad of the osd element, since by that time, the buffer would have
# had got all the metadata.
osdsinkpad = nvosd.get_static_pad("sink")
if not osdsinkpad:
    sys.stderr.write(" Unable to get sink pad of nvosd \n")

osdsinkpad.add_probe(Gst.PadProbeType.BUFFER, osd_sink_pad_buffer_probe, 0)

# start play back and listen to events
print("Starting pipeline \n")
pipeline.set_state(Gst.State.PLAYING)
try:
    loop.run()
except:
    pass
# cleanup
pipeline.set_state(Gst.State.NULL)

if name == 'main':
sys.exit(main(sys.argv))
`
** Any design considerations/constraints **
Explain in detail how you would like to integrate our SDK into your solution
** If you would not like to open an issue to discuss your solution in open-platform, please email your question to<EMAIL_ADDRESS>**

Hi, if you solved this, could you please share how you did it? Thank you


added api to programmatically change the view in inline mode

Love this picker. When I used it in my project, I found something amiss.
When you initialize the plugin with inline as true (only) there is no external way of changing the view. By default it shows up the datepicker. Hence if I want to change the view to a timepicker my only option is to trigger a click on the span element which shows the time icon.
I've noticed that there is no api to this effect. So I have added it.
The api call is setInlineView - it should be called with one argument (string) - either datepicker or timepicker
Running plunk: http://plnkr.co/edit/C0TbwenqXLboaVk1e2ta?p=preview

Hi.
Noticed a small bug in implementation. Suppose we are using the hour picker ui (to select hours) and then I click the date button (referring to the plunk in my previous post), it shows the datepicker ui correctly. Next, when I click the time button, it shows up the hour picker instead of the timepicker ui - which is what people would expect.
The same problem happens to  the datepicker ui too...
I've fixed this in my repo. Do I post another PR for this or revert this one?
Here is the plunk that replicates the issue: http://plnkr.co/edit/9O3RJEfjWFacaPfvxRFw?p=preview

Thanks. I deliberately did not do anything because I thought there was probably some tooling support for inserting comments. Will change it on the next commit. Please advise on whether I should create a completely new PR or revert this one?


Some commit date are showing authored date.

Commit on 13 April is showing authored date 8 Feb.

HI.
Thanks for that, can you give me the repository where it happens? I will test it soon

https://github.com/TeamBliss-LP/android_packages_apps_Settings/commits/lp5.1

thanks


Application support HA

App can register to 2+ hosts for HA.
Introduce Consul to eletion Appmanager Master to schedule Apps.

Supported


Vulnerability roundup 90: go-1.14.4: 2 advisories [5.9]

search, files

[ ] CVE-2020-15586 CVSSv3=5.9 (nixos-20.03)
[ ] CVE-2020-14039 CVSSv3=5.3 (nixos-20.03)

Scanned versions: nixos-20.03: b50d55871fb. May contain false positives.
Cc @Frostman
Cc @cstrahan
Cc @kalbasit
Cc @mic92
Cc @orivej
Cc @rvolosatovs

Addressed by https://github.com/NixOS/nixpkgs/pull/97566


Add contributing guide and add contributors section

Old version
I think contributors should be mentioned for their work in the root readme, and have a clear guide on how to contribute to the project.
New version
Would make it a lot easier for others to contribute.

@all-contributors please add @byCedric for Code Documentation Examples

@all-contributors please add @EvanBacon for Code Documentation Examples

@all-contributors please add @rodw1995 Code Documentation

@all-contributors please add @JB1905 for Bug reports Code

Done


Increase Stacked Area number of areas limit

Expected Behavior
the stacked area chart should be able to correctly handle any amount of data sources.
Current Behavior
currently the stacked area chart's maxAreaNumber parameter is hard coded to 8.
https://github.com/eventbrite/britecharts/blob/master/src/charts/stacked-area.js#L140
The chart does not draw correctly when there are more than 7 data sources.
Possible Solution
I suggest setting maxAreaNumber dynamically here
https://github.com/eventbrite/britecharts/blob/master/src/charts/stacked-area.js#L215

dataByDate = getDataByDate(data);
maxAreaNumber = dataByDate[0].values.length;

Steps to Reproduce (for bugs)

add a data source with more than 6 sources
the chart is now drawn incorrectly (see screenshot)

Screenshots (if appropriate):

Context
adding more rows breaks the chart rendering.
Your Environment

Version used:
Browser Name and version:
Operating System and version:
Link to your project or codepen:

Hi @flacoman91, thanks for the issue!
This was limited by design. We think that having more than 7 areas would hurt readability of the chart and probably make the tooltip too bulky. We recommend to do some kind of grouping of the data beforehand, so it doesn't surpass that number of areas.
That said if you feel strongly against this decision we could create an enhancement proposal and see what other people think!

Thanks for the info.
Hi, I would like to make it an enhancement proposal.
We're using up to 10 areas in our charts and also floating the tooltip outside of the svg.
Ideally, I would like to have the chart be able to handle as many areas without breaking the scaling.

I see, would you be OK with limiting to 10 then?

having it limited to 10 would work for us.   Thanks!
Here's a screenshot of a sample chart we have.

Looks like done.


Shortcut for referencing "this" resource when setting dependency IDs

Is your feature request related to a problem? Please describe.
Several resources in ARM have all sorts of children defined in the properties that each reference one anothers' IDs. Take the following ARM template when filling out properties for a LoadBalancer (many parts omitted for brevity):
variables: {
  'lbID0': "[resourceId('Microsoft.Network/loadBalancers', concat('LB-',parameters('something'))]",
  'lbHttpProbeID0': '[concat(variables('lbID0'),'/probes/ProbeA')]'
},
'resources': [
  {
    'type': 'Microsoft.Network/loadBalancers',
    'properties': {
      loadBalancingRules: [
       {
         'name': 'MyRule',
         'properties': {
            'enableFloatingIP': 'false',
            'probe': {
                'id': "[variables('lbHttpProbeID0')]"
             }
          }
       }
      ],
      probes: [
        {
          'name': 'ProbeA',
          'properties': {
             //....
           }
        }
      ]
    }
  }
]

Notably, I'm having to specify the probe, and in another variable, I'm setting up the resource ID for the parent load balancer just so I can dig right back into a child resource within the same object.
I think it'd be handy to have an option like that available in SASS or SCSS that essentially symbolizes 'this' as a single ampersand and a delimiting mark so the resource ID can be calculated out at build time instead of dealt with through the use of several variables
Describe the solution you'd like
Here's an example of what I have in mind written in Bicep to yield the above result using this symbol:
var probeName = 'Something'
resource loadBalancer 'Microsoft.Network/loadBalancer@2020-05-01' = {
  name: 'lb0'
  location: location
  properties: {
    loadBalancingRules: [
      name: 'MyRule'
      properties: {
         probe: {
           id: '&.probes.${probeName}' //This is where the change lies that I'm proposing
         }
      }
    ]
    probes: [
        {
          'name': probeName
          'properties': {
             //....
           }
        }
      ]
  }
}

Note the use of the & at loadBalancer.properties.loadBalancingRules.properties.probe.id - ideally, & would point directly to the outer-most resource currently being defined so its ID could be inferred and utilized there, but also support implicit pathing within it along with string interpolation so variables and parameters could be referenced as well.
This change would serve to eliminate some typing (always a plus in ARM template), eliminate a source for resource ID errors and cut down on the number of variables that exist for no other reason than to simplify this referencing.
Thank you for your consideration.

I like the idea overall. Anything to reduce typing is great! A couple of thoughts...

For deeper nesting situations, I think we would need the ability to reference the immediate parent instead of just the outermost parent. I think I'd prefer to use the same syntax for both instead of introducing another syntax to cover the immediate parent. In your example, it could be something like &.&.foo.

I'm a little hesitant to have a special character for this because it's not immediately obvious to the user. & specifically is typically used as a bit-wise AND operator in C-style languages, which could add to confusion. I think if we used parent or some other full (but short) word as the keyword, it would work rather well and be self-describing and self-documenting. We are considering an alternative syntax for deploying nested resources and parent would fit with that as well. The downside of using a word would be that the chosen identifier would have to be reserved in the local namespace.

1, I'd agree that there's often a need to access the immediate relative parent as well as the outermost parent, but I would separate those out to two separate symbols for clarity. I'm in the camp that self-documenting code is nice for those scenarios when you type something up and don't come back to it for a while, so having nested syntax may be less clear than not. That said, rich Intellisense can assist here if it can show what level is currently referenced.
So if you stuck with symbols then, I'd propose that a suitable symbol be used for the outermost parent (originally proposed as &) and a separate symbol for just going up to the immediate parent (^). Once the syntax is understood in the context of the Bicep language (as in SASS), I would propose it's clearer and shorter at a first glance to read &.foo and ^.foo or even ^.^.foo.

Given that it's used in the context of a string and not as part of the syntax of the outer statement, I'd be more inclined to limit any reserved keywords within the string as much as possible, especially if this is the first proposal that uses mid-string keywords. While there may be some initial confusion requiring careful consideration of which symbol to use, I'd lean more towards single characters to convey the operation than words, because again, the goal is less typing in the first place.

That said, it would eliminate having to learn special symbolic syntax in the first place to use text, so if you went this route, might I propose something like (to use the same earlier examples) <root>.foo and <parent>.foo or <parent>.<parent>.foo?

Another thought as I sit here jamming through load balancers in my file.. the availability of such a syntax (symbolic or not) would be hugely beneficial in the upcoming looping functionality. Otherwise, I'd run into issues figuring out how to reference the parent resource IDs within the loop to reference the children (rendering loops far less useful).

Related to #565

Just +1-ing a word + symbol instead of just symbol. Maybe just one leading character instead of wrapping characters though:
^this /  $this
^parent / $parent

Just to play devil's advocate a bit here:

It's going to be possible to get into some strange cyclic dependencies (e.g. with two properties that reference each other).
There may be some confusion over what can be referenced with this - I won't be able to reference 'read-only' properties (which are only returned on a resource GET), and there may be small differences in behavior between myRes.propThatIsModifiedOnAGet and this.propThatIsModifiedOnAGet (referenced inside myRes). I also wouldn't be able to do e.g. this.listKeys(). We need to consider whether these subtle differences in behavior may confuse users.
In most cases it's going to be possible to achieve the same effect by refactoring (e.g. using intermediary variables) - in fact the main cases I can think of that are interesting are this.id, this.apiVersion, and this.type, because they can't be easily refactored.
This scenario is highly unique to ARM, and specifically to the Microsoft.Network RP. The API design of referencing 'resource-like' elements which can be declared inside the parent resource using fully qualified resourceIds feels suboptimal in the first place, and not a pattern I would expect newer RPs to implement.

We'd like to see if there are other concrete examples of this issue manifesting in other RPs besides Microsoft.Network before we pick this up

For those coming here, there is an available workaround using resourceId, it works with subresources as well.
https://github.com/Azure/bicep/issues/1470#issuecomment-785758623

Closing and tracking with #1470. I think we are going to allow you to reference compile-time properties like *.id


Fix Fallback to refresh catalog when hms events are missing

Fix #20227, the implementation has some problems and can not catch event-missing-exception.
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 41.02 seconds
stream load tsv:          460 seconds loaded<PHONE_NUMBER>9 Bytes, about 155 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          57 seconds loaded<PHONE_NUMBER> Bytes, about 18 MB/s
stream load parquet:          28 seconds loaded 861443392 Bytes, about 29 MB/s
insert into select:          70.6 seconds inserted 10000000 Rows, about 141K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230703121702_clickbench_pr_171526.html


DESCW-1513: remove userRequires() and update docs

see JIRA for details: https://apps.itsm.gov.bc.ca/jira/browse/DESCW-1513

Changes made, ready to go

you still didn't update all the routes for the reports that are not using the generic controller

can you show me an example?
I think they all have the correct role.


Question about Self Attn Layer

In the SelfAttnMatch Layer, you manually modified the score tensor (line# 362), as below, can I ask what's the rationale behind this? is this step important to model performance?
if not self.diag:
x_len = x.size(1)
for i in range(x_len):
scores[:, i, i] = 0

Hi shawei3000, we do not want to add attention to the word itself, so the diag of the score tensor is masked as 0. You can see the detail and Eq.(5) in https://arxiv.org/pdf/1705.02798v3.pdf

Got it, Thank you! seanliu96! will close this question shortly...
"the diagonal of selfcoattention matrix is set to be zero in case of the word being aligned with itself"
Updating the diagonal of the matrix/tensor in tensorflow (slice update) appears not that easy or possible as in Pytorch... just in case someone might have the experience, any suggestion how to accomplish this with tensorflow tensor?


[REPL] Display the query timing

In the REPL, it would be cool to know the time it took for the query to run. Especially when trying to optimize with indices.

Hey @elprans. I want to test some of my queries regarding "one big join" vs "multiple small queries" in the context of GraphQL, and I would like to ask if such a UI feature lands can one draw conclusions directly if using TS client and not the EdgeQL? If not, or if this never lands, what is the recommended way of timing queries in TS?


Method equations should move from KEDetermisticSimulator to KEModel

Why equations is implemented on KEDetermisticSimulator ? We should ask a model about its equations not a simulator ! This can be seen from the code below, where nothing is ask about the simulator but only the model.
equations

	equations := Dictionary new.
	model compartmentNames do: [ :k| equations at: k put: OrderedCollection new ].
	model transitions do: [ :tr|
		(tr from at: #status) = #empty ifTrue:
			[ (equations at: tr to) add: (Array with: tr with: 1) ].
		(tr to at: #status) = #empty ifTrue:
			[ (equations at: tr from) add: (Array with: tr with: -1) ].
		(((tr from at: #status) ~= #empty) and: [ (tr to at: #status) ~= #empty ]) ifTrue:[
			(equations at: tr from) add: (Array with: tr with: -1).
			(equations at: tr to) add: (Array with: tr with: 1) ]
		 ].
	^ equations

Done in Kendrick-SergeStinckwich.603. equations move and rename as buildEquations. Now we need to solve : #40 by doing a merge of these two methods.


Keeps crashing

Describe your problem here.
There's a weird crash thing on 6.1

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x86/x32
Did you edit anything in this build? If so, mention or summarize your changes.
Didnt edit anything

Icon file path is incorrect

Reality
El jue., 30 de junio de 2022 10:01 p. m., frantastic24 <
@.***> escribió:

Icon file path is incorrect
—
Reply to this email directly, view it on GitHub
https://github.com/ShadowMario/FNF-PsychEngine/issues/9416#issuecomment-1171905974,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW45RP6KQYGTGWQWMHZQRFLVRZURPANCNFSM52LKELDA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Unified coding style

Since it is an open source project, common understanding of coding style might not be achievable by itself. I would suggest putting checker or even auto-formatter inside repository.
One of obvious solution would be pylint. It checks pep8 and supports even auto formatting, however it would not reformat code that does not directly violates any rule, which may be too soft approach for uniform code styling. Pep8 might not be the only source of coding style agreements.
The other tool we could use is yapf. If follows ClangFormat footsteps, which in my opinion is a good thing. The idea is  to provide set of guidelines, tool will do best to follow them and reformat code accordingly.
Obviously, we still need wiki/documentation with coding guidelines, with or without automated tool.
What do you think?

We use Code Climate: https://codeclimate.com/github/mirumee/saleor

For example we're missing checks that would force consistence in:

breaking long lines (e.g. parenthesis vs. slashes)
using single/double quotes

@patrys I'm aware of it, it does only pep8 checks and is not capable of auto-formatting code. It should stay to ensure consistency of commited work. @elwoodxblues mentioned two possible problems not covered by it.
I see some issues worth unification effort, for example:

splitting imports
blank lines in classes
closing brackets position
long list/dict comprehensions
etc.

It should do pylint checks as well unless it's no longer configured properly. Let's try to fix that first.
I'm -1 on automatic code formatting as it tends to introduce unrelated changes. We should keep cosmetic changes separate from changes to logic.
I'm +1 on having a consistent style and possibly an automatic tool we can use to format code. From my experience formatting is one thing but it won't prevent you from writing ugly code (eg. correctly wrapping Django code with long train-wrecks of chained functions will not make the code any more readable).

@patrys I would never suggest running automatic reformatting of existing code without coder interaction :smile: Whole point of tool would be to ensure programmers confidence in commit code quality, cut down time spent on tedious stuff.
Fully agree with you, look up yapf or clang-format, you might be surprised how smart it is.

I know yapf and can tell less than successful stories of it trying to deal with long lines, especially coupled with long string constants 😄

See #3846


Cannot configure severity for partial error code

I am trying to configure flake8 as such:
class test:
    __init__(self): pass  # pylint: disable=syntax-error

    a = 0
    c = 2
    b = 1

    if True:
        if True:
            pass

  "flake8.severity": {
    "convention": "Warning",
    "error": "Error",
    "fatal": "Error",
    "refactor": "Warning",
    "warning": "Warning",
    "info": "Warning",
    // builtins
    "A": "Warning",
    // mccabe
    "C": "Warning",
    // class attributes order
    "CCE": "Warning",
    // pycodestyles
    "E": "Warning",
    "E9": "Error", // Runtime
    "W": "Warning",
    // Pyflakes
    "F": "Warning",
    // PEP8 Naming convention
    "N": "Warning",
    // Simplify
    "SIM": "Warning",
    "SIM9": "Information",
    // PYI
    "Y": "Warning",
  },

Only single characters or full error code work. The following do nothing: CCE, E9, SIM, SIM9.

The check happens here, code_type is basically category. Pattern matching not supported:
https://github.com/microsoft/vscode-flake8/blob/42c7979e76dca95805a6fc6783854456abe252fc/bundled/tool/server.py#L108-L118
One of the reasons we don't allow full pattern matching, but only category or error code is this: let say you have E, E1, E13 all set to different severity, you now have to build a hierarchy that ensures that you check for E13 first, then E1, and then E, and before that you have to check for all absolute error codes.

It should be sufficient to iterate over the categories by length from longest to shortest and pick the first that fits, right?


Asset not found: ./src/containers/App/style.scss

[23:31:17] $ npm run dev

><EMAIL_ADDRESS>dev /home/awan/my_workspace/quran.com-frontend
> node webpack/dev-server.js & PORT=8000 node start.js

==> 💻  Webpack Dev Server at http://localhost:8001
[webpack-isomorphic-tools] [error] asset not found: ./src/containers/App/style.scss
==> 🌎  ENV=development
==> ✅  Server is listening at http://localhost:8000

How to fix this?

[webpack-isomorphic-tools] [error] asset not found: ./src/containers/App/style.scss
common, and happens due to the library but doesnt come back

@mmahalwy : strange, should we not fix such confusing errors in project flow?


Add the VARS observation observer to the ancillary data pane

We want to have the observer of the VARS observation visible in the right-hand ancillary data pane.

Added in v0.5.0 under the field "Observation observer".


add jdk8 to travis as addon

Current coverage is 80.33% (diff: 100%)

Merging #164 into master will not change coverage

@@             master       #164   diff @@
==========================================
  Files            16         16
  Lines          1739       1739
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1397       1397
  Misses          342        342
  Partials          0          0

Powered by Codecov. Last update d2a516f...1db38a1


Fix: Zgen fails to self-update when installed as a Git submodule

I have a repo for my dotfiles, which includes some tools as Git submodules. In this scenario $ zgen selfupdate fails because it checks wether .git is a directory. But as a submodule, .git is actually a file.
This PR checks if .git exists as a directory or a file.

Thank you!


Add ERC: Event-Driven NFT Utilities

When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md
We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met:

The PR edits only existing draft PRs.
The build passes.
Your GitHub username or email address is listed in the 'author' header of all affected PRs, inside .
If matching on email address, the email address is the one publicly listed on your GitHub profile.

Hi @abcoathup, there seems to be some issues at HTML Proofer when checking internal links like the diagram plus the reference to an existing ERC like 721 or 1155. Could you advise on this please?


Remove identical but different named functions

Any chance you could seize the occasion to add proper documentation to these functions ?

@Geod24 I added a detailed ddoc comment to explain what is returned from parent, toParent(), and toParent2(). The ddocs on isMember and isMember2 refer it.

Auto-merge toggled on


Binding commands to Supported Events

Can we bind commands to ViewModel with  Supported Events DragStarted and DragComplete
If it's posible can you provide simple example

You can use EventToCommandBehavior
https://developer.xamarin.com/samples/xamarin-forms/behaviors/eventtocommandbehavior/


A UDP association terminates when the TCP connection that the UDP ASSOCIATE request arrived on terminates

//A UDP association terminates when the TCP connection that the UDP ASSOCIATE request arrived on terminates.

it seems that you haven't  implemented this function yet?

Thx, I am working on this function.

Before check this issue, we must strictly associate the UDP and TCP connection, #5

just set Server.LimitUDP = true


⚠ SceneTime has degraded performance

In 32564d8, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1532 ms

Resolved: SceneTime performance has improved in 324d7c4 after 16 minutes.


Suggestions: Terminal support and OpenDevin intergration, further training

OpenDevin has a problem about interacting with terminal. It would be nice to let this RL agent to operate in terminal and use Vim, even play VimGolf.
I haven't seen a single agent/model capable of doing that, but this one has the potential.

Further training involves automatic task generation and evaluation.
I can name a few for you:

Generate random trajectories with random clicks and keystrokes use agent to describe them as text, then train the RL agent to follow the description, finally verify the result by screenshots or keywords
Mangle Python libraries, collect code running results before, train the agent to fix the code and verify by running the code afterwards
Develop consensus mechanism between RL agents and human, complete human given tasks, earn cryptos for survival

Also you can check my project for more information.

Thanks for your interest in our work. We are currently developing better RL agents and integrating larger models for the algorithm. Most of the ideas you mentioned are in scope of our near research - please keep an eye on our research!

Closing due to inactivity.

Developed a terminal interaction environment for agents, capable of converting all info from terminal into meaningful text, including cursor and styling information.

Terminal environment can be captured as image with cursor denoted in red:


New branch

🛠 Issue (Number)

Closes #1484
Description
I have added a Binary <---> Decimal Converter made using HTML, CSS, JavaScript.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[x ] I have made this from my own
[x ] I have taken help from some online resourses
[x ] My code follows the style guidelines of this project
[x ] I have performed a self-review of my own code
[ x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ x] My changes generate no new warnings
[ ] The title of my pull request is a short description of the requested changes.

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

@TusharKesarwani @harshit-paneri  Sir can u please review it.

The project is already present in the repo


Improve getNearbyEntities calls

comment from https://github.com/SpongePowered/SpongeCommon/pull/1479
add a method
World#getNearbyEntities(Position, radius, loadChunks)
Location#getNearbyEntities(radius, loadChunks) could be possible as well.
So far we have a method Entity#getNearbyEntities(Position, radius) this method is quite insufficient because sometimes we might want to get a list of entities, which are around  a location, rather than around another entity.
Currently similar thing can be achieved by World#getIntersectingEntities(AABB) but i believe that having methods as described above would be still quite helpful.

@NeumimTo Interested in giving me a PR? I'd appreciate it.

Yep, I could code it during the weekend.

https://github.com/SpongePowered/SpongeAPI/commit/1e8eecda2e651ed12f8fadb33b272461fea291e4


neo-cli run fail

systemctl:Ubuntu16.04
Excuse me, why the error?

We must release plugins too

@shargon The plug-in problem has been resolved. Why do the following errors occur as soon as you enter neo-cli

@DingGeng-GitHub It's because that the max connection number of some seed nodes is full at that time. It will find any free connection, but need some time. I think it'll connnect suceesfully after 1 minute.


Datepicker: component, and example updates

Acceptance Criteria:

Add the "choose a date" example from the figma design

The "Today" tertiary button should choose the current date.

Include "Disabled" boolean option (disabled visual treatment follows "input" convention border: grey 200, background: grey 100, icon color: "color text disabled")

Disabled Yes (Checkbox)

Width of "current day" underline should be 24px
Width of "Month" dropdown should be wider then the "Year" dropdown
"Month" dropdown should spell out full month (not abbreviated)

Product team reached out today with this expressed need:
From Lia Shechter - A user needs to add a service to an agreement, they need to submit a form. We need to disable the fields before the user commits to a specific service type. (all in one page)


arguments: Move region and profile flags

Instead of blanket-enabling the --region and --profile flags, we add
them to the commands that benefit from them. This avoid confusion by
removing them from the help entries of non-relevant commands.

@vkareh I'd like to test this one before we merge, I was looking at the region flag as it doesn't work with the list command and somewhere else that I don't remember :slightly_smiling_face: - Looks like you've fixed the list command though :+1:

/lgtm


Add usrbadpix file to nustar_script repo

We always turn these off anyways, so do this self-consistently in nupipeline rather than doing it by hand.
When you're done, remove these filter calls from the filter.py module.

Closed in PR #32


Use Conan package manager to link jsmn

Description
Resolves #69
Type of change

[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

can you add a simple Readme:

what needs to be installed: cmake, conan
how to install conan packages
how to run builds
how to configure VSCode extensions

Because I could not make it run locally

Planning to add it on #76 once I finish this one


docstring in let statements

Examples are here. Values of docstrings should be able to be extracted from functions at runtime.

Closing for uncertainty of feature needs.


Problem with the Euro character

Microsoft PowerToys version
0.76.0
Installation method
PowerToys auto-update
Running as admin
None
Area(s) with issue?
General
Steps to reproduce
Hello,
I update the PowerToys to the lastest version (from 0.75.1 to 0.76.0). Since the installation, it's impossible to have the Euro character (the key combinaison Alt Gr+e) doesn't work anymore.
When I stop the Powertoys, I can use the key combinaison. I didn't check all other keys combinaisons.
✔ Expected Behavior
The keys combinaison should work
❌ Actual Behavior
Impossible to use the key combinaison
Other Software
No response

HI, Thanks for reaching out. Could you try disabling PowerToys modules one by one from PowerToys settings and try typing Euro character to see which module causes this? Also, could you attach /bugreport? Thanks!

PowerToysReport_2023-12-08-14-52-42.zip

Hello, I test and the problem is linked with the modules Mouse without borders. When this module runs, the key combinaison doesn't work.

Hm.. @yuyoyuppe any ideas?


[androidtv, firetv] fails to run app-harness

Describe the bug
Cant' run app-harness on androidtv and firetv (tested on release/1.0 branch)
To Reproduce

Do npx rnv run -p androidtv on app-harness package -> observe

Expected behavior
App launches on simulator and no errors
Screenshots or copy&paste
┌─────────────────────────────────────────────────────────────────┐
│ ✔ BUNDLER STARTED | 5/2/2024, 9:37:42 AM |<EMAIL_ADDRESS>    │
│ $ npx rnv run -p firetv                                         │
├─────────────────────────────────────────────────────────────────┤
│ Project<EMAIL_ADDRESS>                         │
│ Workspace: rnv                                                  │
│ Platform (-p): firetv                                           │
│ Engine: engine-rn-tvos                                          │
│ Template: @rnv/template-starter                                 │
│ App Config (-c): harness                                        │
│ Build Scheme (-s): debug                                        │
│ Target (-t): Television_1080p_API_31                            │
│ Supported Platforms: ios, android, androidtv, firetv, androidwear, web, tizen, tvos, webos, macos, tizenwatch, kaios, chromecast, linux
│ Env Info: darwin | arm64 | node v18.19.0                        │
│ Executed Time: 0h:0m:36s:930ms                                  │
│ info: ✔ Found active emulator! emulator-5554. Will use it
│ Project location: ./platformBuilds/harness_firetv               │
└─────────────────────────────────────────────────────────────────┘
 BUNDLE  ./index.js

 LOG  Running "RNVApp" with {"rootTag":11}
 ERROR  Invariant Violation: requireNativeComponent: "RCTScrollViewTV" was not found in the UIManager.

This error is located at:
    in RCTScrollViewTV (created by ScrollView)
    in ScrollView (created by ScrollView)
    in ScrollView (created by AppContent)
    in RCTView (created by View)
    in View (created by AppContent)
    in RCTView (created by View)
    in View (created by AppContent)
    in AppContent (created by App)
    in LoggerProvider (created by App)
    in RNCSafeAreaProvider (created by SafeAreaProvider)
    in SafeAreaProvider (created by App)
    in App
    in RCTView (created by View)
    in View (created by AppContainer)
    in RCTView (created by View)
    in View (created by AppContainer)
    in AppContainer
    in RNVApp(RootComponent), js engine: hermes
 ERROR  Invariant Violation: requireNativeComponent: "RCTScrollViewTV" was not found in the UIManager.

This error is located at:
    in RCTScrollViewTV (created by ScrollView)
    in ScrollView (created by ScrollView)
    in ScrollView (created by AppContent)
    in RCTView (created by View)
    in View (created by AppContent)
    in AppContent (created by App)
    in LoggerProvider (created by App)
    in RNCSafeAreaProvider (created by SafeAreaProvider)
    in SafeAreaProvider (created by App)
    in App
    in RCTView (created by View)
    in View (created by AppContainer)
    in RCTView (created by View)
    in View (created by AppContainer)
    in AppContainer
    in RNVApp(RootComponent), js engine: hermes
 ERROR  Invariant Violation: requireNativeComponent: "RCTScrollViewTV" was not found in the UIManager.

This error is located at:
    in RCTScrollViewTV (created by ScrollView)
    in ScrollView (created by ScrollView)
    in ScrollView (created by AppContent)
    in RCTView (created by View)
    in View (created by AppContent)
    in RCTView (created by View)
    in View (created by AppContent)
    in AppContent (created by App)
    in LoggerProvider (created by App)
    in RNCSafeAreaProvider (created by SafeAreaProvider)
    in SafeAreaProvider (created by App)
    in App
    in RCTView (created by View)
    in View (created by AppContainer)
    in RCTView (created by View)
    in View (created by AppContainer)
    in AppContainer
    in RNVApp(RootComponent), js engine: hermes
 ERROR  Invariant Violation: requireNativeComponent: "RCTScrollViewTV" was not found in the UIManager.

This error is located at:
    in RCTScrollViewTV (created by ScrollView)
    in ScrollView (created by ScrollView)
    in ScrollView (created by LogBoxInspectorBody)
    in LogBoxInspectorBody (created by LogBoxInspector)
    in RCTView (created by View)
    in View (created by LogBoxInspector)
    in LogBoxInspector (created by _LogBoxInspectorContainer)
    in RCTView (created by View)
    in View (created by _LogBoxInspectorContainer)
    in _LogBoxInspectorContainer (created by LogBoxStateSubscription)
    in LogBoxStateSubscription
    in RCTView (created by View)
    in View (created by AppContainer)
    in RCTView (created by View)
    in View (created by AppContainer)
    in AppContainer
    in LogBox(RootComponent), js engine: hermes
 ERROR  Invariant Violation: An error was thrown when attempting to render log messages via LogBox.

requireNativeComponent: "RCTScrollViewTV" was not found in the UIManager.

This error is located at:
    in RCTScrollViewTV (created by ScrollView)
    in ScrollView (created by ScrollView)
    in ScrollView (created by LogBoxInspectorBody)
    in LogBoxInspectorBody (created by LogBoxInspector)
    in RCTView (created by View)
    in View (created by LogBoxInspector)
    in LogBoxInspector (created by _LogBoxInspectorContainer)
    in RCTView (created by View)
    in View (created by _LogBoxInspectorContainer)
    in _LogBoxInspectorContainer (created by LogBoxStateSubscription)
    in LogBoxStateSubscription
    in RCTView (created by View)
    in View (created by AppContainer)
    in RCTView (created by View)
    in View (created by AppContainer)
    in AppContainer
    in LogBox(RootComponent), js engine: hermes

Desktop (please complete the following information):

OS: macOS Ventura 13.6.4 (M2)
Node Version v18.19.0
RNV Version 1.0.0-rc.17

works on rc.19


60 close the donation campaign once the targeted amount is reached

I've implemented functionality for closing the campaign if the target amount has been reached.
NOTE: If the target amount has been reached you could still add payments.

I have just noticed that when you add a Donation, the vault amount does not Update.
Should we create a issue for that?

Well done, merging now, but please add some tests for the next PR!

Thanks!
I will add some tests for future PRs.
I have noticed that you can create a donation(from the donation service), which will not update the 'amount' property of the vault that it was added to.
I will create an issue for that and fix it later.


http: modify authority validation to allow @ character

Commit Message: http: modify authority validation to allow @ character
Additional Description:
Envoy uses the authorityIsValid() to validate the authority header for both H/1 and H/2 codecs.
Previously Envoy used the nghttp2 validator and in #24943 this was changed to oghttp2's implementation.
The two implementations differ in the way they handle the "@" character (nghttp2 allows it, and oghttp2 doesn't).
According to the H/2 spec, the "@" character is not allowed as part of the authority header. However, for H/1 it is allowed as part of the "user-info@host:port" structure of the authority header.
This PR changes the validator to be similar to the nghttp2 implemenation.
The change can be temporarily dis
In the future, when Envoy fully supports UHV (#10646), the H/1 and H/2 validation parts should be decoupled, and the oghttp2 authority validation can be used for H/2.
Risk Level: low - allows one more character than what was allowed by default by oghttp2.
Testing: Added explicit tests.
Docs Changes: N/A
Release Notes: Added a release note
Platform Specific Features: N/A
Optional Runtime guard: Added the envoy.reloadable_features.internal_authority_header_validator runtime guard.

/assign @birenroy @yanavlasov

/wait-any

why marked as wait-any?  it looks like it's waiting on a review pass?

Waiting on @birenroy approval.


[fix][broker] Fix avoid creating new topic after migration is started

Motivation
Right now, blue broker deletes the topic once all producers and subscriptions are migrated to green cluster. Blue cluster persist topic's migration state into zk with managed-ledger metadata. However, once topic fully migrates to green cluster, blue cluster broker deletes the topic and deletes the topic's managed-ledger metadata because of that next time if client connects to blue-broker on the same topic, blue broker recreates the same topic again which can cause incorrect connection and data loss during migration. Therefore, blue broker should not allow any new topic creation if migration is started for that namespace to avoid such data loss and incorrect connection. This PR depends on #21354
Modifications
Broker fails to create topic if migration is enabled for that namespace and sends migration error to client so, client can connect to green cluster.
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

Hi @rdhabalia , cluster migration is introduced by 3.0, so I think we need to cherry-pick this patch to branch-3.0 and branch-3.1


Allow show_staged_diff to open in a vertical split

Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
I'd like to be able to configure show_staged_diff to open in a vertical split. At the moment it always opens the diff buffer at the bottom, but I'd love to see it to the right.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
I'd love to send you a PR if you help me by pointing out where the code should go.

Sounds good - its defined on line 57 here:
lua/neogit/buffers/diff/init.lua
Check out some other buffers where a config value is passed there instead :)


Berry usage threshold

Allow users to define berry usage threshold
Possible scenario

If user always has excess berries when clearing inventory, adjust the berry threshold higher so that berries are used more often.
Users who always have very limited berries can tweak the berry threshold lower and save more berries for VIP pokemon.

@solderzzc Ping

@alexyaoyang  I like the default value, most time that's reasonable from submit. Then users even don't need modify it in config.json

@solderzzc  I'm happy with the defaults too. Just figured this may be useful for some 👍


Requests silently fail to enqueue

Looks like the logic isn't check for an error and is, thus, falsely reporting success.

Fixed by #36


json-schema thingy

to generate schema from R lists or JSON
https://github.com/Nijikokun/generate-schema

to generate useable forms from the json-schema
https://github.com/jdorn/json-editor
https://github.com/joshfire/jsonform
https://github.com/gitana/alpaca

https://github.com/A1rPun/transForm.js

https://github.com/rhalff/leason a json schema learner


Rejects folder: should messages be set as unread?

Messages in the Rejects folder show up as read shouldn't they be marked as unread?
The annoyance is when moving them to Inbox they should logically display as unread.

They are added to the Rejects as "read" so they don't constantly draw attention. I would be inclined to look at the messages in the rejects folder too often. It is a good idea to mark messages that are moved out of the Rejects mailbox as unread.
Having messages in the Rejects mailbox should hopefully be very rare. It is for me. So let's investigate (in issue #64) why that is happening.

They are added to the Rejects as "read" so they don't constantly draw attention.

Absolutely, marking them as "read" in the Rejects folder to avoid constant alerts is a smart feature.
Your commit that toggles them to "unread" only when moved is truly ingenious!


Add Textpattern

https://github.com/drmonkeyninja/awesome-textpattern
This is the awesome list for the Textpattern CMS and has been around for well over a year now. The list uses Textile instead of Markdown, but this is because Textile is the default markup syntax used by the Textpattern community and so was chosen to encourage participation.

[x] I have read and understood the contribution guidelines and the instructions for creating a list.
[x] This pull request has a descriptive title. (For example: Add Node.js)
The list I added

[x] has been around for at least 20 days,
[ ] is a non-generated Markdown file in a GitHub repo,
[x] is not a duplicate,
[x] only has awesome items with descriptions (Awesome lists are curations of the best, not of everything),
[x] contains the awesome badge on the right side of the list heading,
[ ] has a Table of Contents section named Contents as the first section,
[x] has an appropriate license (Meaning something like CC0, NOT a code licence like MIT, BSD, Apache, etc),
[x] has contribution guidelines,
[x] has been checked for inconsistent formatting, spelling, and grammar (This includes starting each link description with an uppercase character and ending it with a period ., and consistent naming),
[x] has been added at the bottom of the appropriate category.

has a Table of Contents section named Contents as the first section,

Not done.

is a non-generated Markdown file in a GitHub repo,

Any reason for not using markdown? We prefer markdown as it's much easier to use and can mean that new contributors to awesome lists can get editing right away without learning complicated syntax.

Don't use the en-dash between link and description. It's not meant for that purpose.
I would like to see more than just plugins. Include some blog posts, tutorials, links to community resources (Example: https://github.com/sindresorhus/awesome-electron#community), videos of talks, book, learning material, etc.

@davisonio I've updated the 'Table of Contents' to just 'Contents', I'd missed that one when submitting this as I've been maintaining Awesome Textpattern for a while now and at the time the other Awesome lists all seemed to use 'Table of Contents' (and still do).
As for the use of Textile over Markdown the reasoning is basically the same as yours for using Markdown for the Awesome lists. Markdown isn't commonly used by the Textpattern community as the Textpattern CMS has always used Textile as it's main markup syntax and so is more familiar to its users. Switching the list to Markdown would add a barrier to Textpattern users to contributing to it and I'd rather make it easy for others from the CMS's community contribute to it.
@sindresorhus the en-dash is an unfortunate side effect of using Textile due to the way it gets rendered. As for non-plugin resources there are already a few listed but I've added a Community section and asked the Textpattern community to help expand this.

Regarding use of Textile, makes sense.
I do like to see more blog posts, tutorials, videos of talks, book, learning material, etc, being added though. Here's an example of how it's done: https://github.com/sindresorhus/awesome-electron#documentation

I would drop the inspired by the awesome-php idea. part. You can rather link to that list in a Related section at the bottom.
the default theme => The default theme.

@sindresorhus I've fixed the merge conflict and added a description. I've also fixed those issues with Awesome Textpattern. 😀

ping :)

Landed :)
Noticed a couple of more things now though:

Include project logo in the top right, like e.g. https://github.com/sindresorhus/awesome-electron (The logo should link to the project website) (The logo should be high-DPI, set it to minimum half the width of the original image)
There should be a succinct summary at the top about the project.

Thanks @sindresorhus. I'll look into getting those further points sorted. 😃


Add ValidationRuleSet.Remove

Can you also rebase onto vnext please so we don't get all this merge commits in the way?

ok

In reply to:<PHONE_NUMBER>


Incorrect file name

Incorrect file name

Here the actually correctly named name of the component, which by convention derived from name of CSHTML file. So I belive documentation is correct

Then 'ConfiguredPizzaItem' is not a better option?

Yes. You are right.

Ok, adjusted.


all emails stay pending

The server was running fine... all of a sudden it stopped working. When I test it, I find that port 25 is open. But Emails Stay pending.

there is the out put of postal status

The low time value mentioned in your screenshot implies that Postal was restarted recently. You may need to use the database directly to free any messages which are locked to a queue process that no longer exists.

The low time value mentioned in your screenshot implies that Postal was restarted recently. You may need to use the database directly to free any messages which are locked to a queue process that no longer exists.

How I do That?

Using a database program you can look at the database directly and read this to get a steer
https://github.com/postalhq/postal/issues/1119#issuecomment-643985608


Refine nio framework

Description

Now the NIO framework is originally from Poco, but the fremework is not mature enough. We should improve the framework and make it more efficient and strong.
Are you willing to submit PR?

@lzydmxy Please review the PR.


set appropriate table query when createTable is replaced  with alterTable

just sending a quick PR to highlight bug I found - if table exists you're changing the alterTable method to true but still using this.query.table rather than the table.name passed  to createTable action
I think this might be a general source of errors since when testing out nano I was getting cannot read pkCol of undefined,  cannot read count of undefined, and cannot read indexes of undefined likely because underlying method was intercepted but table/query arguments were not accounted for

@ClickSimply why are you resetings the count after dropping the table here? https://github.com/ClickSimply/Nano-SQL/blob/88b5c6655cf594ca8135c2c2e7fdbbb959fa403b/packages/Core/src/query.ts#L2095

I guess it might be more appropriate to delete the count altogether for that table, it just makes sure if another table is created with the same name the count doesn't get migrated over from the old table.
Thanks for the PR!  I'll drop this into the next update.

can two tables be created with same name? or you mean like while table was being dropped another one was created?
I asked b/c when dropped a table I noticed that this.nSQL.getDB(this.databaseID)._tables[table] is returning undefined and causing an error

No, two tables with the same name can't be created at once.  Not sure why my tests didn't catch that, the line shouldn't be there if the entire table config has already been deleted.

@ClickSimply, is it possible to get a release with these changes?

Yes, just completed the SnapDB update to solve the issue with Windows, so this PR should be live soon.

This PR is live in 2.3.4


new ZstdOutputStream won't end.

new ZstdOutputStream(outStream) won't end.
I think the following code is a recursive call to the constructor.
    public ZstdOutputStream(OutputStream outStream) throws IOException {
        super(outStream);
        // create compression context
        this.stream = createCStream();
        this.closeFrameOnFlush = false;
        this.dst = new byte[(int) dstSize];
    }

Hmm, you are right - stupid copy/paste error. And the tests didn't caught it as they cycle to compression levels. I will put patch release soon.

Hmm, are you sure this is the problem? Here is a quick check:
sbt:zstd-jni> console
[info] Starting scala interpreter...
Welcome to Scala 2.12.6 (OpenJDK 64-Bit Server VM, Java 1.8.0_212).
Type in expressions for evaluation. Or try :help.

scala> import java.io._
import java.io._

scala> val outs = new FileOutputStream("test-out.zst")
outs: java.io.FileOutputStream = java.io.FileOutputStream@20bc1f60

scala> import com.github.luben.zstd._
import com.github.luben.zstd._

scala> var zst = new ZstdOutputStream(outs)
zst: com.github.luben.zstd.ZstdOutputStream = com.github.luben.zstd.ZstdOutputStream@cf7b61c

scala> zst.write("test".getBytes)

scala> zst.close()

[1]  + 18580 suspended  sbt
[luben2] ~/src/zstd-jni [git::master]
$ zstdcat test-out.zst
test%

Sorry, my class path setting was incorrectly configured.


lets refactor the model into a separate jar with smaller dependences so its easier to embed into tools like forge

lets refactor the model into a separate jar with smaller dependences so its easier to embed into tools like forge

[merge]


Certificate for c2patool in sample folder is expired

The c2patool is returning a CoseCertExpiration error when attempting to sign an asset.  It looks like the test certificate expired today.  I substituted a different certificate and was able to sign assets without an error.
https://github.com/contentauth/c2patool/blob/main/sample/es256_certs.pem
[2023-04-04T20:47:13Z ERROR c2pa::store] Signature that was just generated does not validate: CoseCertExpiration
Error: embedding manifest

Caused by:
    COSE certificate has expired

Cert updated.

After using the updated cert and key, getting COSE Expired Error. Here is the entire message.
c2patool failed with 1: b'[/home/bhavika/.cargo/registry/src/github.com-1ecc6299db9ec823/c2pa-0.19.1/src/resource_store.rs:95] &id = "xmp-iid-b8282a9f-d42b-458b-81fe-47b0511104fb.jpg"\n\n\n-----------\n\nNote: Using default private key and signing certificate. This is only valid for development.\nA permanent key and cert should be provided in the manifest definition or in the environment variables.\n\n[/home/bhavika/.cargo/registry/src/github.com-1ecc6299db9ec823/c2pa-0.19.1/src/resource_store.rs:95] &id = "xmp-iid-fe6f3a2c-e02d-4fc6-b9bd-3a94cfd1a735.jpg"\n[2023-04-05T04:22:13Z ERROR c2pa::store] Signature that was just generated does not validate: CoseCertExpiration\nError: embedding manifest\n\nCaused by:\n    COSE certificate has expired\n'


[FEATURE] Support new Imagen parameters and get ready for Imagen v3

Not all of the latest image generation parameters are supported yet for Imagen: for example aspect ratio, watermarking, generation of persons, mime type, etc. Some of these parameters are also specific to Imagen v3, which isn't officially generally available yet.
The goal of this ticket is to add the missing parameters, and also to prepare for the arrival of Imagen v3 and ensure that LangChain4j's support will be ready.

Implemented in https://github.com/langchain4j/langchain4j/pull/1278


Typo: "Unkown" --> "Unknown"

Thanks but did https://github.com/GoogleCloudPlatform/gcloud-maven-plugin/commit/729cbe20e898268102e3ffdf5e5bfec189b4afbf already!
Anyway, contributions are really welcome, so thanks!


Question regarding strange/verbose log message format

Hello! When I execute some terragrunt code, it always outputs its logs like this:

What is this INFO[0000]? Is it supposed to be like this or is my terminal misinterpreting the outputs from terragrunt logging?
Would prefer to only have INFO or something.
Terragrunt version:  v0.40.2

Hi,
since to print logs is used logrus library, it is the number of seconds from starting of application
https://github.com/sirupsen/logrus/blob/master/text_formatter.go#L287

Thanks! That explains it. Closing this 👍


Fix Invalid start/end date or time entry deletes it's pair, fixing doesn't fix validation

Fix Invalid start/end date or time entry deletes it's pair, fixing doesn't fix validation

Fixes validation on date time models https://rockabox.tpondemand.com/entity/11087

#checkmeout #angular #datefix

Have tested on CM, it looks fixed to me.