The same user is in a group multiple times which creates weird behaviour??

I dont know how this came to happen.

And I actually cannot reproduce. I cannot add the same user twice to a group? Maybe a bug when opting in?

I can't reproduce this and haven't seen anything like it in a long time. Closing.


Rename keyserver/main to keyserver/conameserver

This makes the binary be called "conameserver" by default, not an unspecific "main" (fixes #41).
This may require some changes to some build scripts somewhere.

:+1:


Document the right way to pass new contextual values to the middle of a waterfall step

Here's what I'm trying to accomplish -
I have a luis intent that triggers a waterfall dialog. While I’m in the waterfall dialog, I’d like to continue to pick up new luis entities. The way to pass that into the waterfall seems to be through dc.continue() but that does not take any args.
This also applies to the case when you get a card interaction based input that you need to be able to plumb through to a waterfall step.
Need docs/ sample/ guidance on how to accomplish this.

If there is a way to do this that is easier than just writing a custom, non-waterfall dialog, tell us how, and the doc team will write an article around it.

Dup of #620


Wrong date values are displayed on X-axis

I have created a line graph that shows the JVM's heap memory usage over a period of time, the update frequency is 2 seconds. I have configured the x-axis line chart as below,
xyChart.getStyler().setDatePattern("DD/MMM - HH:mm:ss");
My date datapoints are coming from this object,
nodeRunTime = currMemObj.currNodeRunTime;
and I am adding that to chart as below,
usedHeapSeries = xyChart.addSeries(Ser1_UsedHeap, nodeRunTime, usedHeapMemData);
With this configuration, when I run the chart, I can see a date coming as below:
(note the date is displayed as 34 Feb when the actual date is 3 February. In the console, correct date is printed)

When I checked the actual date that I am passing, I found it is being collected correctly but not being displayed in the proper format. Is this a defect? Am I missing something? Reproducible test case is attached here.
398_code.zip
Thanks!

dd/MMM - HH:mm:ss
http://www.sdfonlinetester.info/#

Thanks @timmolter for your help, that fixes the issue. Not sure how it was working earlier with though DD/MMM


Initialize values in memory before creating slice

Fixes #17038
Cc @jtattermusch

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,019,390      Total (=)      2,019,390

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,180,035      Total (=)     11,180,035

 No significant differences in binary sizes

Corrupt JSON data (indicates timeout or crash):
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.new: 10
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.old: 10

[microbenchmarks] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

Could we ignore this one via config? Would rather not benchmark the memset

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,019,390      Total (=)      2,019,390

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,180,034      Total (<)     11,180,040

 No significant differences in binary sizes

Corrupt JSON data (indicates timeout or crash):
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.new: 10
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.old: 10

[microbenchmarks] No significant performance differences

@ncteisen  msan doesn't support suppressions (https://www.chromium.org/developers/testing/memorysanitizer#TOC-Suppressions)  We could only disable the entire json_run_localhost suite on msan (which is fine with me, but isn't memsetting the memory the right thing to do anyway?).

It is the "right thing to do" but we use these benchmarks to compare against other RPC libraries, and if they are not memset-ing the memory, then we should not either (and IIRC, they are not)

I would prefer suppression of the file

So you're not benchmarking the memset because afaik you are only dashboarding the proto-based tests


Can i document an endpoint for a cron job?

Hi! I know this is used for event driven, however i'd like to know if it is possible to document an endpoint which is used by a cron job in order to execute a task, keeping in mind the best practices for asyncapi

Can you provide a bit more details on the cron job and what it is executing, like a webhook or? I'm trying to understand why would you like to use AsyncAPI for it


python312Packages.pytorch-pfn-extras: 0.7.7 -> 0.8.1; fix build

Things done
Changelog: https://github.com/pfnet/pytorch-pfn-extras/releases/tag/v0.8.1

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[x] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

LGTM, but can we do a rebase to retry ofborg eval, some other PR broke it.

Sure done !


Fix podman logs -l

'podman logs -l' was no longer working. This fixes it by replacing
&waitCommand.Latest with &logsCommand.Latest.
Signed-off-by: Adrian Reber<EMAIL_ADDRESS>

LGTM
If we can land this in 1.1 I'd like to
/approve

/lgtm


Multiple host deploy examples

Hi, i was wondering if someone has already tried multiple host deploy and have any examples on docker-compose on this.
It would be really helpful to have it on the docs.
Thanks!

After some try and error y managed to make it works with some caveats i still need to figure it out.

Had to run it on docker 16.04 since more recent version dont support ulimits on docker-compose.yml files and run this:

echo -e "[Service]\nLimitMEMLOCK=infinity" | SYSTEMD_EDITOR=tee systemctl edit docker.service
systemctl daemon-reload
systemctl restart docker

(cant find the source, i ll link it later)

I have to test how it scales without split brain situations and if it causes downtime.

Here are some usefull links and the docker-compose.yml:
https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/
https://docs.docker.com/engine/swarm/swarm-tutorial/deploy-service/
https://docs.docker.com/engine/reference/commandline/service_scale/
version: '3'
services:
  elastic-node1:
    image: amazon/opendistro-for-elasticsearch:0.7.0
    environment:
      - cluster.name=elastic-cluster
      - node.name=elastic-node1
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms16g -Xmx16g"
      - opendistro_security.ssl.http.enabled=false
      - discovery.zen.minimum_master_nodes=2
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - elastic-data1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
      - 9600:9600
    networks:
      - elastic-net
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
            - node.role == manager
  elastic-node2:
    image: amazon/opendistro-for-elasticsearch:0.7.0
    environment:
      - cluster.name=elastic-cluster
      - node.name=elastic-node2
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms16g -Xmx16g"
      - opendistro_security.ssl.http.enabled=false
      - "discovery.zen.ping.unicast.hosts=elastic-node1"
      - discovery.zen.minimum_master_nodes=2
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - elastic-data2:/usr/share/elasticsearch/data
    networks:
      - elastic-net
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
            - node.role != manager

  kibana:
    image: amazon/opendistro-for-elasticsearch-kibana:0.7.0
    ports:
      - 5601:5601
    expose:
      - "5601"
    environment:
      ELASTICSEARCH_URL: http://elastic-node1:9200
    networks:
      - elastic-net
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
            - node.role == manager

volumes:
  elastic-data1:
  elastic-data2:

networks:
  elastic-net:

After the initial start i managed to grow it with:
docker service scale stackdemo_elastic-node2=2
And thats how far i got with the testing for now.
Hope it helps!

Thanks, that's really helpful! If you're interested in writing this up, I would be happy to work with you on getting it published to our blog.

Here i what i was able to come up with. Feel free to change it up and fix grammatical mistakes (english is my second language)

When going for a complete production envirioment being able to scale up and restore backups to our implementations is key in order to have a reliable envirioment where people can store and explore real time data.
In order to archive this here is a step by step guide on building a cluster over docker swarm. For this example in particular i ll be using EC2 instances from AWS using the AMI of Ubuntu 16.04.
We ll strart by installing docker, docker-compose, setting the maximum virtual memory and download the opendistro images.
sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-ce=18.06.3~ce~3-0~ubuntu containerd.io
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo echo -e "[Service]\nLimitMEMLOCK=infinity" | SYSTEMD_EDITOR=tee systemctl edit docker.service
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo sysctl -w vm.max_map_count=262144 # Keep in mind this is not permanent. You should add the line "vm.max_map_count=262144" to the /etc/sysctl.conf file in order to avoid losing this configuration
sudo docker pull amazon/opendistro-for-elasticsearch:latest
sudo docker pull amazon/opendistro-for-elasticsearch-kibana:latest

Wow so many commands, but we can simplify most of this work if we just do it ones and then create an AMI so every machine (node) we use from now on is fully configured. But wait, before doing this we might want to create our own custom image in order to install plugins like s3-repository to be able to use S3 to store our backups and avoid using our local fs.
Now its time to create a Dockerfile using your favorite text processor to write (vi, nano, etc):
FROM amazon/opendistro-for-elasticsearch:latest
RUN /usr/share/elasticsearch/bin/elasticsearch-plugin install --batch https://artifacts.elastic.co/downloads/elasticsearch-plugins/repository-s3/repository-s3-6.6.2.zip
RUN cat /file/containing/access_key | bin/elasticsearch-keystore add --force --stdin s3.client.default.access_key <<< "<YOUR AWS ACCESS KEY>"
RUN cat /file/containing/secret_key | bin/elasticsearch-keystore add --force --stdin s3.client.default.secret_key <<< "<YOUR AWS SECRET KEY>"

Keep in mind this credentials should have write access over the bucker where you want to backup your cluster. More info about S3repository and Elastic Snapshots.
Now we create a new image using:
docker build -t custom_opendistro .
Now we need to be able to replicate this image over the nodes. Here is where i would recommend using a docker repository like ECR but in order to avoid doing this post more extensive than it needs to we can just create an AMI here and move on.
Ones we have two machines up and running (the one we just configure and a new one we create from our recentlly created AMI).
Lets call them Instance1 and Instance2.
Now on the Instance1 we need to create the docker swarm:
docker swarm init --advertise-addr <Internal IP>
This command ll return something like
docker swarm join --token XXXXX InternalIP:2377
this you should run on the Instance2 node in order to join it to the swarm. At this point we have our swarm ready to deploy our app.
In order to do this we ll be using docker-compose. Here is an example file:
docker-compose.yml
version: '3'
services:
  elastic-node1:
    image: custom_opendistro
    environment:
      - cluster.name=elastic-cluster
      - bootstrap.memory_lock=false
      - "ES_JAVA_OPTS=-Xms64g -Xmx64g"
      - opendistro_security.ssl.http.enabled=false
      - discovery.zen.minimum_master_nodes=1
    volumes:
      - elastic-data1:/mnt/data
    ports:
      - 9200:9200
      - 9600:9600
      - 2212:2212
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks:
      - elastic-net
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
            - node.type == manager
  elastic-node2:
    image: custom_opendistro
    environment:
      - cluster.name=elastic-cluster
      - bootstrap.memory_lock=false
      - "ES_JAVA_OPTS=-Xms64g -Xmx64g"
      - discovery.zen.ping.unicast.hosts=elastic-node1
      - opendistro_security.ssl.http.enabled=false
      - discovery.zen.minimum_master_nodes=1
    volumes:
      - elastic-data2:/mnt/data
    networks:
      - elastic-net
    ulimits:
      memlock:
        soft: -1
        hard: -1
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
            - node.type != manager
  kibana:
    image: amazon/opendistro-for-elasticsearch-kibana:0.8.0
    ports:
      - 5601:5601
    expose:
      - "5601"
    environment:
      ELASTICSEARCH_URL: http://elastic-node1:9200
    networks:
      - elastic-net
    deploy:
      mode: replicated
      replicas: 1

volumes:
  elastic-data1:
  elastic-data2:

networks:
  elastic-net:

Feel free to change the "ES_JAVA_OPTS" variable in order to assign RAM memory to each node of the cluster. More info about elastic core configurations.
 Your first opendistro cluster should be running right now and you should be able to access it using the internal ip of the Instance1 on the port 5601. For example: http://<IP_ADDRESS>:5601
But now its time to fullfil the promises i made at the begining. Lets start with scaling up the cluster.
In order to do this we ll create a new machine from the same AMI, lets call it Instance3 and join it to the swarm just like we do with the Instance2.
And now we can just tell the swarm to increase the number of replicas we want for the elastic-node2 (keep in mind im using the elastic-node2 cause it has the configuration that allows a node to ping an elastic master node and join in - discovery.zen.ping.unicast.hosts)
docker service scale opendistrostack_elastic-node2=2
AWESOME!! You have a 3 node cluster up and running that is able to create and restore snapshots from S3 and you can keep adding nodes as much as you want.
Caveats:

In order to make the swarm fault tolerance the best way i found was promoting all nodes to leaders of the swarm and chaning from the docker-compose the constraints to labels. More info here.
The elastic cluster should be able to survive the lost of the Instance1 and i ll automatically assign another master but you ll lose your kibana. Im looking on deploying this on a more efficient way.
At some point the elastic cluster need to have more than one master and for this you ll need to run:
PUT /_cluster/settings {"persistent" : {"discovery.zen.minimum_master_nodes" : 2}}
and preferably add every master to the discovery.zen.ping.unicast.hosts variable. Updating the docker-compose file and runnig the update over the cluster.

Extras:

If you have problems creating the S3 repository for backups this request might help update the keystore values we setup on the Dockerfile:
POST _nodes/reload_secure_settings
In case you want to access the running container you might find that most commands fail cause of a memory issue. You need to overwrite the ES_JAVA_OPTS variable to be able to access the container.
docker exec -e ES_JAVA_OPTS= -it <Container ID> bash
I havent had the time to code a simple script to backup the whole cluster (it should be a simple http request) each day. Here is the request to create the repository:
PUT /_snapshot/s3_repository {"type": "s3","settings": {"bucket": "<Bucket name>","region": "us-east-1"}}
Create a snapshot
PUT /_snapshot/s3_repository/<Snapshot name>?wait_for_completion=false

Wow! Thank you so much for writing that up! I'll work through it and see whether we can get it published. I'm also going to figure out how to get in touch with you off-list so we can get you author credit if we go ahead.
Jon

Hi Jon, this is my personal GitHub account in case u need to get in touch.

@mporracindie  Great it works for me.

Hi There,
I am looking at similar POC, deploying on multiple servers with docker.  Is there a documentation available ?
Thanks
Murali


Execute ./setup.sh  Line 54 Password required

I have installed postgresql ，Execute ./setup.sh  ,print Line 54 Password required，Where is this password?

close with git commit:
https://github.com/oldkingcone/slopShell/commit/5967ee0c60a8cb3a86faebf1ec3308484fb82530


The door would not open or close.

I have a problem when relay that opens the garage door does not change. I run multiple tests and, as far as I can see, my pin 23 does not change the status when I try to open/close the door. It always has 3.5V. It starts as soon as I start the program.
I see this when I try to open/close door from Home Assistant. I also move sensor to change the status:

This is my config.yaml file:

This is the entry for this program in configuration.yaml file in Home Assistant:

Can you please help?
Thank you.

I changed configuration file on Home Assistant to:
cover:

platform: mqtt
state_topic: "home-assistant/cover"
command_topic: "home-assistant/cover/set"
name: "Garage Door"
qos: 0
retain: true

Now it detects the status of the door, but relay would not change. As soon as I run:
sudo python main.py
It closes "Normally Opened" part of relay and keeps it like this until I reboot my RPi.
Any ideas?
Thank you.

Are you sure the comments are getting published to the topic?

I believe everything is published the way it should. When I started, I had some additional issues, but I resolved them, so I removed some text.
Where can I get those logs?
Thank you.

Well you can just post a screen cap of the terminal for garage qt pi. The home assistant log will depend on how its installed. Min is in /var/opt/home-assistant/home-assistant.log

I cannot find home-assistant.log file, but this is the terminal screenshot from garage qt pi:

Thank you.

I see a warning at the top about the gpio pin being in use. Can you try restarting the pi and rerunning the program?

I restarted and run it multiple times. I always have this warning and the same behavior..
As soon as I run the program, this pin start giving voltage. It does not happen until I start the program. The only way for me to stop it, is to reboot the RPi. Even if I try Ctrl+C to stop the program, it would not release the pin. I have to restart.
Thank you.

It seems that the pin actually disconnect the voltage for short period of time if relay is not connected. If relay is connected, the voltage does not change. Does it mean that I have a bad relay? What do you think?
This is a single channel relay and I just purchased it.
Thank you.

I confirmed that it was the relay. Thank you for your help.


Add missing omitempty to Bundle.Custom

This is a follow-up to https://github.com/deislabs/cnab-go/pull/21/files#r289733051 to ensure that custom isn't serialized when empty.

Yeah I was thinking the same thing. I'll submit one in a follow-up because I think that the PR may get nitted a bit (e.g. should it be canonical json? what other scenarios and variations should it test, etc), and I'd like to get this one in. 😀

Regarding whether the tests should marshal bundles in canonical JSON form - I think they should, and FWIW, the methods for writing bundles (WriteFile and WriteTo) already do so in canonical form.


Translate README to spanish

Regarding #1318
I started this last night, but looks like #1322 beat me to it. I'm not sure how much localization is acceptable (it might be too much to keep both variations), so I'll leave it up to you maintainers if you want to keep both or not.

Double check this matches the latest English readme in terms of information content and read through the updated TL guidelines - it looks like you're good on the latter but does your last section match the new English section?

@jdiez17 @hobarrera can we get one of these squared away please?


Download cache

An attempt to solve https://github.com/avsm/duniverse/issues/15
What it does:

Create a .duniverse in $HOME containing a git repository in a cache subdirectory.
When pulling a package from a given upstream with a given tag, it checks if the upstream-tag branch already exists. If it does, a simple directory to directory git clone is done from it. If not it add the upstream to the list of upstreams and fetchs the requested tag.

This should allow for the same package to have multiple upstreams/tags.
However the cache assumes that a tag doesn't move, so packages that rely on a branch (such as master) are problematic for now.

This is good, but the branch thing is a definite problem since we pin quite often to a branch.  I have a slightly modified idea.  How about instead of ever having tags in the duniverse.sxp, we only ever have sha256 commit hashes (as esy does).  Those are straightforward to cache using your scheme, and are immutable.
We'll need to modify the opam phase to resolve URLs to a concrete sha256 tip though, before this can be merged.

This is good, but the branch thing is a definite problem since we pin quite often to a branch. I have a slightly modified idea. How about instead of ever having tags in the duniverse.sxp, we only ever have sha256 commit hashes (as esy does). Those are straightforward to cache using your scheme, and are immutable.
We'll need to modify the opam phase to resolve URLs to a concrete sha256 tip though, before this can be merged.

Yep that's what we came up with @TheLortex as well a few days ago when discussing this feature. I have to get some stuff done on the dune 1.10 X dune-release front first but I'm planning on a refactoring of the duniverse module to better represent the duniverse in order to make it easier to pin a tracked branch to a commit ref.
The idea would be to let you track a branch of an upstream repo at the time of duniverse init or the future duniverse install. This would be tracked in the duniverse.sxp along with the commit ref for this branch's HEAD at the time of execution. You could then later "upgrade" such repos of your duniverse by running duniverse update or something similar which would update the commit refs for those branches in the duniverse.sxp and pull in the latest versions in your duniverse/.

That scheme sounds perfect @NathanReb.  Tracking the 'name' of the source code origin (the url/branch/tag name) and having the 'resolved' address (the hash) as separate concerns would work well.  In the future, we can map changes to local code back by following the names of the relevant directories back.

@NathanReb

I'm a bit confused by this approach and I find the code a bit hard to follow.
I'm especially surprised by the fact that the cache directory a git repo and we use only branches to track repos, upstreams and refs. Could you explain the rationale behind this choice a bit? I feel like my git-fu isn't strong enough and I'm lagging behind a little!
I added a few minor comments but otherwise it looks good!

The scheme is the following, given a remote_url and a tag.

the pair remote_url,tag is translated to a unique branch name
then a simple lookup checks if the branch already exists in the cache (using direct file lookup in order to spare another git call):

if it doesn't exist: check if the remote already exists:

if it doesn't exist: create the remote
shallow fetch the target tag and create the branch from it

clone the branch to the desired directory

Is there something that you find problematic in that ?

Rebased and updated according to reviews!

As branches are now resolved into commit hashes, the cache mechanism has been updated accordingly. Basically for each target commit a commit-<hash> branch is created that can directly be cloned into the target directory.

Rebased on master ! This means the cache is now parallel, for even more speed !!
What changed is that instead of using a single git repo for every remote, there's now one repo per remote.

Not using the cache for ref resolution (eg. using the cache only when pulling) definitely makes sense as a first step.

I rebased this and pushed new commits with some of the changes we suggested!
We had a look at this with @Julow and came to the conclusion that part of the cache directory finding logic is a bit too intrusive and we suggest to do the following:

Set the cache dir to the path pointed at by the $DUNIVERSE_CACHE env var
If it's not set, set it to $XDG_CACHE_HOME
If it's not set, set it to $HOME\Local Settings\Cache on windows or $HOME/.cache on Unix
If $HOME is not set, and we're on windows, set it to $AppData\Local Settings\Cache
If none of the above are set, we disable the cache and warn the user with a helpful error msg

@avsm how do you feel about that? I feel like it's a good default that should work for most people while not offending anyone.

For the cache location, you can reuse dune's xdg library which seems to do something similar to what you're describing.

@emillon Dune is using Unix.getpwuid and we found that to be a bit intrusive. In the case HOME is not set, we instead disable the cache.
What do you think?

I wouldn't call that intrusive, but sure it works to disable the cache when HOME is not set.
My point was more that you can vendor xdg into duniverse and not have to worry about these details :)

I played with the new cache a bit, fixed a bug, added a --no-cache option to disable the cache (that can be helpful to debug some issues) so I think it's now ready for a final round of review.
Let's get this merged!


Arrange food, drink, and venue access for OKC PHP event | 2016-12-08

What: Oklahoma City Meetup: Improving Your Development Practices
When: 12/08/2016 6:30 pm
Where: 1141 W Sheridan Ave, Oklahoma City
Check meetup for RSVP count: https://www.meetup.com/OklahomaPHP/events/235984139/

Hi Amanda,
We have 7 RSVPs for Thursday evening. I think two pizzas would do it--one veggie and one combo.
Do we have key cards yet?
Michal

@amandaharlin Are we too late to order pizza?

oh hey @michalcarson you are not too late. that's was nice of you to ask!
ada is asleep now and i've got your order queued up. there should be plenty of drinks up at ss46. if there isn't please let me know.
ava, shes @avasond in techlahoma slack, is the person in charge of keycards. i'll ask her to get yours ready. 👍


epidemic_dxy crashes on national and regional queries

epidemic_dxy crashes on indicator="全国" or indicator="浙江省" etc.
Query
epidemic_dxy_df = ak.epidemic_dxy(indicator="全国")
print(epidemic_dxy_df)
Error
Traceback (most recent call last):
File "", line 11, in
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/akshare/event/sos.py", line 75, in epidemic_dxy
data_df.columns = ["地区", "地区简称", "确诊", "疑似", "治愈", "死亡", "备注", "区域"]
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/generic.py", line 5286, in setattr
return object.setattr(self, name, value)
File "pandas/_libs/properties.pyx", line 67, in pandas._libs.properties.AxisProperty.set
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/generic.py", line 661, in _set_axis
self._data.set_axis(axis, labels)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 177, in set_axis
raise ValueError(
ValueError: Length mismatch: Expected axis has 9 elements, new values have 8 elements
Similarly:
Query
epidemic_dxy_df = ak.epidemic_dxy(indicator="浙江省")
print(epidemic_dxy_df)
Error
Traceback (most recent call last):
File "", line 14, in
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/akshare/event/sos.py", line 75, in epidemic_dxy
data_df.columns = ["地区", "地区简称", "确诊", "疑似", "治愈", "死亡", "备注", "区域"]
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/generic.py", line 5286, in setattr
return object.setattr(self, name, value)
File "pandas/_libs/properties.pyx", line 67, in pandas._libs.properties.AxisProperty.set
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/generic.py", line 661, in _set_axis
self._data.set_axis(axis, labels)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 177, in set_axis
raise ValueError(
ValueError: Length mismatch: Expected axis has 9 elements, new values have 8 elements

Hello, this error had been fixed in version 0.3.70.
you can pip install akshare --upgrade to 0.3.70.
Thanks for your issuse

This is fixed in version 0.3.70. Thanks.


Allow interpreter to run without a async/await

In dev/debugger we need to be able to pause execution, but in prod we don’t want to pay the overhead.
Also, it has complicated all kinds of things by requiring that lots of of other functions become async.
This is fine for now, but it would be nice to come back and clean this up.
Search the code base for #814 to find places where we are awaiting just because of debugging.

Closing since we are not actively working on modern skins any more.


Image sending in android-starter

From @salimshivani on March 2, 2017 12:47
There is an issue in android-starter in sending an image. When the image is sent, either the app crashes or the app image is not sent. Just the user image along with the name is displayed.
Also, when the text message is sent, the user image is not displayed.
Copied from original issue: firebase/friendlychat-web#164

Hi @salimshivani I'm unable to reproduce this, is this still an issue?

From @salimshivani on April 3, 2017 1:28
Thank you for the response, but then can internet connectivity be the reason for crashing the app?
Since, in initial stage, the app was just not displaying the imageview for the image sent, but later on, it started crashing.

Could you provide the stack trace of the crash?

@salimshivani

@kroikie I had left it after I didn't understood the working of Firebase at that time. And I am sorry for that.

@salimshivani glad you got things working, closing.


Can lxd container support --ip as docker does ?

Currently my company's trying to leverage lxd for critical project. (shifting direction from docker to lxd).
However the road block is that lxd (lxc cmd) lacking optional flag to launch a lxd container with specific IP address. Is there a plan to support this in near future ? Thanks.
-jin

The recommended way to do this would be to assign a hardware address to the container and use your dhcp server to assign the specific ip address.

Right now networking is managed outside of LXD, all that LXD does is give you a stable MAC address and connect your layer-2, so indeed to use static network, either configure your networking INSIDE the container to use a static IP or configure your DHCP server to give the IP you want to that MAC address.
We are considering adding basic bridge networking configuration to LXD itself in the future, at which point you would be offered a way to configure a static address that would then be served by the LXD run DHCP server, but there's no clear timeline for that.
You can also pre-configure your network namespace today by using some raw.lxc configuration keys, however note that this is a bit of a workaround and not something we really support:
raw.lxc: |
    lxc.network.0.ipv4 = <IP_ADDRESS>/24
    lxc.network.0.gateway = <IP_ADDRESS>

Appreciate the ideas. You guys rock. 👍

Going to close this issue for not as besides the workaround given above, this is currently out of scope for LXD. Currently LXD only sets up networking layer-2.
If we do add bridge configuration directly to LXD in the future, setting static DHCP entries will certainly be part of it.

just found out, dnsmasq is running for mapping container names to dynamic ip-addresses:
root@c1:~# nslookup c1
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53

Name:   c1.lxd
Address: <IP_ADDRESS>

so it's possible to build container-container-connection via hostnames (i.e. webserver-database container)

@stgraber yes. it will be certainly an appreciated feature. !


Initial request flow documentation

adds a sequence diagram for https://github.com/owncloud/ocis-glauth/issues/13

@felixboehm @butonic something went wrong with this merge.
Did you do something special?


Support TypeScript "moduleResolution": "node16"

Description
Description
In TypeScript 4.7, along the property "module": "node16" that enables ESM features in TypeScript, there are new values for the property "moduleResolution": "node16" and "nodenext".
Problem Statement/Justification
The problem is that when using panda-css the generated code does not use "node16" imports in the ts definition files:
/* eslint-disable */
export * from './box'
export * from './flex'
export * from './stack'
export * from './vstack'
export * from './hstack'
export * from './spacer'
export * from './square'
export * from './circle'
export * from './center'
export * from './link-box'
export * from './link-overlay'
export * from './aspect-ratio'
export * from './grid'
export * from './grid-item'
export * from './wrap'
export * from './container'
export * from './divider'
export * from './float'
export * from './bleed'
export * from './visually-hidden'

All the imports should have file extensions to work with node16
Proposed Solution or API
Update the codegen to add file extensions as well.
Alternatives
No response
Additional Information
No response

What are the benefits?

Basically future proofing, this is how ESM will be handled in the future, a lot of projects are now moving to support this, as this is the way the industry is headed at the moment.
'node16' or 'nodenext' for modern versions of Node.js. Node.js v12 and later supports both ECMAScript imports and CommonJS require, which resolve using different algorithms. These moduleResolution values, when combined with the corresponding module values, picks the right algorithm for each resolution based on whether Node.js will see an import or require in the output JavaScript code.
Can be easily achieved:

can be under a flag in panda.config.ts or even a flag passed to codegen.
can automatically detected the tsconfig

A tool like this shouldn't enforce the end-user to change their tsconfig in order for this to work.
As a workaround for now, i added "skipLibCheck" in my tsconfig, but I really want to avoid using that.

sorry, the workaround doesn't work, as skipLibCheck only works for node_modules.

I wouldn't mind creating a PR to address this.

I have already started working on it :)

If it works without having to detect the tsconfig, then that’s an ideal solution.
Please go for it @omridevk

not sure if would work without some kind of a flag.

awesome!! sorry didn't get a chance to do it, thanks so much.

@segunadebayo  can you please re-open, see the following error:

d.ts files should only import types from '.ts' files or import "js".
Can this be addressed as well?
Thanks.

@omridevk please use the forceConsistentTypeExtension option as documented in the PR. This will emit .d.mts files
Unfortunately, Panda cannot emit ts files but I believe that option should meet your needs.

I did used it.

and I updated to panda/dev 0.13.0

the problem is that the index.d.ts files should either do  import type * from '.....mts' or import type from '...js'


TypeError: Cannot read properties of undefined (reading 'left')

i have a rather big but simple zod schema (and i get error below when calling parseZodSchema)
TypeError: Cannot read properties of undefined (reading 'left')
at getKeysFromZodSchema
at
at Array.reduce
at getKeysFromZodSchema
at getKeysFromZodSchema
at
at Array.map
at getKeysFromZodSchema
at Proxy.parseZodSchema

found the issue
problem is with zod enum..
works:
    const schema = z.object({
      a: z.boolean(),
      b: z.string(),
      c: z.string(),
      d: z.string(),
      e: z.string(),
      f: z.string(),
      g: z.string(),
      h: z.array(
        z.object({
          ha: z.number(),
          hb: z.string(),
          hc: z.boolean(),
          hd: z.string(),
        }),
      ),
      i: z.object({
        ia: z.number(),
      }),
    });
    const schemaKeys = parseZodSchema(schema);

Doesn't work
    const schema = z.object({
      a: z.boolean(),
      b: z.string(),
      c: z.enum(["a", "b", "c"]),
      d: z.string(),
      e: z.string(),
      f: z.string(),
      g: z.string(),
      h: z.array(
        z.object({
          ha: z.number(),
          hb: z.string(),
          hc: z.boolean(),
          hd: z.string(),
        }),
      ),
      i: z.object({
        ia: z.number(),
      }),
    });
    const schemaKeys = parseZodSchema(schema);

on another note, my idea / what i am trying to achieve is that I'd like to build a library, with a function that exposes:
zodSchema: union of available zod schemas
field: which-field-in-scheam (this should autocomplete based on zodSchema selected above)
operator: operator-based-on-field-data-type
value: value, which should be type of the selected field

I'd like to achieve all of this with zod, so i can also use zod.parse when I get this data objects from "unreliable".. i could build a type (maybe it would be easier)..
what would you suggest?

Well, i haven't test Zod Enum yet, i think that's the problem haha 😅
As of now, the supported zod type was as stated below:

ZodUnion, ZodIntersection, ZodArray, ZodOptional, ZodNullable, and ZodObject also of course the basic type like string, boolean and so on

But don't worry i'm planning on supporting the other things such as the Zod enum too

Let me know if I can help somehow. I can look into the source code ofcourse but if you have some pointers go ahead.
Also did you see my 2nd part of message, do you have any suggestions?
Feel free to ignore me completely hehe, we are all busy

Hi @krisgrm, just wanted to let you know, as per v1.5.0 the ZodEnum is supported! and also to make me possible to fulfill your request, can you provide some details as i asked above?


AVR-IOT Atmel START - WLAN Configuration  missing

Hi
In the excellent instruction (thanks!) we have WLAN settings available
But... I'm afraid the new Atmel Start for AVR IOT WG Sensor Node - that section was modified.
http://start.atmel.com/#dashboard
I see only Application & Cloud configuration. WLAN is missing!

Fortunately it seems to be found in software components chart:

details:

Although that looks clear I have some doubts,
could anybody confirm, that just using that window I need to fill my WLAN name, authentication type and password?

Thank you for update of the instruction


USHIFT-1961: make sure FIPS compliance test runs on a stopped system

due to a race condition  Microshift service  must be stopped before running the test.

/unhold


JIRA STORM-766 (Include version info in the service page)

I have included the code to display the version info in the web-page. Let me know if you need any other requirement.

All the generated files that really has no change other then the date should be removed from the PR. Looks good otherwise, will test once you remove the files.

Hi Parth,
I have reverted back the unmodified thrift java classes and also removed the uneccessary logs. Kindly let me know if you need anything else to be done. Thanks

Overall the code looks good.  The trick with the rolling upgrade is that we want to be sure that an old nimbus can work with a new supervisor and a new nimbus can work with an old supervisor too.  Similarly for the client.  An old client should be able to work with a new nimbus and a new client should, in most cases, work with an old nimbus. Perhaps the simples way to do this is to provide a default value for version which is set to something like "VERSION NOT PROVIDED".

I have modified the code as per the specifications. Please let me know if there are any specifications that have to be met. Thanks Sanket

Please upmerge, there is a merge conflict in supervisor.clj, but it does not look too complex.

I ran a simple manual test where I had an old supervisor and a new nimbus and everything worked well.  I am +1 for merging this in once the merge conflict is resolved.

+1 looks good to me.


[stable/instana-agent] Update instana/agent Docker image to latest 1.0.29. Update introduction in README

What this PR does / why we need it:
This changeset includes:

Another instana/agent Docker image version update from 1.0.28 to 1.0.29
Some changes in the README

Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/lgtm


Create codeql-analysis.yml

@stuhlmueller I fixed HEAD, so try rerunning CI.

@stuhlmueller Looks like prettier wants to reformat the file.

Can you do it?


Update nscplugin, sbt-scala-native to 0.5.5

About this PR
📦 Updates

org.scala-native:nscplugin
org.scala-native:sbt-scala-native

from 0.4.17 to 0.5.5
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-native" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-native" }
}]

labels: library-update, early-semver-major, semver-spec-minor, commit-count:1

Superseded by #96.


Feat: Connecting to Mailgun after login for email receiving

Describe the feature
I would like to add a feature where we can connect login to mailgun when user login to website mailgun will automatically send notification to user via email that successfully login done.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Describe the feature
I would like to add a feature where we can connect login to mailgun when user login to website mailgun will automatically send notification to user via email that successfully login done.
Add ScreenShots

Record

[x]  I agree to follow this project's Code of Conduct
[x]  I'm a GSSOC'24 contributor
[x]  I want to work on this issue

Please assign me this issue under GSSoC'24.


Add a Paint & Drawing app

Hey, I would like to add a paint and drawing app extension under gssoc. In this app user can draw freehand, or draw shapes in their preferred colours. I will add max drawing and paint tool. They can even download their drawn image.

Added this project already #694. Closing this @ananyag309


Timing not working?

I'm not sure, but timing seems to be either not working, or not intuitive.
For example, here I expect four notes to evenly fire within one second:
https://jsfiddle.net/zxsthhmq/72/
But that doesn't happen, instead the notes fire on some other schedule. In fact, only three notes ever fire (from what I can hear).

It takes a moment before that code to executed. By the time the first 'triggerAttackRelease' is invoked, it's scheduled time of 0 has already passed. Since you can't schedule things in the past,  either it's cut short or squelched entirely by the second event.
The surefire way to avoid this is to get the AudioContext time right before you want to schedule something (with Tone.now()) and schedule all of your events relative to that time.
https://jsfiddle.net/zxsthhmq/75/

If it helps, I'm in Chome 62.

I just kept the values in your original example which have the time values 0, 0.25, 0.75 and 1, so they are not evenly spaced to begin with. If you'd like it to be evenly spaced, try these values
Removing 'now' from the example code would be difficult. One of the fundamental difficulties of working with Web Audio is grappling with the synchronous timing of audio and the asynchronous timing of javascript. Chris Wilson has a widely-cited article on this challenge. If you have improvements to the API or examples of Web Audio code that accomplished this better, i'm open to suggestions and PRs.
There's a couple of things in Tone.js that might be useful: Tone.Offline will give you the behavior which is closer to what you're describing because you can schedule everything in advance and then 'render' the audio out. Tone.Transport offers a way to schedule events along a seekable, loopable timeline that is separate from the AudioContext time and can be started and stopped. I would also point out the 'now-relative' timing which can be passed into any timing parameter. So you could rewrite your example like this to accomplish the same thing.


No option to download or save the spectral plot

Expanding on issue raised by @AKM2022

Added save to SVG and data to CSV in 770e1884bb17bdd06b5dfa0aa6509f41ba1a0102


fix: address sourcemap issues and misc refactor

:tada: This PR is included in version 4.0.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Updating custom tag

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


Upgrade to typescript 2.9.2

I was experiencing the same issue as in #118 when I re-installed dependencies on an older project recently. When I attempted to pull down bloomer and compile, it wouldn't build at all and I experienced a bunch of typescript errors. After a bit of troubleshooting, it looks like typescript was out of date and causing problems for us.
I upgraded typescript to 2.9.2, fixed broken types, then got the rest of the dependencies at least up-to-date with their major versions.

Coverage remained the same at 100.0% when pulling 6d67fe16e33a0aff4454ec02dbb0fa9afe59bde8 on sioked:upgrade-dependencies into 0ab9c677c3ffe541d775f9ad60a6b1f86a6634fc on AlgusDark:master.

Thanks a lot. I'll start checking the repo to make a new jumo of version soon.


Apple Code Signing

I developed obs-virtualbg plugin for Mac with CoreML support. But I cannot distribute it.
Because I am not a member of the Apple Developer Program and therefore cannot perform code signing.
Is there anyone who can help me?
plan 1: Support $99/yr for me
plan 2: join as a maintainer and provide certificates by your Apple Developer Program

I have an Apple Dev account. I'd be interested in this.

@kounoike
I have a developer account as well. I'm assuming you have this worked out, but if not, just let me know.

@kounoike is this sorted out i dont see a mac version yet? Do you still need help with this?

Trying to get the Mac version to install, but it is not working. I've followed the instructions to a T, but the plugin does not show in the OBS app. Did something change in the OBS app regarding how plugins are installed?


Fixed checkbox type setting

I was trying to add an setting with checkbox type and realized that values are not recording in database.
Checkbox type example:
Setting::register('App.CheckboxOption', 1, ['editable'=>1, 'type'=>'checkbox', 'value'=>1]);

Added a switch statement to treat each field type individually, added checkbox field type and fixed a typo ($setting->options_array)

I will provide the tests before!

Hey, please explain me what's not working ;) didn't get it...


Add support for Cover page and TOC

Attempting to return the quiet flag and fix the broken tests.

@sigmavirus24 Any movement on this PR?

@sigmavirus24 whats the status on this PR, I could do with this functionality. thanks

@nicpillinger at the earliest it will be in v0.8.0

Thanks, happy to help if I can.

@serene are you using your branch? if you specify a cover it doesn't seem to support headers/footers correctly. don't pass a cover and the headers and footers re-appear

@nicpillinger I have not tried out the feature. I just took it over and tried to get it to pass. If you are interested in testing it and fixing the problem, I can add you to the fork


Extra tests for parallel-letter-frequency exercise

See https://github.com/exercism/xerlang/pull/56 for context.

I will close this one for now.
Either someone comes along the repository to enhence the tests of PLF even without this issue open, or it will be tackled as soon as we have canonical testdata.


(EMAIL) PromoNinja ping - to be sent 12.02

information from the ranking (leaders) is going to be included in the content, so I'll update this comment and create PR on 12/02
Subject:
EN: Urgent: Final days to use VIP tickets and schedule your meetings!
DE: Dringend: Noch ein paar Tage, um VIP-Tickets zu nutzen und Termine zu vereinbaren!
File: to be updated
(content for review is available here: https://docs.google.com/document/d/1tmcLf74Elxys1mHxcWcZtCD4fq0ijEo0dklPIzipTeQ/edit)

@az can you please let me know which companies are the top 3 distributors of VIP invitations?

SELECT company_id, COUNT(*) AS count  FROM eventjuicer_company_vipcodesWHEREevent_id= 100 ANDparticipant_id> 0 GROUP BYcompany_idORDER BYcount  DESC

File:
ebe8-promoninja-warning-en.blade.php
ebe8-promoninja-warning-de.blade.php


FR: Applicant view shows previous applications.

Currently applicants can't see if they've applied to a program.
Showing the information is good for user visibility, but also can reduce re-applications and will be necessary for the feature that will show the status of the application.
First iteration can just show which programs have been applied too.
Subsequent ones could show the data.
A related feature might be showing in-progress unsubmitted applications.

@cassandralfernandes is going to own this as part of her status tracking PRD

I'll take a look at this next week and sync on what the MVP is here. I imagine we'll want this to look visually consistent initially with the current applicant experience.

Rather than building out a separate UI, I wonder if we could instead leverage the existing programs page for this. For logged-in users, we separate programs for which there is an active draft application from other programs:

If a user has already completed an application for the program, we put it in the "New Programs" section and let the user re-apply.
A potential low-effort path forward could be to:

Put a stamp on the program card if the user has already completed the application saying "last applied 5/23"
Change the text from "Apply" to "Re-apply".
Consider removing the "New Programs" and "Continue" sections in favor of a single section, trying to sort the programs by some TBD heuristic. OR move previously applied programs into this section and keep at the top.

@rahaghas for feedback / guidance on the above.

Sounds good to me, Seattle only has 5 programs so I think an organization like that works, and there are mocks for a larger redesign that can iterate on this.
@rahaghas what are your thoughts here?

I think this is great, and we heard from TIs in Seattle saying they would want exactly this organization.


Ethernet Networks Allow uplinkset assignment

Hi,
Can you advise whether it is going to be possible to assign the uplink set as part of the ethernet network generation?
Cheers

@wingZero21, you should be able to assign the ethernet network to a LIG uplink set (see the example here). Is that what you are looking for?

Hi,
Yes I can see if possible to assign if we configure the LIG setup. However currently when assigning the vlans via virtual connect in the below example, it allows you to just assign the uplink set as part of the initial vlan creation.
Is this something that might be added in the future so it is matching what it previously was in virtual connect? Is this a current limitation within the current version of oneview?
Cheers
Details:
EG: Current virtual connect add vlan
add  network  network-vlan-A-4000  UplinkSet=UPLINK-A  VLanID=4000

Assigning a network to an uplink requires a separate API call from creating the network. Since we're dealing with 2 different resources, we basically have 2 options in describing them in Terraform. Either the network can reference the LIG uplink set, or the LIG uplinks set can reference the uplink set. The problem with the network referencing the LIG uplink set is that uplink set names need not be globally unique. This presents an issue when using code like you have above; UPLINK-A could match more than one uplink set.
So, there's more than one way to do it, but I believe the way provided with Terraform presents the least opportunity for unexpected behavior. It's easier to implement this way too, since it more closely matches the API resource model.
I hope that provides more clarity

@wingZero21 Hi, Let us know if you have any further question before we close this issue. Thanks.

Hi, Since we haven't received any updates, ill proceed with closing this issue.
If you still have any query, you can let us know by opening a new issue, we will be glad to assist. Thanks.


Add ingester.wal.dir to enable the Loki container to start (See issue #15)

This adds configuration to the ingester service in the supplied loki docker config file.
Lack of a writeable wal directory causes the existing default configuration to fail.

Thanks!!!


Yum finder is not catching errors properly

The yum finder forks off a process to limit the memory leakage from repomd. However the get_repomd function only catches HTTPError, which means the process can die with a Traceback and the behaviour of the other side of the process pipe assumes 100% success.
222 def get_repomd(queue, url):
223     if not url.endswith('/'):
224         url += '/'
225     try:
226         repo = repomd.load(url)
227     except urllib.error.HTTPError:
228         queue.put((None, None))
229         return

This should catch Exception instead, to catch everything.

Looking at it some more, it needs to communicate failure states back to the other side. If there's no response, it just assumes there's no package. It needs to raise an explicit failure.

I can get an error every time with:
soufi centos cracklib-dicts 2.9.0-11.el7
which usually results in the mirror server telling me to go forth and multiply:
requests.exceptions.ConnectionError: HTTPConnectionPool(host='mirror.centos.org', port=80): Max retries exceeded with url: /centos/8.1.1911/os/x86_64/os/repodata/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f71cd105220>: Failed to establish a new connection: [Errno 111] Connection refused'))

Anyway, there's a second problem highlighted here. Even with the default caching that the CLI provides, it's not enough to avoid the wrath of the server bots.
I think @0xDEC0DE you might need to get rid of the HEAD stuff and just attempt a straight fetch every time to reduce the querying.

Addessed in PR #22


Add current index to stake page

Definition of Done

Current ohm index component rendered under next rebase in staking interface

Needs:

design for placement/ux of current index element

note: this code already exists in Sidebar.jsx (only viewable in girth mode) Move to Stake.jsx and remove theme flag

How does this look? It's aligned with the rest of the design, but unsure if you want it more or less highlighted.

How does this look? It's aligned with the rest of the design, but unsure if you want it more or less highlighted.

This looks pretty good but i feel like it should be OHM index or something. Maybe bold labels would be good? Lets see what design has to say

New design:


Qualifier column not displayed in preview

Testing the latest using t2wml.isi.edu.
The Rank qualifier column is failing to show up in the preview. This used to work:

The crop column also used to show up in the output preview, you can test with this file here:
annotation_example.xlsx

whoops this is my bad from when I got rid of the extra ID columns. fixing now.


Misspelling: Americium incorrectly spelt as Americum in 2 fluids

Mod source
Factorio Mod Portal
Operating system

=Windows 10

What kind of issue is this?

[ ] Compatibility
[X] Locale (names, descriptions, unknown keys)
[ ] Graphical
[ ] Crash
[ ] Progression
[ ] Balance
[ ] Pypostprocessing failure
[ ] Other

What is the problem?
Misspelling of ac and ac-oxygenated in English Localization.
Steps to reproduce
No response
Additional context
No response
Log file
No response

Thanks for the report, this is now fixed.


Extend SchemaModel so that it's a valid type in a pydantic model

Is your feature request related to a problem? Please describe.
I'd like to include pandera SchemaModels as a type within a pydantic model. pandera's SchemaModel best encapsulates a valid "type" for pandas data frames (as far as I'm aware), but it's currently missing a single classmethod that would make this possible. Ideally, we'd be able to do the following:
import pandera as pa
import pandas as pd
from pydantic import BaseModel
from typing import Any

class SimpleDF(pa.SchemaModel):
     sample: pa.typing.Series[str] = pa.Field(allow_duplicates=False)
     val_1: pa.typing.Series[str]
     val_2: pa.typing.Series[int]

# Trying to create this pydantic model current fails, as SimpleDF/SchemaModel do not provide
# the __get_validators__ function required by pydantic
class SimplePydanticModel(BaseModel):
    x: int
    y: SimpleDF

# Ideally should work without error
valid_df = pd.DataFrame({"sample": ["hello", "world"], "val_1": ["a", "b"], "val_2":[1, 2]})
model = SimplePydanticModel(x=1, y=valid_df)

# Ideally should fail as invalid_df has duplicate values in sample
invalid_df = pd.DataFrame({"sample": ["hello", "hello"], "val_1": ["a", "b"], "val_2":[1, 2]})
invalid_model = SimplePydanticModel(x=1, y=invalid_df)

Describe the solution you'd like
Extend pandera's SchemaModel so that it's a valid type within pydantic. Nearly all of the heavy lifting has already been done, as the validate function essentially performs all validation. pydantic naturally supports custom types, as long as they implement the get_validators classmethod see here. We could simply extend SchemaModel by adding this classmethod or some variant thereof:
@classmethod
def __get_validators__(cls):
    yield cls._pydantic_validate

@classmethod
def _pydantic_validate(cls, df: Any) -> pd.DataFrame:
   if not isinstance(df, pd.DataFrame):
      raise ValueError("Expected a pandas data frame")

   try:
      return cls.validate(df)
   except pa.errors.SchemaError as e:
      raise ValueError(str(e))

Describe alternatives you've considered
This may be outside the scope of the project, but I envision others may be interested. pydantic supports a wide range of types, but is currently missing one that naturally extends to data frames. I think adding this feature would mean that pandera naturally fills this void. Of course one option would be for me to implement my own subclass of SchemaModel that provides this classmethod, but if others might find it useful it'd be great to add it to original parent class.

sounds good to me, thanks @tfwillems !

@jeffzi @cosmicBboy  I started working on a simple prototype for this that would replace DataFrame in pandera.typing but unfortunately ran into an issue.
Currently,  pydantic supports Generic classes as types, but if type argument(s) are supplied, it seems that they must also implement __get_validators__(). So this would require that if we wanted to use the framework @jeffzi suggested, we would still need to add a __get_validators__() to the SchemaModel class directly as it would be the generic argument for DataFrame.
Here's how I envisioned the prototype could potentially function:
import inspect
import pandas as pd
import pandera as pa
import pydantic

from typing import Generic, TypeVar, Tuple

Schema = TypeVar("Schema", bound="SchemaModel")  # type: ignore

class DataFrame(pd.DataFrame, Generic[Schema]):
    """
    Representation of pandas.DataFrame, only used for type annotation.

    *new in 0.5.0*
    """

    @classmethod
    def __get_validators__(cls):
        yield cls.validate

    @classmethod
    def validate(cls, v, field: pydantic.fields.ModelField):
        if not isinstance(v, pd.DataFrame):
            raise ValueError(f"Expected an instance of pandas.DataFrame but found an instance of '{type(v)}'")

        # Generic parameter was not provided so don't validate schema
        if field.sub_fields is None:
            return v

        # Verify that the generic argument is a subclass of SchemaModel
        generic_type = field.sub_fields[0].outer_type_
        if not inspect.isclass(generic_type) or not issubclass(generic_type, pa.SchemaModel):
            raise TypeError(
                f"Invalid generic argument for {cls.__name__}."
                f" Expected a subclass of SchemaModel but found '{generic_type}'"
            )

        try:
            return generic_type.validate(df)
        except pa.errors.SchemaError as e:
            raise ValueError(str(e))

But unfortunately when I test it as below, I receive a slew of pydantic errors that ultimately suggest you need to provide a __get_validators__ fn in SchemaModel:

from pydantic import BaseModel
df_1 = pd.DataFrame({"x": [1,2,3]})

class MySchemaModel(pa.SchemaModel):
    x: pa.typing.Series[int] = pa.Field()

class MyModel(BaseModel):
    x: DataFrame[MySchemaModel]

Traceback (most recent call last):
  File "/cluster/home/willems/MethodsDev/pandera-extensions/pandera/pandera/testing123.py", line 74, in <module>
    class MyModel(BaseModel):
  File "pydantic/main.py", line 293, in pydantic.main.ModelMetaclass.__new__
  File "pydantic/fields.py", line 410, in pydantic.fields.ModelField.infer
  File "pydantic/fields.py", line 342, in pydantic.fields.ModelField.__init__
  File "pydantic/fields.py", line 450, in pydantic.fields.ModelField.prepare
  File "pydantic/fields.py", line 622, in pydantic.fields.ModelField._type_analysis
  File "pydantic/fields.py", line 648, in pydantic.fields.ModelField._create_sub_type
  File "pydantic/fields.py", line 342, in pydantic.fields.ModelField.__init__
  File "pydantic/fields.py", line 456, in pydantic.fields.ModelField.prepare
  File "pydantic/fields.py", line 670, in pydantic.fields.ModelField.populate_validators
  File "pydantic/validators.py", line 715, in find_validators
RuntimeError: no validator found for <class '__main__.MySchemaModel'>, see `arbitrary_types_allowed` in Config

@jeffzi To verify this wasn't solely due to an obvious implementation issue on my part, I reproduced this using the generic class example in the pydantic docs involving AgedType and QualityType.
from pydantic import BaseModel, ValidationError
from pydantic.fields import ModelField
from typing import TypeVar, Generic

AgedType = TypeVar('AgedType')
QualityType = TypeVar('QualityType')

# This is not a pydantic model, it's an arbitrary generic class
class TastingModel(Generic[AgedType, QualityType]):
    def __init__(self, name: str, aged: AgedType, quality: QualityType):
        self.name = name
        self.aged = aged
        self.quality = quality

    @classmethod
    def __get_validators__(cls):
        yield cls.validate

    @classmethod
    # You don't need to add the "ModelField", but it will help your
    # editor give you completion and catch errors
    def validate(cls, v, field: ModelField):
        if not isinstance(v, cls):
            # The value is not even a TastingModel
            raise TypeError('Invalid value')
        if not field.sub_fields:
            # Generic parameters were not provided so we don't try to validate
            # them and just return the value as is
            return v
        aged_f = field.sub_fields[0]
        quality_f = field.sub_fields[1]
        errors = []
        # Here we don't need the validated value, but we want the errors
        valid_value, error = aged_f.validate(v.aged, {}, loc='aged')
        if error:
            errors.append(error)
        # Here we don't need the validated value, but we want the errors
        valid_value, error = quality_f.validate(v.quality, {}, loc='quality')
        if error:
            errors.append(error)
        if errors:
            raise ValidationError(errors, cls)
        # Validation passed without errors, return the same instance received
        return v

# My code starts here
class OkModel(BaseModel):
    x: TastingModel[int, float]

class CustomAgedType:
    pass

class FailModel(BaseModel):
    x: TastingModel[CustomAgedType, float]

Traceback (most recent call last):
  File "/cluster/home/willems/MethodsDev/pandera-extensions/pandera/pandera/testing123.py", line 137, in <module>
    class FailModel(BaseModel):
  File "pydantic/main.py", line 293, in pydantic.main.ModelMetaclass.__new__
  File "pydantic/fields.py", line 410, in pydantic.fields.ModelField.infer
  File "pydantic/fields.py", line 342, in pydantic.fields.ModelField.__init__
  File "pydantic/fields.py", line 450, in pydantic.fields.ModelField.prepare
  File "pydantic/fields.py", line 622, in pydantic.fields.ModelField._type_analysis
  File "pydantic/fields.py", line 648, in pydantic.fields.ModelField._create_sub_type
  File "pydantic/fields.py", line 342, in pydantic.fields.ModelField.__init__
  File "pydantic/fields.py", line 456, in pydantic.fields.ModelField.prepare
  File "pydantic/fields.py", line 670, in pydantic.fields.ModelField.populate_validators
  File "pydantic/validators.py", line 715, in find_validators
RuntimeError: no validator found for <class '__main__.CustomAgedType'>, see `arbitrary_types_allowed` in Config

This leaves use with a few options:

File an issue with pydantic asking if they could potentially relax the requirement that a generic class' type arguments provide a __get_validators__() fn and use the prototype above. This may be a non-starter for them if it breaks all sorts of logic within the code base
Abandon this feature
Add a __get_validators__() to SchemaModel. In my mind, this makes the most sense. If you envision a SchemaModel as a generalization of pydantic's BaseModel to data frames, then it makes sense if this class (and its subclasses) directly provide __get_validators__().

Sorry for the long-winded post but would love to hear your thoughts!
.

Pydantic wants to "recursively" validate attributes, which makes sense in most cases.
I agree 3. is the way to go. In our case, we could attempt a SchemaModel.to_schema() to ensure the model definition can be compiled to a DataFrameSchema.
Just a detail, but I think DataFrame.validate could be renamed to _validate_pydantic() to avoid confusion for pandera users. We'd also need to add a test for that feature.
Feel free to submit a PR, that would give you proper credit for the work you've done so far :rocket:. You can assign the review to me. The contributing section can help you run the test suite/linters locally.

Hey @tfwillems just wanted to ping you about this feature, which I think would be very useful!
Let me know if you're still interested in making a PR and if there's anything we can do to help out!

hey @tfwillems friendly ping on this issue. Let me know if you're still interested in making a PR for this, or let @jeffzi or I know if you want to pass the baton, you can point us to a dev branch/fork with your most up-to-date prototype and perhaps one of us can take it to the finish line! 🏁

@cosmicBboy Sorry I've made so little progress here. I don't think I have the bandwidth at the moment to make a full-fledged PR, but here is all I think is really necessary:
import pandera as pa
from pandera.errors import SchemaInitError

class ExtendedSchemaModel(pa.SchemaModel):
    """Simple extension to pandera's SchemaModel that enables its use as a pydantic type"""

    @classmethod
    def __get_validators__(cls):
        yield cls._pydantic_validate

    @classmethod
    def _pydantic_validate(cls, df: Any) -> pd.DataFrame:
        """Verify that the input is a pandas data frame that meets all schema requirements"""
        if not isinstance(df, pd.DataFrame):
            raise ValueError("Expected a pandas data frame")

        try:
            cls.to_schema()
        except SchemaInitError as e:
            raise ValueError(
              f"Cannot use {cls.__name__} as a pydantic type as its SchemaModel cannot be converted to a DataFrameSchema.\n"
              f"Please revisit the model to address the following errors:\n{str(e)}"
           )

        try:
            return cls.validate(df)
        except pa.errors.SchemaError as e:
            raise ValueError(str(e))

Obviously the additional class is unnecessary and these functions would just be added to pa.SchemaModel's definition

Hi @tfwillems, no worries  :+1:  ! Thanks for sharing your work in progress, I'll take it from there.

This feature has been release with 0.8.0


fix: updated link for documentation page under help section

Updated the link for documentation page under help section
from - https://github.com/excalidraw/excalidraw#documentation
to - https://docs-excalidraw.vercel.app

Issue - #6616

Thanks @vsaravind01 :)


Handle socket disconnection as gracefully as possible

By telling all windows to close.
Also merge both PollEvents and WaitEvents.

Addressed the comments left to e5f48e271b5fbdb146be39f1bb17c51a00c17bc2.

Thanks!


Transaction/Execution log for (GUI) actions outside of the script environment

I'd like to see the exact commands dbeaver has executed (or is scheduled to) when doing

Database → Tools → Execute Script
Table → Export data → [export to another database with mapping]

Motivation - I have some maintenance operations that I'd like to automate and schedule from outside dbeaver.
Neither Log files nor Transaction log provide a log of the above.

If I understand you right, you could do this using Query Manager.
Sorry for so late response


Alert grouping test with amtool

What did you do?
Now we are activly using amtool config routes test and find it extremely usefull, but recently found that we should check if alert grouping is expected too.
for example
now we are checking that
% amtool config routes test --config.file alertmanager.yaml --tree \
--verify.receivers wire-team-opsgenie 'team=wire'
Matching routes:
.
└── default-route
    └── {team=~"^(?:^(wire)$)$"}  receiver: wire-team-opsgenie
wire-team-opsgenie

it will be usefull if we can pass something like
% amtool config routes test --config.file alertmanager.yaml \
--tree --verify.receivers wire-team-opsgenie \
--verify.grouping=env,cluster,priority 'team=wire'

Matching routes:
.
└── default-route
    └── {team=~"^(?:^(wire)$)$"}  receiver: wire-team-opsgenie
wire-team-opsgenie, grouping: [env,cluster,priority]

I'm not sure I follow the usefulness of this - on your example where you include the grouping, what changed?

the main reason of it is for routing with custom subroutes.
for example i have something like
- receiver: wire-team-opsgenie
  group_by:
    - env
    - cluster
    - priority
  match_re:
    team: ^(wire)$
  routes:
    - receiver: wire-team-opsgenie
      group_by:
        - alertname
        - cve
        - cluster
      match:
        alert_topic: security
    - receiver: wire-team-opsgenie
      group_by:
        - alertname
        - service
        - project
        - team
      match:
        alertname: QuotaCanBeReached

You can see each alert will be sent to same receiver but with different grouping.
After opsgenie we create jira issue and alert grouping is a key to know we already had the same incident previously. So instead of opening new jira issue we can append to already created.
That is why its crucial to check if grouping is correct when changing am configs.
i propose two things

show reciever grouping when displaying routing tree may be here https://github.com/prometheus/alertmanager/blob/main/cli/routing.go#L89

{team=~"^(?:^(wire)$)$"}  receiver: wire-team-opsgenie
wire-team-opsgenie, *grouping: [env,cluster,priority]*

add new key verify.grouping that can check if receiver got expected grouping. maybe something like --verify.grouping[0]=[alertname,cve,cluster] will do the trick

hey folks! any updates on this one ?


Add commands for spawning a character directly

About the PR
This code isn't the best, but it gets the job done. It adds 2 commands
Loadcharacter, which can be used to apply a character onto an existing entity, which can have some unintended side effects if you use the wrong mob (Loading a felinid player onto an oni doesnt update stuff, so you'd be a buff felinid)
Spawncharacter, which directly uses spawning code to spawn in a character. Not much to say about it

Will have to be moved to the Nyano namespace, too tired for it right now

I'd like this to stay draft until mind ECS is merged.

Mind ECS is likely going to be the next big merge goalpost.


Look at open source CRM solutions

Look at open source CRM solutions to help the team be able to manage stakeholder engagement

deployed SuiteCRM for testing

Deployed monicahq CRM and on boarded team https://monicahq.crmdemos.omarnasr.ca/


feat: seo things

Closes #115
Description
Add some SEO related things
Current Tasks

[x] Dynamic robots.txt
[x] Increase sitemap size to 1000
[x] Add a basic meta title on Province List Page, Province Detail Page, Contact Detail Page
[x] Add breadcrumb jsonld using a manual markup -- I decide using a manual way (it will be easier using next-seo), for learning purpose, so other developer will know how to generate JSONLD from zero
[x] Add theme-color same as our header HEX

It's on the default SEO set by @resir014 before.
The common use, the identity sitename is on the right side.
After the main title.
So ya, I agree to move it out to the back.


TFM build modifies platform files in TFM module

Problem
Running Twister on tests in tests/kernel/common, targeting platform lpcxpresso55s69/lpc55s69/cpu0/ns, results in build errors.
To Reproduce
Steps to reproduce the behavior:

cd zephyr
twister -p lpcxpresso55s69/lpc55s69/cpu0/ns --inline-logs -s tests/kernel/common/kernel.common -s tests/kernel/common/kernel.common.misra (rarely works)

This however works always:

Run just one build: twister -p lpcxpresso55s69/lpc55s69/cpu0/ns --inline-logs -s tests/kernel/common/kernel.common
Run twister a 2nd time with --no-clean.

Expected behavior

Build works reliable, independent of other targets getting built at the same time.
HALs must not modify their code during build. I got this wrong, it is the trusted-firmware-m
Targets which violate 2), must not be part of CI

Impact
It prevents my PRs from passing CI.
Logs and console output
Failing build
Environment (please complete the following information):

OS: Linux
Toolchain is Zephyr SDK
Commit: main as of today (v3.6.0-923-g85b503e23b1)

Hints

Building for this platform seems to modify the files stored in the HAL module. The timestamps of all files stored in modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/common/Native_Driver/drivers/ get modified after each run.
Running cmake in the tfm subfolder within the build directory has the same effect - it touches the files in the HAL:

$ cmake .
CMake Warning at cmake/version.cmake:22 (message):
 Actual TF-M version is not available from Git repository.  Settled to
 v2.0.0
Call Stack (most recent call first):
 CMakeLists.txt:22 (include)

-- [Crypto service] Using P256M software driver in PSA Crypto backend
-- Pulling MCUxpresso NXP SDK drivers from https://github.com/NXPmicro/mcux-sdk
-- Configuring done
-- Generating done
-- Build files have been written to: /home/reto/code/3rd-party/zephyrproject/zephyr/twister-out/lpcxpresso55s69_lpc55s69_cpu0_ns/tests/kernel/common/kernel.common/tfm

Post-mortem: some facts observed while trying to understand what was going on (in https://github.com/zephyrproject-rtos/zephyr/actions/runs/8268746414/job/22622576598?pr=70000) and elsewhere) and some suggestions to make things more robust and less time-consuming.

In typical and very unfortunate fashion, CMake does not "fail fast" but ignores file(DOWNLOAD ... failures by default and keeps trying to build like nothing happens which results in super cryptic errors down the road. This is crazy, why do they keep doing this? There is a STATUS output variable but you have to manually inspect STATUS for every download. Maybe someone should implement some SAFE_DOWNLOAD, "fail fast" CMake wrapper and use that instead in https://github.com/zephyrproject-rtos/trusted-firmware-m/blob/main/platform/ext/target/nxp/lpcxpresso55s69/pull_drivers.cmake

I understand the convenience of having a single build command but if updating these files is not very frequent then maybe it could require a different script / command and not be part of the default build command. Downloading files at build time is just bad practice.

When downloads hit some rate limits and randomly failed, cryptic C compilation errors were observed. EXC_RETURN_S undefined and more cryptic ones. #include "something.h" not found would have been so much clearer.  It looks like the build was falling back on the wrong .h files: could this be fixed? Using different .h filenames maybe?

ninja -j1 is one of the most important build debug steps to avoid being drowned in irrelevant logs. But this does not propagate to other, ninja "children". So on a fast system with many cores, the TFM module build command (3a3e3c041b97f) still runs with dozens of threads and logs are unreadable again. One suggestion in https://discourse.cmake.org/t/external-project-does-not-use-parallel-jobs/3359/4 is to have some sort of "debug flag" that would set PARALLEL_JOBS to 1. @tejlmand any idea about this?

cc: @SebastianBoe , @henrikbrixandersen , @dleach02 , @d3zd3z , @tejlmand , @stephanosio, @dbaluta

FYI - https://github.com/zephyrproject-rtos/zephyr/pull/69881/checks?check_run_id=22634560072 may be related to this issue

I checked some of the log files and it does look like a very good example, thanks for sharing.

One point to clarify:

HALs must not modify their code during build

The NXP HAL is NOT modifying its code. This is the trusted-firmware-m module that is modifying its code and a bug with the HWMv2 exposed it... again.
See:
https://github.com/zephyrproject-rtos/trusted-firmware-m/blob/main/platform/ext/target/nxp/lpcxpresso55s69/pull_drivers.cmake
Some history (as I understand it). Many years ago when Zephyr Project pulled in TFM, the folks responsible (Kumar and @microbuilder and maybe others) discovered that the way the LPC55S69 is integrated in the upstream TFM repo is via this connection to the NXP GitHub. Because of the rules of Zephyr, this was not going to work for them so they modified the fork to include the relevant files directly in the location they would have existed if pulling. With each update of TFM, the maintainers would update the LPC55S69 files if needed to keep things working.
I've had conversations with the Trusted Firmware organization about their lack of guidance on how to integrate support into TFM. From the TFM space, there is nothing wrong with doing what the LPC55S69 did. No guidance so nothing wrong with any approach as long as it works. But we know that Zephyr wants everything under one roof.
The TFM maintainers made the changes to the fork and to Zephyr's integration of TFM to do the following:

Add the LPC55S69 driver files directly to the TFM fork (https://github.com/zephyrproject-rtos/trusted-firmware-m/pull/58)
Add cmake settings to ensure TFM portion of the build didn't try to pull in files from the NXP GitHub (https://github.com/zephyrproject-rtos/zephyr/commit/d42671737e6be281b69d3e67d9723f4340c7e8c7)

The bug in the HWMV2 transition was the patch that fixed it where we missed setting the proper board target in the modules/trusted-firmware-m/CMakeLists.txt. Since the actual build was going to try to build TFM for LPC, by missing this fixup to the TFM cmake it triggered the existing upstream flow of grabbing files from the NXP GitHub.
I'm un-assigning me from this ticket because the root problem has been addressed. If the TFM maintainers which to pick this up and do something else that is their prerogative.
I think the items @marc-hb bring up might be pulled into a standalone issue/enhancement request ticket instead of being tucked into this ticket where the root problem was just a HWMv2 transition bug.

One observation for the TFM maintainers/collaborators for the next time they need to update TFM and then patch the LPC55S69 files (assuming a better solution is not put into place).

Edit https://github.com/zephyrproject-rtos/zephyr/blob/ddb147d0a45df2b52af1065a49770566847ab975/modules/trusted-firmware-m/CMakeLists.txt#L229 to change the name of the target to something invalid.
Run a west build command for TFM+LPC55S69
TFM cmake will pull the correct files into the TFM tree... which means you know know what files need to be added to the Zephyr TFM update.
git add/commit

ping @d3zd3z, @SebastianBoe

Fixed with #70218

@dleach02,
Just to clarify: I still see the issue on the latest main branch, when running:
twister -p lpcxpresso55s69/lpc55s69/cpu0/ns -s samples/subsys/logging/logger/sample.logger.basic

Here's the twister build output seen build.log
I'm not sure if this is the Issue to keep track of it or if I should open another one.

Thanks @dleach02

I think some of the items @marc-hb brings up might be pulled into a standalone issue/enhancement request ticket instead of being tucked into this ticket where the root problem was just a HWMv2 transition bug.

The HWMv2 transition bug was fixed before the discussion in this issue even started and does not need to be discussed any more so please let me call "dibs" and use this issue for the other, secondary build issues it exposed beyond the HWMv2 transition bug.
Mistakes have happened and they will happen again. The purpose of the build system is not just to build stuff when all planets have aligned. It's also supposed to "fail fast", not bury problems under many screens of confusing and irrelevant error messages and give decent clues when something goes wrong. This issue was named "Build errors when building for lpcxpresso55s69/lpc55s69/cpu0/ns" and I think this title is still appropriate.
To be honest I don't have very high expectations and I expect most my suggestions to be closed as "WONTFIX" for one reason or another (and you already started some of these answers). But I'd like to give these suggestions a little bit of a chance. Any would save a lot of time.

Just to clarify: I still see the issue on the latest main branch, when running:

twister -p lpcxpresso55s69/lpc55s69/cpu0/ns -s samples/subsys/logging/logger/sample.logger.basic

That's not my experience. The fix 2d9a2cec8d14 works 100% for me.
After adding the line <IP_ADDRESS> raw.githubusercontent.com in [c:/Windows/system32/drivers]/etc/hosts, the twister command above passes 100% of the time. When I revert 2d9a2cec8d14, it fails 100% of the time.
Tests performed on recent commit 67d7c13da9d0

@marc-hb Ok. I'm testing on a more recent commit: ddb147d0a45, and I'm still experiencing the build failure.
I'll create a separate issue to follow-up on my case, then.

After adding the line <IP_ADDRESS> raw.githubusercontent.com in [c:/Windows/system32/drivers]/etc/hosts,

That's not enough actually. Even with this line and before the fix/workaround 2d9a2cec8d14ecf,  the evil trusted-firmware-m build manages to modify files in platform/ext/target/nxp/ and pollute git diff anyway.

I hadn't issued the west update command after checking out to the newer commit

You definitely want to that but that's not enough. Before every time you test you also want to run west status and git -C ../modules/tee/tf-m/trusted-firmware-m/ checkout HEAD . if needed.
Whether a download is involved or not, silently modifying files checked in git when invoking the default build target is pure evil.

But we know that Zephyr wants everything under one roof.

It's not just Zephyr. "Software Bill of Materials" are becoming legal requirements for obvious security reasons
https://www.cisa.gov/sbom

After adding the line <IP_ADDRESS> raw.githubusercontent.com in [c:/Windows/system32/drivers]/etc/hosts,

That's not enough actually. Even with this line and before the fix/workaround 2d9a2ce, the evil trusted-firmware-m build manages to modify files in platform/ext/target/nxp/ and pollute git diff anyway.

I hadn't issued the west update command after checking out to the newer commit

You definitely want to do that but that's not enough. Before every time you test you also want to run west status and git -C ../modules/tee/tf-m/trusted-firmware-m/ checkout HEAD . if needed.
Whether a download is involved or not, silently modifying files checked in git when invoking the default build target is pure evil.

If the TFM_PLATFORM_NXP_HAL_FILE_PATH is set to a path, no download is done.
This is the common Upstream TFM approach to downlead external libraries or use them without downloading if the path is set (for Mbedcrypto, MCUBoot, t_cose, qcbor, ethos_u_core_core_drivers etc.)
BUT: TFM also does auto-generation of many files (linker files, and even sources and header files).
What exactly modified files do you see?

@butok, it was initially the HWMV2 didn't set a flag right so TFM was pulling the mcu-sdk files from the NXP github. Passed our internal testing because functionally things worked and built and the build system for Zephyr didn't complain about this.
Fixing the flag should stop the tfm build from doing this but I can't say anything else about other aspects of TFM build. This is where the maintainers need to chime in if there is an issue.

@d3zd3z  can you please take a look?

Fixing the flag should stop the tfm build from doing this but I can't say anything else about other aspects of TFM build. This is where the maintainers need to chime in if there is an issue.

Just checked again. I cannot see any modified repository files after building TFM examples.
We can close this issue.

Just checked again. I cannot see any modified repository files after building TFM examples.

Yes, but only thanks to super fragile, one-line if(CONFIG_...) line. This is not good enough. If you think it is, just search the internet for "JiaT75".
Also, I raised a number of other, different but related "build robustness issues" in my comment https://github.com/zephyrproject-rtos/zephyr/issues/70215#issuecomment-1998121524
Here's a very quick reproduction of the issue; much simpler than what was shared previously:
cd zephyr; git checkout d9fd292f4b9a # today's main branch
west update
west diff

--- zephyr/modules/trusted-firmware-m/CMakeLists.txt
+++ zephyr/modules/trusted-firmware-m/CMakeLists.txt
@@ -226,7 +226,7 @@ if (CONFIG_BUILD_WITH_TFM)

   string(REPLACE "toolchain" "toolchain_ns" TFM_TOOLCHAIN_NS_FILE ${TFM_TOOLCHAIN_FILE})

-  if(CONFIG_BOARD_LPCXPRESSO55S69_LPC55S69_CPU0_NS)
+  if(xxxCONFIG_BOARD_LPCXPRESSO55S69_LPC55S69_CPU0_NS)
     # Supply path to NXP HAL sources used for TF-M build
     set(TFM_PLATFORM_NXP_HAL_FILE_PATH ${ZEPHYR_TRUSTED_FIRMWARE_M_MODULE_DIR}/platform/ext/target/nxp/)
     list(APPEND TFM_CMAKE_ARGS -DTFM_PLATFORM_NXP_HAL_FILE_PATH=${TFM_PLATFORM_NXP_HAL_FILE_PATH})

=== diff for trusted-firmware-m (modules/tee/tf-m/trusted-firmware-m):
diff --git modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/lpcxpresso55s69/pull_drivers.cmake modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/lpcxpresso55s69/pull_drivers.cmake
index fbb84a699e7d..6160f5df982b 100644
--- modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/lpcxpresso55s69/pull_drivers.cmake
+++ modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/lpcxpresso55s69/pull_drivers.cmake
@@ -6,6 +6,10 @@
 #
 #-------------------------------------------------------------------------------

+# "Trusted" firmware? Except for supply chain attacks.
+# Even "better": CMake silently ignores failed DOWNLOAD
+message(FATAL_ERROR "Very sneaky and unreliable, build-time overwrite of sources should never happen for the default build target")
+
 #========================= Pull MCUxpresso NXP SDK drivers from https://github.com/NXPmicro/mcux-sdk =========================#
 file(DOWNLOAD https://raw.githubusercontent.com/NXPmicro/mcux-sdk/${NXP_SDK_GIT_TAG}/drivers/casper/fsl_casper.c  ${NXP_HAL_FILE_PATH}/common/Native_Driver/drivers/fsl_casper.c)
 file(DOWNLOAD https://raw.githubusercontent.com/NXPmicro/mcux-sdk/${NXP_SDK_GIT_TAG}/drivers/casper/fsl_casper.h  ${NXP_HAL_FILE_PATH}/common/Native_Driver/drivers/fsl_casper.h)

west build --board lpcxpresso55s69/lpc55s69/cpu0/ns samples/hello_world/

CMake Warning at cmake/version.cmake:22 (message):
  Actual TF-M version is not available from Git repository.  Settled to
  v2.0.0
Call Stack (most recent call first):
  CMakeLists.txt:22 (include)

-- [Crypto service] Using P256M software driver in PSA Crypto backend
-- Pulling MCUxpresso NXP SDK drivers from https://github.com/NXPmicro/mcux-sdk
CMake Error at platform/ext/target/nxp/lpcxpresso55s69/pull_drivers.cmake:11 (message):
  Very sneaky and unreliable, build-time overwrite of sources should never
  happen for the default build target
Call Stack (most recent call first):
  platform/ext/target/nxp/lpcxpresso55s69/CMakeLists.txt:18 (include)

Hi @marc-hb
This is the TFM Project approach to pull external code.
TFM is able to fetch all external libraries based on "super fragile" parameters. They can be found in \trusted-firmware-m\lib\ext directory.
Are you able to convince TFM project to change it first?

There has been no updates for the last 2 weeks on this issue.
@marc-hb is this something that you are or want to work on, and do you think it is a high prio bug or should this be closed or downgraded?

@aescolar I think the reason this was re-opened was based on a misunderstanding from my end:
The issue (TF-M module pulls in external code for LPC55S69) has been fixed in #70218, not because the TFM project has changed the way to tie their dependencies, but because the typo that caused the Build system to trigger that sync-process has been addressed.
IMO - This was a high priority bug because CI Twister failures were holding back multiple PRs. That is no longer the case.
As mentioned on the Bug Triage & Release Meeting, I'll close this issue. Feel free to re-open it again if you disagree but, in any case, I don't think is a High-Priority bug for Zephyr anymore.

Broken again?

#76090


feat: installModules() action for ERC7579 compatible account

Feature request : Need installModules() action for ERC7579 compatible accounts that allows installing multiple modules in a single userOp

Hey thanks for this, we have released a version<EMAIL_ADDRESS>which has added support for installModules and uninstallModules


Custom Cooldowns

Summary
Allow for dynamic cooldowns that vary based on a given predicate
Ideal implementation
def predicate(ctx: Context) -> Cooldown:
    if ctx.author_id == 123456789:
        return Cooldown(60, 1, UserBucket)

@custom_cooldown(predicate)
@command()
async def test(ctx: Context) -> None: ...

Checklist

[x] I have searched the issue tracker and have made sure it's not a duplicate.
If it is a follow up of another issue, I have specified it.

predicate? Shouldn't predicate return boolean? Anyway, what I could think of is to pass a callback that returns a bucket object instead. That way the CooldownManager.add_cooldown method can use its own bucket if there's no callback passed, otherwise, use the bucket returned from the callback. What do you think of that? I might try to make a PR.

Oops, my bad, just used smth. named predicate and somehow it affected my writing. Also, sounds good, go for it.


Filesystem Disks - How to manage public disks?

I currently have an issue where im unable to access a tenants files that have been sucessfully uploaded and stored within the ./storage/tenant_id/app/public/ folder.
I can upload files fine, and they reside within the ./storage/tenant_id/app/public/ folder of the project.
My issue is that i cannot access the files from each tenant. I can only access a single tenants files by symlinking the ./storage/tenant_id/app/public/ -> ./public/storage .
Can anyone give me some pointers as to how I am supposed to setup public storage access for each tenant, so as each tenant may continue to use something like the /storage route to access public files.
Is there a way  for php artisan storage:link to faciliate the automation to symlink stoarge to publicly accessable folders?
To give further context as to how my filesystem config is setup, please see the following disks array
'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

You support is greafully appreciated 😊

Hi,
You can't make a symlink, because the storage directory is variable - it depends on the current tenant's id.
Try using Storage::disk('public') to store the files, and tenant_asset('app/public/...') to get a link to the asset.

hi @stancl ,
Thanks for the help!
I was using spatie/laravel-medialibrary in the case above which was the most confusing part. I found that tenant_asset() was able to parse the media object created by laravel-medialibary which has resolved my support ticket above.

Hey @radmanz
Would you mind sharing the code of how you were able to render images in blades? I'm having precisely the same issue of being able to easily upload files but unable to get them to display. Thanks in advance.

 or

 or

Using asset requires a full framework boot. If I have 10 images, that will boot the framework 10 times. Is that correct? Is there any way to access the tenant's image via: Storage::disk('public')->url(tenant()->id . '/image.jpg');?
Thank you for your helping!

Can't find it right now, but there's some issue thread about this (the Storage url approach).

The private images going under the path storage/app or storage/app/tenant/app?

@radmanz  @stancl. Is there any more information on this?
I'm experiencing the same, but using tenant_asset('app/public/')  makes a URL looking like: tenancy/assets/app/public I am also using Spate image library, but have also tried uploading with Storage::disk('public')->put("...) asset does not work either. But I can render images from the storage/app/public

Try global_asset()

@stancl No luck, I can do global_asset('storage/' which gets an image, if I moved it to the non-tenant folder, but I wanna access the images in the tenant storage folder.

Hello
i have same problem with viewing image
file uploaded on right location
note: "tenantPTab_saad.sqlite" is my tenant id

i'm have tried
{{ Storage::url('images/'.$config->value) }}
{{ asset('storage/images/'.$config->value) }}
{{ asset('app/public/images/'.$config->value) }}
all return 403 (Forbidden) error

i'm using sqlite


Publish on product date picker inconsistent

What I'm trying to achieve
Open date picker when clicking publish on date picker field
Steps to reproduce the problem

Click publish on date (optional) field

What I expected to happen
Open date picker. But its inconsistent. Opens only when clicking just below publish label
Screenshots

System information
Operating system: Ubbuntu 18.04
Browser: Chrome 75.0.3770.80 (Official Build) (64-bit)

This is a regression from google chrome–but might not get fixed by Google. This was fixed in a newer release of materialcss. More information here #3865.


Try remove createDidFormat

We can use @rsksmart version to set did method from the EthrDID lib instead of handling it manually. See https://github.com/rsksmart/ethr-did/pull/1/files#diff-6ed28c397a4ab046b632d995deccdd429870fec30bb17b2c7781ae986aa6d4afR65
Originally posted by @ilanolkies in https://github.com/rsksmart/rif-identity-manager/pull/5#discussion_r525213534

Use this package instead: https://github.com/rsksmart/did-utils