Controller state and hand tracking?

It would be nice if we could implement both controller state and hand tracking in the OSVR plugin.
Questions to answer (feel free to answer them in a reply below, I'll update the issue):

Do we add a new tracked device for each hand, or are the tracked devices part of the controller state?
Can we add controller state without a tracked hand? Example: OSVR supports an Xbox controller via the VRPN driver. In this case we don't have a tracked hand but we have a controller.
Can we have a tracked hand without controller state? Example: Leap motion or Nod or other device that tracks hands but doesn't have buttons (unless you mapped them to gestures).
If we return a new tracked device for each hand, how do we tell it we're the "left hand" or the "right hand"?

As far I could see, there is no support for controllers in the code for now.
I managed to add this support. For now both controllers are detected by SteamVR and they are sending some dummy data to SteamVR. Next I will try to add the interface to the OSVR-Tree and then I will make a Pull request.

Each hand is an own tracked device.
If I understand you right: yes.
We don't need to send the button states, so yes.
I don't know at the moment.

Each hand is its own tracked device.
Yes.
yes
is it possible to split the tracking in two halves, or maybe track the thumb.

Fwiw, just did an implementation of the other side of this with the
OSVR-Vive plugin, which acts like a partial implementation of steamvr (the
driver loading side). I've put a few notes below in case they're helpful,
if anyone gets stuck I probably now have something to offer here, at least
as far as observed behavior of what the first party Vive plugin is sending
to steam vr.
Everything is a tracked device first and foremost. Some devices are also
other types (inherit from other "component" bases, like display, or
controller), which are accessible via a get component call that is vaguely
like query interface. Most of the reporting is done through calling methods
of a "server driver host", and so I don't remember offhand what exactly the
controller component adds to the mix besides identifying a symbolic role: I
do know that the Vive HMD itself has a button on it, that I'm pretty sure
it just reports normally like other buttons, but I know it does not report
a controller component.
Buttons are in a bit mask, iirc, and analogs are in pairs called axes, with
some semantic labeling (from enums) possible but limited (header comment
notes that the analog trigger is in the x channel of its pair of axes, for
instance)
Tracked devices can also have some properties, some of which are relatively
required, some are relatively obscure, and knowing the difference is
anyone's guess: the only really important one is ID aka serial number since
it's used as a system wide unique ID, at least within (not sure if between
or not) a session, to identify a data source (a " tracked device ") - I'd
suggest deriving something from the fully resolved original source of an
alias. (The catch is that this is far more granular: it's one data stream
from one device - but as long as it's deterministic it should be fine)
Doing this right will involve using some more of the internal APIs (mainly
a few pieces in OSVR common) of OSVR to introspect/traverse the path tree.
On Fri, Mar 18, 2016, 12:53 PM DjDyll<EMAIL_ADDRESS>wrote:

Each hand is its own tracked device.
Yes.
yes
is it possible to split the tracking in two halves, or maybe track
the thumb.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/OSVR/SteamVR-OSVR/issues/30#issuecomment-198469855

--
Ryan A. Pavlik, Ph.D.
Senior Software Engineer
Sensics, Inc.
www.sensics.com

Re left and right hand, I think they take controllers as ambidextrous and assign hands up at a middle ware level: there appears to be nothing down at the driver level about that. OSVR would have a plugin watching the head and wands and eventually adding left and right aliases to the tree; in steamvr while the left and right hand controller enumeration is in the driver header it looks like an accident, because it's not actually used anywhere, or at least anywhere publicly.

Additional Notes:

The start of an implementation: Controller Branch
Reference for Razer Hydra: git repo

I will attempt at updating the controller branch soon.  My motivation is getting this working for the NoloVR controller tracking.


Hosting

Fly.io has replicated hosting for Postgres and SQLite
it’s free up to a certain level .

https://fly.io/blog/free-postgres/

https://fly.io/docs/litefs/

https://github.com/athena-logistics/athena-backend/blob/main/.github/workflows/part_deploy.yml shows how to build the Container to Github Container Registry and then Deploy to Fly.io.

I am not sure what this has to do with Bob.

It’s to easily run and scale out and host bob .


Update interopFableFromJs sample (not working with serve yet though)

Hello, I've tried updating interopFableFromJs sample like everything else but I can't get it to work with webpack serve
If I build it using dotnet fable src --run webpack and serve files from public locally, everything is fine, however in 'dev-server' mode it doesn't work.
Any ideas, @alfonsogarciacaro ?

Hmm, this is strange. Using libraryTarget: "var" does expose MyFableLib globally but the exports are gone. Not sure if it's a Webpack issue, but since the example is just about interop with Fable from JS we can just use a separate JS file as entry and it works: https://github.com/fable-compiler/fable3-samples/commit/3aab064c84f4472a15e9b0efea7f3942ed2a02ed

Hmm, this is strange. Using libraryTarget: "var" does expose MyFableLib globally but the exports are gone. Not sure if it's a Webpack issue, but since the example is just about interop with Fable from JS we can just use a separate JS file as entry and it works: https://github.com/fable-compiler/fable3-samples/commit/3aab064c84f4472a15e9b0efea7f3942ed2a02ed

I've cherry-picked the changes and can confirm that it works now. the PR is ready for merging

I've cherry-picked the changes and can confirm that it works now. the PR is ready for merging

Great, thank you!

Great, thank you!


limits.cpu not being applied 'lxc config set ContainerName limits.cpu'

The template below is mostly useful for bug reports and support questions.
Feel free to remove anything which doesn't apply to you and add more information where it makes sense.
Required information

Distribution: Ubuntu
Distribution version: Ubuntu Xenial Xerus (development branch)
The output of "lxc info" or if that fails:
apicompat: 0
auth: trusted
environment:
addresses: []
architectures:

x86_64
i686
certificate:
driver: lxc
driverversion: 2.0.0
kernel: Linux
kernelarchitecture: x86_64
kernelversion: 4.4.0-17-generic
server: lxd
serverpid: 3309
serverversion: 2.0.0.rc9
storage: zfs
storageversion: "5"
config:
storage.zfs_pool_name: mypool
public: false

Issue description
limits.cpu does not take effect
Steps to reproduce

Run the following command, where 'first' is name of container: lxc config set first limits.cpu 2
Check if change has taken effect: lxc exec first -- cat /proc/cpuinfo | grep ^proces
Result is negative. Also tried to set the cpu limit to 4 with no change in effect.

Information to attach

[ ] any relevant kernel output (dmesg)
[192385.233582] audit: type=1400 audit(1460380451.489:44): apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="lxd-first_</var/lib/lxd>" name="/sys/fs/cgroup/" pid=3988 comm="cgproxy" flags="rw, remount"
[192385.344954] audit: type=1400 audit(1460380451.601:45): apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="lxd-first_</var/lib/lxd>" name="/sys/fs/cgroup/" pid=4058 comm="cgproxy" flags="rw, remount"
[192385.552609] audit: type=1400 audit(1460380451.809:46): apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="lxd-first_</var/lib/lxd>" name="/sys/fs/cgroup/" pid=4149 comm="cgproxy" flags="rw, remount"
[192385.724240] audit: type=1400 audit(1460380451.981:47): apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="lxd-first_</var/lib/lxd>" name="/sys/fs/cgroup/" pid=4189 comm="cgproxy" flags="rw, remount"
[192386.054958] audit: type=1400 audit(1460380452.309:48): apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="lxd-first_</var/lib/lxd>" name="/sys/fs/cgroup/" pid=4221 comm="cgproxy" flags="rw, remount"

[ ] main daemon log (/var/log/lxd.log)
t=2016-04-11T15:37:37+0200 lvl=eror msg="balance: Unable to set cpuset" value=3,4 name=first err="Failed to set cgroup cpuset.cpus="3,4": setting cgroup item for the container failed"
t=2016-04-11T15:44:05+0200 lvl=eror msg="balance: Unable to set cpuset" value=1,2,3,4 name=first err="Failed to set cgroup cpuset.cpus="1,2,3,4": setting cgroup item for the container failed"
t=2016-04-11T19:46:53+0200 lvl=eror msg="balance: Unable to set cpuset" name=first err="Failed to set cgroup cpuset.cpus="3,4": setting cgroup item for the container failed" value=3,4

[ ] output of the client with --debug
root@odin:/var/log/lxd# lxc config set first limits.cpu 2 --debug
DBUG[04-11|19:55:08] Raw response: {"type":"sync","status":"Success","status_code":200,"metadata":{"api_extensions":[],"api_status":"stable","api_version":"1.0","auth":"trusted","config":{"storage.zfs_pool_name":"mypool"},"environment":{"addresses":[],"architectures":["x86_64","i686"],"certificate":"-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n","driver":"lxc","driver_version":"2.0.0","kernel":"Linux","kernel_architecture":"x86_64","kernel_version":"4.4.0-17-generic","server":"lxd","server_pid":3309,"server_version":"2.0.0.rc9","storage":"zfs","storage_version":"5"},"public":false}}

DBUG[04-11|19:55:08] Raw response: {"type":"sync","status":"Success","status_code":200,"metadata":{"architecture":"x86_64","config":{"limits.cpu":"2","limits.memory":"256MB","volatile.base_image":"6daeb2a8e5ae48b5437844dbaf192e31d6e3ac1bb16b411e18179b5d17997533","volatile.eth0.hwaddr":"00:16:3e:c5:0a:ce","volatile.last_state.idmap":"[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":65536}]"},"created_at":"2016-04-11T15:09:50+02:00","devices":{"root":{"path":"/","type":"disk"}},"ephemeral":false,"expanded_config":{"limits.cpu":"2","limits.memory":"256MB","volatile.base_image":"6daeb2a8e5ae48b5437844dbaf192e31d6e3ac1bb16b411e18179b5d17997533","volatile.eth0.hwaddr":"00:16:3e:c5:0a:ce","volatile.last_state.idmap":"[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":65536}]"},"expanded_devices":{"eth0":{"name":"eth0","nictype":"bridged","parent":"lxdbr0","type":"nic"},"root":{"path":"/","type":"disk"}},"name":"first","profiles":["default"],"stateful":false,"status":"Running","status_code":103}}
DBUG[04-11|19:55:08] Putting {"architecture":"x86_64","config":{"limits.cpu":"2","limits.memory":"256MB","volatile.base_image":"6daeb2a8e5ae48b5437844dbaf192e31d6e3ac1bb16b411e18179b5d17997533","volatile.eth0.hwaddr":"00:16:3e:c5:0a:ce","volatile.last_state.idmap":"[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":65536}]"},"created_at":"2016-04-11T15:09:50+02:00","devices":{"root":{"path":"/","type":"disk"}},"ephemeral":false,"expanded_config":{"limits.cpu":"2","limits.memory":"256MB","volatile.base_image":"6daeb2a8e5ae48b5437844dbaf192e31d6e3ac1bb16b411e18179b5d17997533","volatile.eth0.hwaddr":"00:16:3e:c5:0a:ce","volatile.last_state.idmap":"[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":65536}]"},"expanded_devices":{"eth0":{"name":"eth0","nictype":"bridged","parent":"lxdbr0","type":"nic"},"root":{"path":"/","type":"disk"}},"name":"first","profiles":["default"],"stateful":false,"status":"Running","status_code":103}
to http://unix.socket/1.0/containers/first
DBUG[04-11|19:55:08] Raw response: {"type":"async","status":"Operation created","status_code":100,"metadata":{"id":"73806349-5dcf-41bd-84fd-6e72376aa44d","class":"task","created_at":"2016-04-11T19:55:08.951941296+02:00","updated_at":"2016-04-11T19:55:08.951941296+02:00","status":"Running","status_code":103,"resources":{"containers":["/1.0/containers/first"]},"metadata":null,"may_cancel":false,"err":""},"operation":"/1.0/operations/73806349-5dcf-41bd-84fd-6e72376aa44d"}
DBUG[04-11|19:55:08] 1.0/operations/73806349-5dcf-41bd-84fd-6e72376aa44d/wait
DBUG[04-11|19:55:08] Raw response: {"type":"sync","status":"Success","status_code":200,"metadata":{"id":"73806349-5dcf-41bd-84fd-6e72376aa44d","class":"task","created_at":"2016-04-11T19:55:08.951941296+02:00","updated_at":"2016-04-11T19:55:08.951941296+02:00","status":"Success","status_code":200,"resources":{"containers":["/1.0/containers/first"]},"metadata":null,"may_cancel":false,"err":""}}

So it looks like LXD came up with the right values for CPU pinning but those then failed to apply in liblxc or in the kernel.

Can you give me the content of:

/sys/fs/cgroup/cpuset/cpuset.effective_cpus
/sys/fs/cgroup/cpuset/lxc/cpuset.effective_cpus
/sys/fs/cgroup/cpuset/lxc/first/cpuset.effective_cpus

root@first:~# cat /sys/fs/cgroup/cpuset/cpuset.effective_cpus
0-7
The other two don't exist. That's for the container.
root@odin:/var/log/lxd# cat /sys/fs/cgroup/cpuset/cpuset.effective_cpus
0-7
root@odin:/var/log/lxd# cat /sys/fs/cgroup/cpuset/lxc/cpuset.effective_cpus
0-7
root@odin:/var/log/lxd# cat /sys/fs/cgroup/cpuset/lxc/first/cpuset.effective_cpus
0-7

Cool, now what about (on the host):

/sys/fs/cgroup/cpuset/cpuset.cpus
/sys/fs/cgroup/cpuset/lxc/cpuset.cpus
/sys/fs/cgroup/cpuset/lxc/first/cpuset.cpus

The three last is for the host. Odin is my host. Sorry for not making that clearer. Only had the first for my container, the lxc-directory doesn't exist there.
So, for the host:
root@odin:/var/log/lxd# cat /sys/fs/cgroup/cpuset/cpuset.effective_cpus
0-7
root@odin:/var/log/lxd# cat /sys/fs/cgroup/cpuset/lxc/cpuset.effective_cpus
0-7
root@odin:/var/log/lxd# cat /sys/fs/cgroup/cpuset/lxc/first/cpuset.effective_cpus
0-7

Yeah, I understood that, note that the path I asked you in the last message is slightly different.

Ouch, so sorry about that. I'll take better care to read if you need more:
root@odin:~# cat /sys/fs/cgroup/cpuset/cpuset.cpus
0-7
root@odin:~# cat /sys/fs/cgroup/cpuset/lxc/cpuset.cpus
0-7
root@odin:~# cat /sys/fs/cgroup/cpuset/lxc/first/cpuset.cpus
0-7

Ok, still all looks good.
Can you try (as root on host):
echo 3,4 > /sys/fs/cgroup/cpuset/lxc/first/cpuset.cpus

Yeah, it didn't like that:
root@odin:~# echo 3,4 > /sys/fs/cgroup/cpuset/lxc/first/cpuset.cpus
bash: echo: write error: Device or resource busy

Ok, try those values:

0
0-7

But looks like you've got a kernel bug on your hands.

Wow, so, 0 didn't work, but 0-7 did work. Something I'm guessing you already expected :) I'm going to try a reboot and check again.

Cool. In any case, your system appears to be perfectly configured as far as what LXD expects and the failure case was dealt with as we'd expect, which is not to block everything but log an error.
So I'm going to close this issue as lxd seems fine.
Feel free to keep commenting in this though, I'll be reading.


Parsing of directives with blanks leads to error

Describe the bug
Multiple directives in ModSecurity's configuration file lead to a generic error when there is more than one blank between key and value.
To Reproduce
Put SecAuditLog /var/log/modsec_audit.log into ModSecurity's configuration file
> nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Now add one more space between SecAuditLog and the value:
> nginx -t
nginx: [emerg] "modsecurity_rules_file" directive Rules error. File: /etc/nginx/modsecurity.conf. Line: 23. Column: 45. Invalid input:  SecAuditLog  /var/log/nginx/modsec_audit.log in /etc/nginx/nginx.conf:37
nginx: configuration file /etc/nginx/nginx.conf test failed

Expected behavior
I expect no error because putting multiple spaces between key and value works for most directives.
Server (please complete the following information):

ModSecurity version (and connector): libmodsecurity3 3.0.3-1 with nginx-connector v1.0.0
WebServer: nginx-1.16.1
OS (and distro): Ubuntu 19.10

Rule Set (please complete the following information):

Running any public or commercial rule set? No.
What is the version number? OWASP Core Rule Set not installed

Additional context
The following directives also generate an error with multiple spaces:
SecRequestBodyLimit
SecRequestBodyNoFilesLimit

The following directives do NOT generate an error with multiple spaces
SecRuleEngine
SecRequestBodyAccess
SecRequestBodyLimitAction
SecResponseBodyAccess
SecAuditEngine
SecAuditLogRelevantStatus
SecAuditLogParts
SecAuditLogType

This was fixed at: dc78c0e180d09aa1b2f0ffad1a8d6967e69f984f


Include more Biolink categories

As of build 20220930, the graph includes expected Biolink categories for the following namespaces:
CHEBI
CL
FlyBase
GO
HGNC
HP
MONDO
NCBIGene
NCBITaxon
OBO
PR
RO
SO
UBERON

These namespaces are assigned OntologyClass instead:
APO
BFO
BSPO
BTO
CARO
CHR
CIO
CLO
DATA
DDANAT
DDPHENO
DOID
ECO
ENVO
FAO
FBbt
FBcv
FBdv
FMA
FOODON
FYPO
FlyBase
GENO
GO
IAO
IDO
MA
MF
MFOMD
MI
MOD
MP
MPATH
NBO
NCIT
OBA
OBAN
OBI
OBO
OGMS
OIO
OMIM
PATO
PCO
PLANA
PO
PW
RO
RXCUI
SEPIO
SIO
STATO
UPHENO
WBPhenotype
WBbt
WD_Entity
WD_Prop
XAO
XCO
YPO
ZFA
ZFS
ZP
biolink
dc
dcat
dcterms
dctypes
faldo
foaf
owl
pav
rdf
rdfs
skos

Some categories may be modified by KGX though they're included in phenio.owl now. Additional category assignments should ideally be made during phenio assembly but could also be made here through ID remapping (i.e., at the same time as node normalization).

Here's my short list for a next round of categories:
FBbt:
FYPO:
GO:
MP:
MPATH:
OMIM:
WBPhenotype:
WBbt:
ZFA:
ZP:

I think also EMAPA, once it's in.

Since the mappings are pulled directly from https://github.com/biolink/biolink-model, they should correspond to https://github.com/biolink/biolink-model/blob/master/prefix-map/biolink-model-prefix-map.json

The CURIE prefixes themselves are defined under prefixes in the Biolink yaml: https://github.com/biolink/biolink-model/blob/master/biolink-model.yaml

But then the ontology class to category is all under id_prefixes for each category in the model

All of the ones @kevinschaper mentioned should have been added by this round.. They are all in biolink model! Maybe it has to do with https://github.com/monarch-initiative/phenio/edit/main/src/sparql/bl-categories.ru and the way narrow match is done?

The match covers skos:exactMatch and skos:narrowMatch but not skos:relatedMatch, so that's certainly possible. Some namespaces, like http://purl.obolibrary.org/obo/UPHENO_, are very clearly defined in BL so it's not as clear why those aren't getting matched:
(biolink-model.owl.ttl)
biolink:PhenotypicFeature a owl:Class ;
    rdfs:label "phenotypic feature" ;
    rdfs:subClassOf biolink:DiseaseOrPhenotypicFeature ;
    skos:altLabel "endophenotype",
        "phenotype",
        "sign",
        "symptom",
        "trait" ;
    skos:broadMatch <http://purl.obolibrary.org/obo/BFO_0000019>,
        <http://purl.obolibrary.org/obo/PATO_0000001> ;
    skos:definition "A combination of entity and quality that makes up a phenotyping statement. An observable characteristic of an  individual resulting from the interaction of its genotype with its molecular and physical environment." ;
    skos:exactMatch MESH:D010641,
        <http://identifiers.org/umls/C4021819>,
        <http://purl.obolibrary.org/obo/NCIT_C16977>,
        <http://purl.obolibrary.org/obo/UPHENO_0001001>,
        SIO:010056,
        SNOMEDCT:8116006,
        WIKIDATA:Q104053 ;
    skos:narrowMatch STY:T184,
        <http://purl.obolibrary.org/obo/APO_0000017>,
        <http://purl.obolibrary.org/obo/FBcv_0001347>,
        FYPO:0000001,
        <http://purl.obolibrary.org/obo/HP_0000118>,
        <http://purl.obolibrary.org/obo/MP_0000001>,
        <http://purl.obolibrary.org/obo/TO_0000387>,
        <http://purl.obolibrary.org/obo/WBPhenotype_0000886>,
        XPO:00000000,
        <http://purl.obolibrary.org/obo/ZP_00000000>,
        WIKIDATA:Q169872,
        WIKIDATA:Q25203551 ;
    linkml:examples "Example(value='MP:0001262', description='decreased body weight')" .

Also curious - in biolink-model.owl.ttl, the majority of the namespaces with properly merged BL cats in kg-phenio are not defined with @prefix in the header (e.g., CHEBI, MONDO) so they're still defined with IRIs. The inverse doesn't hold though.

Puzzlingly, this is not resolved by https://github.com/monarch-initiative/phenio/pull/21.

It would be preferable to solve this in the phenio.owl build, or even farther upstream in Biolink itself, but in the interest of Solutions I'll implement a fix for it here in the KG assembly, along with prefix normalization for situations like https://github.com/monarch-initiative/phenio/issues/17.
There may be something happening with KGX's category inference (see https://github.com/biolink/kgx/blob/e2d43f1b80cf0779ca3313f97e73a2ff0d8b2170/kgx/utils/graph_utils.py#L78) causing category membership to be clobbered/ignored.

This issue has been focused on node categories, but we noticed that we don't actually have any edge categories yet either. Does that feel similar enough to tack on to this issue, or would it be useful to submit a new one?

OK, here's the main issue: KGX happily parses PHENIO's category assignments, it just transforms them to relations without assigning node properties. Example:
$ grep ENVO:01001569 merged-kg_edges.tsv
urn:uuid:165861b7-188d-4956-9754-30e8dea04c97   ENVO:01001569   biolink:type    ENVO:01001570           type    Graph
urn:uuid:3f1c190a-8441-4b0a-ab35-fa269014287d   ENVO:01001569   biolink:part_of ENVO:01001571           BFO:0000050     Graph
urn:uuid:30bd0be2-c569-441c-baf1-0d70b7500911   ENVO:01001569   biolink:category        biolink:EnvironmentalFeature            biolink:category        Graph
urn:uuid:f9d9bf6e-8fba-4cf2-b78c-b6aa57d13eb5   ENVO:01001569   biolink:category        biolink:NamedThing              biolink:category        Graph
urn:uuid:b1a4502a-437c-4772-972b-05ed7bb10723   ENVO:01001569   biolink:category        biolink:OntologyClass           biolink:category        Graph

$ grep ENVO:01001569 merged-kg_nodes.tsv
ENVO:01001569   biolink:OntologyClass   Western Australian Mulga Shrublands Ecoregion           Graph

Not sure yet why this still works for some other spaces like MONDO but I haven't ruled out KGX doing some potentially conflicting category inference.

As for edge categories...I was under the impression we did have those. Are you (@kevinschaper) expecting it to be under predicate or under relation?


jobwatcher does not calculate busy nodes correctly

Environment:

AWS ParallelCluster / CfnCluster version : aws-parallelcluster-2.1.1
OS: Centos 7.X
Scheduler: SGE
Master instance type: N/A
Compute instance type: N/A

Bug description and how to reproduce:
The function get_busy_nodes from jobwatcher has this:
# get nodes reserved by running jobs
# if a host has 1 or more job running on it, it'll be marked busy
def get_busy_nodes(instance_properties):
    command = "/opt/sge/bin/lx-amd64/qstat -f"
    _output = run_command(command, {'SGE_ROOT': '/opt/sge',
                                    'PATH': '/opt/sge/bin:/opt/sge/bin/lx-amd64:/bin:/usr/bin'})
    nodes = 0
    output = _output.split("\n")[2:]
    for line in output:
        line_arr = line.split()
        if len(line_arr) == 5:
            # resv/used/tot.
            (resv, used, total) = line_arr[2].split('/')
            if int(used) > 0 or int(resv) > 0:
                nodes += 1
    return nodes

It appears this code is trying to count the number of nodes from the output of qstat -f.  This is clearly unsafe and actually quite wrong.  Current qstat for a cluster we have deployed looks like this:
queuename                      qtype resv/used/tot. load_avg arch          states
---------------------------------------------------------------------------------
<EMAIL_ADDRESS>BIP   0/4/4          17.59    lx-amd64      a
---------------------------------------------------------------------------------
<EMAIL_ADDRESS>BIP   0/4/4          17.38    lx-amd64      a
---------------------------------------------------------------------------------
<EMAIL_ADDRESS>BIP   0/4/4          16.82    lx-amd64      a
---------------------------------------------------------------------------------
<EMAIL_ADDRESS>BIP   0/4/4          17.79    lx-amd64      a
---------------------------------------------------------------------------------
<EMAIL_ADDRESS>BIP   0/0/4          -NA-     lx-amd64      au
---------------------------------------------------------------------------------
<EMAIL_ADDRESS>BIP   0/4/4          17.59    lx-amd64      a
---------------------------------------------------------------------------------
<EMAIL_ADDRESS>BIP   0/4/4          17.62    lx-amd64      a
---------------------------------------------------------------------------------
<EMAIL_ADDRESS>BIP   0/4/4          17.24    lx-amd64      a

The a state at the end has occurred due to an alarm status because of load thresholds.  (Note that we haven't even changed these from whatever is configured by default.)  (Second note, one of the nodes is in a 'au` state, which is a different issue because parallelcluster is not clearing the state correctly for a spot instance that was lost.)
Either way the used nodes in this state should still be counted, so looking for exactly 5 columns in a 6 column output is incorrect.  (Yes I realize it works most of the time because the states column is usually omitted on a fully functioning node.)
The problem with the above is that nodes that are running are not counted, so jobwatcher is unable to realize it needs to request more nodes when jobs are waiting.  Despite being in a soft alarm state, the nodes above are running jobs and must be counted.

Hi @tkuzuhara,
thank you for reporting this. I'm marking it as bug

Fixed with version 2.4.0


Add better transformer support for RoFormer

What does this PR do?
Add BetterTransformer support for RoFormer (part of #20372)
Before submitting

[x] Did you make sure to update the documentation with your changes?
[x] Did you write any new necessary tests?

Tried testing the model using pytest. Got the below error:

Resolved the issue. I overlooked the bias assignment in the original Layer. Test cases seems to be passing now.

Hi, looks all good to me! Could you just run make style for code quality?

Checked. There were couple of formatting fixes.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Hi @manish-p-gupta , it looks good. Just a note: could you add https://github.com/huggingface/transformers/blob/main/pyproject.toml to the top level, and run make style again? We missed a black config for the repo, and you likely have a different local one, hence the huge diff :)

Hey @fxmarty ,
Seems like I already have a pyproject.toml at the top level. There aren't any changes to push after make style. Anything else I might be missing here?

Oh my bad, there's already one indeed. I wonder why your make style changed so many files. I'll look into it.


Tracking "restarting debt"

Some of NixOS services do not restart on nixos-rebuild switch when a new binary or config is released.
Notable examples are display-manager and containers.
They do form kind of restarting debt, a debt book of services which demand to be restarted later or to reboot the machine.
What would be a good way to track it?
To get list of such services?
Or just a bit of state like "this machine needs to be rebooted" (Ubuntu shows this on each login)
Naive approach would be to add logging to switch-to-configuration.pl then scan journald's current boot to dig the information but it does not seem reliable as there are many subtle cases.
For example, the restarting debt might be writen off if the service pending restart is removed or disabled on the next nixos-rebuild switch, then it could be added again, etc

Maybe because of https://github.com/NixOS/nixpkgs/issues/24895

IMO, delaying service restarts is a NixOS antipattern. The whole purpose of NixOS (as I understand it) is to ensure that the relevant aspects of system are defined are unambigously specified in the current global config. If a service is not restarted the current system state clearly departs from the configuration which breaks the main principle. I definitely agree it should not be done silently.
I did not check if disabling restarts is a common for NixOS services. Can you please elaborate if you looked at that? I get that restarting display-manager is probably painful for the user, but on the other side it should not be done frequently.
Getting to your question, one can get a service activation timestamp from systemd (e.g. ActiveEnterTimestamp in the systemd's dbus interface. The unit configuration files have their timestamps zeroed out by nix so that one cannot use them but the system profiles in /nix/var/nix/profiles have correct timestamps. So it looks like one can probably figure out if the service is outdated if the profile at its start time is still available.
There is also on 'UnitFilesChanged()' signal by systemd. If one remounts /nix/store for read-write and touches a service config in /etc/systemd/system/ this get noticed by systemd:
~> sudo systemctl status dummy
Warning: dummy.service changed on disk. Run 'systemctl daemon-reload' to reload units.
● dummy.service - A dummy service that does nothing

Here is a dummy service that one can use to play around with the service subsystem.

I wanted to open an issue on the same topic but I was more thinking of new kernels, in which case there is little to do. Live patching has its limits.

There are tools like checkrestart in debian and needs-restarting in RHEL to list processes that need a restart after an update, like kernel or dependencies like libc.
A good UX would be to show a warning after a rebuild listing such services.

still relevant nagging bot


[v1.0.0-rc1] 'timeout' event returns true for duration when it's 1 second

Actual behaviour:
When the duration is 1 second, it comes out as Boolean(true) instead of an integer.
client.on('timeout', (channel, username, reason, duration => {
    console.log(channel, username, reason, duration);
    // -> #channel username  true
});
client.timeout(channel, username, 1);

Expected behaviour:
When the duration is 1 second, it should come out as Integer(1).
client.on('timeout', (channel, username, reason, duration => {
    console.log(channel, username, reason, duration);
    // -> #channel username  1
});
client.timeout(channel, username, 1);

Server configuration

Operating system: Windows 7 (x64)
Node version (if applicable): v6.2.0
NPM version (if applicable): v3.8.9
tmi.js version: v1.0.0-rc1

Thanks @AlcaDesign :smile:


[Request] Goots export to zip

I would love to be able to take a goots pack on the go in a lovely zip fashion
Please by EOD

This work?
https://github.com/christrotter/gootsmoji/pull/24

I kinda want to make the picker a github pages site.


[C++] Avoid sending flow requests with zero permits

Motivation
When broker receives a FLOW request with zero permit, an IllegalArgumentException will be thrown in ServerCnx#handleFlow and then the connection will be closed so that the consumer will reconnect to the broker. If resumeMessageListener() was called for a zero queue consumer, the permits may be zero and trigger a reconnection. The frequent reconnections may cause messages repeated or out of order.
Modifications

Validate the permits of a FLOW command before sending it.
Add a test that a zero queue consumer resumes and pauses for each message periodically. Before this PR, there's a great chance that the received messages are repeated or out of order, even a ACK was sent.

Verifying this change

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

This change added tests ZeroQueueSizeTest#testPauseResumeNoReconnection.

@BewareMyPower Clear PR description! 👍


How to test/debug this project locally?

This is a great project and I already learned a ton of stuff by just looking at the source code and seeing what you guys created here! Thanks for making this open source for the community to look at! :)
I am just wondering how to properly test this locally? I know that Godot allows you to run multiple instances on "play" but, if I join the server that I created on instance 1 with instance 2 of the game, I get a
void System.ThrowHelperThrowKeyNotFoundException<T>(T): System.Collections.Generic.KeyNotFoundException: The given key '0' was not present in the dictionary.
and a
void Steamworks.SteamNetworkingSockets.SetConnectionManager(uint, Steamworks.ConnectionManager): System.ArgumentException: Invalid Connection
I am guessing this is due to the fact that both instances use the same steam user/session which obviously doesn't work, so I am really curious about how to actually test this locally during development. :)

I just realized the first error void System.ThrowHelperThrowKeyNotFoundException<T>(T): System.Collections.Generic.KeyNotFoundException: The given key '0' was not present in the dictionary. at least for me happens every time on start, even with just one debug instance selected. The second one though is the one that does come up when I join instance 1 with instance 2 (on the same steam session).

Haha thanks I really like what you did here! Project looks really promising and all my previous attempts of working with Godot multiplayer were not really fruitful.
Unfortunate that there is no better way of debugging, but I am looking forward to your UDP transport solution instead :)
Ok but even using a VM you would need a second steam account right? and then for any change you make to the game you would basically need to build the project in godot, transfor the .exe file to the VM and start it there right?
That seems really stressfull, especially when needing to debug bugs ^^

Yes a second Steam account is necessary.
You are right it can be not immediate to test changes but you use the editor instead of doing builds. With Taverna we use different machines with git installed, when we make changes we just need to pull from those machines to update and then test in editor.
Another approach if you are in the same network (or using vms) is to build the project on a shared folder, so the transfer is instant.


Package version update for pacman bug fixes

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 82.73%. Comparing base (60c4a92) to head (db0edac).
Report is 31 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #25   +/-   ##
=======================================
  Coverage   82.73%   82.73%
=======================================
  Files           8        8
  Lines         672      672
=======================================
  Hits          556      556
  Misses        116      116

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Improve snippets

The define-condition snippet needs cleaned up. It's mostly useful, but could be better. The names in the report lambda need to be better and it should go ahead and fill in a blank (format stream ...) form.
Structs can take a print function, which has some boilerplate code around checking the depth. Should add a snippet with that boilerplate stuff.

Updated the ones I wanted to, so calling it good for now.


[Feat]:Enhancing Project Cards with 3D Animation and GitHub Repo Information

Is your feature request related to a problem? Please describe.
Currently, the project cards on the project page lack visual appeal and relevant information. We propose adding a 3D animation effect to the social media handles and enhancing the project cards to display essential GitHub repository information.
Describe the solution you'd like.
Proposed Changes:

3D Animation for Social Media Handles:
We will introduce an attractive 3D animation effect for the social media handles in the project page. This animation will enhance the visual experience for users, making the project page more engaging and dynamic.

Enhanced Project Cards:
We will improve the project cards on the project page to include essential GitHub repository information. On one side of the card, we will display the project name, description, and other pertinent details. On the other side, users will find relevant GitHub repository information, such as stars, forks, and last update date.

Responsive Design:
The 3D animation and project card enhancements will be implemented with a focus on responsiveness. The design will adapt to different screen sizes and devices, ensuring a seamless experience for all users.

CSS Transitions and Transformations:
To achieve the 3D animation effect and flipping card design, we will use CSS transitions and transformations. These will ensure smooth and visually appealing animations without compromising performance.

User-Friendly Interaction:
The animation and card information will be designed to provide an intuitive user experience. Users can hover over the social media handles for the 3D animation and click on the cards to view detailed GitHub repository information.

Describe alternatives you've considered.
No response
Additional context.
No response
Show us the magic with screenshots
https://github.com/Opentek-Org/opentek/assets/85815172/a6ce70ed-920c-4cc4-bc50-4ca4d98fb700
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)
[X] I am a GSSoC'23 contributor

@AnirudhPanda ,please assign this issue to me


ReferenceError: i is not defined

Commit dd5cffac7877fc911ec8de5a867dcb1b3eccda1f introduced a new bug where variable i is not defined in videoStream.js file line #103.

Fixed in #40


Consider keeping debug info in forward compatibility tests

Request description
Currently we strip debug info to do a byte-for-byte comparison of forward compatibility tests. The downside is that we do not test the forward and backward compatibility of the debug locations.
Two options:

Have explicit source locations in the forward/backward compat test. This will make the test file a bit harder to author/maintain
Standardize the location that tests are run from since relative paths are stored in debug locations. This may not work when StableHLO is embedded.

From https://github.com/openxla/stablehlo/pull/1498#discussion_r1258437272

parse and print with debug info.

We could do something like this, where stablehlo_legalize_to_vhlo.X_Y_Z.mlir has explicit debug locations (since it shouldn't change much after creation) and stablehlo_legalize_to_vhlo.mlir does not have debug locations since it is modified each release.


[CSSimplify] Modernize binary function argument reordering fix

The fix used incorrect locators for attempted argument conversions, didn't check whether arguments are already re-ordered and allowed fixes as visible side-effects from checking.
Resolves: rdar://114341979

Discovered by @glessard  while working on experimental changes and not easily reproducible pointer conversions restricted.

@swift-ci please test

Thanks!


Fix issue with count(*) on >= 3 table joins

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@c6cdb24). Click here to learn what that means.
The diff coverage is 88.23%.

@@            Coverage Diff            @@
##             master    #5914   +/-   ##
=========================================
  Coverage          ?   82.97%
  Complexity        ?    12156
=========================================
  Files             ?     1428
  Lines             ?    46484
  Branches          ?     5736
=========================================
  Hits              ?    38570
  Misses            ?     5231
  Partials          ?     2683

Impacted Files
Coverage Δ
Complexity Δ

...l/src/main/java/io/crate/analyze/TwoTableJoin.java
91.17% <100%> (ø)
14 <0> (?)

...a/io/crate/planner/consumer/ManyTableConsumer.java
88.13% <84.61%> (ø)
57 <6> (?)

Continue to review full report at Codecov.

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

@mfussenegger Plz check again. fixup pushed.


How to install packages on Azure DevOps bash plugin?

I want to install packages like I use to do on Linux. "apt-get -y install jq"

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

ID: 36fff5ec-d766-b589-39ff-9c69ab26dd5b
Version Independent ID: 12deb045-2511-b5bf-9e41-0d223bef516b
Content: Shell Script task - Azure Pipelines
Content Source: docs/pipelines/tasks/utility/shell-script.md
Product: devops
GitHub Login: @andyjlewis
Microsoft Alias: alewis

On hosted, sudo apt-get -y install jq. (Though jq is already installed - assuming this was an example only.) Password-less sudo is documented.


Error message in ActiveForm not shown

What steps will reproduce the problem?

Create CRUD from gii and after that add virtual property in ActiveRecord
protected customerData = ['FirstName' => '', 'LastName' => ''];

And add methods:
/**
     * @return array
     */
    public function getCustomerData()
    {
        return $this->customerData;
    }

    /**
     * @param $data
     */
    public function setCustomerData($data)
    {
        $this->customerData = $data;
    }

Add custom validation in rules:

[['CustomerData[FirstName]'], function ($attribute, $params) {
                $this->customerData['FirstName'] = $this->customerData['FirstName'] ?? '';
                if (!strlen($this->customerData['FirstName'])) {
                    $this->addError('CustomerData[FirstName]', 'Нет имени !!!');
                }
            }, 'skipOnEmpty' => false, 'skipOnError' => false],

Add field to ActiveForm

echo $form->field($model, 'CustomerData[FirstName]')->textInput(['value' => $model->CustomerData['FirstName'] ?? '', 'id' => 'tourist-name', 'class' => 'form-control'])->label('Имя');

With empty field post data to server.

What is the expected result?
Look danger string "Нет имени !!!"
What do you get instead?
Do not see error text
Additional info
I think the whole thing
public static $attributeRegex = '/(^|.*\])([\w\.\+]+)(\[.*|$)/u';

(yii\helpers\BaseHtml)

Q
A

Yii version
2.0.22

PHP version
7.1.17

Operating system
Windows 10

I want to add.
Problem some more deep, now we can operate JSON fields as array and every element of JSON field must has rules for check it input.
For example, I want to check this field:
echo $form->field($model, 'CustomerData[Emails][0][Email]')->textInput(['value' => $model->CustomerData['Emails'][0]['Email'] ?? '', 'id' => 'tourist-email-0-value', 'class' => 'form-control'])->label('E-mail');
Any customer has some email addresses or phones.
These are real structures with which I work.

Does adjusting regular expression to include [ and ] solve your issue?

Does adjusting regular expression to include [ and ] solve your issue?

Hi ! I think only part of task was done.
In this case
 var_dump($model->errors); echo $form->field($model, 'CustomerData[FirstName]')->textInput(['value' => $model->CustomerData['FirstName'] ?? '', 'id' => 'tourist-name', 'class' => 'form-control'])->label('Имя');
I saw:

array (size=2)
'CustomerData[FirstName]' =>
array (size=1)
0 => string 'Нет имени !!!' (length=21)
'CustomerData[Surname]' =>
array (size=1)
0 => string 'Нет фамилии !!!' (length=25)

But in error section for input message not found again.

Does adjusting regular expression to include [ and ] solve your issue?

I make one sample.
I think, for mee good idea is:
`	$attributeRegex = '/(^|.])([\w.+]+)([.|$)/u';
if (preg_match($attributeRegex, 'CustomerData[Phones][0][Number]', $matches)) {
echo $matches[2].$matches[3].PHP_EOL;
var_dump($matches);
    } else {
	echo "Bad";
}
`

We not touch any regular expression and get full name for arrays

So changing $attributeRegex solves the issue completely?

So changing $attributeRegex solves the issue completely?

I think, yes.
But in my last example I wasn`t change expression, because it using in BaseHtml::getAttributeValue and fetch real array elements (it works fine).
I think, good idea will be change:
return $matches[2];
to
return $matches[2].$matches[3];
in BaseHtml::getAttributeName

Overall it sounds like the use case is quite specific and there are enough flexibility to achieve it in your case. Closing the issue and will wait till more similar issues are created.
Thanks for reporting anyway.


not working on OS X / MAMP

When I save a css file, I see no change in the browser and the terminal when I am running vogue gives me a long list of these for all my css files in use:
Could not read stats for /Users/joachim/Sites/[etc/etc/etc]/[myfile].css
My web pages are served from ~/Sites as I'm using MAMP on OS X. I've tried running vogue with sudo but I still get the same problem.
I'm also seeing the following debug messages:
debug - setting poll timeout
debug - discarding transport
debug - cleared close timeout for client<PHONE_NUMBER>790888952
debug - clearing poll timeout
debug - xhr-polling writing 8::
debug - set close timeout for client<PHONE_NUMBER>790888952
debug - xhr-polling closed due to exceeded duration
debug - setting request GET /socket.io/1/xhr-polling/1551792960790888952?t=1314885253500

Ah! I just had the same issue. I do not use the default MAMP htdocs directory. I use my own which is something like /Users/myname/Projects/ so when running vogue I must do:
$ vogue /Users/myname/Projects/
This thing rocks. I'm going to make it part of my development toolbox. Thanks!


incorrect parsing of Irish addresses with Eircodes

Hi!
I was checking out libpostal, and saw something that could be improved.

My country is
Ireland

Here's how I'm using libpostal
Parsing addresses

Here's what I did
Tried to parse Irish addresses including Eircodes (relatively new Irish postcode format)
Example: Riverside House, Doneraile, P51 KT93, Ireland

Here's what I got
{
   "city" : "kt93",
   "country" : "ireland",
   "house" : "riverside house doneraile p51"
}

Here's what I was expecting
{
   "city" : "doneraile",
   "country" : "ireland",
   "house" : "riverside house",
   "postcode" : "kt93 p51"
}

For parsing issues, please answer "yes" or "no" to all that apply.

Does the input address exist in OpenStreetMap?
no
Do all the toponyms exist in OSM (city, state, region names, etc.)?
yes
If the address uses a rare/uncommon format, does changing the order of the fields yield the correct result?
NA
If the address does not contain city, region, etc., does adding those fields to the input improve the result?
removing the postcode leads to correct parsing
If the address contains apartment/floor/sub-building information or uncommon formatting, does removing that help? Is there any minimum form of the address that gets the right parse?
NA

Here's what I think could be improved
Eircodes are relatively new and only now coming into common use, especially for deliveries.
They are not yet widely found in OpenStreetMap.
Still, the format is easy to identify and the parser should be able to recognize them.

Eircodes were just starting to roll out when it was initially trained but there were very few examples available as most people were using the old system. In a future version I've thought about adding UK/Irish/Canadian/any other similar postcodes directly to the tokenizer since they follow regular patterns that are unambiguous with other types, and then the model can just treat them as a single token and handle within a handful of type features instead of one for every normalized postcode-word (saves space as well, and those don't require geographic context so could remove them from the postcode index - which is stored efficiently as a trie but still clocks in at about 500MB), though that would muck with the weights and require a parser retraining, which is not planned for the very near future, though there's some rearchitecting going on in the background.
This style of postcode only partially benefits from the classic NLP features that are used such as word shapes/digit masks because those would normalize to something like ["pDD" "ktDD"]. With enough training data that can work even without observing every possible postcode, but the data would need to capture every pattern sans digits (for the UK/Canada there were also training examples built off of a somewhat exhaustive list that then gets normalized to word/digit shapes).
One workaround is just to extract/remove with regex before parsing since they do follow regular patterns.

yes, we arrived at exactly the workaround you describe, just wanted to make sue you are aware that libpostal does not deal will with Eircodes.
Feel free to close the issue if you like


Binoculars Icon

Folder Category: ?
Animation Suggestion: Blink lens?
File: binoculars.zip

I created this icon. I think it works. This could be used as an alternate to the search icon. It gives users a choice.
binoculars 2.zip

This is good I will add it.

Added in 76b9aa36ebac4c689ae94f63817fa9bd3f28f26f


Support local paths to third-party jars in flutter apk.

Also improve the error message a bit if a download fails.

LGTM

lgtm


Modern control panel shortcut

OS: Windows 10 x64
Cairo opens the legacy control panel instead of the modern control panel (it is called Immersive control panel in Cairo).
Or control.exe instead of SystemSettings.exe for the corresponding processes.

I have added this feature to the Cairo menu on Windows 10 in the latest build. You can update using 'Check for updates' in the Cairo menu.

The new entry in the menu works.
But the app shortcut created with app grabber does the same thing than before.

Glad it works! The shortcut that appears in App Grabber is installed by default with Windows but doesn't appear to link to the correct place, so you can remove this shortcut.


style(storybook): update storybook styles

Description:
Update storybook to latest release and make some improvements to the display so that we now show our components against a background color that matches the currently selected theme settings.
Motivation and Context:
Improved storybook preview capabilities.
How Has This Been Tested?

yarn storybook and click around

Types of changes:
Enhancements
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage remained the same at 17.117% when pulling 68ac6897edd8aed26ae34345debeecb72331d6f6 on mrfelton:feat/storybook-updates into d2e40ed02859e677066de1b0695bbbfce4eafb86 on LN-Zap:master.


Add orleans-url-shortener template

Add orleans-url-shortener template to the site.

@v-xuto Could you test this template?

@hemarina, @seesharprun  We have finished this template test, and we filed one issue. Please review.

https://github.com/Azure-Samples/orleans-url-shortener/issues/3

That issue has now been resolved. Thanks for pointing out the discrepancy!

@hemarina Issue#3 has been fixed and there are currently no issues with this template.


ScrollController.jumpTo zero should not trigger the refresh indicator

Repro Steps
Call ScrollController.jumpTo from 500pixels to 0pixes will trigger the refresh indicator.
See the unit test for details.
How does it happens
When calling ScrollController.jumpTo will trigger three events as follow,
I/flutter (29906): _handleScrollNotification [ScrollStartNotification(depth: 0 (local), FixedScrollMetrics(0.0..[664.3]..499335.7))]
I/flutter (29906): _handleScrollNotification [ScrollUpdateNotification(depth: 0 (local), FixedScrollMetrics(0.0..[664.3]..499335.7), scrollDelta: -500.0)]
I/flutter (29906): _handleScrollNotification [ScrollEndNotification(depth: 0 (local), FixedScrollMetrics(0.0..[664.3]..499335.7))]
The first ScrollStartNotification start the indicator at _shouldStart
The 2ond and 3rd event show the indicator
RefreshIndicator is a widget that supports the Material "swipe to refresh" idiom.

According to my understanding, only drag/swipe/pull can trigger the indicator, right?
If someone has a different opinion, please bring it up and we will discuss the solution again.
CC/ @Piinks @chunhtai
Solve Solution
We can use ScrollStartNotification.dragDetails to distinguish whether the scroll started by a drag.
Fixes #75063

@Piinks Hey, do you have any thoughts here, I saw you had a self-requested review of this.

oops, ScrollNotification does not have dragDetails property. I will fix it.

Thank you all for your great efforts!


chore: move default const values to appconsts module

Moves default values for min/max swaure size and gas per blob byte to appconsts module.
Renames MinSquareSize and MaxSquareSize in appconsts module to DefaultMinSquareSize and DefaultMaxSquareSize

[x] closes #993

I still don't understand the motivation behind this change but I don't have any blocking feedback. I can approve after merge conflicts are resolved.

min/max square size is used throughout (tests, standalone functions, etc.). I'm moving min/max square size to be app level params, so that they can be passed in everywhere easily. It's easier to move defaults values to appconsts and refactor the params specific changes from there

Codecov Report

Merging #1031 (1ea7a24) into main (332ca25) will not change coverage.
The diff coverage is 66.66%.

@@           Coverage Diff           @@
##             main    #1031   +/-   ##
=======================================
  Coverage   50.55%   50.55%
=======================================
  Files          72       72
  Lines        4312     4312
=======================================
  Hits         2180     2180
  Misses       1917     1917
  Partials      215      215

Impacted Files
Coverage Δ

x/blob/types/params.go
33.33% <0.00%> (ø)

x/blob/types/payforblob.go
72.54% <ø> (ø)

app/estimate_square_size.go
89.76% <50.00%> (ø)

pkg/da/data_availability_header.go
79.64% <100.00%> (ø)

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


ClientBootstrap.connect that returns a NIOAsyncChannel hits precondition if connect fails

If ClientBootstrap.connect returns a NIOAsyncChannel and the connect fails after the NIOAsyncChannel has been created, it will hit a precondition instead of throwing an error.
Expected behavior
ClientBootstrap.connect throws the error that caused the connect to fail
Actual behavior
We hit the precondition
NIOCore/NIOAsyncWriter.swift:176: Fatal error: Deinited NIOAsyncWriter without calling finish()

Steps to reproduce

Setup a server to bind to address <IP_ADDRESS>
Connect to server with client using localhost instead. (I assume this is due to localhost resolving to both IPv4 and IPv6)

If possible, minimal yet complete reproducer code (or URL to code)
let result = try await ClientBootstrap(group: MultiThreadedEventLoopGroup.singleton)
    .connect(host: "localhost", port: 8080) { channel in
        channel.eventLoop.makeCompletedFuture {
            try channel.pipeline.syncOperations.addHTTPClientHandlers()
            try channel.pipeline.syncOperations.addHandlers(HTTP1ToHTTPClientCodec())
            return try NIOAsyncChannel<HTTPResponsePart, HTTPRequestPart>(
                wrappingChannelSynchronously: channel,
                configuration: .init()
            )
        }
    }
try await result.executeThenClose { _, _ in
}

SwiftNIO version/commit hash
swift-nio 2.63.0
System & version information
swift-driver version: 1.87.3 Apple Swift version 5.9.2 (swiftlang-<IP_ADDRESS>.56 clang-15<IP_ADDRESS>.5)
Target: x86_64-apple-macosx14.0

Thanks for filing this. We are aware of this problem and @tayloraswift has also reported this in the forums. The problem here is that we tried to model the NIOAsyncChannel has having ownership of the underlying channel so that users have a safe way to interact with it while still making sure the underlying resource (socket,fds,etc.) are cleaned up. However, our current APIs are not enough here since as you reported in the issue there are timing gaps where a NIOAsyncChannel is created and then dropped resulting in our precondition being triggered. There are actually many more of those timing gaps and we have to address them across all the APIs.
My current idea here is that we have to create new bootstrap APIs that provide scope access to the NIOAsyncChannel directly. Those APIs can make sure that the channel is closed after the scope ends. This will allow us to drop the preconditions again.


Scheduler: Race condition in releasing mutex for overlapping/identical events.

Laravel Version
11.26.0
PHP Version
8.2.24 (irrelevant)
Database Driver & Version
SQLite 3.37.2 (irrelevant)
Description
When scheduling events in App\Console\Kernel::schedule(), and having an event not overlap itself for M minutes, if the event takes too long and is overlapped but completes first, it releases the mutex that is owned by the newer event, allowing the newer event to be overlapped immediately regardless of M.
Steps To Reproduce

Schedule a command (Event-X)
Have the command not overlap itself for M minutes; it holds a mutex for M minutes.
Command takes longer than M minutes to complete, mutex expires.
Command is re-run (Event-Y), overlapping Event-X (this is fine), and Event-Y now has the mutex.
Event-X completes, and CacheEventMutex::forget() force-releases Event-Y's mutex, which may still be running (this is not fine).
Event-Z can now immediately overlap Event-Y, regardless of M

Solution:

CacheEventMutex::create() must provide an $owner to the lock, or retrieve the owner after creation. This prevents a random identifier from being used during lock creation and then immediately lost. Where this value lives can be discussed. It only needs to exist in the current runtime.
CacheEventMutex::forget() must not force-release if an owner is already known from create(). This allows ScheduleClearCacheCommand to still force-release by not giving one.
ScheduleFinishCommand should accept an owner identifier to ensure that the owners are the same when attempting mutex release for background jobs. The owner, as determined in the same runtime, should be given by CommandBuilder::buildBackgroundCommand().
Failure to release upon job completion may be silent; the event is done, and overlap was allowed, no exception is necessary when another process holds the mutex.

Laravel Version
11.26.0
PHP Version
8.2.24 (irrelevant)
Database Driver & Version
SQLite 3.37.2 (irrelevant)
Description
When scheduling events in App\Console\Kernel::schedule(), and having an event not overlap itself for M minutes, if the event takes too long and is overlapped but completes first, it releases the mutex that is owned by the newer event, allowing the newer event to be overlapped immediately regardless of M.
Steps To Reproduce

Schedule a command (Event-X)
Have the command not overlap itself for M minutes; it holds a mutex for M minutes.
Command takes longer than M minutes to complete, mutex expires.
Command is re-run (Event-Y), overlapping Event-X (this is fine), and Event-Y now has the mutex.
Event-X completes, and CacheEventMutex::forget() force-releases Event-Y's mutex, which may still be running (this is not fine).
Event-Z can now immediately overlap Event-Y, regardless of M

Solution:

CacheEventMutex::create() must provide an $owner to the lock, or retrieve the owner after creation. This prevents a random identifier from being used during lock creation and then immediately lost. Where this value lives can be discussed. It only needs to exist in the current runtime.
CacheEventMutex::forget() must not force-release if an owner is already known from create(). This allows ScheduleClearCacheCommand to still force-release by not giving one.
ScheduleFinishCommand should accept an owner identifier to ensure that the owners are the same when attempting mutex release for background jobs. The owner, as determined in the same runtime, should be given by CommandBuilder::buildBackgroundCommand().
Failure to release upon job completion may be silent; the event is done, and overlap was allowed, no exception is necessary when another process holds the mutex.

Hey! This race condition sounds like a tricky one, but your explanation really clarifies the issue. I’ve got a few thoughts on how we could tackle it and make the mutex handling more reliable:

Unique Owner for Each Mutex in CacheEventMutex::create().

Adding an owner ID, like with uniqid(), could be a great way to tie each lock to a specific process. This way, each instance of a scheduled command would have its own identifier, making it less likely that one event will accidentally release another event’s lock. We’d just need to make sure this ID is set when the lock is created and stays consistent through the process.

Check the Owner in CacheEventMutex::forget() before releasing.

Before we release the lock, we could add a quick check to see if the owner ID matches the active process. Something like this:
if ($mutexOwnerId === currentProcessId()) {
    $this->lockProvider->releaseLock($lockName);
}

That way, we’d avoid releasing a lock that another instance of the same event might still be using.

Use LockProvider::restoreLock()  to reclaim ownership when needed.

restoreLock() could be helpful for managing lock recovery without forcing it across processes. This would let us handle ownership in a way that’s safer and doesn’t interfere with other running instances.
BTW, an example for the owner in CacheEventMutex::create():
public function create($mutexName) {
    $owner = uniqid();  // Unique owner identifier
    $this->lockProvider->lock($mutexName, $owner, $timeout);
}


added: slider color now relies on theme

tested only in dark mode.

Will check dark and light mode to make both look good , then merge hopefully,
Thank you for your contribution ❤

just checked the look, sadly i dont think i cant merge this in the current look, since i not looking good in my end

yeah, no worries, i'm trying to make pip work in ios too. if i manage to do that, i'll make a new pull where it will actually looks good. :D

i managed to make it work, but it's not stable nor a good implementation. this library code has been barely been touched, just implemented a method on ios channel for checking pip availability and then the methods for checking/starting, very minimal changes.
i tried implementing it manually but it's a mess, i'm not that good, then i saw a pr on video_player that is waiting for approval since 3months, which implements pip for ios.
https://github.com/vanlooverenkoen/flutter-packages/tree/feature/%2360048-ios-picture-in-picture
i coudln't manage to implement the import directly in this library, so I made a dependency override in my pubspec.yaml
dependency_overrides:
  video_player_avfoundation:
    git:
      url: https://github.com/vanlooverenkoen/flutter-packages/
      ref: feature/#60048-ios-picture-in-picture
      path: packages/video_player/video_player_avfoundation

  video_player_platform_interface:
    git:
      url: https://github.com/vanlooverenkoen/flutter-packages/
      ref: feature/#60048-ios-picture-in-picture
      path: packages/video_player/video_player_platform_interface

  video_player:
    git:
      url: https://github.com/vanlooverenkoen/flutter-packages/
      ref: feature/#60048-ios-picture-in-picture
      path: packages/video_player/video_player

it's a bare workaround, i know, but this is the best i came up with. we'll wait for video_player to accept the pr i guess, until then idk. I'll check out the colors for the sliders and then i'll push another pr, which you shouldn't approve since it's broken code unless you don't override the dependencies, but may be useful for someone who needs it like me. maybe i could do two branches, one with the slider colors and one with the "ios pip implementation" with a brief tutorial on how to achive that

i managed to make it work, but it's not stable nor a good implementation. this library code has been barely been touched, just implemented a method on ios channel for checking pip availability and then the methods for checking/starting, very minimal changes.
i tried implementing it manually but it's a mess, i'm not that good, then i saw a pr on video_player that is waiting for approval since 3months, which implements pip for ios.
https://github.com/vanlooverenkoen/flutter-packages/tree/feature/%2360048-ios-picture-in-picture
i coudln't manage to implement the import directly in this library, so I made a dependency override in my app's pubspec.yaml
dependency_overrides:
  video_player_avfoundation:
    git:
      url: https://github.com/vanlooverenkoen/flutter-packages/
      ref: feature/#60048-ios-picture-in-picture
      path: packages/video_player/video_player_avfoundation

  video_player_platform_interface:
    git:
      url: https://github.com/vanlooverenkoen/flutter-packages/
      ref: feature/#60048-ios-picture-in-picture
      path: packages/video_player/video_player_platform_interface

  video_player:
    git:
      url: https://github.com/vanlooverenkoen/flutter-packages/
      ref: feature/#60048-ios-picture-in-picture
      path: packages/video_player/video_player

it's a bare workaround, i know, but this is the best i came up with. we'll wait for video_player to accept the pr i guess, until then idk. I'll check out the colors for the sliders and then i'll push another pr, which you shouldn't approve since it's broken code unless you don't override the dependencies, but may be useful for someone who needs it like me. maybe i could do two branches, one with the slider colors and one with the "ios pip implementation" with a brief tutorial on how to achive that

Yes another pr to help people would be awesome, but keep in mind this workaround may not work on media_kit for iOS , right now the pip for Android works on both video_player and media_kit by making the app go to pip , not the player alone
Anyway thanks for your work, will check the pr when you create it and check if I can implement it in this package


Add TunesKit for Mac

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if adding a new cask:

[x] Named the cask according to the token reference.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.
[x] Checked there are no open pull requests for the same cask.
[x] Checked the cask was not already refused in closed issues.
[x] Checked the cask is submitted to the correct repo.

Is the full/non-trial version accessible from this link (ie. by entering in a serial key)? (as this url is linked to as "Free Trial" on application page)

The trial version can be activated with a serial number. As far as I'm aware, this is the only downloadable version (ie. there isn't a separate "full" version download).
On Apr 10, 2018, 20:34 -0700, Aditya Dalal<EMAIL_ADDRESS>wrote:
Is the full/non-trial version accessible from this link (ie. by entering in a serial key)? (as this url is linked to as "Free Trial" on application page)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/caskroom/homebrew-cask/pull/45807#issuecomment-380316213, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAtUTMbgHsI8HJYSxefkI_tm85K-EOfGks5tnXmqgaJpZM4TPTxm.


Pr/1

Thanks for the interest! It seems this was included in a recent PR, so I'll close this one now. But thanks for the effort! :coffee:


[bug]: _selectFirebaseProject failed with Valid value range is empty: 0

Is there an existing issue for this?

[X] I have searched the existing issues.

CLI Version
0.2.4
Firebase Tools version
11.2.2
Flutter Doctor Output
2022-07-16T04:46:58.7453516Z Doctor summary (to see all details, run flutter doctor -v):
2022-07-16T04:46:58.9449235Z [✓] Flutter (Channel stable, 3.0.4, on Ubuntu 20.04.4 LTS 5.13.0-1031-azure, locale C.UTF-8)
2022-07-16T04:47:06.7762365Z [!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
2022-07-16T04:47:06.7767234Z     ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
2022-07-16T04:47:06.7769712Z [✓] Chrome - develop for the web
2022-07-16T04:47:06.7771139Z [✗] Linux toolchain - develop for Linux desktop
2022-07-16T04:47:06.7777126Z     ✗ ninja is required for Linux development.
2022-07-16T04:47:06.7778024Z       It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases
2022-07-16T04:47:06.7778856Z     ✗ GTK 3.0 development libraries are required for Linux development.
2022-07-16T04:47:06.7779439Z       They are likely available from your distribution (e.g.: apt install libgtk-3-dev)
2022-07-16T04:47:06.7780643Z [!] Android Studio (not installed)
2022-07-16T04:47:06.7781874Z [✓] Connected device (2 available)
2022-07-16T04:47:06.7782979Z [✓] HTTP Host Availability
2022-07-16T04:47:06.7783403Z
2022-07-16T04:47:06.7784280Z ! Doctor found issues in 3 categories.

Description
2022-07-16T04:48:12.8475881Z melos run fire:cli
2022-07-16T04:48:12.8478573Z   └> npm install firebase-tools --location=global && \firebase --version && \dart pub global activate flutterfire_cli && \flutterfire --version
2022-07-16T04:48:12.8483105Z      └> SUCCESS

2022-07-16T04:48:12.8776281Z ##[group]Run flutterfire config --verbose --project=***********-dev --out=lib/config/firebase.dart --ios-bundle-id=***.****.****.dev --macos-bundle-id=***.****.****.dev --android-app-id=***.****.****.dev --platforms=android,ios,macos,web --yes
2022-07-16T04:48:12.8777264Z flutterfire config --verbose --project=***********-dev --out=lib/config/firebase.dart --ios-bundle-id=***.****.****.dev --macos-bundle-id=***.****.****.dev --android-app-id=***.****.****.dev --platforms=android,ios,macos,web --yes
2022-07-16T04:48:12.8831872Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2022-07-16T04:48:12.8832144Z env:
2022-07-16T04:48:12.8832396Z   FLUTTER_ROOT: /opt/hostedtoolcache/flutter
2022-07-16T04:48:12.8832710Z   PUB_CACHE: /opt/hostedtoolcache/flutter/.pub-cache
2022-07-16T04:48:12.8833433Z   FIREBASE_TOKEN: ***
2022-07-16T04:48:12.8833650Z ##[endgroup]
2022-07-16T04:48:13.1491773Z Unhandled exception:
2022-07-16T04:48:13.1500645Z RangeError (index): Invalid value: Valid value range is empty: 0
2022-07-16T04:48:13.1501391Z #0      _StringBase.[] (dart:core-patch/string_patch.dart:260:41)
2022-07-16T04:48:13.1501888Z #1      Console.cursorPosition (package:dart_console/src/console.dart:324:15)
2022-07-16T04:48:13.1502400Z #2      Console.windowWidth (package:dart_console/src/console.dart:215:32)
2022-07-16T04:48:13.1502868Z #3      Console.writeLine (package:dart_console/src/console.dart:454:23)
2022-07-16T04:48:13.1503332Z #4      Context.writeln (package:interact/src/framework/context.dart:63:14)
2022-07-16T04:48:13.1503813Z #5      _SpinnerState.render (package:interact/src/spinner.dart:107:13)
2022-07-16T04:48:13.1504311Z #6      Component.interact (package:interact/src/framework/component.dart:48:11)
2022-07-16T04:48:13.1504784Z #7      spinner (package:flutterfire_cli/src/common/utils.dart:160:5)
2022-07-16T04:48:13.1505336Z #8      ConfigCommand._selectFirebaseProject (package:flutterfire_cli/src/commands/config.dart:265:37)
2022-07-16T04:48:13.1505878Z #9      ConfigCommand.run (package:flutterfire_cli/src/commands/config.dart:368:43)
2022-07-16T04:48:13.1506366Z #10     CommandRunner.runCommand (package:args/command_runner.dart:209:27)
2022-07-16T04:48:13.1506887Z #11     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:119:25)
2022-07-16T04:48:13.1507317Z #12     new Future.sync (dart:async/future.dart:301:31)
2022-07-16T04:48:13.1507731Z #13     CommandRunner.run (package:args/command_runner.dart:119:14)
2022-07-16T04:48:13.1508486Z #14     main (file:///opt/hostedtoolcache/flutter/.pub-cache/hosted/pub.dartlang.org/flutterfire_cli-0.2.4/bin/flutterfire.dart:57:48)

Steps to reproduce

Set FIREBASE_TOKEN environment variable on CI machine
Install firebase tools and flutterfire_cli
run the following command

flutterfire config --verbose --project=***********-dev --out=lib/config/firebase.dart --ios-bundle-id=***.****.****.dev --macos-bundle-id=***.****.****.dev --android-app-id=***.****.****.dev --platforms=android,ios,macos,web --yes

Expected behavior
Normally I would expect the following
2022-07-15T16:04:01.0082911Z ⠋ Fetching available Firebase projects...
2022-07-15T16:04:04.4314116Z i Found 3 Firebase projects. Selecting project ******-dev.
2022-07-15T16:04:04.4355239Z i Selected platforms: android,ios,macos,web
2022-07-15T16:04:04.4360690Z Warning - android-app-id (-a) is deprecated. Consider using android-package-name (-p) instead.
2022-07-15T16:04:04.4387477Z ⠋ Fetching registered android Firebase apps for project ******-dev
2022-07-15T16:04:06.2317450Z i Firebase android app ***.******.***.dev registered.
2022-07-15T16:04:08.5409345Z ⠋ Fetching registered ios Firebase apps for project ******-dev
2022-07-15T16:04:08.6221743Z ⠙ Fetching registered ios Firebase apps for project ******-dev
2022-07-15T16:04:10.3256623Z i Firebase ios app ***.******.***.dev registered.
2022-07-15T16:04:12.5518488Z ⠋ Fetching registered macos Firebase apps for project ******-dev
2022-07-15T16:04:14.1523603Z ⠋ Fetching registered macos Firebase apps for project ******-dev
2022-07-15T16:04:14.1692232Z i Firebase macos app ***.******.***.dev registered.
2022-07-15T16:04:17.8653748Z ⠋ Fetching registered web Firebase apps for project ******-dev
2022-07-15T16:04:17.9033981Z i Firebase web app method (web) registered.
2022-07-15T16:04:20.0053433Z
2022-07-15T16:04:20.0057158Z Firebase configuration file lib/config/firebase.dart generated successfully with the following Firebase apps:
2022-07-15T16:04:20.0057687Z
2022-07-15T16:04:20.0092908Z Platform  Firebase App Id
2022-07-15T16:04:20.0093544Z web       1:***********:web:**********************
2022-07-15T16:04:20.0094144Z android   1:***********:android:**********************
2022-07-15T16:04:20.0150042Z ios       1:***********:ios:**********************
2022-07-15T16:04:20.0150509Z macos     1:***********:ios:**********************
2022-07-15T16:04:20.0150699Z
2022-07-15T16:04:20.0151135Z Learn more about using this file and next steps from the documentation:
2022-07-15T16:04:20.0151627Z  > https://firebase.google.com/docs/flutter/setup
2022-07-15T16:04:21.0522547Z
2022-07-15T16:04:21.0523242Z melos run fire:dev
2022-07-15T16:04:21.0525398Z   └> melos run fire:cli && \flutterfire config \  --project=******-dev \  --out=lib/config/firebase.dart \  --ios-bundle-id=***.******.***.dev \  --macos-bundle-id=***.******.***.dev \  --android-app-id=***.******.***.dev \  --platforms=android,ios,macos,web,linux,windows \  --yes
2022-07-15T16:04:21.0526536Z      └> SUCCESS
2022-07-15T16:04:21.0788530Z

Screenshots
No response
Additional context and comments
This was working 2-3 days ago. I'm not sure if it has to do with the recent updates with( firebase-tools, flutterfire_cli, Melos ) or recent firebase disruptions

It seems that when I pipe the command with | bash that's causing the issue.

Recent update to dart_console 1.1.0 (deps for interact) is causing the spinner and cursor issue.  It seems to be working fine again after overriding in pubspec.yaml with the lines below and use a dev dependencies to run.
dev_dependencies:
  ...
  flutterfire_cli: ^0.2.4

dependency_overrides:
  dart_console: 1.0.0

flutter pub run flutterfire_cli:flutterfire configure ...

I have yet to file an issue in dart_console

@timsneath is there anything you can help with?

I'll take a look. Thanks for flagging!

I think I've fixed this in 1.1.2. Could you take a look and see if this solves your issue?

@timsneath awesome, thank you! All works for me now

It's working for me too!


Does Icevision support segmentation masks in the RLE bitmask format?

I tried parsers.COCOMaskParser to load my COCO dataset but getting an error:
ValueError: invalid literal for int() with base 10: 'YXi61og0000og00QXO00000O1000000O10O100000O100000000O10000000000O10000000000O01000000000O100000000000000O100000000000000O10001O0000000000000000000O10000000001O000O100000000000001O00000000000O2O0000000
Does that mean icevision only supports polygons for COCO masks?

I just solves this problem myself but it required changing their source files. Essentially your COCO  dataset already has encoded RLEs which is what icevision convert all polygons and RLEs to under the covers. They assume that your dataset consists of either polygons or just normal RLE rather than encoded RLEs. I changed the source to remove the second encoding call which is what is calling this issue and it solved my problem. Also ensure you have iscrowd set to 1 rather than set to 0.
https://github.com/airctic/icevision/blob/ffc0815c4f84a817744d151b051391ec5e2690c6/icevision/core/mask.py#L215-L218
Rather than call mask_utils I just took the [{"counts": self.to_coco(), "size": [h, w]}] and passed it into EncodedRLEs


Use spotless apply

Use spotless apply

This is getting closed as it has been released in version 3.0.0.


fix: changing pinpoint policy

Issue #, if available:
Description of changes:
Change in pinpoint policy actions based on discussion
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@nikhname, @kaustavghosh06 -- This change has caused customer issues on the client side, because customers can no longer remove endpoints once they hit the 10 endpoint limit. What is the expectation for customers to be able to remove endpoints?

+1, facing same issues as @palpatim

+1, facing same issues as @palpatim

Having the same issue. Why was getUserEndpoints removed?

Having the same issue. Why was getUserEndpoints removed?

this appears to be a corresponding JS library change https://github.com/aws-amplify/amplify-js/pull/7245
JS issue on client side after upgrading Amplify CLI https://github.com/aws-amplify/amplify-js/issues/7251

this appears to be a corresponding JS library change https://github.com/aws-amplify/amplify-js/pull/7245
JS issue on client side after upgrading Amplify CLI https://github.com/aws-amplify/amplify-js/issues/7251

Can we please get this and the corresponding change in js reverted? This is causing all sorts of problems...

@ammarkarachi and @nikhname can you please give us some reasoning why this was done and what is being done to resolve this?

Are we just going to leave this broken?

This is a serious issue that is causing a lot of problems.


SafeQL Reports Error for Nullable Fields on  boolean

Describe the bug
SafeQL throws an Incorrect type annotation error when a boolean field is also allowed to be null. Querying the is_admin field of the database table below with the type isAdmin: boolean | null  will throw the error
CREATE TABLE animals (
  is_admin boolean
)

export type Animal = {
  isAdmin: boolean | null;
};

// showing incorrect type annotation error
export async function getAnimal() {
  return await sql<Animal[]>`
    SELECT
      animals.is_admin
    FROM
      animals
  `;
}

To Reproduce
Steps to reproduce the behavior:

Clone https://github.com/Eprince-hub/safeql-simple-repro
Replace the public env variables with your database credentials
Check the code in the database.ts file

Expected behavior
There may be some cases where the union type of boolean | null is needed, and SafeQL should support that. So there shouldn't be an error when I have a field like this is_admin boolean and a type like this isAdmin: boolean | null
Screenshots

Desktop (please complete the following information):

OS: macOS
PostgreSQL version 15.7
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@Newbie012 what do you think about this one?
I can confirm that this can be reproduced with a nullable boolean field (without NOT NULL).
It appears that SafeQL is reading the TS type boolean | null to be null | false | true, which fails equality test with null | boolean from PostgreSQL inference.
Is it a small change in SafeQL to infer null | false | true instead of boolean | null from the TS type?

Workaround
Use Omit<> and a TypeScript intersection:
 export type Animal = {
   isAdmin: boolean | null;
 };

 export async function getAnimal() {
-  return await sql<Animal[]>`
+  return await sql<(Omit<Animal, 'isAdmin'> & { isAdmin: boolean | null })[]>`
     SELECT
       animals.is_admin
     FROM
       animals
   `;
 }

@Newbie012 thanks for the PR #264 and the release!
I can confirm that<EMAIL_ADDRESS>is working with nullable boolean fields 🎉


Add Metrics

This change adds the Metrics awesome-metrics list to this awesome list.
https://github.com/raulgomis/awesome-metrics
A curated list of awesome metrics platforms & frameworks, ressources and other awesomeness.
By submitting this pull request I confirm I've read and complied with the below requirements.
Failure to properly do so will just result in the pull request being closed and everyone's time wasted. Please read it twice. Most people miss many things.

I have read and understood the contribution guidelines and the instructions for creating a list.
This pull request has a descriptive title. For example, Add Name of List, not Update readme.md or Add awesome list.
The entry in the Awesome list should include a short description about the list project/theme (not the list itself), and should be added at the bottom of the appropriate category.
The list I added

has been around for at least 30 days,
is the result of hard work and is the best I could possibly produce,
is a non-generated Markdown file in a GitHub repo,
is not a duplicate,
includes a succinct description of the project/theme at the top (example),
includes a project logo/illustration (whenever possible) at the top right of the readme (example). (The logo should link to the project website or any relevant website. The logo should be high-DPI, so set it to maximum half the width of the original image.),
only has awesome items with descriptions (Awesome lists are curations of the best, not of everything),
contains the awesome badge on the right side of the list heading,
has a Table of Contents section named Contents as the first section,
has an appropriate license (Meaning something like CC0, NOT a code licence like MIT, BSD, Apache, etc) (If you use a license badge, it should be SVG, not PNG),
has contribution guidelines,
doesn't include a Travis badge,
has been checked for inconsistent formatting, spelling, and grammar:

Each link description starts with an uppercase character and ends with a period.
Drop all the A / An prefixes in the descriptions.
Consistent naming. For example, Node.js, not NodeJS or node.js.

The entry in the Awesome list should include a short description about the list project/theme (not the list itself), and should be added at the bottom of the appropriate category.

includes a succinct description of the project/theme at the top (example),

These are both not done.
Title H1 of the list could be Awesome Metrics instead of awesome-metrics. And I'd also remove the divider after the contents.

Thanks @davisonio ! Fixed!

Some changes:

All of the heads should be in title case.
Check all of the descriptions to make sure they don't start with A or An.
Use an appropriate license like CC0, instead of MIT.

Thanks @legodude17 ! Fixed!

You missed one:

Kenshin - A time-series database alternative to Graphite Whisper with 40x improvement in IOPS.

@legodude17 thanks! fixed!

@sindresorhus Any comments?

There's a typo in the repo description ressources.

includes a succinct description of the project/theme at the top (example),

:arrow_up:

The repo should have the following GitHub topics set: awesome-list, awesome, list. I encourage you to add more relevant topics.

I would like to see more than just libraries. Include some blog posts, tutorials, links to community resources (Stack Overflow tag, IRC, chat, forums, communities, Reddit, etc. Example: https://github.com/sindresorhus/awesome-electron#community), videos of talks, book, learning material, etc.

Thanks  @sindresorhus ! Fixed!

includes a succinct description of the project/theme at the top (example),
⬆

Not done.

I would like to see more than just libraries. Include some blog posts, tutorials, links to community resources (Stack Overflow tag, IRC, chat, forums, communities, Reddit, etc. Example: https://github.com/sindresorhus/awesome-electron#community), videos of talks, book, learning material, etc.

Only partly done.

ping

Closing for lack of response.


houdini: introduce api client

Supports running pinging the server and running an exploit from a yaml file.
Signed-off-by: William Findlay<EMAIL_ADDRESS>

Codecov Report

Merging #47 (16fbb55) into main (2752a32) will decrease coverage by 1.18%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #47      +/-   ##
==========================================
- Coverage   21.35%   20.17%   -1.19%
==========================================
  Files          21       22       +1
  Lines        1110     1175      +65
  Branches      595      637      +42
==========================================
  Hits          237      237
- Misses        471      534      +63
- Partials      402      404       +2

Impacted Files
Coverage Δ

src/api.rs
2.38% <0.00%> (-0.19%)
:arrow_down:

src/api/client.rs
0.00% <0.00%> (ø)

src/cli.rs
0.00% <0.00%> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Bug with explicitly defining LibraryType as 'dynamic'

Describe the bug
When including ComposableArchitecture in an existing SPM, tests are not able to run. The following error is given:
The bundle <TestFramework> couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
Library not loaded: @rpath/ComposableArchitecture.framework/ComposableArchitecture
I am able to eliminate this bug by removing the type: .dynamic, from both frameworks in the package.swift file. However, if I do this, the example projects do not build
To Reproduce
Todo.zip
Environment

Xcode [e.g. 11.4.1 & 11.3]
Swift [e.g. 5.2.2 & 5.1]

(Related to #57 and #52.)

As noted in #57, type: .dynamic was a workaround for certain issues around modularity and testing, so removing it causes its own problems 😞
We may end up having to move ComposableArchitectureTestSupport to its own repo to avoid these SPM problems, but if anyone figures out a better fix we'd love to know!

We're working on fixing this in #70, which has consolidated everything we know about the issue. Gonna close this in favor of tracking that one!

@natemann Can you give this branch a spin and see if that fixes things for you? https://github.com/pointfreeco/swift-composable-architecture/pull/71
Note that TicTacToe now depends on the static library once in the TicTacToeCommon module, which is a little extra work, but also how Apple suggests static SPM library dependencies should be consumed by a modularized app.

@stephencelis, this seems to be working for me now. Thank you so much.


Popup-notification

Popup-notification when data have been saved from the QC-tool.
Perhaps include the "save-directory"

@MartinHanssonSMHI @magnuswenzerSMHI
Detta är fixat nu.


Add files via upload

@ferhataltinisik I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host istanbul-auzef.edu.tr not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Using accounts-amazon on http localhost

I'm getting a redirect error when setting the Allowed Return URLs to http://localhost:3000:
Error Summary
400 Bad Request
The redirect URI you provided has not been whitelisted for your application. Please add your redirect URI in the 'Allowed Return URLs' section under 'Web Settings' on the Amazon Seller Central App Console for Login with Amazon.
Request Details
client_id=amzn1.application-oa2-client.dd32df61b42e44d5aad6c461f82ba03c
response_type=code
scope=profile
redirect_uri=http://localhost:3000/_oauth/amazon?close
state=FruzE4XiwAn8ZuYvj

Does accounts-amazon require https:// to authenticate?

Haven't taken a close look at this issue. But at a glance, it says " add your redirect URI 'Web Settings' on the Amazon Seller Central App Console for Login with Amazon." Maybe you should try add http://localhost:3000/_oauth/amazon?close to App Console at Amazon?

That worked. http://localhost:3000/_oauth/amazon?close should be included in the setup config to avoid confusion.

Congrats @afang ! would you like to send me a PR for the setup config?

have you changed the url in Allowed Return URLs field of amazon website to http://platformatr.meteor.com/_oauth/amazon?close?


Suggest including a set of Admin Templates including Blazor Bootstrap

Blazor Bootstrap is great for developers that are familiar with Bootstrap and designing.  But for a backend developer like myself I still struggle in putting together a nice design.  If you can provide Admin Styled templates using your Blazor Bootstrap that would be a huge time saver for Backend Developers.  I would even be willing to pay for that on sites such as Wrapbootstrap and Themeforest.
Take a look at SmartAdmin - ASP.NET Core Responsive WebApp to get an idea of what I'm talking about.
Thanks/

SmartAdmin - ASP.NET Core Responsive WebApp: https://smartadmin-core.azurewebsites.net


make it easy to find causes of a particular kind

It would be nice to have cause() take a "name" argument that walks the chain of causes until it finds one with the given name.  That way you could do something like:
someHttpError.cause('SocketError')

Otherwise, people might end up depending on the exact cause chain (e.g., an HTTP error, then a socket error), which might break if a layer in between adds a useful intermediate message.
CC @jclulow @tjfontaine

I've prototyped this in my branch for #11.  See my comments there.

This has finally landed.  I'll be publishing v1.7.0 with this change.


Knight's Tour

Title: Knight's Tour
About: The aim is to come up with a solution for this problem using backtracking.
Name: Manasi Chhibber
Label: Feature Request
Assignee: 'Manasi2001'

Define You:

[x] DevIncept Participant
[x] Contributor

Is your feature request related to a problem? Please describe.
The motive is to check whether it is possible for a Knight to visit each cell of the N*N chessboard without visiting any cell twice starting from (X, Y) position. User will enter the chessboard size and a solution (if exists) will be printed.
Describe the solution you'd like...
Use backtracking to solve the issue.

Assigned. @Manasi2001


Use generic function for scan function

A generic function reduces the boilerplate when adding the scan function to all enums. Since this needs golang 1.18 we postpone this to a later point

This should wait for #126 and a follow-up upgrade to go 1.18. So that we have a clear separation of new (generics-based) features and version upgrade.


folder_branch_ops: don't assume offline mode when trying to lock

For offline mode, we put in a quick check in SyncFromServer() that bails out early if there's a long timeout trying to reach the mdserver.  However, this function is used for real during git operations, and if SyncFromServer() returns nil, it's assumed that a lock was taken at the server.  So if a client takes too long in pinging the mdserver and doesn't actually take the lock, the later Put to the mdserver will fail.  If this is the first put for initializing a repo, the repo will be left in a weird state where the initial config file was written, but none of the initial git repo files, and future actions will fail.
So instead, just don't test the timeout logic when we're trying to take a lock.
Issue: #18300

Wow that's kinda subtle. Shouldn't the SyncFromServer function return something different is it timed out?

Whoa @MarcoPolo coming in from left field for the Golang review, thanks!

Wow that's kinda subtle. Shouldn't the SyncFromServer function return something different is it timed out?

Maybe.  The problem is that this function is used a lot in tests, and if it returns an error in the timeout case, it will completely break all the offline tests that depend on it.  Plumbing through the fact that a timeout error is acceptable in all those places would be a pretty huge undertaking.

Yeah, I get that. It was just a comment. Maybe we can have a field on fbo called lastSync and it's a timestamp or nil. Then the caller would know if the sync worked or failed

The problem is that generally the caller is at least two levels removed from the fbo, and can't easily check a field like that.  Plus, if two syncs happened at once, that would be overwritten.  A specific error type or return param would be ideal, but it's just a pain to plumb it.


Fix support of 'use_client_subnet' option

If you pass 'use_client_subnet=True', that is silently being ignored
since it is "unknown" parameter to the Records resource.
Fixes: 2a0a1d119e5e1e40222f6e58fbc83e01b4108891
Signed-off-by: Igor Gnatenko<EMAIL_ADDRESS>

Hi @ignatenkobrain, thanks for opening the PR.
I'm not sure I understand what this is fixing.  The parameter to pass in order to enable the use_client_subnet option on a record is use_csubnet.  From my testing, this functionality seems to be working as intended.

…which does not work with ansible modules because they use use_client_subnet which is being silently ignored.
So basically official option is use_client_subnet and not use_csubnet and latter is mangled somewhere in the code just for backward compatibility.

https://github.com/ns1/ns1-python/blob/f58088e4a61c771597f9e5fa13da19a920b2efe8/ns1/rest/records.py#L101-L104
as I said, use_csubnet is obsolete and kept for backwards compatibility

Thanks for the color.  I think fixing that bug in the Ansible module itself or adding an additional BOOL_FIELD for use_client_subnet both seem like better options than removing the existing use_csubnet parameter in this SDK.  This would be a breaking change for anything that currently relies on this field.

but I do not remove this option. I just add support for use_client_subnet.

This PR appears to remove use_csubnet from BOOL_FIELDS and replaces it with use_client_subnet.  I believe this will cause use_csubnet to be silently ignored, right?  That would be a breaking change.
Adding use_client_subnet and leaving the existing use_csubnet in place seems like the preferable non-breaking change to me.

Oh, now I finally got what you were talking about :)
Done.

👍 Looks great, thanks again for the contribution!  Will merge on Monday EST as we do not release Fridays.

@mburtless ping?

Merged!  This will be released to PyPi in v0.11, which I'll cut shortly.