TestPipelineRunTimeout is flaky

Expected Behavior
TestPipelineRunTimeout consistently passes with the properly observed failure mode.
Actual Behavior
TestPipelineRunTimeout often observes a "Failed" status on the PipelineRun(!!!).
Steps to Reproduce the Problem
Run the test a lot.
I will post my analysis here shortly, as I believe I know WHY this is happening.

Every so often this test will fail with:
timeout_test.go:102: Error waiting for PipelineRun pipeline-run-timeout-qaakhkfe to finish: "pipeline-run-timeout-qaakhkfe" completed with the wrong reason: Failed

The setup is a task that sleeps for 10s and a pipeline that has a 5s timeout:
https://github.com/tektoncd/pipeline/blob/adc4cfa733af86874017d07459cc5ad62bf82bd3/test/v1alpha1/timeout_test.go#L49-L61
This check expects the "Reason" to be "PipelineRunTimeout":
https://github.com/tektoncd/pipeline/blob/adc4cfa733af86874017d07459cc5ad62bf82bd3/test/v1alpha1/timeout_test.go#L100-L103
However, when the test intermittently fails the status shows the TaskRun timed out, but the PipelineRun Failed:
        spec:
          pipelineRef:
            name: pipeline-run-timeout-kjlunngp
          serviceAccountName: default
          timeout: 5s     <-- Expected to timeout (the task sleeps for 10s)
        status:
          completionTime: "2020-10-24T12:37:13Z"
          conditions:
          - lastTransitionTime: "2020-10-24T12:37:13Z"
            message: 'Tasks Completed: 1 (Failed: 1, Cancelled 0), Skipped: 0'
            reason: Failed    <-- We get Failed instead of PipelineRunTimeout
            status: "False"
            type: Succeeded
          pipelineSpec:
            tasks:
            - name: foo
              taskRef:
                kind: Task
                name: pipeline-run-timeout-lfsmutbs
          startTime: "2020-10-24T12:37:09Z"
          taskRuns:
            pipeline-run-timeout-mncrmugc-foo-74kf8:
              pipelineTaskName: foo
              status:
                completionTime: "2020-10-24T12:37:13Z"
                conditions:
                - lastTransitionTime: "2020-10-24T12:37:13Z"
                  message: TaskRun "pipeline-run-timeout-mncrmugc-foo-74kf8" failed to finish within "5s"
                  reason: TaskRunTimeout   <-- The task run timed out (as expected) though
                  status: "False"
                  type: Succeeded

The irony is that the TaskRun gets its timeout from the PipelineRun here:
https://github.com/tektoncd/pipeline/blob/6d8f4513213a0a85f5164e0ed13b8a15c1839f89/pkg/reconciler/pipelinerun/pipelinerun.go#L807-L816
When we transition the PipelineRun to "Failed" we skip this check:
https://github.com/tektoncd/pipeline/blob/3185d055fa0959830d3c986407a1e6e58f074003/pkg/reconciler/pipelinerun/resources/pipelinerunstate.go#L206-L218
... digging into why, it looks at the StartTime in status, and in the cases where we fail the StartTime is less than 5s from the time of completion(!):
          	PipelineRunStatusFields: v1beta1.PipelineRunStatusFields{
          		StartTime:      s"2020-10-25 20:35:07 +0000 UTC",
        - 		CompletionTime: nil,
        + 		CompletionTime: s"2020-10-25 20:35:11.874768406 +0000 UTC m=+601.330431507",
          		TaskRuns: map[string]*v1beta1.PipelineRunTaskRunStatus{

The same status update shows us propagating the following for the TaskRun:
          					TaskRunStatusFields: v1beta1.TaskRunStatusFields{
          						PodName:        "pipeline-run-timeout-qaakhkfe-foo-zzlbf-pod-577ph",
          						StartTime:      s"2020-10-25 20:35:06 +0000 UTC",
        - 						CompletionTime: nil,
        + 						CompletionTime: s"2020-10-25 20:35:11 +0000 UTC",

Generally this means that any PipelineRun specifying a Timeout may simple show up as Failed due to this race.
I think that my $0.02 on the appropriate "fix" would be that the PipelineRun's "StartTime" should never be greater than the "StartTime" of its constituent TaskRuns.  This should guarantee that any copied-down timeout never manifests this way.
cc @vdemeester @afrittoli @ImJasonH @bobcatfish for thoughts 🙏

Sorry, I should mention that the first bit of yaml is actually a dump from a prior run that I lifted from my older bug that this replaces.  So don't try to rationalize it with the later "diffs".
The complete run for the latest failure (that I debugged) was here: https://github.com/mattmoor/mink/runs/1305814401?check_suite_focus=true#step:17:58

I think that this is derived from state informer caches and the retry logic for updating status that we have.
On a subsequent reconciliation of the PipelineRun (+1s) from the stale uninitialized version, we re-InitializeConditions, which resets StartTime, but a prior reconciliation had already created the TaskRuns (likely what triggered us to be reconciled).
The diff for this status update looks like:
    kubelogs.go:197: D 20:35:07.329 controlplane-2 [pipelinerun/reconciler.go:322] [arendelle-px7ff/pipeline-run-timeout-qaakhkfe] Updating status with:   v1beta1.PipelineRunStatus{
          	Status: v1beta1.Status{
          		ObservedGeneration: 0,
        - 		Conditions:         nil,
        + 		Conditions: v1beta1.Conditions{
        + 			{
        + 				Type:               "Succeeded",
        + 				Status:             "Unknown",
        + 				LastTransitionTime: apis.VolatileTime{Inner: s"2020-10-25 20:35:07.188165477 +0"...},
        + 				Reason:             "Running",
        + 				Message:            "Tasks Completed: 0 (Failed: 0, Cancelled 0), Incomplete: 1, Skip"...,
        + 			},
        + 		},
          		Annotations: nil,
          	},
          	PipelineRunStatusFields: v1beta1.PipelineRunStatusFields{
        - 		StartTime:      nil,
        + 		StartTime:      s"2020-10-25 20:35:07.055779791 +0000 UTC m=+596.511442892",
          		CompletionTime: nil,
        - 		TaskRuns:       nil,
        + 		TaskRuns: map[string]*v1beta1.PipelineRunTaskRunStatus{
        + 			"pipeline-run-timeout-qaakhkfe-foo-zzlbf": &{PipelineTaskName: "foo", Status: &v1beta1.TaskRunStatus{}},
        + 		},
          		PipelineResults: nil,
        - 		PipelineSpec:    nil,
        + 		PipelineSpec:    &v1beta1.PipelineSpec{Tasks: []v1beta1.PipelineTask{{Name: "foo", TaskRef: &v1beta1.TaskRef{...}}}},
          		SkippedTasks:    nil,
          	},
          }

Note the empty StartTime in the base, despite this in a prior update:
          	PipelineRunStatusFields: v1beta1.PipelineRunStatusFields{
        - 		StartTime:      nil,
        + 		StartTime:      s"2020-10-25 20:35:06.759884985 +0000 UTC m=+596.215548086",

TestPipelineRunTimeout test is still flaky

fixed in https://github.com/tektoncd/pipeline/pull/5134 🤞🏾


Putting the original playlist url beats anonymization purpose

@jdemaeyer
Hi! Thank you for a very useful tool.
The tool includes the original playlist url on the description of anonymized playlist, like so on the following lines.
https://github.com/jdemaeyer/spoqify/blob/4ac4186197fae0979444b57fed9aced859268bbf/spoqify/anonymization.py#L154-L155
Spotify playlist shows the author of the playlist so whenever another user opens the original playlist link on the anonymized playlist, we can see the original author, which beats the purpose of anonymization.
Would be great if there's a flag on the function, and a checkbox on the page to include/exclude the original playlist link, or just not putting the link itself.
Cheers!

Hi @nijippoi, thanks for reaching out!
Spoqify is not an anonymizer in the sense of "hide the author of a playlist from the world" — it is an anonymizer in the sense of "hide my listening history from Spotify". That is, an anonymizer in the sense of show me the playlist with the same songs an anonymous user sees, i.e. without all the personalization that Spotify adds to a playlist based on the user's listening history. "Un-personalizer" is maybe a more fitting term for Spoqify.
In fact, it should not even be possible to run Spoqify on user-generated playlists - only Spotify-generated playlists (like Song Radio) should work. If you somehow did that, you've found a bug ;) Could you post a link to the playlist you wanted to anonymize (in your original sense) and were then confused over the link to the original playlist?


Add shell completion for shorthand commands

Currently cargo has shell completion for most (if not all) builtin commands such as build, run, check etc.
However, it doesn't have shell completion for the short forms of these commands, such as b, r, c etc.
This PR adds both bash and zsh completions for command shorthands.
Fixes #9086.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
Please see the contribution instructions for more information.

@bors: r+
Thanks!

:pushpin: Commit 6a61ca59890eaf5988aac8242c6f838e4dd48973 has been approved by alexcrichton

:hourglass: Testing commit 6a61ca59890eaf5988aac8242c6f838e4dd48973 with merge caf724833bd4d3b99d864ef62e63caec6e9e2356...

:sunny: Test successful - checks-actions
Approved by: alexcrichton
Pushing caf724833bd4d3b99d864ef62e63caec6e9e2356 to master...


[EBPF-384] introduce ErrorsTelemetryModifier for eBPF telemetry

What does this PR do?

Introduced ErrorsTelemetryModifier as a step to migrate ebpfTelemetryManager wrapper to the new model of modifiers
Marked ebpf telemetry manager as deprecated

Motivation
reduce code complexity and coupling
Modifiers documentation
Additional Notes
In next PRs I will add the ErrorsTelemetryModifier as a default modifier and migrate all ebpf programs to stop using now deprecated Manager wrapper of the ebpfTelemetry
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


podman run --detach to hang when triggered form a django app

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description

I am new to podman; I was running a docker-backed web service under fedora29, and like others I realize that the upgrade path with docker is unclear, so I am giving this a shot
When serving a http client request, that goes from nginx to django, that spawns a bash script which in turn invokes:
podman run --rm --detach --user root a very long argument list
My issue is simple; if i run that long command (see typical usage below) directly in a terminal, podman run behaves as I expect, it prints out a container hash and returns immediately
However as soon as this same command gets triggered from within the django app, it hangs;
Steps to reproduce the issue:

not sure really, short of setting up a complete django app, so I am at a loss to give detailed instructions here

Describe the results you received:
the typical state of my system once podman run has been issued looks like this (the uwsgi process hosts the django app)
# pstree -p
<snip>
                └─uwsgi(67890)───nbh(68504)───podman(68640)─┬─3(68753)
                                                            ├─{podman}(68641)
                                                            ├─{podman}(68642)
                                                            ├─<snip>another 25 similar lines or so

# ps -w 68640
    PID TTY      STAT   TIME COMMAND
  68640 ?        Sl     0:00 podman run --name python3-s2-x-student-0004 -p 52043:8888 --user root --rm --detach --env NBAUTOEVAL_LOG=/home/jovyan/work/.nbautoeval <snip>

# ps 68753
    PID TTY      STAT   TIME COMMAND
  68753 ?        S      0:03 /usr/bin/crun start 52898f113dd66bf6711d94287e0f3c22adaced1211ef623062028585038e80aa

# strace -p 68753
strace: Process 68753 attached
select(4, [3], NULL, NULL, {tv_sec=0, tv_usec=2001}) = 0 (Timeout)
kill(68751, 0)                          = 0
select(4, [3], NULL, NULL, {tv_sec=0, tv_usec=10000}) = 0 (Timeout)
kill(68751, 0)                          = 0
<snip>

and at that point I can no longer run podman ps that hangs too.
it looks like that crun start process is trying to read from some file descriptor;
this is unexpected because of the --detach option;
I have made various attempts on the django side to make double sure that all possible inputs were closed, explicitly redirecting stdin to /dev/null and setting close_fds=True in Python's subprocess.run(), to no avail.
Describe the results you expected:
because I specify the --detach option, I do not expect podman run to hang
Additional information you deem important (e.g. issue happens only occasionally):
typical full command
podman run --name python3-s2-x-student-0004 -p 52043:8888 --user root --rm --detach --env NBAUTOEVAL_LOG=/home/jovyan/work/.nbautoeval -v /nbhosting/dev/students/student-0004/python3-s2:/home/jovyan/work -v /nbhosting/dev/jupyter/python3-s2/jupyter_notebook_config.py:/home/jovyan/.jupyter/jupyter_notebook_config.py:ro -v /nbhosting/dev/jupyter/python3-s2:/home/jovyan/.jupyter/custom:ro -v /nbhosting/dev/modules/python3-s2:/home/jovyan/modules:ro -v /nbhosting/dev/static/python3-s2:/home/jovyan/static:ro -v /nbhosting/dev/courses-git/python3-s2:/nbhosting/dev/courses-git/python3-s2:ro -e PYTHONPATH=/home/jovyan/modules python3-s2 start-in-dir-as-uid.sh /home/jovyan 100333 jupyter notebook --ip=<IP_ADDRESS> --no-browser --NotebookApp.notebook_dir=/home/jovyan/work --NotebookApp.token=python3-s2-x-student-0004 --NotebookApp.base_url=/52043/ --log-level=DEBUG

Output of podman version:
podman version
Version:            1.6.2
RemoteAPI Version:  1
Go Version:         go1.13.1
OS/Arch:            linux/amd64

Output of podman info --debug:
podman info --debug
debug:
  compiler: gc
  git commit: ""
  go version: go1.13.1
  podman version: 1.6.2
host:
  BuildahVersion: 1.11.3
  CgroupVersion: v2
  Conmon:
    package: conmon-2.0.2-1.fc31.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.2, commit: 186a550ba0866ce799d74006dab97969a2107979'
  Distribution:
    distribution: fedora
    version: "31"
  MemFree:<PHONE_NUMBER>84
  MemTotal:<PHONE_NUMBER>40
  OCIRuntime:
    name: crun
    package: crun-0.10.6-1.fc31.x86_64
    path: /usr/bin/crun
    version: |-
      crun version 0.10.6
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
  SwapFree:<PHONE_NUMBER>
  SwapTotal:<PHONE_NUMBER>
  arch: amd64
  cpus: 32
  eventlogger: journald
  hostname: thermals
  kernel: 5.3.12-300.fc31.x86_64
  os: linux
  rootless: false
  uptime: 2h 12m 55.85s (Approximately 0.08 days)
registries:
  blocked: null
  insecure: null
  search:
  - docker.io
  - registry.fedoraproject.org
  - registry.access.redhat.com
  - registry.centos.org
  - quay.io
store:
  ConfigFile: /etc/containers/storage.conf
  ContainerStore:
    number: 3
  GraphDriverName: overlay
  GraphOptions:
    overlay.mountopt: nodev,metacopy=on
  GraphRoot: /nbhosting/containers
  GraphStatus:
    Backing Filesystem: btrfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "true"
  ImageStore:
    number: 28
  RunRoot: /var/run/containers/storage
  VolumePath: /nbhosting/containers/volumes

Package info (e.g. output of rpm -q podman or apt list podman):
podman-1.6.2-2.fc31.x86_64

Additional environment details (AWS, VirtualBox, physical, etc.):
this is physical box

can you please show the output for strings /proc/68753/env (where 68753 is the PID for crun start).
I am afraid there is a NOTIFY_SOCKET environment variable being leaked that is enabling the systemd notify socket support

On 29 Nov 2019, at 15:49, Giuseppe Scrivano<EMAIL_ADDRESS>wrote:
can you please show the output for strings /proc/68753/env (where 68753 is the PID for crun start).
I am afraid there is a NOTIFY_SOCKET environment variable being leaked that is enabling the systemd notify socket support

good catch:
root@thermals ~ (master *) # ps 94700
PID TTY      STAT   TIME COMMAND
94700 ?        S      0:18 /usr/bin/crun start 6d5acc12e08ef2dbc76e77e8d2c51ca6324854d803d2334d63d800714b47c344
root@thermals ~ (master *) # strings /proc/94700/environ
XDG_RUNTIME_DIR=/run/user/0
NOTIFY_SOCKET=/run/systemd/notify
_LIBCONTAINER_CLONED_BINARY=1
—
is it enough for me to add —env NOTIFY_SOCKET= to the arguments to podman run  ?

answering my own question:
is it enough for me to add —env NOTIFY_SOCKET= to the arguments to podman run ?
the answer is no, which of course makes sense
I might not need any assistance from podman to erase that env variable, I'll tweak my code and report if/how i manage to take care of that

I just had to add
unset NOTIFY_SOCKET

in my bash script prior to triggering podman run and poof, that solved my issue !
thanks a million because at the time when I resorted to filing that bug I was about to bang my head against the screen ;)

just a final word on this; I had actually seen that NOTIFY_SOCKET thingy mentioned some place else; I can't remember where exactly but I do remember there was also a mention of gnome, and for that reason, I thought that would not apply to me b/c this box has no graphical desktop nor anything of that sort; it's just been used as a chromium headless test box at some point, so all I have in this area is
# rpm -aq | egrep -i 'gnome|x11'
gnome-keyring-3.34.0-1.fc31.x86_64
xorg-x11-fonts-misc-7.5-23.fc31.noarch
xorg-x11-font-utils-7.5-42.fc31.x86_64
libX11-1.6.8-3.fc31.x86_64
libgnome-keyring-3.12.0-18.fc31.x86_64
libX11-common-1.6.8-3.fc31.noarch

all this to say that it could help others to document how this variable ends up in my environment...

you could invoke Podman without that env variable being set.  So something like NOTIFY_SOCKET= podman run ......  Although it would be nice to know why that is happening.  Some process is leaking that variable to Podman and it should not happen

Although it would be nice to know why that is happening. Some process is leaking that variable to Podman and it should not happen

well, this here:
https://www.freedesktop.org/software/systemd/man/sd_notify.html#Notes
suggests otherwise, i.e. it suggests on the contrary that it is to be expected that my code, being itself triggered by systemd, has this variable set;
it more feels the other way around, I mean to say, the fact that podman depends on that variable being set or not, feels terribly wrong
or what am I missing ?

If this variable is set, Podman expects the process inside of the container to write to the socket, if it never writes to the socket Podman will just hang.
Systemd will only set the socket in a notify unit file, I believe, which indicates to Podman that you expect this behaviour.

If this variable is set, Podman expects the process inside of the container to write to the socket, if it never writes to the socket Podman will just hang.
Systemd will only set the socket in a notify unit file, I believe, which indicates to Podman that you expect this behaviour.

until I read your answer I was not even aware of the existence of ‘notify’ unit files
indeed, in my setup I found that uwsgi, which hosts my django app, is configured that way
grep notify /usr/lib/systemd/system/uwsgi.service
Type=notify
and it turns out, the django app is the one that spawns the ‘podman run’ process, so I guess that’s how I end up with the the env. variable being set..
so, as far as I am concerned unset’ting the variable seems like the way to go
thanks for the clarification !


Runs on my system -- original wouldn't build/run

Xcode Version 13.2.1 (13C100)
iPhone 11, 15.2.1
Flutter: Channel stable, 2.8.1, on macOS 12.2 21D49 darwin-x64, locale en-US

@thormj this plugin is dead. Please go to flutter_blue_plus where we continued development of this plugin


Explicit references to subject type in schemas break in presence of inheritance

This happens with basically every place it can happen, but one example:
edgedb> create type A { create property z -> str; create property zed := A.z; };
OK: CREATE TYPE
edgedb> create type B extending A;
OK: CREATE TYPE
edgedb> insert A { z := "1" }; insert A { z := "2" }; insert B { z := "3" };
[{"id": "bb03847c-0a0b-11ed-b000-bf55cc7ccfd7"}]
[{"id": "bb03847d-0a0b-11ed-b000-87ad3b679fe5"}]
[{"id": "bb03847e-0a0b-11ed-b000-8b28fd0e4fe7"}]
edgedb> select B { multi oops := .zed };
[{"oops": ["1", "2", "3"]}]
edgedb> select B { zed };
edgedb error: InternalServerError: more than one row returned by a subquery used as an expression

Here, we define a computed property on A that directly references A -- this is obviously interpreted as referring to the source A.
But when we select it on B, it is intepreted as referring to A still!

#4826 fixed this for computeds, and https://github.com/edgedb/edgedb/pull/4146 fixed it for constraints. (I think; there may be some fiddliness there.) I think we probably could just fix this issue everywhere it happens.
We found this issue right before our 2.0 release, and I remember the consensus was that this wasn't plausible to fix and we should eventually transition towards having these schema expressions be in a "detached" context, where the type name of the enclosing type would refer to the whole type, not the current subject/source.
The plan then was that we would need to release some sort of tool to do the schema migration and rewrite migration history to support it.
To match the planned new semantics, access policies were defined with a DETACHED-style definition.
This leaves us in an annoying position:

Most schema expressions are not detached, but many of them are still broken. (But should be fixable)
But access policies are detached

Our options then are something like:

Move forward with the plan to make everything detached. This will involve building a schema fixing tool
Fix the rest of the bugs, call it a day. Leave access policies detached
Fix the rest of the bugs, and plan to eventually move access policies to not be detached


CL - Picker Implemented

📋 PR Description
A new Picker component was added to showcase different picker styles in SwiftUI, including segmented, wheel, and menu pickers. This involved creating a new Picker module using VIPER architecture, implementing PickerView to handle various picker styles, and developing PickerWireframe for seamless navigation. PickerPresenter was integrated to manage business logic, and the entire component was connected to the existing navigation system for smooth user interaction.

✅ Checklist

[x] Code follows the project standards and guidelines.
[ ] Relevant unit tests are written and all tests are passing.
[x] Test coverage is adequate for the changes.
[x] Any unnecessary files or debug statements have been removed.
[x] Documentation is updated where necessary.
[ ] The PR has been reviewed by at least one team member before merging.

🛠 Steps to Test

Navigate to Home screen
Tap on Picker component card
Test different picker styles:

Segmented picker
Wheel picker
Menu picker

Verify back navigation works correctly

🔗 Related Links

Documentation: https://developer.apple.com/documentation/swiftui/menupickerstyle

📷 Screenshots (Optional)

The current implementation has noticeable design issues related to inconsistent padding. To improve the visual appearance and maintain a cleaner layout, it is recommended to set the padding to 10 for a more polished and cohesive look.
Additionally, this branch has conflicts that need to be resolved before it can be merged. The conflicting files include:
•	SwiftUI/SwiftUI-Components-App/DemoApp/Modules/Home/HomeInterfaces.swift
•	SwiftUI/SwiftUI-Components-App/DemoApp/Modules/Home/HomePresenter.swift
•	SwiftUI/SwiftUI-Components-App/DemoApp/Modules/Home/HomeView.swift
You can use the web editor or resolve the conflicts locally to proceed. @alakkaya  and fetch last changes then we can approve your development @alakkaya


"average" error when training and testing model

I am trying to create a NLP model in Qlik using PyTools for a work project. However, when I attempt to train and test the model I get an error message that states "Target is multiclass but average='binary'. Please choose another average setting, one of [None, 'micro', 'macro', 'weighted'].'" After doing some research, I think I found that this error message is related to the sklearn score function, but I am not sure how to pass in the average parameter in Qlik. Should I be using Setup_Adv instead of Setup. If so, which argument would I pass it in with? If anyone has any ideas please let me know!

)


Speed-up Go version.

Use *Node instead of Node (same as D/C++).
This changes performance from:
real    0m3.840s
user    0m4.647s
sys     0m0.087s
to:
real    0m0.653s
user    0m0.709s
sys     0m0.014s
On my machine (core i7-6700).

Looks good to me! Thank you!
/cc @Jumballaya

Updated the stats!


Prototype for deprecating User Guide topic.

@jessfraz, @devin-donnelly, @chenopis, @jaredbhatti, Could you take a look, and see if you think this is the correct way to move a Guide topic to the final deprecation phase. We started deprecation for user-guide/simple-nginx on Feb 1, so it's ready to go to its final deprecation state. In this case, I'm leaping over the intermediate deprecation phase. Here are all the things that would be done for the intermediate and final deprecation phases.

Disable indexing for the topic.
Remove the topic from the TOC.
Remove the topic itself.
Redirect the topic URL to a topic in Tasks/Tutorials/Concepts.

Looks good to me.


[libgpg-error,libgcrypt,libassuan,gpgme,libgwenhywfar] Update and fix

Updates ports.
Fixes https://github.com/microsoft/vcpkg/pull/27668#discussion_r1339794415.
Fixes a number of other quirks in particular in the provided config scripts, and for windows hosts (targeting mingw).
Updating libgwenhywfar is out of scope for this PR. (It is not from the gnupg libs familly.) https://github.com/microsoft/vcpkg/issues/31216 remains unfixed. AFAIU libgwenhywfar incorrectly detects and forwards flags from qmake. The fix might be investigated together with an update in another PR.

CC @friendlyanon

This needs more work for static linkage.

Thanks for all the updates and fixes!


Add a ToolbarMenu component

Describe the desired behavior
This will be a replacement for the existing DropdownToolbar component. We will build a generic component that will handle the dropdown arrow iconography and state and trigger the menu open and closed. The user will supply ng-content for the label (could be text, could be icon + text, etc.) and we will append the dropdown arrow beside their content. Clicking the content will open the menu provided by the user (also supplied via ng content). Most of this functionality can simply be taken out of the existing dropdown toolbar.
Remove the DropdownToolbar component. Make sure that instructions for using the new approach is mentioned in the readme for the Appbar component (e.g., as an example).
Describe the current behavior
Rather than having this functionality built into a Toolbar, we will isolate it into a smaller sub-component that can be used in any toolbar (regular mat toolbar, blui collapsible, etc.)
Is this request related to a current issue?
No
Additional Context

This is fixed in #402; closing this.


How to validate the token?

Given that we have a handle to the token, how do we verify if it is valid?
Is there a built-in method?

You would send the token to your backend and validate it there:
https://developers.cloudflare.com/turnstile/get-started/server-side-validation/

@ruigomeseu  thanks.
Thanks for the contribution.


run job every sec

Hi, is it possible to run job every second ?
Is seconds notation supported ?

Check out the document: schedule.Job.second

sorry was probably inappropriate way to contact you....
Seems I used a very old version...


[Web]How to get font from local in flutter web ?

Because there is a problem with accessing these two URLs, I want to load it locally. Can it be implemented?
can not access to fonts.gstatic.com and fonts.googleapis.com

Hi @itning, Thanks for filing the issue. Please see these docs on How to load fonts locally https://docs.flutter.dev/cookbook/design/fonts
Closing as this is not really a bug in flutter, In case you disagree feel free to write in the comments and we will reopen it.
Thank you.


"Color Picker Functionality Error After Upgrading to Version 1.1.6

After upgrading to version 1.1.6, I encountered an issue where the color picker functionality doesn't work. However, reverting back to version 1.1.5 resolves the problem and the color picker functions normally.
You can observe the issue in this demo: link

@mrchoke please try 1.1.7.

@mrchoke please try 1.1.7.

Thank you for the prompt resolution and attention to detail. I have updated and deployed version 1.1.7 to production successfully. Thanks again. ❤


Removed debug lines from example unittest

Removed a scoped debug line for the auto joiner(RoR)(RoR r) unittest. It was removed since it obscured the example in the Phobos docs.
https://dlang.org/phobos/std_algorithm_iteration.html#joiner

Noticed that the DAutoTest docs before this PR did not have this issue. Was this already fixed in the ddoc generation?

This unittest block is not used in the documentation


FEATURE REQUEST : Kindly provide the gradient for tf.assign

Hi, i am trying to connect a CNN to another custom layer i have created. However the custom layer that i have created requires the variables in my custom layer to be assigned from the outputs of CNN.
One may think why i need variables if its assigned from CNN at every iteration.
Reason for variable creation is to calculate explicit gradients(via Register gradient and pyFunc) that involves sparse linear equations ,so that i can apply these gradients on my variables so that the error is back propagated all the way into CNN.
However when i call tf.gradients ,all the values are None for CNN. I found a link over stackoverflow stating that gradients are not defined for tf.assign.
https://stackoverflow.com/questions/46984316/how-tf-assign-compute-gradients-in-tensorflow
Could you please provide gradient for tf.assign so that i can go for an end to end training.
Thanks.
Source code / logs
 with tf.variable_scope("xyz", reuse=tf.AUTO_REUSE) as scope:
 F = tf.get_variable("FXT",  initializer=''')
 B = tf.get_variable("BXT",  initializer='')
 lambda_tf = tf.get_variable("lamda_tf",initializer = [100.0],dtype=tf.float32)

assign_op1 = tf.assign(F,Fx)
assign_op2 = tf.assign(B,Bx)

op=custom layer(F,B)
grads=tf.gradients(op,tf.all_trainables())

Here Fx and Bx are values from CNN
In my backprop i have custom gradients that i have explicitly calculated and over-riden with tf.RegisterGradient and gradient overide.
When i apply calculate grads i get
[None,None,None............None{None values returned for variables in CNN},Defined Gradients{Defined Gradients returned for variables in Custom Layer}]

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce

Have I written custom code : Partially yes
OS Platform and Distribution : Ubuntu 16.04
TensorFlow installed from : pip
TensorFlow version : 1.4
Bazel version : N/A
CUDA/cuDNN version : 8.0/5.0
GPU model and memory : TeslaK80 , 12 GB
Exact command to reproduce : N/A

@vrv Can you take a look at this?

Assigning to Alex, who has more state on the roadmap for everything related to Variables.  Please feel free to re-assign!

@Raj-08 tf.assign returns "ref", ie link to the variable. So if you implemented backprop for it, the result would be zero since state of the variable is functionally independent of other parts of the graph.
Do you want the gradients to just propagate the right hand side of the assignment? If so, you could differentiate the right-hand side explicitly, and use control dependencies to force assignment to happen on forward pass
a = tf.Variable(1)
b = tf.assign(a, stuff)
with tf.control_dependencies([b]):
  c = tf.identity(stuff)

There is no plan to add a gradient to tf.assign because it's not possible in general to connect the uses of the assigned variable with the graph which assigned it.
Instead, your solution of setting the weights of a network by the output of another is better implemented by not using tf.Variable at all for the computed weights, and just using tensors. We currently make it not too easy to do this using the tf.layers library but you can do this if you subclass the layers in tf.layers and override the build() method.

@yaroslavvb It worked thanks!!!!
There were no errors in graph construction
But during the graph execution in backprop i get this error and its back tracked to
tf.gradients(c, ...)
then it points to the
line where i defined the "stuff"[as per your comment]
ERROR:
Input to reshape is a tensor with 16777216 values, but the requested shape has 4096
Do i need to make some other changes as well?

@alextp How can apply my gradients to tensors?

@alextp  @yaroslavvb I have checked all my ops in backprop and i am making sure i am passing the gradient values of required shape. Is this an internal problem when creating custom op and gradient?

@Raj-08 what do you mean "apply my gradients to tensors"? Either you want to store mutable variables as your layer weights (which are initialized from the predictions of another network), in which case you apply your gradients to the variables but you can't backprop through them, or you want your layer weights to be computed tensors, in which case you should apply the gradients not to them but to the network which is producing them, right?
Or is there another option I'm missing here?

@yaroslavvb @alextp
So my gradients are flowing back right until the bottom of the CNN(FCN) and then i am seeing an unconnected node on my tensorflow graph visualization. Even though the loss has been decreasing i am not able to find anything meaningful on the final output.

Are the gradients still flowing through that node?

@alextp No you aren't missing anything .
Let me tell you why i went for creating variables in the first place.
At the start i computed the CNNs outputs as tensors and didnt involve any variabe but after creating the graph and calling tf.gradients it was showing None for the custom gradients i had created.
So i went about creating variables and then after following what @yaroslavvb mentioned i could get the gradients i have created.
After visualizing the tensorflow graph i found that all my gradients were calculated as i intended but now as in the image above we can see that there is an unconnected node in between the gradients and the FCN .
So now i have two questions :

I'm not sure I understand. What's the unconnected node you see?
When you just compute, on an interactive session tf.gradients on your final loss and your parameters, do you get 0 or None?
Also, if you're seeing an error you should share the whole stack trace as that's much easier to debug. The shape error you linked looks like it's a real shape error in your code.

I am having the same issue for not being able to backprop the gradient through tf.assign. Is there any solution to this ?

You can try overriding the assign operator, perhaps something like the following:
@tf.custom_gradient def mod_assign(x):     phi = tf.Variable(tf.zeros([1, 4], dtype='float32'), dtype='float32',  trainable=True)     phi = tf.assign(phi,x)     def grad(dy):         return dy     return phi, grad

Thanks !


Brew installed version doesn't work with plugins

Brew is listed as the recommended way of installing httpie on macOS. However, it doesn't work with auth plugins.
For example, if you pip3 install requests-hawk and then run http --help hawk will not show as an auth type. If you pip3 install httpie-oauth it will install httpie via pip as a dependency and overwrite the brew installed link in /usr/local/bin/http and now all the plugins will show because it isn't using the brew installed version.
I suggest changing the documentation to read pip3 install httpie as the recommended method of installing on macOS.

@rshurts you're right. Plugin installation for Homebrew-based installs doesn't work out of the box.
There are some advantages to keeping Homebrew as the recommended method, though. Mainly it makes updates really easy and the package can depend on Python 3 (i.e. much better SSL support, etc.).
The ideal world solution would be to make all plugins available as Homebrew packages (e.g. brew install httpie-oauth, etc.) . But that would mean additional work for maintainers so not all plugins would end up in Homebrew.
Using pip to install plugins looks like the easier way to go. To make it work with Hombrew, it would mean instructing pip to use  (currently) /usr/local/Cellar/httpie/0.9.8_2/libexec/lib/python3.6/site-packages as the installation directory.
But plugins installed there won't survive HTTPie upgrades.
Perhaps it would be possible to tweak the Homebrew formula to make it possible to load installed plugins from the Homebrew Python 3 site-packages (or from another location).
…or some sort of a custom plugin installer.

In the meantime, maybe a note in the documentation around plugins saying "brew doesn't work with plugins and to pip install httpie for plugin functionality" would save some headaches.

There is also a problem with the read rights when user has no admin rights:
$ http --help
Traceback (most recent call last):
  File "/usr/local/bin/http", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3123, in <module>
    @_call_aside
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3107, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3136, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 569, in _build_master
    ws = cls()
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 562, in __init__
    self.add_entry(entry)
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 618, in add_entry
    for dist in find_distributions(entry, True):
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1965, in find_on_path
    for dist in factory(fullpath):
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2035, in distributions_from_metadata
    root, entry, metadata, precedence=DEVELOP_DIST,
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2492, in from_location
    py_version=py_version, platform=platform, **kw
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2867, in _reload_version
    md_version = _version_from_file(self._get_metadata(self.PKG_INFO))
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2456, in _version_from_file
    line = next(iter(version_lines), '')
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2646, in _get_metadata
    for line in self.get_metadata_lines(name):
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1411, in get_metadata_lines
    return yield_lines(self.get_metadata(name))
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1407, in get_metadata
    value = self._get(self._fn(self.egg_info, name))
  File "/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1519, in _get
    with open(path, 'rb') as stream:
PermissionError: [Errno 13] Permission denied: '/usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/idna-2.7-py3.7.egg-info/PKG-INFO'

I was able to fix it with
chmod +r /usr/local/Cellar/httpie/1.0.0/libexec/lib/python3.7/site-packages/idna-2.7-py3.7.egg-info/PKG-INFO

but switched to pip3 install httpie because of it made it easier to install plugins.

Since I upgraded to 10.14 Mojave I'm having the permissions error mentioned by @aheissenberger above. I have the same setup where I install homebrew using a local admin account but do normal operation in a standard account. I'm not a Python person and don't understand this discussion of plugins. I do not recall trying to add anything httpie beyond whatever comes as part of the homebrew formula. pip3 list only shows 3 items which presumably were part of the initial Python bundle.
Is this fundamentally a Python3 problem (at least, Python as installed via homebrew)? Should I be reporting it to the maintainers?

Q1 and ANS1.docx

dddddddddddd

Presentation.pdf

Buy Valid Cvv CC Dumps Track 1/2 CC SSN DOB Track-1/2-FULLZ-Transfer/Western union Bank-Log-In-PayPal-Transfer-and-Log-In Buy/sell CVV CC DOB SSN FULLZ - Dumps Pin...
Telegram.@Ykidven
Cc Format Is
Format is:
Card Number | Exp. Date | CVV/CVV2 | First Name | Last Name | Street | City
| State | Zip Code | Country | Phone | Type Of Card | Bank Name
I'm Loading All Types Of Paypal Account With No ChargeBacks... Cash app Loading I Can Load All Non Verified Account with No Problem Or Verified PayPal Account..I Even Sell Paypal Logs At Cheap Prices....Pm Me If You Interested In Loading Your Paypal Account
Telegram.@Ykidven
Paypal Transfer Price List
20$ for 250$
30$ for 350$
40$ for 400$
50$ for 500$
60$ for 600$
70$ for 700$
80$ for 800$
90$ for 950$
100$ for 1500$
CashApp Transfer Price List
20$ for 250$
30$ for 350$
40$ for 400$
50$ for 500$
60$ for 600$
70$ for 700$
80$ for 800$
90$ for 950$
100$ for 1500$
200$ for 3000$
Telegram@Ykidven
Doing Wu Transfers
I Am Doing Wu Transfer Here And I Need I Very Serious Buyer Who Also Want To Work With Me And Make Money With Me Here...
Note...i will Do The Transfer Then After you Track The Mtcn You Make Payment Before you have the sender's Info
Western Union Price List
30$ for 350$
40$ for 400$
50$ for 500$
60$ for 600$
70$ for 700$
80$ for 800$
90$ for 950$
100$ for 1500$
200$ for 2500$
Telegram.@Ykidven
Telegram.@Ykidven
Telegram.@Ykidven
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

For what it's worth and perhaps other users googling for an answer, installing a plugin worked fine for me like this:
pip3 install -t /usr/local/Cellar/httpie/2.0.0/libexec/lib/python3.8/site-packages httpie-jwt-auth

Thanks https://github.com/jakubroztocil/httpie/issues/566#issuecomment-285210693

Just thinking out loud here, I haven't actually tried this.
Perhaps at runtime we add ~/.httpie/plugins/ to the search path (if it exists) and recommend Mac users do this:
pip install -t ~/.httpie/plugins httpie-jwt-auth
Suspect it might work fine for 80-90% of the use cases but no idea what might be in that last 10% !

It is preferable rather my proposal on #1108 IMO.
Still:

What would happen if someone installed a plugin in the folder using a different Python version (like Python 2.7) when HTTPie is running Python 3.9?
Plugin requires HTTPie to be installed, so they install it, making the folder bigger (that's an issue on plugin themselves and not really a problem I guess), and having 2 httpie modules available.

All those solutions are not ideal, I'll see how other projects are doing. If you have examples, I would be glad to check them :)

Plugin requires HTTPie to be installed, so they install it, making the folder bigger

Good point, my random sampling of 4 plugins finds they all require httpie as an install dependency.

I've done a little work on Nikola, it manages plugin installs itself.  Running nikola plugin -i foo will download and extract a foo.zip, then run pip as a subprocess to install any dependencies.
Maybe we could borrow the second half of that idea and do http --install-plugin foo to launch pip as a subprocess with the right settings to install the plugin next to the httpie module so in Homebrew installs it would end up somewhere like /usr/local/Cellar/httpie/2.3.0/libexec/lib/python3.9/site-packages/foo.
Pros

Plugins will be installed using the same version of Python that Httpie is using.
No duplicate installation of httpie.
Does not add plugins to a global dir (e.g. /usr/local/lib/python3.7/site-packages).
No worrying about which of the many pips on my machine I should use to install the plugin.

Cons

I think plugins will need to be manually reinstalled every time Homebrew updates Httpie to a new version.
Needing to reinstall the plugins will be quite annoying!

Kind of suspect it would go against Homebrew philosophy if we modify a dir managed by Homebrew in this way but it's difficult to see a clean solution to all the complications here.
I'm not convinced this is a good idea but maybe it's a step nearer to one.

Another example: For JMeter, this blog recommends manually copying plugins into the Homebrew dir.

I focused on this today and seems like it is finally working (install/uninstall/list). Here is the draft branch to give an impression of the implementation, though it is nowhere near production-ready (in terms of UI): https://github.com/httpie/httpie/compare/master...isidentical:httpie-plugins?expand=1. There were a couple of caveats (e.g pip doesn't support uninstallation from a custom scheme etc) but they all seem to work now. The next steps would be creating a proper UI for this (especially in terms of error handling), and figuring out a way to write tests.

We have finally landed httpie plugins interface, though the initial QA on brew is not yet completed. I'll probably try to complete it within today or tomorrow and then close this ticket.

🎉 This feature is now publicly available in HTTPie for Terminal 3.0:
👉🏻  https://httpie.io/docs/cli/plugin-manager


Settings doesn't sync between tabs & makes the history instances blink

The settings doesn't synchronize between tabs, which is making the log instance in the history blink irregularly.

How to reproduce:

Open two new tabs.
Go to the Extras tab in the settings
Change the Tab Title so the two tabs have different titles.

Alternatively, and if this is possible, disabling the history logging of the new tabs would be nice, since I don't find it interesting to see when I opened a new tab in my history.

This appears to be resolved after the latest update.


[python] Trivial dead-strip

Issue and/or context: A minor item on issue #2407 / [sc-51048].
Note that the intended Python and R API changes are all agreed on and finalized as described in #2407.
Changes:
Since SOMASparseNDArray and SOMADenseNDArray have shape while SOMADataFrame has domain, what's exposed in Python is correct. However we have a dangling/unused pybind11 hook for SOMAArray.
Notes for Reviewer:
$ grep '"shape"' *.cc
soma_array.cc:        .def_property_readonly("shape", &SOMAArray::shape)
soma_dense_ndarray.cc:        .def_property_readonly("shape", &SOMADenseNDArray::shape)
soma_sparse_ndarray.cc:        .def_property_readonly("shape", &SOMASparseNDArray::shape)

Thanks @nguyenv !


Added reciprocal links for some components

Added links for Avatar, Badge and Checkbox to other components that are marked as similar to them.

Thanks @mlmsmith, marking this as a draft so I can ask some questions internally.


Add Authenticator endpoint for adding credentials

I'm thinking we could add an endpoint in the Authenticator for adding credentials that would be accessible to clients. Since Authenticator needs them in a certain format, Authenticator would do the work of adding them in the format it needs.
This needs further design, but the endpoint would be one that you'd need admin access to. So we'd need to figure out a way to determine who administrators should be and how they authenticate to this Authenticator endpoint.
Then, after authenticating as an administrator, someone could CRUD credentials for clients. They would post to some endpoint, where the path would be something like the object the caller will be able to access (maybe a postgres DB, but also could be mysql, etc.). And the body would be something like:
{
  "access_granted_to": [
    {
      // Each object here would vary by platform. For AWS it would be their IAM arns, but this should be extensible for Azure and GCP too.
    }
  ],
  "credentials": [
    {
      // Each object here would vary too due to needing to support multiple types of databases, but the reason we should allow multiple is because maybe somebody would want to be able to add 3 sets of credentials in case they're shared and they don't want to run out.
    }
  ],
}

After receiving such a request, we would turn around and store the creds in whatever credential storage mechanism they're using.
I'm not totally stuck on this design, just trying to provide some food for thought. Also, I think this should be prioritized as low because, since users can also directly add credentials to things, this is more of a "nice to have" for UX than a "must have".

Closing this in favor of first doing design via https://github.com/approzium/approzium/issues/75


[stable/cluster-autoscaler] official docker image ?

The cluster-autoscaler doesn't seem to use the official image:
https://github.com/helm/charts/blob/5a8cfbe5729cb64cc2995326769de89246e37809/stable/cluster-autoscaler/values.yaml#L55
Official images are in the gcr.io/google-containers/cluster-autoscaler repository. I can't find anything about  k8s.gcr.io/cluster-autoscaler.
Is this expected ? Am i missing something ?
Thanks

I also see other official images in later images as: us.gcr.io/k8s-artifacts-prod/autoscaling/cluster-autoscaler, eu.gcr.io/k8s-artifacts-prod/autoscaling/cluster-autoscaler, and  asia.gcr.io/k8s-artifacts-prod/autoscaling/cluster-autoscaler

https://github.com/kubernetes/k8s.io/blob/master/k8s.gcr.io/Vanity-Domain-Flip.md shows that up until today, k8s.gcr.io was an "alias" to gcr.io/google-containers. Older releases (i.e. before yesterday) were pointing to that location. However that is slowly getting changed over starting today (1 April) so that k8s.gcr.io points to {us,eu,asia}.gcr.io/k8s-artifacts-prod (see the link for details).
Coincidentally at the same time, yesterday's new cluster-autoscaler releases were released to the new location, but with a slightly different path ("autoscaling/" as part of the name). In theory, as k8s.gcr.io flips to the new location, it should point to the new location, but the "autoscaling/" part of the path is new. It's unclear to me whether the release will be found at k8s.gcr.io/cluster-autoscaler or at k8s.gcr.io/autoscaling/cluster-autoscaler when everything settles down; so far pulling the latest tags fails at both paths from my physical location.


python3Packages.qiskit-terra: fix cargo deps hash

Description of changes
Was not properly updated by c265663f819c1736ff9e7169c72192a7a7d66e61 which last bumped the version of this package. Probably not noticed since the package is marked as broken anyway.
Tested: nix-build . -A python3Packages.qiskit-terra.cargoDeps.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

cc @mweinelt who introduced the "regression" (if it can even be called one since it's broken = true anyway)
(I noticed because my vendored deps scanner is not ignoring broken packages at the moment. This seems worth fixing regardless...)

This is the update-python-libraries update script. It should really skip derivations it cannot properly handle.

$ grep -lr cargoDeps pkgs/development/python-modules | wc -l
50

Yeah... seems kinda dangerous to have tooling not recognize this.

Can you set meta.broken = pythonAtLeast "3.11" instead? The native code has not been updated for 3.11.

Done.
@ofborg build python310Packages.qiskit-terra

16 minutes in :tired_face:
qiskit-terra> ============================= test session starts ==============================
qiskit-terra> platform linux -- Python 3.10.13, pytest-7.4.3, pluggy-1.3.0
qiskit-terra> rootdir: /nix/store/safwl7zzf7gcajivg1jgwclza9n93f2v-python3.10-qiskit-terra-0.25.1/lib/python3.10/site-packages
qiskit-terra> plugins: hypothesis-6.84.3
qiskit-terra> collected 21730 items / 433 deselected / 21297 selected
qiskit-terra>
qiskit-terra> test/python/test_examples.py s                                           [  0%]
qiskit-terra> test/python/test_qasm_parser.py .......                                  [  0%]
qiskit-terra> test/python/test_user_config.py .............                            [  0%]
qiskit-terra> test/python/test_util.py ..                                              [  0%]
qiskit-terra> test/python/test_version.py .                                            [  0%]
qiskit-terra> test/python/algorithms/test_amplitude_estimators.py .................... [  0%]
qiskit-terra> ........................................                                 [  0%]
qiskit-terra> test/python/algorithms/test_aux_ops_evaluator.py ....                    [  0%]
qiskit-terra> test/python/algorithms/test_backendv1.py s..                             [  0%]
qiskit-terra> test/python/algorithms/test_backendv2.py ..                              [  0%]
qiskit-terra> test/python/algorithms/test_entangler_map.py ...                         [  0%]
qiskit-terra> test/python/algorithms/test_grover.py .................................. [  0%]
qiskit-terra> ................................                                         [  0%]
qiskit-terra> test/python/algorithms/test_measure_error_mitigation.py ssssssssssssss   [  0%]
qiskit-terra> test/python/algorithms/test_numpy_eigen_solver.py ............           [  0%]
qiskit-terra> test/python/algorithms/test_numpy_minimum_eigen_solver.py ..........     [  0%]
qiskit-terra> test/python/algorithms/test_observables_evaluator.py ........            [  0%]
qiskit-terra> test/python/algorithms/test_phase_estimator.py ......................... [  1%]
qiskit-terra> ............................                                             [  1%]
qiskit-terra> test/python/algorithms/test_qaoa.py ...................                  [  1%]
qiskit-terra> test/python/algorithms/test_skip_qobj_validation.py .s.                  [  1%]
qiskit-terra> test/python/algorithms/test_validation.py ....                           [  1%]
qiskit-terra> test/python/algorithms/test_vqd.py s.....s..s.......sss                  [  1%]
qiskit-terra> test/python/algorithms/test_vqe.py .s..........s...........ssssssss      [  1%]
qiskit-terra> test/python/algorithms/eigensolvers/test_numpy_eigensolver.py .......... [  1%]
qiskit-terra> ................                                                         [  1%]
qiskit-terra> test/python/algorithms/eigensolvers/test_vqd.py ........................ [  1%]

Tests completed after 46 minutes. @drewrisinger do you still care about qiskit in nixpkgs?
qiskit-terra> FAILED test/python/circuit/test_parameters.py::TestParameterExpressions::test_complex_parameter_bound_to_real - qiskit.circuit.exceptions.CircuitError: "Invalid param type <class 'complex...
qiskit-terra> FAILED test/python/circuit/test_parameters.py::TestParameterExpressions::test_expressions_of_parameter_with_constant - AssertionError: (1.408343819019456e-16+2.3j) != 2.3j
qiskit-terra> FAILED test/python/primitives/test_backend_estimator.py::TestBackendEstimator::test_bound_pass_manager - AssertionError: 0 != 2
qiskit-terra> FAILED test/python/primitives/test_backend_sampler.py::TestBackendSampler::test_bound_pass_manager - AssertionError: 0 != 2
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_6095 - AssertionError: 0.9994374927033252 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_alternative_colors - AssertionError: 0.9995340771892295 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_barrier_label - AssertionError: 0.999046559669474 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_big_gates - AssertionError: 0.9976004424462999 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_bit_conditional_with_cregbundle - AssertionError: 0.9975495633584092 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_bw - AssertionError: 0.9996773543053035 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_calibrations - AssertionError: 0.999767870131076 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_calibrations_with_control_gates - AssertionError: 0.9983131896191523 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_calibrations_with_rzz_and_rxx - AssertionError: 0.9980991468850211 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_calibrations_with_swap_and_reset - AssertionError: 0.9989448903417824 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_cnot - AssertionError: 0.999777183600713 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_conditional - AssertionError: 0.9992739446987879 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_conditional_gates_right_of_measures_with_bits - AssertionError: 0.999692392875819 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_conditions_measures_with_bits - AssertionError: 0.9997890859706161 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_conditions_with_bits_reverse - AssertionError: 0.9988371336875486 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_creg_initial - AssertionError: 0.9989719118559901 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_cswap_rzz - AssertionError: 0.9986368571632364 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_ctrl_labels - AssertionError: 0.9945965881023434 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_cz - AssertionError: 0.9987988658586925 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_figwidth - AssertionError: 0.9995465342258691 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_fold_4 - AssertionError: 0.9998495788206979 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_fold_minus1 - AssertionError: 0.999884235055119 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_fold_with_conditions - AssertionError: 0.9663832520369023 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_for_loop_op - AssertionError: 0.9996758305400945 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_ghz_to_gate - AssertionError: 0.9975189618455147 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_idle_wires_barrier - AssertionError: 0.9992740817627003 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_if_else_op - AssertionError: 0.9994871507963149 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_if_else_op_fold - AssertionError: 0.9996876569370782 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_if_else_op_nested - AssertionError: 0.9997431400683778 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_if_else_op_textbook_style - AssertionError: 0.9994871507963149 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_if_else_op_wire_order - AssertionError: 0.9997431400683778 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_if_else_with_body - AssertionError: 0.9995281025496549 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_if_op - AssertionError: 0.9992859775198084 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_init_reset - AssertionError: 0.9984021817330054 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_instruction_1q_1c - AssertionError: 0.9995421028531729 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_instruction_3q_3c_circ1 - AssertionError: 0.9980062215496223 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_instruction_3q_3c_circ2 - AssertionError: 0.9980062215496223 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_instruction_3q_3c_circ3 - AssertionError: 0.9982069000212009 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_long_name - AssertionError: 0.9956313854827863 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_meas_condition - AssertionError: 0.9992365779755705 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_measures_with_conditions - AssertionError: 0.9977811428691611 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_multi_underscore_reg_names - AssertionError: 0.997063053454851 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_no_barriers_false - AssertionError: 0.9996943185411616 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_no_ops - AssertionError: 0.9996249741361474 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_one_bit_regs - AssertionError: 0.9997739743110113 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_overwide_gates - AssertionError: 0.9985308097830784 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_partial_layout - AssertionError: 0.9977666658932176 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_pauli_clifford - AssertionError: 0.9996530372584606 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_pi_param_expr - AssertionError: 0.9985383244206774 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_plot_barriers - AssertionError: 0.999853780529617 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_plot_partial_barrier - AssertionError: 0.999823131907004 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_r_gates - AssertionError: 0.9978132317339365 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_registerless_one_bit - AssertionError: 0.9998620689655172 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_reverse_bits - AssertionError: 0.9996889561123173 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_reverse_bits_condition - AssertionError: 0.9991785018100807 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_scale - AssertionError: 0.9985310485205202 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_sidetext_with_condition - AssertionError: 0.9988529171293641 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_style_custom_gates - AssertionError: 0.9979747530657604 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_subfont_change - AssertionError: 0.9996279671147325 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_switch_case_op - AssertionError: 0.9994816535466942 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_user_ax_subplot - AssertionError: 0.9997418501862538 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_user_style - AssertionError: 0.9995563604540925 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_while_loop_op - AssertionError: 0.9997317475377248 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_wire_order - AssertionError: 0.999119871460297 not greater than or equal to 0.9999
qiskit-terra> FAILED test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py::TestCircuitMatplotlibDrawer::test_with_global_phase - AssertionError: 0.9983295597484276 not greater than or equal to 0.9999
qiskit-terra> = 69 failed, 20912 passed, 311 skipped, 433 deselected, 5 xfailed, 1388 warnings in 2774.30s (0:46:14) =

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/qiskit-terra-0-25-1-not-supported-for-interpreter-python3-11/36810/2


Issue 38605: SQLException when TempTableInClauseGenerator has executed in a transaction that's rolled back

I think it is more correct to add the temptable to the the public/shared cache on commit rather than removing it on rollback.

Good point! Just pushed some changes to only cache after it's committed, and additional test coverage.

@labkey-matthewb Can you review the updated approach when you have a chance?


Consider renaming 'sync' controller

Currently, this repo implements a 'push' reconciliation mechanism with the 'sync' controller. The name 'sync controller' is fairly ambiguous - we should consider renaming this controller to the 'push controller' or 'push propagation controller', possibly in connection with renames of API groups in #256

+1 to rename it to push propagation controller.

Do we need the controller suffix?  How about:

push propagator
push reconciler

I prefer that we add the controller suffix to keep consistent with Kubernetes.

So here my proposal is rename the folder of sync to pushpropagator, and the file name of the controller is pushpropagator_controller.go.
// PushPropagatorController synchronizes the state of a federated type
// to clusters that are members of the federation.
type PushPropagatorController struct {
}

// newPushPropagatorController returns a new push propagator controller for the configuration
func newPushPropagatorController(typeConfig typeconfig.Interface, kubeConfig *restclient.Config, fedNamespace, clusterNamespace, targetNamespace string) (*FederationSyncController, error) {
}

Besides, I also found that we are not using consistent names for all of the controllers, take a look at the picture as below. How about follow the guidance proposed above and rename all of the controllers and its related variables?

@marun @pmorie comments?

Using different names for the file name of the controllers can also help to improve the debug-ability, as the logs will include the file name, all controllers using name of controller.go sometimes difficult to debug or else if I want to grep logs for a specified controller.

I think the way logs only provide the name of the file is a pretty big flaw in golang logging, and I think it's worth considering how to get more context rather than a bandaid solution like unique file naming since that doesn't help if logging originates from 3rd party dependencies.

I also think consistent naming of controllers is a pretty low priority.  End-user functionality is our ultimate responsibility, and I don't think enforcing an arbitrary file naming scheme buys us much in that regard.  Also, what makes sense for Kubernetes in terms of code structure doesn't necessary make sense for us - it is a huge and monolithic legacy project.

@marun I recalled that Kubernetes community has some discussion for this, but I cannot find the discussion now, just post a question in kubernetes-dev https://groups.google.com/forum/#!topic/kubernetes-dev/23s6MTTt3gU and we can get some comments from there.
But here I want to control the scope of the discussion to this issue, any comments for my proposal?
Rename the folder of sync to pushpropagator, and the file name of the controller is pushpropagator_controller.go.
// PushPropagatorController synchronizes the state of a federated type
// to clusters that are members of the federation.
type PushPropagatorController struct {
}

// newPushPropagatorController returns a new push propagator controller for the configuration
func newPushPropagatorController(typeConfig typeconfig.Interface, kubeConfig *restclient.Config, fedNamespace, clusterNamespace, targetNamespace string) (*FederationSyncController, error) {
}

I don't think we're any closer to renaming the sync controller than we were in September.  It just doesn't seem like much of a priority (especially in the absence of pull reconciliation).  I'm closing for now, and we can revisit in the future if necessary.


Unintuitive interface - To match a code snippet, we need to set dry_run

IF a user provides a match rule and code snippet, specifying dry_run explicitly seems rather unintuitive.
The bug is that, if we don't provide a dry_run, the persist call throws an exception.
source = """package com.uber.piranha;
class Piranha {
    public void run() {
        if (isToggleDisabled("dark_mode")) {
            // disable dark mode
        }
    }
}
"""
rule = Rule(
    name= "find_toggle_disabled_dark_mode",
    query= """(
        (method_invocation
            name: (identifier) @method_name
            arguments: (argument_list (string_literal) @argument))
        (#eq? @method_name "isToggleDisabled")
        (#match? @argument "dark_mode")
    )""",
)

args = PiranhaArguments(
    language="java",
    code_snippet=source,
    rule_graph=RuleGraph(rules=[rule], edges= []),
    substitutions={},
    dry_run= True # THIS IS THE PROBLEM. THIS IS UNITUITVE
)

output = execute_piranha(args)
print(output)

Actually it seems that if code_Snippet is passed, dry_run has to be set to true


Get a cohort breakdown of MAUI by version

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1016
Originally created by @dmor on 2019-09-19 17:13:37

Are we able to see usage broken out by version number?

View 5 previous comments from the original issue on GitLab


(composer) Updates Update.ps1 with Get-GitHubRelease

Description
Updates to use the GitHub REST API for releases.
Motivation and Context
The previous method for scraping GitHub assets from the release page has been broken.
This updates this package to use the REST API.
This adds to #2007.
How Has this Been Tested?

Successfully ran update_all.ps1 with this package. This was an improvement on the recent failures in the Appveyor logs.

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
~[ ] New feature (non-breaking change which adds functionality)~
~[ ] Breaking change (fix or feature that would cause existing functionality to change)~
~[ ] Migrated package (a package has been migrated from another repository)~

Checklist:

[x] My code (hopefully) follows the code style of this repository.
~[ ] My change requires a change to documentation (this usually means the notes in the description of a package).~
~[ ] I have updated the documentation accordingly (this usually means the notes in the description of a package).~
~[ ] I have updated the package description and it is less than 4000 characters.~
[ ] All files are up to date with the latest Contributing Guidelines
[ ] The added/modified package passed install/uninstall in the chocolatey test environment.
[x] The changes only affect a single package (not including meta package).

:white_check_mark: Package verification completed without issues. PR is now pending human review


feat(vitest): "test" accepts options as the second parameter

Description
Fixes #5121
TODO:

[x] Support "describe"
[x] Support ".each"
[x] Docs
[ ] Tests

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
[ ] Ideally, include a test that fails without this PR but passes with it.
[ ] Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.

Tests

[ ] Run the tests with pnpm test:ci.

Documentation

[ ] If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

[ ] Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

How about jest migration docs?

We still support this syntax without depreciation


[Playground] Add an option for Datastore namespace value for ci_cd.py script

Add an input variable for CI/CD scripts to support custom namespaces for Datastore client
fixes #24815

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

[x] 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.
[ ] 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.

lgtm thanks y'all!


[137] Add trainee presenter for dttp

Context

https://trello.com/c/S6xNozZ5/137-m-add-trainee-presenter-for-dttp

Changes proposed in this pull request

Pulls out the trainee data formatting from the ContactService::Create into a separate presenter
Handles all currently stored attributes on the Contact entity minus the look up ones.

I've referenced the RTTD - New Data Standard v1.1 but the following fields (which we currently have in the schema) are not added to the presenter as they're look up fields:

disability - no matching d365 field at the moment
nationality
ethinicity

Guidance to review

Fire up a  rails console
Run the following Dttp::ContactService::Create.call(trainee_data: data) where data is the result of Dttp::TraineePresenter.new(trainee: {trainee_object}).call
Assert the payload is sent correctly

Depends on https://github.com/DFE-Digital/register-trainee-teacher-data/pull/43

 [M] Add Trainee presenter for DTTP


T-295 remove .npmc to make circle happy

don't depend on secrets for PR builds

Config validates :horse:


Feature Request: Textfield allow override of key events before Textfield is changed.

Hello. It would be nice to be able to get some callbacks with the chance to change behavior before it is applied to the Textfield.
Here is an example.
A search box where the user presses the up/down arrow keys to select suggestions. The default behavior of the Textfield is to move the cursor to the beginning or end of the text field. Getting a callback with the key event before the state of the Textfield is updated and a chance to change what happens would be great.
The other option would be allow rawkeyboardlistener to swallow or forward events to its children based on a handler. Right now if I wrap a TextField inside a Rawkeyboardlistener they both receive the key events without discrimination.
I’m not sure what approach would be better. But either way it seems a sdk change is needed to make this happen.

@kenthinson have you found a workaround for this? We have a similar use case where we allow keyboard navigation of search results. When the user navigates up and down with arrow keys, the TextField responds to the events and moves the cursor to the start as you have experienced.


_1password-gui: 0.9.1 -> 0.9.2-1

Motivation for this change
Changes:
https://1password.community/discussion/116663/1password-beta-0-9-2
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 102958 run on x86_64-linux 1

1 package built:

_1password-gui

Result of nixpkgs-review pr 102958 run on x86_64-linux 1
1 package built:

Thanks! Does it work for you as well?

Thanks! Does it work for you as well?

Didn't try to use it.

Ack. Anyway, the 1password version bumps haven't led to any problems yet, so let's just merge this, before there is yet another release ;).


RangeSlider does not behave to touch input as expected.

RangeSlider has inconsistent input behavior:

You can see me struggle to move the secondary slider. The pattern I could find with the behavior is that SLOW gestures react properly, while FAST gestures don't always detect properly. What I mean by fast gestures is "whipping the mouse" from the slider instead of clicking on it and sliding it calmly.
This is happening on both sliders, more the second slider than the first. A normal Slider works flawlessly, however.
Steps to Reproduce
Here's a code snippet. No, the _range field is not updating several times because of the if statement in the code. Breakpointing it reveals it only runs once when the widget is built. Therefore it is not interfering with the mecahnics of the RangeSlider.
              StreamBuilder<double>(
                  initialData: player.duration,
                  stream: player.durationStream(),
                  builder: (context, durPayload) {
                    double duration = durPayload.data ?? 0;

                    if (_range == null || _range.end == 0) {
                      _range = RangeValues(0, duration);
                    }

                    return Row(
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: <Widget>[
                        Padding(
                          padding: const EdgeInsets.only(left: 8.0),
                          child: Text(_stringForSeconds(_range.start)),
                        ),
                        Expanded(
                            child: RangeSlider(
                                activeColor: Theme.of(context).accentColor,
                                inactiveColor: Theme.of(context).hintColor,
                                max: duration.toDouble(),
                                values: _range,
                                onChanged: (newRange) {
                                  setState(() {
                                    _range = newRange;
                                  });
                                })),
                        Padding(
                          padding: const EdgeInsets.only(right: 8.0),
                          child: Text(_stringForSeconds(duration.toDouble())),
                        ),
                      ],
                    );
                  }),

Target Platform: Android
Target OS version/browser: Android 9.0
Devices: Pixel 3a emulator
Device information:
Name: Pixel_3a_API_28
CPU/ABI: Google Play Intel Atom (x86)
Path: C:\Users\saad4\.android\avd\Pixel_3a_API_28_1.avd
Target: google_apis_playstore [Google Play] (API level 28)
Skin: 1080x2220
SD Card: 512M
fastboot.chosenSnapshotFile:
runtime.network.speed: full
hw.accelerometer: yes
hw.device.name: pixel_3a
hw.lcd.width: 1080
hw.initialOrientation: Portrait
image.androidVersion.api: 28
tag.id: google_apis_playstore
hw.mainKeys: no
hw.camera.front: emulated
avd.ini.displayname: Pixel 3a API 28
hw.gpu.mode: auto
hw.ramSize: 1536
PlayStore.enabled: true
fastboot.forceColdBoot: no
hw.cpu.ncore: 4
hw.keyboard: yes
hw.sensors.proximity: yes
hw.dPad: no
hw.lcd.height: 2220
vm.heapSize: 256
skin.dynamic: yes
hw.device.manufacturer: Google
hw.gps: yes
skin.path.backup: _no_skin
hw.audioInput: yes
image.sysdir.1: system-images\android-28\google_apis_playstore\x86\
showDeviceFrame: no
hw.camera.back: virtualscene
AvdId: Pixel_3a_API_28
hw.lcd.density: 440
hw.arc: false
hw.device.hash2: MD5:0e6953ebf01bdc6b33a2f54746629c50
fastboot.forceChosenSnapshotBoot: no
fastboot.forceFastBoot: yes
hw.trackBall: no
hw.battery: yes
hw.sdCard: yes
tag.display: Google Play
runtime.network.latency: none
disk.dataPartition.size:<PHONE_NUMBER>
hw.sensors.orientation: yes
avd.ini.encoding: UTF-8
hw.gpu.enabled: yes

Logs
flutter run --verbose:
https://hasteb.in/egisepub.sql

flutter analyze
Analyzing chacha...
No issues found! (ran in 5.0s)

flutter doctor -v
[√] Flutter (Channel dev, v1.13.0, on Microsoft Windows [Version 10.0.18362.10024], locale en-US)
    • Flutter version 1.13.0 at C:\flutter
    • Framework revision 09126abb22 (11 days ago), 2019-12-03 17:43:00 -0800
    • Engine revision<PHONE_NUMBER>
    • Dart version 2.7.0 (build 2.7.0-dev.2.1 a4d799c402)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Users\saad4\AppData\Local\Android\Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = C:\Users\saad4\AppData\Local\Android\Sdk
    • ANDROID_SDK_ROOT = C:\Users\saad4\AppData\Local\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 41.0.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] IntelliJ IDEA Community Edition (version 2019.2)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.3
    • Flutter plugin version 40.2.4
    • Dart plugin version 192.7402

[√] IntelliJ IDEA Ultimate Edition (version 2019.3)
    • IntelliJ at C:\Users\saad4\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\193.5662.31
    • Flutter plugin version 41.1.5
    • Dart plugin version 193.4697.16

[√] Connected device (3 available)
    • AOSP on IA Emulator • emulator-5554 • android-x86    • Android 9 (API 28) (emulator)
    • Chrome              • chrome        • web-javascript • Google Chrome 78.0.3904.108
    • Web Server          • web-server    • web-javascript • Flutter Tools

• No issues found!

CC @clocksmith

I am having some trouble reproducing this. From the gif, it looks like the range slider is sitting in some sort of pull up sheet. Is it possible that the gesture detector of that sheet is interfering with the gesture detector of the RangeSlider?
That would still be an issue, but can you try to reproduce with the RangeSlider in a simple layout, where it is sitting in something like a Container or a Column (without any parents that have scroll/gesture detectors)?

@clocksmith You nailed it. BottomSheet is intefering. I'm using this plugin https://pub.dev/packages/sliding_up_panel
and it seems to be affecting RangeSlider's behavior. I set a simple RangeSlider on the back panel (constant background) instead and it worked perfectly.
This is still a valid bug obviously, but we have a direct cause now.

short update: It's not consist even when i "slowly" move the slider.

I'm stupid.
                      if (_range == null || _range.end != duration) {
                        _range = RangeValues(0, duration);
                      }```

```dart
_range.end != duration

(it resets every time I move the right nub

Glad this worked out.  This is a well documented issue and will help determine the correct behavior for sliders inside widgets with gesture detectors.


remove spinner, change text, update layout

Spec: https://docs.google.com/document/d/1GHLayNW9xHWWyj_sEeRGh5T7oepGsvldLLg6uyJZYH4/edit#heading=h.blt0fbwgkgt2
Made the text box 1/3 the screen width (following spec) looks a little awkward but so does every size
One open comment on spec for @ctsims

HQ side @kaapstorm

Cool, Clayton signed off on his last question. @amsagoff can we merge this or are we waiting on some HQ action?

so simple, so beautiful.
We're waiting on @kaapstorm to implement on HQ but should happen before 2.26 release


Feature/feedback ui modals.

What does this pull request aim to achieve? 💯
Feed back button on the header section will redirect the page to 4 main feedback Modals as showing below. The only thing we are still working on is the Radio Buttons(image 2). Currently the buttons are not working, But everything else is working just fine.

🚨Before submitting this pull request🚨:
Please do NOT submit this PR if you have not done the following:

[x] 1. I have checked that no one else is working on similar changes.
[x] 2. I have read the latest README and understand the development workflow.
[x] 3. The name of this branch is: feature/<branch_name> (need to have cloned the repo not forked).
[x] 4. This branch is rebased/merged with the latest master.
[x] 5. There are no merge conflicts.
[x] 6. There are no console warnings and errors.
[x] 7. On the right hand side of this PR, I have linked the appropriate issue(s) under "Issues" and added a project progress under "Projects".

@robinv85 @DanielAlexander84 Could you check when you have time. Thank you.

looks good, just some finishing touches
so the API call isn't executed yet? or did i miss it

Yea @DanielAlexander84 said that we still need to send the feedback once submitted. I don't know how to do that tbh.

looks good, just some finishing touches
so the API call isn't executed yet? or did i miss it

Yea @DanielAlexander84 said that we still need to send the feedback once submitted. I don't know how to do that tbh.

So I actually already built in the API call, but the data is never being saved in the state. That was one of the things I hadn't completed yet and was unsure of how what was causing problems. However, as soon as the input is being saved to the state, the API is already wired to use the state and send the corresponding data to the backend.

@DanielAlexander84 @omarzoghayyer are you guys taking care of this or @pthoma14 needs to team up with another engineer?

@manualzuru I've already received an update from @DanielAlexander84 on our MVP_feedback channel that the request works fine, but they're looking into retrieving the data from the inputs.
Once that's fixed, I'll be able to run the E2E test.

I'll look at this to fix the merge conflicts and finish remaining work

I'd like to work on this. I changed the form inputs to correctly save and submit the values from state, and made sure the types match the backend schema. Should I open a new PR or is there a way I can submit to this one?

@DanielAlexander84  @robinv85  thoughts?

I'd like to work on this. I changed the form inputs to correctly save and submit the values from state, and made sure the types match the backend schema. I did verify and the API call is receiving the values correctly. Should I open a new PR or is there a way I can submit to this one?

Hi! Thanks for working on this issue. If you have access to our GitHub you should be able to push your changes directly to this PR. If that doesn't work for some reasons then a new PR is also an option. But it should be alright with just pushing here. 😄

In the MVP feature requirements, it's written that we want the ThankYou modal to disappear after 3 seconds. I could also add this, but would it not be better to just make the modal closable?

@kylejvh that definitely works. Whichever is easier for you to implement for the soft launch.

There are other improvements that can be made here. I think it's in a decent state for the MVP now, but I'm open to suggestions.

Ah ok, yeah I was looking at this, just rebased and fixed the merged conflicts, but I was told this was low priority so it shouldn't be worked on until the other features were finished, just I just left it... but I can review again though

Hey @robinv85 thanks for reviewing. I asked our newly onboarded engineer @kylejvh  if he could help us out by taking a look into this issue.
Once fixed we can move onto other critical issues

After Discussing with both @omarzoghayyer and @robinv85  I believe we should do the following:

Pre-Soft Launch - Review and Merge the branch (as long as it doesn't negatively affect any other features )
Pre-Soft Launch - Fix any merge/functionality issues
I'll help with Q/A + E2E + Then Launch
Post-Soft launch - Brainstorm best way to optimize/improve the implementation of this feature  + Make necessary fixes
V1.1 or 1.2 - Launch with an improved react-hook-form.

If anyone has any thoughts/concerns let me know. Right now my focus is on making sure we launch a Stable "alpha" version of this feature ASAP and then iteratively improve this feature going forward.
@robinv85 @joshmorel  @DanielAlexander84 @idjevm can someone please help review this PR (and please make sure it's stable enough to merge) and then if everything checks out please merge.

@pthoma14 I will be taking a look now, Please everyone, feel free to play around with this Build URL -> https://featurefeedback-ui.fightpandemics.xyz

I can finish up work on this, my latest commit has problems. Going to fix these up and get the basic functionality working for MVP with the next commit soon.

I can finish up work on this, my latest commit has problems. Going to fix these up and get the basic functionality working for MVP with the next commit soon.

Thank you @kylejvh

Hey @kylejvh , just wanted to get a status update.
We’re now approaching a potential Code-Freeze tomorrow at 11am PST and I wanted to see if this feature is ready for deployment or not?

@pthoma14  I've been busy lately but it should be ready now. My latest commit should get everything in a more usable state. This should be good for MVP, but we don't actually show the feedback button when a user is logged in. This is another thing that should be fixed post soft-launch.

@kylejvh thank you so much for helping out as much as you have.
@omarzoghayyer yes agreed.
In terms of the feedback button being displayed while the user is logged in. It should be in the Profile Menu (for both mobile and web).
mobile

desktop

@kylejvh just want to make sure that's what you meant for a logged-in user?

@pthoma14 Yes, exactly. That's not currently working. I can work on this, but I can't guarantee it'll be ready before the Code Freeze you mentioned.

@kylejvh if that isn't working right now. How is the logged-in user able to initiate the feedback feature currently? Is it via the envelope button?

@pthoma14 There were no buttons available for logged in mobile or desktop users to submit feedback. I just fixed this to reflect the images you posted and the designs on Zeplin. I cleaned up the mobile menus a bit and also fixed the backend, which wasn't properly checking if a user already submitted feedback.

Thank you @kylejvh 🙏


Remove cloud billing from beta

Summary
Remove cloud billing entirely from beta branch

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: 1881378a7aa7c4cc835569489a9d3d642f8b381e


How to get the DESP credentials?

Hi, we are working on the OGC Testbed-20 Use Case B of EUMETSAT (described here: https://portal.ogc.org/files/?artifact_id=104098#eumetsat)

Regarding weather and climate data, as the Destination Earth Digital Twin outputs will be available from Q3 2023 onward, which is incompatible with the timeline of the Testbed-19 implementation

now the data seems to be available, but we would need the credentials to make use of it (via the STAC API, like in the HDA-PyStac-Client notebook).
Who should we get in contact with?

Dear Claus,
We are working on your request and will give you access as soon as possible.
Can you please give us the list people needed access ? (name, surname and email)
Kind regards
Danaele