Please tag release

Describe the bug
This repository does not contain a tag
Expected behavior
I'd like to create a Debian package of this code.  It helps a lot to spot new versions that are targeting end users if you would tag the according commit with a version.
Thanks a lot for publishing this code as free software, Andreas.

Good point. Done now and added to makeKentCore script.

I could also make "releases", which is a github feature, I think it makes a stable zip of the entire repo, but I doubt that you really need that.

Am Fri, Mar 31, 2023 at 01:19:43AM -0700 schrieb Maximilian Haeussler:

I could also make "releases", which is a github feature, I think it makes a stable zip of the entire repo, but I doubt that you really need that.

Making releases seems a consequent thing to do.  Since the release URL changed over time at least twice we rather trust tags that remained stable.  We do not need that zip feature for Debian but others might like it.
Thanks a lot for the quick response, Andreas.


Added visualization based on Bokeh

[x] If your PR introduces a change in functionality, make sure you start by opening an issue to discuss whether the change should be made, and how to handle it.  Of course, if your PR is a simple bug fix, you don't need to do that.

Relevant discussions: Visualization RFC and Keras Roadmap

[x] Write the code. This is the hard part!

[x] Make sure any new function or class you introduce has proper docstrings. Make sure any code you touch still has up-to-date docstrings and documentation.

[x] Write tests. Your code should have full unit test coverage. If you want to see your PR merged promptly, this is crucial.

[x] Run tests with the Theano backend, on Python 2.7 and Python 3.5

[x] Run tests with TensorFlow backend, on Python 2.7

[x] When committing, use appropriate, descriptive commit messages. Make sure that your branch history is not a string of "bug fix", "fix", "oops", etc. When submitting your PR, squash your commits into a single commit with an appropriate commit message, to make sure the project history stays clean and readable. See 'rebase and squash' for technical help on how to squash your commits.

[x] Update the documentation. If introducing new functionality, make sure you include code snippets demonstrating the usage of your new feature.

Good job, but this should be moved to a separate repository.
Additionally, you shouldn't modify models.py. All the functionality you seek is achievable via custom callbacks. These visualization tools can be modified in a way that would allow them to be plugged into Keras without modifying Keras (which would not limit their functionality in any way).

In the roadmap thread, adding visualization tools on top of Bokeh to Keras was the first item on this list? I can understand not wanting to alter models, but I feel like this could easily benefit people by being in the keras repository --- ideally, it should take one extra line to visualize your experiment, not integrating a whole third party library.

In the roadmap thread, adding visualization tools on top of Bokeh to Keras was the first item on this list?

That was a very old one. The latest one is here: https://github.com/fchollet/keras/issues/1399
Besides when I started working on visualization tools at the time, I did not make them part of Keras, I made a separate repo for them (https://github.com/fchollet/hualos). And so should you...

ideally, it should take one extra line to visualize your experiment, not integrating a whole third party library.

There is no contradiction between taking one line to do something, and doing it using a 3rd party library. Why not both?


Cannot find redis master EOF - Istio 1.2.2 1.1.11

Bug description
Redis sentinel cannot find master with Istio 1.2.2 or 1.1.11.  Have tried renaming service name redis to redis-sso as suggested in a different issue, but it just wont work. I would like to work with Istio and not move to linkerd. Pls help solve.
Affected product area (please put an X in all that apply)
[X] Configuration Infrastructure
[ ] Docs
[] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
sentinel get-master-addr-by-name should return with master instead of error. This works well without isito side cars
Steps to reproduce the bug
apply
apiVersion: v1
kind: Service
metadata:
  labels:
    app: redis-sso
    role: master
    tier: backend
  name: redissvc
spec:
  ports:
  - port: 6379
    protocol: TCP
    targetPort: 6379
	name: rtcp
  selector:
    app: redis-sso
    role: master
    tier: backend
  clusterIP: None
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: redis-config
  labels:
    app: redis-sso
    role: master
    tier: backend
data:
  master.conf: |-
    bind <IP_ADDRESS>
    port 6379
    save 900 1
    dir /redis-data
  slave.conf: |-
    bind <IP_ADDRESS>
    port 6379
    dir .
    slaveof redis-premium-master-0.redissvc.default.svc.cluster.local 6379
  sentinel.conf: |-
    bind <IP_ADDRESS>
    port 26379
    sentinel monitor redis-premium-master redis-premium-master-0.redissvc.default.svc.cluster.local 6379 2
    sentinel parallel-syncs redis-premium-master 1
    sentinel down-after-milliseconds redis-premium-master 10000
    sentinel failover-timeout redis-premium-master 20000
  sentinel.sh: |-
    #!/bin/bash
    cp /redis-config/sentinel.conf /sentinel.conf
    while ! ping -c 1 redis-premium-master-0.redissvc.default.svc.cluster.local; do
      echo 'Waiting for server'
      sleep 1
    done
    redis-sentinel /sentinel.conf
  init.sh: |-
    #!/bin/bash
    if [[ ${HOSTNAME} == 'redis-premium-master-0' ]]; then
      redis-server /redis-config/master.conf
    else
      redis-server /redis-config/slave.conf
    fi
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: redis-premium-master
  labels:
    app: redis-sso
    role: master
    tier: backend
spec:
  replicas: 3
  serviceName: redissvc
  selector:
    matchLabels:
      app: redis-sso
      role: master
      tier: backend
  template:
    metadata:
      labels:
        app: redis-sso
        role: master
        tier: backend
    spec:
      containers:
      - command: [sh, -c, source /redis-config/init.sh]
        image: redis:{{.Values.imageredis.tag}}
        name: redis
        ports:
        - containerPort: 6379
        volumeMounts:
        - mountPath: /redis-data
          name: data
        - mountPath: /redis-config
          name: config
        livenessProbe:
          tcpSocket:
            port: 6379
          initialDelaySeconds: 15
          periodSeconds: 20
        readinessProbe:
          tcpSocket:
            port: 6379
          initialDelaySeconds: 5
      - command: [sh, -c, source /redis-config/sentinel.sh]
        image: redis:3.2.7-alpine
        name: sentinel
        ports:
        - containerPort: 26379
        volumeMounts:
        - mountPath: /redis-data
          name: data
        - mountPath: /redis-config
          name: config
      volumes:
      - configMap:
          defaultMode: 420
          name: redis-config
        name: config
  volumeClaimTemplates:
  - metadata:
      name: data
      annotations:
        volume.alpha.kubernetes.io/storage-class: default
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: premium
    role: business
    type: backend
  name: premiumcalc
spec:
  replicas: 1
  selector:
    matchLabels:
      app: premium
      role: business
      type: backend
  template:
    metadata:
      labels:
        app: premium
        role: business
        type: backend
    spec:
      containers:
      - image: bikertales/premiumcalc:v0.2
        name: premiumcalc
        ports:
        - containerPort: 8000
        env:
        - name: redissvc
          value: redissvc
        readinessProbe:
          httpGet:
            path: /api/v1/healths/premiums/loads
            port: 8000
          initialDelaySeconds: 10
        livenessProbe:
          httpGet:
            path: /
            port: 8000
          initialDelaySeconds: 3
          periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: premium
    role: business
    type: backend
  name: premiumcalc-svc
  annotations:
    getambassador.io/config: |
      apiVersion: ambassador/v1
      kind: Mapping
      name: premium-mapping
      prefix: /api/v1/healths/premiums
      service: premiumcalc-svc:8000
      rewrite: ""
spec:
  ports:
  - port: 8000
    protocol: TCP
    targetPort: 8000
	name: ptcp
  selector:
    app: premium
    role: business
    type: backend
  type: NodePort

Version (include the output of istioctl version --remote and kubectl version)
Version: 1.0.5
GitRevision: c1707e45e71c75d74bf3a5dec8c7086f32f32fad
User: root@6f6ea1061f2b
Hub: docker.io/istio
GolangVersion: go1.10.4
BuildStatus: Clean
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.2", GitCommit:"66049e3b21efe110454d67df4fa62b08ea79a19b", GitTreeState:"clean", BuildDate:"2019-05-16T16:14:56Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
How was Istio installed?
helm
Environment where bug was observed (cloud vendor, OS, etc)
AWS EC2
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

@kubesure Maybe have something todo with statefulset, istio currently do not support it well.

Yes you are right. Tired linkerd, it too does not support sts.


Please provide sample for logic app connection with eventhub

Where can i find documentation of logic app connection using event-hub to send-event

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

ID: 2f1410cc-4cf2-323e-b928-6776910abadb
Version Independent ID: 4a1f0921-ace4-f30d-8d00-f42201963bd8
Content: Overview - Automate deployment for Azure Logic Apps
Content Source: articles/logic-apps/logic-apps-azure-resource-manager-templates-overview.md
Service: logic-apps
GitHub Login: @ecfan
Microsoft Alias: estfan

Hi @ranokarno,
The docs has the following topic about using the Event Hub connector in Azure Logic Apps, which also has steps for using the Send Event action:
Monitor, receive, and send events with Azure Event Hubs and Azure Logic Apps

Hi @ranokarno,
Please confirm whether this response addresses your question? Thanks!

hi @ecfan ,
yes this is the same. will proceed to close this one


New interface does not support empty dicts in pytrees

import orbax.checkpoint as ocp

pytree = {'a': 0, 'b':{}}
options = ocp.CheckpointManagerOptions()
mngr = ocp.CheckpointManager(
  ocp.test_utils.create_empty('/tmp/ckpt22/'),
  options=options,
)

mngr.save(0, args=ocp.args.StandardSave(pytree))
# mngr.save(0, args=ocp.args.PyTreeSave(pytree)) also warns

raises the warning that aggregate is no longer supported.
However, I suspect this should not.
This is probably because you are using is_empty_or_leaf in the code checking the save args inside of pytree_checkpoint_handler.py.
    # Because of empty states, the user-provided args may not contain
    # all necessary arguments. These should be filled in with default args.
    save_args = jax.tree_util.tree_map(
        _maybe_set_default_save_args,
        item,
        item if save_args is None else save_args,
        is_leaf=utils.is_empty_or_leaf,
    )

A fix has been pushed. Should be available in release 0.5.7. Please let us know if the issue persists.


LCD is not working on manual build

When I build the image from dev on RaspiOS Bookwork I dont the the LCD to work - it stays white. Doesnt matter if i buidl the sd card with "lcd" or as "headless" and try to switch LCD on later. Happens on RPi4 & RPi5.
Strange thing is, when I install the GutHub actions build (arm64 lean that is compiled "headless") I can switch on the LCD later and it works.
@openoms any idea where the difference might be?

You can find the build log in the github action - can also be downloaded (faster to search that way).
Need to compare it with the output of the manual build. Are there any errors (especially around the LCD driver install)?

Could be related: https://github.com/raspiblitz/raspiblitz/pull/4347

I dont think it was #4347 - because it was just happeniong when I manual ran then buildscript .. but its not that relevant anymore because when I am using packer locally nor for the release build. So closing this issue.


Error homebridge hue during initialization

Hi,
My homebridge/homebridge hue was running perfectly fine, however, now with a few additions (two ubisys D1 dimmers) to my network it  hangs up after a couple of steps (see -D log file below):
[1/12/2019, 8:56:09 PM] Loaded plugin: homebridge-hue
[1/12/2019, 8:56:09 PM] Registering platform 'homebridge-hue.Hue'
[1/12/2019, 8:56:09 PM] ---
[1/12/2019, 8:56:09 PM] Loading 1 platforms...
[1/12/2019, 8:56:09 PM] [Hue] Initializing Hue platform...
[1/12/2019, 8:56:09 PM] [Hue] homebridge-hue v0.11.8, node v11.6.0, homebridge v0.4.45
[1/12/2019, 8:56:09 PM] [Hue] warning: not using recommended node version v10.15.0 LTS
[1/12/2019, 8:56:09 PM] [Hue] npm registry: get /homebridge-hue
[1/12/2019, 8:56:09 PM] Loading 0 accessories...
[1/12/2019, 8:56:09 PM] [Hue] npm registry: get /homebridge-hue ok
[1/12/2019, 8:56:09 PM] [Hue] config.json: {"platform":"Hue","name":"Hue","host":"10...03","users":{"00212EFFFF02A6AA":"1"},"lights":false}
[1/12/2019, 8:56:09 PM] [Hue] 10...03: bridge request 1: get /config
[1/12/2019, 8:56:09 PM] [Hue] 10..***.03: bridge request 1: ok
[1/12/2019, 8:56:09 PM] [Hue] Phoscon-GW: dresden elektronik deCONZ gateway v2.5.54, api v1.16.0
[1/12/2019, 8:56:09 PM] [Hue] Phoscon-GW: gateway request 2: get /
[1/12/2019, 8:56:09 PM] [Hue] Phoscon-GW: gateway request 2: ok
[1/12/2019, 8:56:09 PM] [Hue] Phoscon-GW: gateway request 3: get /groups/0
[1/12/2019, 8:56:09 PM] [Hue] Phoscon-GW: gateway request 3: get /groups/0
[1/12/2019, 8:56:09 PM] [Hue] Phoscon-GW: gateway http status 404 Not Found
Regards,
Fedderik

I think I may have a similar issue. I updated deConz, lost access to my RaspBee, revered to earlier version of deConz, downgraded firmware on the RaspBee for deConz to rediscover the RaspBee. Then I  updated deConz again (initially to 2.5.84) and updated firmware of the RaspBee through the Phoscon web app. After all of this, everything seems to work as expected in the Phoscon app, but now I just discovered that my homebridge instance is in an endless reboot loop. It starts up and then after a moment it restarts. Only error I get in the log is below:
0|homebrid | [22/11/2020, 11:13:18] [Homebridge UI] Homebridge Config UI X v4.33.0 is listening on :: port 8000
0|homebrid | [22/11/2020, 11:14:41] [Hue] config.json: warning: forceCt: ignoring unknown key
0|homebrid | [22/11/2020, 11:14:41] [Hue] warning: not using recommended node version v14.15.0 LTS
0|homebrid | [22/11/2020, 11:14:42] [Hue] PlayPi: warning: not using recommended deCONZ gateway version 2.5.84
0|homebrid | [22/11/2020, 11:14:43] [Hue] PlayPi: gateway request 2: get /groups/0
0|homebrid | [22/11/2020, 11:14:43] [Hue] PlayPi: gateway request 2: error 3 resource, /groups/0, not available
0|homebrid | HAP Warning: Characteristic 000000E3-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 0000008C-0000-1000-8000-0026BB765291. Adding anyway.
0|homebrid | HAP Warning: Characteristic 000000E3-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 0000008C-0000-1000-8000-0026BB765291. Adding anyway.
0|homebrid | HAP Warning: Characteristic 000000E3-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 0000008C-0000-1000-8000-0026BB765291. Adding anyway.
0|homebrid | HAP Warning: Characteristic 000000E3-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 0000008C-0000-1000-8000-0026BB765291. Adding anyway.
0|homebrid | [22/11/2020, 11:14:50] [Homebridge UI] Homebridge Config UI X v4.33.0 is listening on :: port 8000
I have tried the steps outlined above and after trying ph -H <IP_ADDRESS> get groups/0 I get the response ph get: warning: api error 3: resource, /groups/0, not available
Can I just add /groups/0 to the deConz database to fix this?

Yeah, you can try that.  Not sure how /groups/0 gets to disappear from the REST API.  I should always be there.

Well, I ended up reinstalling Homebridge. Had it running via pm2 rather than with hb-service. The crash in deConz had already caused HomeKit to lose all my lights and sensors, so had to put everything in place anyways. However after reinstalling I still have the same error in the homebridge log, but it does not seem to do anything. Homebridge no longer crash and I can control everything. Crossing my fingers all is well (knock on wood ... famous last words...)

Hi, I Think I have a similar issue. See error below. Can you help me fix this?![Uploading 104139130...]

Hi, I Think I have a similar issue. See error below. Can you help me fix this?![Uploading 104139130...]

I solved it by doing as @ebaauw mentioned regarding the database. My 0x0000 was indeed missing. How I have still not figured out. I added the line manually saved the database and restarted my pi. It took several hours for the pi to restart, and I was close to giving up, (I took out the ConbeeII stick and tried again.... waited ages) then suddenly I could access my pi via VNC, and I came to the login screen... Normally my pi would just login after a restart, but this time I had to login. I attached the ConbeeII stick again, opened a cmd in the pi, and tried to start deconz, but I had to run "systemctl daemon-reload" and then "sudo systemctl start deconz"... Waited another half an hour and the FINALLY Homebridge started and I am now back to my old setup. :)

I solved it by doing as @ebaauw mentioned regarding the database. My 0x0000 was indeed missing. How I have still not figured out. I added the line manually saved the database and restarted my pi. It took several hours for the pi to restart, and I was close to giving up, (I took out the ConbeeII stick and tried again.... waited ages) then suddenly I could access my pi via VNC, and I came to the login screen... Normally my pi would just login after a restart, but this time I had to login. I attached the ConbeeII stick again, opened a cmd in the pi, and tried to start deconz, but I had to run "systemctl daemon-reload" and then "sudo systemctl start deconz"... Waited another half an hour and the FINALLY Homebridge started and I am now back to my old setup. :)


Increase the default StandardMaterial3D triplanar sharpness to 4.0

This results in sharper texture transitions, which generally looks better and less flat.
The documentation around triplanar mapping was also improved.
Testing project: test_triplanar_normal.zip (master only, won't work in 3.x)
Preview
Triplanar material on the left, non-triplanar material on the right.
Before

After

You generally don't want this because it can look ok for spheres but for flat rotated surfaces, more sharpness looks terrible.

I guess there is no consensus. Let's get back to it in a future version, if we have to.


Proposal: Allow using ExMachina.Ecto without a repo.

Ecto has been splitting the persistence layer a lot lately. As of Ecto 3, :ecto_sql is even a different package.
One of the usages of Ecto is just using plain embedded schemas to define some fields. I personally use them a lot in our web layer.
In our most recent project, every mutation method on our controllers are accompanied by an Ecto embedded schema. Our web layer doesn't have any Repository, since it doesn't have any normal schemas, just embedded schemas.
That being said, I don't think ExMachina.Ecto should enforce having a :repo.
My sugesstion is that if no repo is passed, it defines all methods except the insert ones.
The params_for and string_params_for are useful even without the Repo (since it strips Ecto related stuff).
So my suggestion is simple (I can open a PR for that easily): just allow repo to not be passed.
It would look something like
defmacro __using__(opts) do
  verify_ecto_dep()

  repo = Keyword.get(opts, :repo)

  for_ecto_with_repo = quote do
    use ExMachina.EctoStrategy, repo: unquote(repo)

    def params_with_assocs(factory_name, attrs \\ %{}) do
      ExMachina.Ecto.params_with_assocs(__MODULE__, factory_name, attrs)
    end

    def string_params_with_assocs(factory_name, attrs \\ %{}) do
      ExMachina.Ecto.string_params_with_assocs(__MODULE__, factory_name, attrs)
    end
  end

  for_all = quote do
    use ExMachina

    def params_for(factory_name, attrs \\ %{}) do
      ExMachina.Ecto.params_for(__MODULE__, factory_name, attrs)
    end

    def string_params_for(factory_name, attrs \\ %{}) do
      ExMachina.Ecto.string_params_for(__MODULE__, factory_name, attrs)
    end
  end

  if not is_nil(repo) do
    quote do
      unquote(for_all)
      unquote(for_ecto_with_repo)
    end
  else
    for_all
  end
end

What do you guys think?

I think using false over nil could make it more explicit (otherwise I can see cases where one could forgot to add/misspell the repo option and get a lot of headaches)
use ExMachina.Ecto, repo: false

Hi @bamorim, thanks for suggesting this! I do think it makes sense to have params_for and string_params_for available for people using ecto and not ecto_sql. I've been trying to think of alternatives to not passing repo that would bring more clarity as to what's going on.
One idea that I had, though I'm not sure if it's better, is to have a separate module called ExMachina.EctoSchema (or something like that -- naming is hard). That module could just define similar macros and delegate calls to ExMachina.Ecto. So I'm imagining something like this,
defmodule ExMachina.EctoSchema do
  @moduledoc """
  Module for building factories with Ecto

  This module works much like the regular `ExMachina` module, but adds the
  `params_for` and `string_params_for` functions that make working with Ecto
  schemas easier.

  More in-depth examples are in the [README](readme.html).
  """
  defmacro __using__(_) do
    verify_ecto_dep()

    quote do
      use ExMachina

      def params_for(factory_name, attrs \\ %{}) do
        ExMachina.Ecto.params_for(__MODULE__, factory_name, attrs)
      end

      def string_params_for(factory_name, attrs \\ %{}) do
        ExMachina.Ecto.string_params_for(__MODULE__, factory_name, attrs)
      end
    end
  end

  defp verify_ecto_dep do
    unless Code.ensure_loaded?(Ecto) do
      raise "You tried to use ExMachina.EctoSchema, but the Ecto module is not loaded. " <>
              "Please add ecto to your dependencies."
    end
  end
end

I don't like that it ties ExMachina.EctoSchema to ExMachina.Ecto so closely, since changes to ExMachina.Ecto now need to keep in mind that EctoSchema uses it, but then again, that might not be a problem at all.
What do you think?

Guys, sorry for late response and thank you so much for the answers and counter proposals.
@johantell okay, the argument about the problems when you forget to define the repo is fair enough. But I'm not sure using false is better.
I'll try to address the problems you pointed in the end
My view on Ecto
My way of thinking about Ecto is that Repo is the one that depends on the Schema. That is, Schema is the "core" of Ecto and Repo is an "added" feature on top of that that defines an interface for fetching schemas.
That being said, Ecto kind of let you start with just a schema and then, sometime, opt-in for a Repo. For example, one could create a lib that defines a bunch of Ecto.Schema but doesn't implement any Repo. That could be useful for reusing some concepts.
(Ok, one flaw of my point of view is that Ecto schema contains the table name, but I think that is just a legacy left-over that they couldn't change without breaking a lot of things then moving to Ecto 3, but I'm just guessing here)
With that being said, it seems strange that ExMachina requires a Repo by default and then let's you "opt-out" by passing repo: false. It seems counter intuitive for me.
On ExMachina.EctoSchema proposal
Also, @germsvel, although your solution is simple and easy to deploy, my concern is that it will introduce another concept (a new module) to be used when you don't have a Repo.
The problem is that the path of moving from no-repo to with-repo now requires you to change the module you use from ExMachina.EctoSchema to ExMachina.Ecto (which the naming doesn't help a lot, as you said) and then add the repo: MyRepo to the keyword list after that.
It also makes it kind of weird in terms of documentation and usability.
My new proposal
Okay, if I understood you guys correctly, the problem was that if you forget to add repo: X to something, then you can run into some strange problems. The only problem I can think of is trying to call insert/2 or insert_list/3 and receiving a weird error like (UndefinedFunctionError) function MyFactory.insert/2 is undefined or private, right?
What if instead of not defining the insert/2 and insert_list/3 we actually define it but make it raise when called? Something like:
You tried to call insert on a ExMachina.Ecto factory but you haven't defined `:repo` on that.
Check link-to-documentation to know more about it

Do you think this solves your problems with just not setting :repo?

@bamorim Absolutely. We might even do a validation check compile time to make sure the option is set to something and raise with a similar helpful message :)

I ran into this issue this week and decided to put a PR together. Happy to change the implementation to meet the consensus but my preferred approach is the same as @bamorim's proposal.

Thanks @col for taking the time! I was a little bit busy and away from Elixir for a while.

Closing this since it was resolved by #370 and is available in version 2.4.0


update ffi to latest

update ffi to latest
Description
update ffi to latest
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated the version in pubspec.yaml and CHANGELOG.md.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

Closing this PR in favor of https://github.com/fluttercommunity/plus_plugins/pull/957 as author there added release notes as well and reacts to feedback faster.


Update INSTALL.rst

@manthey There was also a link to a docker compose file desired in the docs, but I wasn't sure which was the source and target--if you could tell me src/target I can add them (or feel free to do it yourself).


[text_field]: enableSuggestions:false is not honored on Android

Use case
My specific use-case is that, on Android, I want to be able to present the user with a keyboard where suggestions are turned off, but the user can still enter text via voice-input by way of the built-in keyboard microphone button.
The workaround we're currently using is setting the keyboardType on Android to TextInputType.emailAddress. That disables suggestions but also disables the keyboard's microphone so voice-input doesn't work.
Scenario:
Given I have set enableSuggestions to false.
When I open the device keyboard and start typing.
Expected Behavior:
Then I should not see any suggestions above the keyboard.
Actual Behavior:
I see suggestions above the keyboard
Proposal
Update the backing code to properly set the native Android inputTypes.
As mentioned in https://github.com/flutter/flutter/issues/22828#issuecomment-731765021:

In Android native you can get this using :
android:inputType="textFilter|textMultiLine|textNoSuggestions"

https://github.com/flutter/flutter/pull/42550 is the PR where this behavior was originally implemented so it sounds like this is a regression?
Related issues:
https://github.com/flutter/flutter/issues/22828
https://github.com/flutter/flutter/issues/71679
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.7 19H114 darwin-x64, locale en-US)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 12.4)
[!] Android Studio (version 4.1)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.52.1)
[✓] Connected device (1 available)
    ! Error: Nick’s iPhone is not connected. Xcode will continue when Nick’s iPhone is connected. (code -13)

! Doctor found issues in 1 category.

Code Sample 1 (enableSuggestions: false):
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Padding(
        padding: const EdgeInsets.symmetric(horizontal: 24.0),
        child: TextField(enableSuggestions: false),
      ),
    );
  }
}

Image below is from a Pixel 3 running Android 11

Code Sample 2 (keyboardType: TextInputType.emailAddress):
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Padding(
        padding: const EdgeInsets.symmetric(horizontal: 24.0),
        child: TextField(keyboardType: TextInputType.emailAddress),
      ),
    );
  }
}

Image below is from a Pixel 3 running Android 11

I'm able to reproduce this issue and this seems to be a duplicate of https://github.com/flutter/flutter/issues/71679. Since they are the same I'm going to close this one and have the discussion in https://github.com/flutter/flutter/issues/71679. I will also update the other one since this clearly seems to be a regression.
Thank you for filling this issue!


Add service method for starting reverse swap

I moved the reverse swap methods in BoltzApi, which is a component of BTCSendSwap, which is a field of BreezServices.
This should address the two comments above, but @roeierez please let me know if I missed something.
Next step is to register the tx to be monitored.


[Question] Server Sided Rendering

My question to this is is it generating static pages for server sided rendering like how nuxtjs does it or would you need a node server underneath. Because for the node server (and vuetober/nuxtober) you can get SSR easily with the node server, but not so easily if you're only utilizing static pages, in which case comes my second question.
Have you tested generating static pages with ids and such?

Currently SSR is performed by feeding the url into our Svelte application, and using our index.htm file to return the resulting <head> and <body> content. I haven't experimented with endpoints that require fetching additional data from the server yet, but that's definitely on my list. If you want to experiment with more SSR stuff too, I'd be curious to see your results!

I believe a node server would definitely always be requires in the instance of getting dynamic urls. Reason being that i've tested static page generation for them, and it becomes a meddling pain to deal with if you've got a lot of data to work with, so each update/regeneration just makes the process longer while it generates those pages. I'm currently utilizing a node server (via proxy) alongside october and pm2 to keep the node server online when i need to update.

I've started experimenting a bit with async data, and it looks like SSR will have to change a bit such that data is fetched before the application is rendered. I'm closing this issue in favor of #5, as this will require completely rethinking how Sveltober apps are structured.


renaming of #define instruction with C++

Type: Bug
when trying to rename a #define ,  is changed every where but in the #define instruction !
VS Code version: Code 1.86.1 (31c37ee8f63491495ac49e43b8544550fbae4533, 2024-02-07T09:08:20.941Z)
OS version: Windows_NT x64 10.0.22631
Modes:

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i5-11320H @ 3.20GHz (8 x 3187)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
15.78GB (8.12GB free)

Process Argv
--crash-reporter-id 162d1a2b-3a36-4e96-a9c3-55e50572a677

Screen Reader
no

VM
0%

Extensions (14)

Extension
Author (truncated)
Version

cortex-debug
mar
1.12.1

debug-tracker-vscode
mcu
0.0.15

memory-view
mcu
0.0.25

peripheral-viewer
mcu
1.4.6

rtos-views
mcu
0.0.7

debugpy
ms-
2024.0.0

python
ms-
2024.0.1

vscode-pylance
ms-
2024.2.2

cmake-tools
ms-
1.17.15

cpptools
ms-
1.19.3

cpptools-extension-pack
ms-
1.3.0

hexeditor
ms-
1.9.13

vscode-serial-monitor
ms-
0.11.0

cmake
twx
0.0.17

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256859
vscod805:30301674
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:30899288
c4g48928:30535728
azure-dev_surveyone:30548225
2i9eh265:30646982
962ge761:30959799
pythongtdpath:30769146
welcomedialog:30910333
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
pythontbext0:30879054
accentitlementst:30887150
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
b5d27386:30958190
a89i1917:30961429
7j2b6412:30964151

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.86.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

the issue still remains after upgrading

/extCpp

It looks like this is caused by the C++ extension. Please file the issue to the C++ extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


test: pkg/envoy/ads recordEnvoyPodMetadata()

In pkg/envoy/ads recordEnvoyPodMetadata() does not have good unit test coverage.
It would be great to write a small test for this function.

ref #1489

Consolidated in #3408


set related object properties on creation

https://github.com/stolostron/backlog/issues/24026
Signed-off-by: Will Kutler<EMAIL_ADDRESS>

/cc @JustinKuli

/retest


Refactor semanticdb

Supersedes #828

Let's continue the discussion on positions in #839 and merge this PR


Update script for building metal3 images locally

Use source image name directly instead of searching for the ID based on the name.
Remove hard coded source image
Parameterize ssh_keypair_name and reuse_ips
Provide overridable defaults for local script
Don't upload locally built images to artifactory

/test-integration-metal3-dev-tools-centos

/test-integration-metal3-dev-tools-centos

Don't upload locally built images to artifactory

Why not, most of the time the purpose of building it locally is to try it out in CI and see how it works?

Don't upload locally built images to artifactory

Why not, most of the time the purpose of building it locally is to try it out in CI and see how it works?

Good question. I realize that I may not have thought about all use cases. I was using this script to build the metal3 images, but not node images and I guess there is the difference. We only need the metal3 image in openstack in order to test them so I saw no point in uploading to artifactory.
For node images I guess we need to upload them to artifactory in order to try them. But we do have a pipeline that does this automatically already (test-integration-metal3-dev-tools-{image_os}). And the user can still manually upload it using upload_node_image_rt.sh if necessary.
After thinking through this I would prefer actually to avoid uploading it automatically. We avoid the need to artifactory credentials and there is no risk forgetting to clean up old images. But I should probably add something about this local building in the readme...

For node images I guess we need to upload them to artifactory in order to try them. But we do have a pipeline that does this automatically already (test-integration-metal3-dev-tools-{image_os}). And the user can still manually upload it using upload_node_image_rt.sh if necessary.

Good point, totally forgot about that pipeline, that actually simplifies local node image building and testing a lot (building with custom params, uploading it, running integration tests using built node images and delete them at the end of the run) where we can run it on a CI.

But I should probably add something about this local building in the readme...

+1

Thanks for the reviews @furkatgofurov7 ! I have now added a section to the readme to explain how to use the script :slightly_smiling_face:


HHL algo has an inaccurate precision

Environment

Qiskit Terra version: 0.19.2
Python version: 3.7.6
Operating system: Windows 10 21H2 19044.1586

What is happening?
HHL algorithm takes epsilon parameter, which is the precision of solution vector, but in some cases the returned solution violates this error boundary.
How can we reproduce the issue?
import numpy as np
import time

import qiskit

from qiskit import QuantumCircuit
from qiskit.algorithms.linear_solvers.hhl import HHL as HHL_algo
from qiskit.algorithms.linear_solvers.matrices import TridiagonalToeplitz

def get_hhl_solution(qubits_count: int, main_diag: float, off_diag: float, rhs: np.ndarray, epsilon: float):
    matrix = TridiagonalToeplitz(qubits_count, main_diag, off_diag)

    num_qubits = matrix.num_state_qubits
    vector_circuit = QuantumCircuit(num_qubits)
    vector_circuit.isometry(rhs, list(range(num_qubits)), None)

    hhl = HHL_algo(epsilon=epsilon)
    solution = hhl.solve(matrix, vector_circuit)
    return solution

from qiskit.opflow import Z, I, StateFn, TensoredOp
from qiskit.quantum_info import Statevector, DensityMatrix, partial_trace

def get_quantum_solution(initial_qubits_count, solution):
    total_qubits_count = len(solution.state.qubits)
    zero_op = (I + Z) / 2
    one_op = (I - Z) / 2

    na = initial_qubits_count - 1
    nb = initial_qubits_count
    nl = total_qubits_count - na - nb - 1

    observable = one_op ^ TensoredOp((nl + na) * [zero_op]) ^ (I ^ nb)
    final_state = (observable @ StateFn(solution.state))

    final_vector = final_state.eval()
    final_vector /= np.linalg.norm(final_vector.to_matrix())

    # It's needed for converting complex amplitudes into real numbers
    norm = np.array(list(map(np.linalg.norm, list(final_vector.to_matrix()))))
    sgn = np.array(list(map(np.sign, list(final_vector.to_matrix()))))
    result_vector = norm * sgn

    dmatrix = DensityMatrix(result_vector)
    tr = partial_trace(dmatrix, qargs=range(nb, total_qubits_count))

    print("Partial trace purity:", tr.purity())  # Should be equal to 1
    quantum_solution = tr.to_statevector().data
    return quantum_solution

def get_trigiagonal_matrix(n: int, main_diag: float, off_diag: float) -> np.ndarray:
    A = np.zeros((n, n))
    for i in range(n):
        A[i, i] = main_diag
        if i + 1 < n:
            A[i + 1][i] = off_diag
            A[i][i + 1] = off_diag
    return A

def classic_tridiagonal_system_solver(main_diag: float, off_diag: float, b: np.ndarray) -> np.ndarray:
    n = np.size(b)
    A = get_trigiagonal_matrix(n, main_diag, off_diag)
    solution = np.linalg.solve(A, b)
    return solution

def get_solution_distance(quantum_solution, main_diag, off_diag, rhs):
    classical_solution = classic_tridiagonal_system_solver(main_diag, off_diag, rhs)
    classical_solution = classical_solution / np.linalg.norm(classical_solution)
    solution_distance = min(np.linalg.norm(classical_solution - quantum_solution), np.linalg.norm(classical_solution + quantum_solution))
    return solution_distance

qubits_count = 2
main_diag = 1
off_diag = 0.5

np.random.seed(42)
right_hand_side = np.array([1.0, -2.1, 3.2, -4.3])
rhs = right_hand_side / np.linalg.norm(right_hand_side)

start_eps = 1e-1
eps_counts = 13

all_eps = [start_eps * 2 ** (-i) for i in range(eps_counts)]

precision = []

for eps in all_eps:
    print("Current eps:", eps)
    start_time = time.time()
    solution = get_hhl_solution(qubits_count, main_diag, off_diag, rhs, eps)
    quantum_solution = get_quantum_solution(qubits_count, solution)
    precision.append(get_solution_distance(quantum_solution, main_diag, off_diag, rhs))
    print("Current precision:", precision[-1])
    print("Iteration time:", time.time() - start_time)
    print("")

In the following charts 'theoretical precision' is all_eps list, while 'practical precision' is precision list.

WARNING! Second chart main_diag = 1.5, off_diag = 2.5 was obtained with fixed TridiagonalToeplitz.eigs_bounds function. You can find an implementation of this fix here: https://github.com/Qiskit/qiskit-terra/pull/7968
What should happen?
Practical precision should always be not greater than theoretical, but it's not the case.
Any suggestions?
As far as I understand, in case of perfect right hand side simulation the algorithm has two sources of errors:

Approximation of matrix exponent with hamiltonian simulation
Eigenvalues discretization error

To deal with the first type of errors, algorithm has a trotter_steps value, which depends on eps precision. But it's the only epsilon usage in algorithm's current realization.
To deal with the second type of errors, one option is to increase QPE qubits count - nl parameter. Current definition:
nl = max(nb + 1, int(np.ceil(np.log2(kappa + 1)))) + neg_vals.
Personally, I don't understand why this value doesn't depend on epsilon parameter. Maybe something like log(kappa / epsilon) is more appropriate?
I suppose that the first chart is an example of eigenvalues discretization error. As for second chart, it looks like initial trotter_steps value is too small.

@anedumla Any thoughts/comment?


Adding Pensu as owners

CC: @mbbroberg

@mbbroberg I am member of Kubernetes github org. I assumed that covered kubernetes-sigs as well. Do I need to do that separately?

@mbbroberg I am member of Kubernetes github org. I assumed that covered kubernetes-sigs as well. Do I need to do that separately? CC: @rajula96reddy

I think we are good. Once we merge this, you will have access.

You will need to be added to the k-sigs org via the k/org repo. As a member of Kubernetes, you're implicitly allowed to join the other orgs, its just not automatic.

@Pensu +1 to what Bob said -- we can get the overall org in the other repo. Post nit this lgtm too.

@palnabarun Sorted! PTAL.

/lgtm


2.1 preview 2 Fedora packaging issue

I just upgraded from preview1 to preview2, and am getting the following error when running my application:
It was not possible to find any compatible framework version
The specified framework 'Microsoft.AspNetCore.App', version '2.1.0-preview2-final' was notfound.
  - Check application dependencies and target a framework version installed at:
      /usr/share/dotnet/
  - Installing .NET Core prerequisites might help resolve this problem:
      http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
  - The .NET Core framework and SDK can be installed from:
      https://aka.ms/dotnet-download
  - The following versions are installed:
      2.1.0-preview1-final at [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]

Here are the dotnet related packages I've installed (dnf list --installed dotnet* aspnet*) - in particular, note that aspnetcore-runtime-2.1.0-preview2-final is installed:
Installed Packages
aspnetcore-runtime-2.1.0-preview1-final.x86_64     2.1.0_preview1_final-1    @packages-microsoft-com-prod
aspnetcore-runtime-2.1.0-preview2-final.x86_64     2.1.0_preview2_final-1    @packages-microsoft-com-prod
aspnetcore-store-2.0.0.x86_64                      2.0.0-1                   @packages-microsoft-com-prod
aspnetcore-store-2.0.3.x86_64                      2.0.3-1                   @packages-microsoft-com-prod
aspnetcore-store-2.0.5.x86_64                      2.0.5-1                   @packages-microsoft-com-prod
dotnet-host.x86_64                                 2.1.0_preview2_26406_04-1 @packages-microsoft-com-prod
dotnet-hostfxr-2.0.3.x86_64                        2.0.3-1                   @packages-microsoft-com-prod
dotnet-hostfxr-2.0.5.x86_64                        2.0.5-1                   @packages-microsoft-com-prod
dotnet-hostfxr-2.1.0-preview1-26216-03.x86_64      2.1.0_preview1_26216_03-1 @packages-microsoft-com-prod
dotnet-hostfxr-2.1.0-preview2-26406-04.x86_64      2.1.0_preview2_26406_04-1 @packages-microsoft-com-prod
dotnet-runtime-2.0.3.x86_64                        2.0.3-1                   @packages-microsoft-com-prod
dotnet-runtime-2.0.5.x86_64                        2.0.5-1                   @packages-microsoft-com-prod
dotnet-runtime-2.1.0-preview1-26216-03.x86_64      2.1.0_preview1_26216_03-1 @packages-microsoft-com-prod
dotnet-runtime-2.1.0-preview2-26406-04.x86_64      2.1.0_preview2_26406_04-1 @packages-microsoft-com-prod
dotnet-runtime-deps-2.1.0-preview2-26406-04.x86_64 2.1.0_preview2_26406_04-1 @packages-microsoft-com-prod
dotnet-sdk-2.0.3.x86_64                            2.0.3-1                   @packages-microsoft-com-prod
dotnet-sdk-2.1.2.x86_64                            2.1.2-1                   @packages-microsoft-com-prod
dotnet-sdk-2.1.300-preview1-008174.x86_64          2.1.300_preview1_008174-1 @packages-microsoft-com-prod
dotnet-sdk-2.1.300-preview2-008530.x86_64          2.1.300_preview2_008530-1 @packages-microsoft-com-prod
dotnet-sdk-2.1.4.x86_64                            2.1.4-1                   @packages-microsoft-com-prod

Looking at the contents of aspnetcore-runtime-2.1.0-preview2-final (dnf repoquery -l aspnetcore-runtime-2.1.0-preview2-final), I noticed the Microsoft.AspNetCore.All and Microsoft.AspNetCore.App were listed as being in /opt/rh/rh-dotnet20/root/usr/lib64/dotnet/shared/ rather than /usr/share/dotnet/shared/.
I then copied the contents from /opt/rh.. to the expected location in /usr/share and then the application worked again.

@leecow / @JunTaoLuo / @muratg - any ideas on this?

Sounds like an issue with the aspnetcore-runtime authoring. @JunTaoLuo would need to have a look.

Looks like the redhat specific rpm was uploaded instead of the generic one. I'm taking a look to see if this is an authoring issue or an upload issue.

Looks like the packages were authored correctly and the wrong one was uploaded to the rpm feed.

Thanks John - will upload the correct package as soon as we finish working through the host installer issues.

I just tried to update to RC1 and could not find it in the list of available packages.  I then followed the steps at https://www.microsoft.com/net/download/linux-package-manager/fedora26/sdk-current, and replaced my prior repo with the one above.  I was then able to install RC1 just fine.
As such, this was probably just a configuration issue on my side, consuming an incorrect package (though this had worked with prior releases w/o an issue).
Sorry for any time wasted, please close as you see fit.


add longitudinal maneuvers

from opendbc: https://github.com/commaai/opendbc/blob/ef7102a8ae2334d77ff4b0be512c073e81b01d18/examples/longitudinal-profiles.py

[x] uses alert manager similarly to joystick alert
[x] enable by setting LongitudinalManeuverMode
[x] give remote/local route to generate_report.py

[x] checks for user override or not fully enabled
[ ] relative time
[ ] checks for pitch
[ ] localizer accel (not in this PR, there's too many accel signals on the plot and we should make sure to keep the report simple)

@adeebshihadeh Anything else you think the first iteration needs?


Add a lessons count/total

I think it would be cool to have the total number of lessons visible to the user.
Maybe we could place the total near the Lessons heading:

Open for suggestions on what this count/total would look like!

Hey, I have finished this one, is this what you wanted

This looks good @AdnCodez. I'm not sure if we need a count for when there are no lessons seeing as the 'No lessons' text handles this. We could maybe add a hyphen between 'Lessons' and the number just so it looks a little cleaner.
What do you think?

okay, sounds good I will adjust that :)

Closed by #73


Existing languages was removed

For example, this command removes all existing languages from BasicCatalog.xcstrings, and adds Swedish.
$ swift-translate --api-key $OPENAI_DEFAULT_API_KEY ExampleCatalogs/BasicCatalog.xcstrings --lang sv --overwrite

I think it should be very careful with removing existing languages/translations, might be irreversible.
While I might have expected the command to just add Swedish, I see the point of supporting a way to remove languages (as Xcode doesn't support this?). But maybe it would be a good idea to require explicit approval before removing?

+1
I don't understand how I can add a new language to a string catalog with existing translations for other languages?


Search plugin folder recursively

Search for plugins in the selected plugin folder recursively.
This will allow organisation of plugins like the Plugins folder in this repository.

I rather like it not being recursive.
Without recursion I can reference child folder scripts within my main script, but if it was recursed I'd have to put it into an alien folder.
This would be very difficult to distribute my plugin to other people.

Going to leave in for now until we can do something like his: https://github.com/matryer/bitbar/issues/103

Sounds good!


non-static variant::visit

I'm creating this separate issue to keep the discussion in #113 clean.

@artemp Because variant::visit doesn't modify internal state and making it static gives compiler some hints on how to generate binary code. Why are you thinking it shouldn't be static ?

What hints? Visiting a non-const variant can modify internal state (e.g. comparison operators can give different results after such visit; edit: that's modifying external state, actually).
visit is a static member function template only by syntax. Its first argument is always a reference to the class it's defined in. That's identical to non-static member functions under the hood.
Why this:
template <typename F, typename V>
auto VARIANT_INLINE apply_visitor(F&& f, V& v) -> decltype(V::visit(v, std::forward<F>(f)))
{
    return V::visit(v, std::forward<F>(f));
}

instead of this:
template <typename F, typename V>
auto VARIANT_INLINE apply_visitor(F&& f, V& v) -> decltype(v.visit(std::forward<F>(f)))
{
    return v.visit(std::forward<F>(f));
}

// ignoring for now that V should be forwarded as well

@lightmare - ok, in this particular case both version will be likely inlined so not much difference, but I'm personally considering current version a better coding style. Why are you so concerned about this ?

That's identical to non-static member functions under the hood.
^ Did you compare assembly code generated by compilers to justify such an assertion ? :)

I'm personally considering current version a better coding style.

I think it's the exact opposite. Let me compare this to vector swap from libc++ for example:
template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY
void
swap(vector<_Tp, _Allocator>& __x, vector<_Tp, _Allocator>& __y)
    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
{
    __x.swap(__y);

    // having static vector::swap would turn the above into
    vector<_Tp, _Allocator>::swap(__x, __y);
}

It's the same thing as apply_visitor, free function taking an instance and delegating the work to a member function. Declaring variant::visit static is wrong, it's not a class method in OO terms.
:smile_cat:  Now I realized I didn't even need to go to libc++. I could've used mapbox::util::get as an example. It delegates to var.template get<R>(), not T::template get<R>(var).

Did you compare assembly code generated by compilers to justify such an assertion ? :)

I assumed that'd be a waste of time. Yes, assembly generated by {g++-6,clang-3.8} -O{0..2} with current and modified variant are identical.

If you ever decide to forward variant (surely, unpacking it on the fly) to visitor in apply_visitor, then you need to provide 4 or 3 (i.e. except const &&) overloadings for apply_visitor, or simply to overload member function v.visit() for all the cv-ref-qualifiers that makes sense, then to use it in trailing return type as currently.

Here's another argument: static variant::visit is essentially an implementation detail. If it were part of the public interface, it'd be a terrible one.
auto x = gimmeVariant(42);
x.visit(x, visitor); // yuck

It's just a weird way to apply_visitor. Make it non-static, or get rid of it.

varian::visit is used in mbgl. @jfirebaugh will likely want to keep that interface or have other thoughts.

I prefer writing MyType::visit(instance, visitor) to mapbox::util::apply_visitor(instance, visitor), because it's shorter and doesn't make me use a foreign naming convention in my otherwise camel case code. But my preferred syntax would be instance.accept(visitor).

But my preferred syntax would be instance.accept(visitor).

+1


Fix RHEL-07-010491 grub superusers config

The RHEL-07-010491 task in fix-cat1.yml attempts to check/update /boot/grub2/grub.cfg, but this file does not exist on UEFI systems and the task fails. The old version of the role performed this task on /etc/grub.d/01_users which seems more proper since direct edits to grub.cfg are overwritten by grub2-mkconfig.
Signed-off-by: Dan Barr<EMAIL_ADDRESS>

Dan,
Thank you for addressing this issue. We have an automated testing pipeline that does not like PR's from outside of it's own role. I changed the PR to go into staging and then will perform the PR to devel from there. Thanks again, I'll do the same with your other PR

Hi George,
I noticed this and my other fix PR #348 never made it from staging over to devel. Should I re-submit?

Danbarr,
Sorry about that we were neck deep in other items and this somewhat fell off. I will work on getting this into devel today.
George

Danbarr,
As an update I merged our changes into devel this morning. It was a bit out of sync with some other devel pushes so I had to get that sorted, but all is good. It will move into main with the May fixes push.
George

Awesome, thanks!


Assert on empty expr

Release note:

release-note-none

This change is

/lgtm

@guptasu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
962c94f4d25159c0d52318bccaf4428c50784376
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ZackButcher @mandarjog @douglas-reid Please re lgtm

/lgtm


Flux<String> (or .stream().content()) trims left whitespace

Hi everybody. I started building my own AI chat bot with ollama while reading "Spring AI in Action". I decided to implement something I use often, i.e. translating text from one language to another.
My code is very simple:
@Service
class TranslationService(builder: ChatClient.Builder) {
  private val chatClient: ChatClient = builder.build()
  fun translateStream(message: String, from: String, to: String): Flux<String> {
    return chatClient.prompt().system(getTemplate(from, to)).user(message).stream().content()
  }
}

I have a REST controller that exposes this service. I tested it with curl and httpie, and they showed:
HTTP/1.1 200
Content-Type: text/event-stream

data:La
data: frase
data: "
data:come
data: st
data:ai
data:?"

I've then built a simple HTML page where I can send questions to this endpoint through an EventSource. The developer tools always showed that the leading whitespace was missing:
La
frase
"
come
st
ai
?"

After hours I stumbled upon 9.2.6 Interpreting an event stream where the last example ends with:

This is because the space after the colon is ignored if present.

I've suddenly realized that the problem was the missing space after the colon. There should be always one, and when a chunk starts with a space, there should be two. In my example, Spring Boot should return a double space and not one, i.e. data:  frase. I've currently fixed this in my application code by extending StreamResponseSpec:
fun ChatClient.ChatClientRequest.StreamResponseSpec.contentWithWhitespace(): Flux<String> {
  return this.chatResponse().map {
    val content = it.result?.output?.content ?: ""
    if (content.startsWith(" ")) " $content" else content
  }
}

The project reactor-core redirected me here.
My code is here, the relevant commit is named feat: chapter 2.
Thank you for your attention.

Changing the return value to a data class solves this problem; for example Flux<Message>

Changing to Flux<Message> makes the EventSource receive:
data:{"role":"assistant","content":"**","images":[]}
data:{"role":"assistant","content":"Come","images":[]}
data:{"role":"assistant","content":" ti","images":[]}
data:{"role":"assistant","content":" sent","images":[]}
data:{"role":"assistant","content":"i","images":[]}
data:{"role":"assistant","content":" oggi","images":[]}
data:{"role":"assistant","content":"?","images":[]}
...

which seems to make everything more complicated than my simple contentWithWhitespace, but thanks for teaching me something new about Kotlin.
I think that how Flux<String> is currently implemented is wrong considering the spec I quoted, as it sends data: rather than data: .


chore: Upgrade swc_ecmascript to 0.36.3

As title

@magurotuna do you need a release for this? I think specifying 0.36.3 of swc_ecmascript in deno-lint should work with the existing version.

Right, release for this is not necessarily required. If you don't think it's needed feel free to close it without merge :)

I will just merge anyway since the tests pass 😀
I'll skip bothering with a release though.

Alright, thanks!


Randomize note selection for spending

Is your feature request related to a problem? Please describe.
Selecting notes to spend in a transaction leaks some information about what notes you have in your wallet. While (a) this information leakage is seems to only be comprehensible by a very powerful (network?) adversary who can tie your transactions to your identity, and (b) it's very slight, given that actual amounts are encrypted, we should still strive to minimize it. The least amount of information we can reveal is if we select notes truly randomly, up to the threshold required for the spend. Currently, this is almost the case already, but coincidentally: the primary key for the notes table on the view service is the commitment, which means that iterating over notes yields them in a pseudorandom order, since commitments are effectively random. However, this is (a) not codified or enforced, and it would be easy for future developers to change it accidentally, and (b) it is a fixed pseudorandom ordering, rather than a new one for each transaction.
Describe the solution you'd like
The notes query for the view service should return a fresh random note ordering each time it is queried. This can be accomplished by plucking a note at random out of the table by index, and iterating until enough value is gathered (avoiding duplicates). Because the database is local, the overhead of many queries vs. a single one seems negligible.
Describe alternatives you've considered
We could just do nothing. Note that this does not have to happen pre-launch.

This is connected to #405.

If we want to do this, rather than doing multiple queries, could we do an ORDER BY random() or something in the sql query?

If we want to do this, rather than doing multiple queries, could we do an ORDER BY random() or something in the sql query?

We discussed this, but iterating until enough value is gathered (avoiding duplicates) imposes some constraints that make it so we can't just say LIMIT 100 or whatever, since we care about a total aggregate value rather than just a total number of notes returned.

If we want to do this, rather than doing multiple queries, could we do an ORDER BY random() or something in the sql query?

We discussed this, but iterating until enough value is gathered (avoiding duplicates) imposes some constraints that make it so we can't just say LIMIT 100 or whatever, since we care about a total aggregate value rather than just a total number of notes returned.

I don't think I follow, can't we just query for all the (unspent) notes in random order, without a limit clause, and then loop over the records as we do now?
I think it's unlikely that the unspent note set will ever get so big that this is meaningfully inefficient. If so we can fix it then.

If so we can fix it then.

I agree. A fix then would be as simple as using the streaming query API and looping async over the stream of returned results (provided that SQLite doesn't do a bunch of up-front work to generate the random permutation before returning the first result).

I think it's simpler not to do this -- we ensure privacy by not linking spends and outputs, and the benefit seems pretty theoretical.


[python/r] Establish a basic framework for perf metrics for the core classes

Motivation
We need to be able to identify performance regressions, compare performance against established tools (scanpy, seurat), and know where to focus our future optimization efforts. See e.g. #558, #1135.
Goal
Produce a set of scripts for Python and R that can run time and memory usage benchmarking against the critical parts of the TileDB-SOMA API. It is reasonable to break this up into separate issues, one per language. These benchmarking scripts will support running repeatable tests on controlled, test input datasets. Test fixtures may either be dynamically generated (deterministically, not randomly) or static files, in which case they must be versioned and associable with a given version of the benchmarking scripts (should not be committed to repo).
All tests should record:

tiledbsoma._general_utilities.show_package_versions
package/library versions (pip list for Python, e.g.)
Host instance characteristics: CPUs, memory, swap configuration
TileDB config
TileDB schemas for SOMA test data
Timings for API calls (see below)
PlatformConfig, if specified for API call
memory usage: peak, final, swap (delta)

Design Notes
Suggested list of target API classes to measure reads and writes (where applicable) for member methods:
* DataFrame
* SparseNDArray, SparseNDArrayRead
* DenseNDArray, DenseNDArrayRead
* AxisQuery: across a variety of value_filters (numerous operators) and coords (slices, lists, scalar)
* Collection (less important? not performance-critical)
* io.ingest (to/from methods)
For Python, the https://docs.python.org/3/library/timeit.html may be useful for performing timings.  For memory usage, https://docs.python.org/3/library/tracemalloc.html may be useful, along with https://psutil.readthedocs.io/en/latest/index.html?highlight=resource#memory.
Other potential tools are cProfile (https://www.machinelearningplus.com/python/cprofile-how-to-profile-your-python-code/) and functiontrace (https://functiontrace.com/#installation)
End-to-End Single Cell performance including network
The performance tool can also include the S3 delay time and based on that, it can recommend partitioning or parallelization of the of the accesses to SOMA data.
Script vs Decorator
The performance tool should be implemented as an easy to use script or a Decorator surrounding the function to be profiled.

Removing from the current sprint -- open for the next sprint

@beroy please update with current status and what you are doing on this with @ebezzi 🙏

The early deployment of the profiler used a fixed baseline for all the runs (PRs) but led to some false alarms. In the new design we use the current tag to compare against main (target). Also we perform runs multiple time and use stddev instead of distance only.

Thanks @beroy ! :)

Off the current sprint at present


Anyway for Intellisense to work for static resources in RCL?

Hello!
I have successfully added static files  (i.e. jQuery 3.4.1 and Bootstrap 4.4.1) to my .NET Core 3.1 Razor Class Library and am able to use the files in multiple projects (awesome).  However, there is no IntelliSense for the CSS/JavaScript items when I am working in the Razor pages of the web projects that reference the RCL (not so awesome).  The IntelliSense works as expected only for files located within the RCL.
Is there any way to get the CSS/JavaScript IntelliSense working on dependent projects without adding the the files directly to the project?  The whole idea of course is to not have to add/update them in the dependent projects.
Thanks!

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

ID: 9fd019c7-ceb7-6ef3-26ba-6b44341b6fc5
Version Independent ID: fd116d00-0dc7-efaf-c714-34d77b345a05
Content: Reusable Razor UI in class libraries with ASP.NET Core
Content Source: aspnetcore/razor-pages/ui-class.md
Product: aspnet-core
Technology: aspnetcore-razorpages
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

I found information on a workaround for JavaScript files here:
https://stackoverflow.com/questions/59909704/js-css-intellisense-between-projects-in-vs-2019
I am still having an issue with how to reference CSS via IntelliSense (especially Bootstrap) that only resides in the RCL.

Moved to Master issue: Create reusable UI using the RCL project #16639

This doesn't appear to be a scenario we currently support, so there isn't anything to document here. We have issues tracking improvements to this area.


Update README.md - Fixes #27

I have reviewed all the available code in the quickstart 1 of the new README.md annotating and fixing all inconsistencies detected.

ARES has been in development for the past couple weeks, so this was already addressed in our previous update.


Deleted old razer.synapse2

#16225

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?
[X] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.


Plan to expose replyTo field on a message?

A message's subject and body are available through their own respective getter. Is there a reason the replyTo field is not accessible in the same way?

I couldn't think of a use case where someone would want to see the replyTo field rather than use the reply method on the message. If you have a use case for the replyTo field, I would be happy to add a getter to the message.


UK stocks

How do we do UK stocks? Trying to get BT.A for example and nothing is returned.

YahooFinance  does not seem to provide data for BT.A .

YahooFinance  does not seem to provide data for BT.A .

Any item listed in londonstockexchange don't appear in yahoo's data. Yahoo's data might be limited to items listed in US exchanges. I can't do anything about that.

Any item listed in londonstockexchange don't appear in yahoo's data. Yahoo's data might be limited to items listed in US exchanges. I can't do anything about that.

Yahoo provides data for many markets around the globe. Non-us stock symbols are suffixed with market and for London Stock Exchange this is .L and .IL.  So the symbol for BT GROUP PLC ORD for example is BT-A.L.
See this page for markets supported by Yahoo Finance: https://help.yahoo.com/kb/SLN2310.html

Good to know. I will add this to the wiki.


Misleading SFT baseline result on GSM8K.

Thanks for releasing the code.
After reading the paper, I found the SFT baseline is unusually low. I check the code, finding that for SFT the authors utilized the original answer of GSM8K dataset as the reference response (see line 211-212 in sft.py). However, in the proposed NLFT, the reference response is the COT result of Llama-3-8B-Instruct (see line 509,523 in finetune_unlikelihood_dynamic_correct.py), which achieves a zero-shot accuracy of over 80% on GSM8K. Therefore, the comparison between SFT and NLFT in the paper is unfair and potentially misleading, as the performance gain could come from distilling the COT result of Llama-3-8B-Instruct.
Utilizing the released NLFT800 dataset, I conducted the following experiments:

reference
Acc

NLFT800-vanilla-ft
'answer' (ground truth of GSM8K)
51.40%

NLFT800-COT-kd
'output' (COT result of Llama-3-8B-Instruct)
69.60%

NLFT800-COT-cleaned
'output' if the COT result is correct ('judgement'==null), otherwise 'answer'.
69.29%

NLFT800-NLFT
'output'
67.8%

The same hyperparameter is utilized and I finetuned the model for 3 epochs. NLFT800-NLFT is the result reported in Figure.9 of the paper.
As shown in the table, SFT with 'output' as the reference could achieve even higher result compared to NLFT. I think these results demonstrates that in current experiments, performance gain mainly comes from distilling the COT result of Llama-3-8B-Instruct.
Looking forward to more indepth discussion with the authors.

Thanks for your in-depth discussion. We are conducting ablation study to figure out the improvement of NLFT and mitigate impact of CoT from 8B-Instruct. We will update our results after holiday.


Add support for text in multiple languages

This adds support for adding text that is conditionally displayed depending on the language specified by the author in \cvlang.
Usage example:
      % ...
      \begin{cvitems} % Description(s) of tasks/responsibilities
      \item {
          \cvmultilang{en}{Talked to a rubber duck for months.}
          \cvmultilang{es}{Hable con un patito de goma durante meses.}
      }
      % ...
     \end{cvitems}
   % ...

To select the language either define \cvlang in the document
\renewcommand{\cvlang}{es}

or compile as
xelatex "\newcommand{\cvlang}{es}\input{resume.tex}"

One thing I noticed is that when adding multiple \cvmultilang items as children of \cvsection produces some odd behaviour displaying the first item and the item in the selected language. This I think is due to the way dual color style works. One way to get around it is inverting the order, such as:
\cvmultilang{en}{\cvsection{Work Experience}}
\cvmultilang{es}{\cvsection{Experiencia Laboral}}
\cvmultilang{de}{\cvsection{Berufliche Erfahrung}}

Nice! Thanks. Just from a UX perspective though I think it might be nicer if the provided cvlang allowed setting the language, rather than having to be renewcommanded as the chosen lang. So it could \def\@lang{#1} for example, as done for the social handles/links.
If you're still around and interested @l4sh I'd be happy to merge with that change, otherwise I'll get to it myself at some point. (I've been thinking of adding 'learning ' to my CV, so might be a fun touch to say 'in fact I've tried to translate my CV, available here'!)


Renderer Issues

Hi Daniel - apologies but I think I have identified a handful of issues all related to a tree chart I have published. Some of these may be Vega issues but I'm not 100% sure so I'll list everything and see what you think. Examples are all from attached .pbix. I know you're away so don't feel the need to respond until you have more time.

Render quality between editor and final visual is very different.

In the editor, the quality of the render is crystal clear. e.g.

However, if I close the editor, the quality of the render is very blurred and this becomes more pronounced with zooming in and out with the mouse wheel.

It isn't easy to tell from screenshots so hopefully you can see with your own eyes when you test.

If I switch the renderer from Canvas to SVG, the blur goes away but another problem is introduced. Observe the KPI bars at the bottom of each node.

When you zoom in, these KPI bars disappear but only in the SVG renderer. Weirdly, zooming out isn't affected.

Is there a way to specify the sort order of the dataset? For some reason, the dataset is supplied by Deneb in reverse compared to the standard online Vega editor and the tree transform doesn't currently support sorting very well.

Test.pbix.txt

Did you ever work this one out? I can't test on the new alpha build as it is loading remote resources.

I've attached a version of the alpha with the remote loading enabled, that you can use to try things out. Just remove the .zip extension and it should load in just fine:
STANDALONEdeneb7E15AEF80B9E4D4F8E12924291ECE89A.<IP_ADDRESS>30911#812494b.pbiviz.zip
I have to apologise in that I haven't really looked in-depth on this one, so I'll provide some answers to the best of my knowledge.

Yes, the canvas renderer will be blurrier when you return to the report. I assume that you have your report set to fit to page? If so, Power BI will set the zoom to something that won't be 100%. MS doesn't provide us with the canvas zoom level, so we can't manually adjust the canvas renderer to offset it accordingly. As such, it looks fine in the preview, because it's always at 100% zoom. If you set your report page zoom to 100% it should look as crisp as the preview. I have asked MS before for access to the canvas zoom level, but they are not prepared to add it to the custom visual APIs (although I will continue to ask each time I meet with them).

I can't speak for this and suspect it might be something to do with Vega's SVG renderer. We could probably inspect the DOM in the Power BI Service to see if the shapes are still present but offset incorrectly. Does this happen in Vega Editor?

You should be able to sort the data from Power BI by adding columns and measures in the order that you want them sorting.  MS have recently added a sorting API that we can use if you want to be more explicit. This will require a change to the Deneb template structure, as I would want to ensure that sort order is carried across for anyone loading a template back up. Feel free to raise an issue for this if the current approach doesn't work and I can schedule for 2.0 (or earlier if the change can be done in a non-breaking manner; I will have to do some R&D to determine).

Thanks.

Yes, you're right. It is PBI setting the zoom and when at 100% the render is clear again. This also happens for other specs but I never noticed before. I will just use the SVG renderer instead of canvas as that is a poor user experience.
This happens in Vega Editor too so I think a Vega bug.
I'll raise a separate ticket for this as the tree transform doesn't work properly and so additional sort columns have no effect.


callback in async call called to often

It seems the callback
     R(RscriptName)             .data({foo: bar} )             .call(callbackRscript)
then callbackRscript seems to be called for each line of R output.
I'd expected the callback is called once R is done and then with one parameter with all the lines from R output.

@joshkatz
Hi,
I was trying to run a R script using call(..) and it doesn't work well because of its implementation.
R.prototype.call = function(_opts, _callback) {
  var callback = _callback || _opts;
  var opts = _.isFunction(_opts) ? {} : _opts;
  this.options.env.input = JSON.stringify([this.d, this.path, opts]);
  var child = child_process.spawn("Rscript", this.args, this.options);
  child.stderr.on("data", callback);
  child.stdout.on("data", function(d) {
    callback(null, JSON.parse(d));
  });
};

The spawn method runs asynchronously and should listen for events data and close.
With data you get any output produced by the running script and with close, you know the execution is over.
In the implementation, the events data on stderr and stdout are calling to the callback in the very first output produced by the running script instead of cache the data and return it when the execution is over.
Many R script write "debug" or "warning" data during its execution. In my case, for example I can see things like
Attaching package: 'lubridate'

The following object is masked from 'package:base':

    date

Attaching package: 'data.table'

The following objects are masked from 'package:lubridate':

    hour, isoweek, mday, minute, month, quarter, second, wday, week,
    yday, year

So the implementation should change to wait for the close event.
A suggested changed implementation could be:
function getReturnData(d) {
  try{
    return JSON.parse(d);
  } catch(err) {
    return d;
  }
}

R.prototype.call = function(_opts, _callback) {
  var callback = _callback || _opts;
  var opts = _.isFunction(_opts) ? {} : _opts;
  this.options.env.input = JSON.stringify([this.d, this.path, opts]);
  var child = child_process.spawn("Rscript", this.args, this.options);
  var errData = '';
  var outData = '';

  child.stderr.on("data", function(d) {
    errData += d;
  });

  child.stdout.on("data", function(d) {
    outData += d;
  });

  child.on('close', (code) => {
    if(errData) {
      callback(getReturnData(errData));
    } else {
      callback(null, getReturnData(outData));
    }
  });
};

I was trying that implementation and the R scripts run async with no problems.
I could make an Pull Request if you prefer.
Regards,


chore(deps): update terraform github.com/terraform-ibm-modules/terraform-ibm-landing-zone-vpc to v4

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/terraform-ibm-landing-zone-vpc
module
major
v3.0.0 -> v4.0.0

Release Notes

terraform-ibm-modules/terraform-ibm-landing-zone-vpc
v4.0.0
Compare Source
Features

Various capabilities and changes around network ACLs(#360) (6148fc2)

Give option to append or prepend IBM internal flow and VPC connectivity rules
Add a deny all as last element of the list
Add prefix "ibmflow-" to the name of the IBM rules

BREAKING CHANGES

The interface of the network_acls input variable has changed. If your code is setting this variable explicitly, this change requires to add a few extra optional parameters: add_ibm_cloud_internal_rules, add_vpc_connectivity_rules, prepend_ibm_rules . The parameter add_cluster_rules has been renamed to add_ibm_cloud_internal_rules

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 2.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Bug 2275340: Bump google.golang.org/protobuf to 1.33.0

Also bump github.com/golang/protobuf to 1.5.4
To address related security vulnerability, see:

https://www.cve.org/CVERecord?id=CVE-2024-24786
https://groups.google.com/g/golang-announce/c/ArQ6CDgtEjY/m/oLMrdq_GBQAJ

Signed-off-by: Shyamsundar Ranganathan<EMAIL_ADDRESS>(cherry picked from commit 1260a81666fb9d3c5f4c540926ef95b756a6c22f)

/bugzilla refresh


[SDLe]Vulnerabilities found during SDLe

Bump com.fasterxml.jackson.core:jackson-databind version.
Bump org.glassfish.jersey.core:jersey-server version.
Specify the Scala version.

Thanks, closing issue.


Improve stage race condition by checking if staged before each try

A race condition can be easily introduced and exhaust all default withMaxRetries(4) with 2 job submissions / threads staging the same JAR at the same time, especially for large JARs:

2023-03-13 18:19:40 INFO  TemplateTestBase:35 - 2023-03-13 18:19:40 WARN  RetryHttpRequestInitializer:165 - Request failed with code 412, performed 0 retries due to IOExceptions, performed 0 retries due to unsuccessful status codes, HTTP framework says request can be retried, (caller responsible for retrying): https://storage.googleapis.com/upload/storage/v1/b/{bucket}/o?ifGenerationMatch=1678731567510887&name=2023-03-13-18-11_IT/staging/hbase-shaded-server-1.4.12-{hash}.jar&uploadType=resumable&upload_id={id}.
2023-03-13 18:19:40 INFO  TemplateTestBase:35 - 2023-03-13 18:19:40 ERROR PackageUtil:191 - Upload failed, will NOT retry staging of package: /home/{user}/.m2/repository/org/apache/hbase/hbase-shaded-server/1.4.12/hbase-shaded-server-1.4.12.jar
2023-03-13 18:19:40 INFO  TemplateTestBase:35 - java.io.IOException: Upload failed for 'gs://{bucket}/2023-03-13-18-11_IT/staging/hbase-shaded-server-1.4.12-{hash}.jar'

Even in scenarios in which a concurrent submission goes through, the artifacts are re-uploaded, making the cache useless under racing.
This change will check if the file was already staged before each try, instead of before entering the retry loop.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] ~Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.~
[ ] ~Update CHANGES.md with noteworthy changes.~
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Looks like the failed unit tests are relevant?
org.apache.beam.runners.dataflow.util.PackageUtilTest.testPackageUploadEventuallySucceeds
org.apache.beam.runners.dataflow.util.PackageUtilTest.testPackageUploadFailsWhenIOExceptionThrown

Thanks @Abacn. Fixed it now. I had tested the functionality and didn't notice that test class.
Change was just around Mockito's verify as it now calls getObjects n times for n tries.

My bad, done -- feel free to merge.


WIP: Remove and redirect language-specific provider docs

Fixes #4071.

Closing this to pursue another approach.


Add support for silencing only one of the outputs of a test

The old syntax is still supported, the new complete syntax is:

"{value}":                         where value is one of [immediate, immediate-final, final, never]
"{stream}={value}":                where {stream} is one of [stdout, stderr]
"{stream}={value},{stream=value}": where the two {stream} keys cannot be the same

For tests where the output is combined (currently only used for libtest-json output), only the stdout value is used.
There is a small regression where the CLI won't suggest values that are close to the incorrect input, i.e. if you input 'imediate' it won't suggest 'immediate'.
I've not added tests yet, I first wanted to make sure that the implementation is acceptable for inclusion into nextest.
Closes #1688

Thanks for the PR! I'm currently quite sick but will look when I'm better.

No worries, get well soon!


[feat] Username edit cancel button

When a username has been set, but the user clicks to edit their username, it would be nice to be able to cancel the edit without changing tabs. Add a cancel button to the username form to stop edit.
References

Username form

Thanks for volunteering for this issue @Joy-adah
Please comment here so I can assign you, if you're still interested.

Hi @b-j-roberts yes, I am.


Add reprints/secret rare copies to cards

Preliminary work for a reprint system that axpendix will be putting in place later down the line. Will receive a good amount of work as I go.

Hi Scoot, the changes look good! 👍

I was a bit reluctant to open this for merging, although I had a bit of a merge conflict nightmare arise after a few PRs were merged and had to fix the conflicts. I'd rather just get it approved and merged quickly and add more reprints / secret rare cards later down the line. >.<

Thank you!


[ENH] Obsolete merchant sign service methods with typo, create solution dictionary

Hello!
Here are some minor changes:

Obsolete merchant signing service methods that contain typo (due to breaking change nature, I leave the removal of these methods to you, based on your policy)
Added words: Signicat and Pades to solution wide dictionary

Thank you and best regards,
dex

Thank you for the contribution, @dekzz! Much appreciated :)


Column Formatting not saving

Category

[ ] Question
[x] Bug
[ ] Enhancement

Expected or Desired Behavior
Column formatting does not get saved.
Observed Behavior
Modify a Column's formatting with the following:
{
"elmType": "div",
"txtContent": "@currentField",
"style": {
"padding": "4px",
"font-size": "16px"
}
}
The preview looks ok, SAVE says its OK. As soon as panel is closed it disappears
Thanks for your contribution! Sharing is caring.

Seems to be on multi-line of text field. Person field works OK.

Appeared to be a corrupt field - delete and recreate fixed it


Remove delete program button from modal, fixes #674

Coverage remained the same at 70.024% when pulling 172edf5b71dafa2e883374a640c901e0687d36b0 on ynurmahomed:patient-programs into ba3bbff2aa60d764e0969756437b93b32bedf965 on esaude:master.


Disable renderer for one class

How do you disable your renderers on a one-off basis? I have one PageRenderer where I'm inflating a custom view and need to do some of my own things that I think are being interrupted by your renderers. Can I skip them in this one class? (I seem to remember seeing a commit message or something about that being possible)

There are a few functions you can call to not enable all the renderers, but it's at the app-level and not a page-level. Please see the FormsAppCompat type.
However, it sounds like you have a renderer that is inflating it's own Android layout resource. In that case, the package renderers shouldn't touch it because it only maps to Xamarin.Forms controls which shouldn't exist in your layout.

Somewhere in code, you're wrapping the android content view in a
coordinator layout (and maybe another level of layout) which is causing a
view which previously laid out correctly to not work the same. I'll see if
I can repro it for you, but if you have thoughts before I can, I'd like to
hear your ideas.
On Jun 23, 2015 11:02 PM, "mikepham"<EMAIL_ADDRESS>wrote:

There are a few functions you can call to not enable all the renderers,
but it's at the app-level and not a page-level. Please see the
FormsAppCompat
https://github.com/nativecode-dev/oss-xamarin/blob/master/src/NativeCode.Mobile.AppCompat.Renderers/FormsAppCompat.cs
type.
However, it sounds like you have a renderer that is inflating it's own
Android layout resource. In that case, the package renderers shouldn't
touch it because it only maps to Xamarin.Forms controls which shouldn't
exist in your layout.
—
Reply to this email directly or view it on GitHub
https://github.com/nativecode-dev/oss-xamarin/issues/23#issuecomment-114721793
.

Ahhh, yeah there's a CoordinatorLayout in the AppCompatFormsActivity that's created before the Xamarin.Forms LinearLayout is added. I'll add a switch to remove it.

Fixed in merge cb5bef7231dea82ffdccd0dc89ba4510451c1d11. Building Nuget packages now, should be <IP_ADDRESS>.

Closing this issue. Hopefully, removing the default CoordinatorLayout has fixed your issue.

Sorry, Mike. Was at a conference all day yesterday. It did fix the issue.
On Jun 25, 2015 11:27 PM, "mikepham"<EMAIL_ADDRESS>wrote:

Closed #23 https://github.com/nativecode-dev/oss-xamarin/issues/23.
—
Reply to this email directly or view it on GitHub
https://github.com/nativecode-dev/oss-xamarin/issues/23#event-340761346.


Don't clobber global compile-command

Instead use dynamic binding for compile-command.
Also call existing `compile' interactively for non-cmake
projects instead of reimplementing prompt.

Pull Request Test Coverage Report for Build 225

0 of 7 (0.0%) changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.2%) to 48.633%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cmake-ide.el
0
7
0.0%

Files with Coverage Reduction
New Missed Lines
%

cmake-ide.el
1
48.63%

Totals

Change from base Build 224:
0.2%

Covered Lines:
249

Relevant Lines:
512

💛  - Coveralls

Works fine for me (but I do not test very deep ;))


[hotfix] Replace System.out.println with logger for better log management

@@snuyanzin If you have time, could you help me take a look at this PR?

@caicancai What is the purpose of this PR? I can see the module is intended to be used as a local example of running pubsub with flink, am I correct?

@caicancai What is the purpose of this PR? I can see the module is intended to be used as a local example of running pubsub with flink, am I correct?

Hello, thank you for your review. Yes, your feeling is correct. This is an example test. However, when I started debugging, I found that the producer log is as follows
                System.out.println("Published message: " + i);
The consumer log is as follows
    private static Integer printAndReturn(Integer i) {
        LOG.info("Processed message with payload: " + i);
        return i;
    }

I think it might be better to keep it unified. If it's not suitable, I can close this PR.


How to insert a piece of data into all the measurements in database

What products and version are you using?
Package: influxdb
Version: 1.7.4
At a fixed moment, I want to add a piece of data to all the tables in the specified database, what should I do, thank you!

@BoysAndGirls I don't know of a way to "wildcard" a measurement, so you'll have to write to each measurement separately. Probably the easiest way would be to just write raw line protocol.
Run SHOW MEASUREMENTS to get a list of all your measurements. You'll need the unix epoch timestamp for the time you want the new data points to show up at. The line protocol would look something like this:
measurement1 newField="piece of data"<PHONE_NUMBER>745110000
measurement2 newField="piece of data"<PHONE_NUMBER>745110000
measurement3 newField="piece of data"<PHONE_NUMBER>745110000
measurement4 newField="piece of data"<PHONE_NUMBER>745110000
etc.

Thank you very much, since there is no "wildcard", I will use your method.  @sanderson


From https://codeclimate.com/docs/api

Note: API tokens are currently only available for Code Climate organizations on paid plans.

coveralls it is then

ohya, they will make it public soon i believe.
cc @brynary

Seems to be working nicely now

@mike-north @stefanpenner @trek
Hey guys! Jonathan here from Code Climate. Just a heads up that our test coverage feature fully supports OSS repositories currently. No paid plan needed.
You actually don't need an API token to set this up -- instead you need a test coverage token. Those are two entirely different types of tokens in our app.
Test coverage tokens are available for all OSS projects. To view this token, access the repository's Settings page and view the Test Coverage tab. Screenshot below (of a random repo):

Also, here's more info on how to view an OSS project's Settings page: http://docs.codeclimate.com/article/164-administering-open-source-repositories
Drop us a line if you run into any issues: https://codeclimate.com/help

@jonathancadepowers wish I could take a look at what you're talking about but

I can't see the settings page, since I'm not an owner of the Pretender org
I got @stefanpenner to try to take a look for me last week, but Code Climate didn't seem to recognize that he's an owner

@mike-north Sorry about that. There are a number of different reasons why the Settings link may not be visible for @stefanpenner. See the troubleshooting list here: http://docs.codeclimate.com/article/164-administering-open-source-repositories#missing
Often times the culprit is GitHub third-party application restrictions being enabled, without Code Climate being whitelisted. Could that be the issue? If not, all of the other problems listed in the help doc above are also possible. Let me know which one it might be, and I'll be ready to help further.

will take a look shortly

it may be:

URI Change: If the repository's URI changes in GitHub (after its added to Code Climate), its Settings link may disappear. For example, if the project's name changes, or if the name of the GitHub user or organization that owns the repository changes (this includes casing changes). Not to worry though, as our Support Team can manually fix this issue, just let us know.

Often times the culprit is GitHub third-party application restrictions being enabled, without Code Climate being whitelisted. Could that be the issue?

@jonathancadepowers can you share more info on this?

unfortunately ^ seems to be all set up correctly.. Any further thoughts?

@stefanpenner Hrm. That is odd. For now I can just email you the info that you'll need to fully set up test coverage (like your test coverage token), despite this issue. I'll contact you via your @gmail.com address. In my email I'll also discuss how we can troubleshoot further on the Settings link not appear. Sorry again for the trouble here.

@jonathancadepowers awesome thanks, no need for apologies. We all write software here #yolo

@jonathancadepowers happy to temporarily add you as owner as well if you need access for figure this out.

@trek That'd be great, if you don't mind.

@jonathancadepowers  you've been invited. This project might be funky because it started out as trek/pretender but subsequently moved to pretenderjs/pretender. That's the only state I can think of that might be unaccounted for.

@trek Thanks! Would you mind if I removed this repo from Code Climate, and then added it right back? I see something on my end that suggests that doing so may resolve the missing Settings link.

Go for it.


feat: added italian regions country map

how can we get this PR through? @villebro

What's the difference between "Italy" and "Italy (regions)"? Can we add more PR description just for context?


Can the options label be customized?

Can the options label be customized? For example, customize a delete button and click delete to delete the line

You could pass a component as a label but I would suggest to create a custom node in order to be more flexible. See https://reactflow.dev/examples/custom-node/


Update the L2 sequencer feed examples

Update the example code for the L2 sequencer feed
Reorganize content to put the feed addresses up front

Rebased to main

Rebased to main

Rebased to main


[Feature Request]show channel permissions

Vendicted asked  for it to be requested on your repo instead

this should be requested as a feature on @wingio's repo

To add another function to ShowPerms (or as a seperate plugin If that's more convenient) , that makes it so that it Shows Permissions for text/voice channels like , Allowed roles , Denied Roles , Denied users
As a new entry in the context menu that shows up when holding down on a channel maybe?

Added in version 1.4.0