Release quality 17.09

At NixCon 2017 it appeared as if the release managers thought their release went well. Via this message I would like to provide some data to the contrary.
I tried to upgrade on two different machines to 17.09 and none of them worked without reconfiguration or without removing features. As such I am still stuck at 17.03 on both and haven't bothered upgrading other machines.
For example:

Skype doesn't work anymore (broken download)
Flash failed (has been fixed, but by the time 10 people have discovered it, you already failed)
NFS with autofs or systemd doesn't work due to a missing symbol (open for months)

It is great that doing a rollback was possible (although it does restart the network connection, which would result in some downtime on production infrastructure), but as far as I am concerned no working 17.09 release with feature parity from 17.03 has been released.
I am also not happy with the discontinued support of 32 bits code when other distributions still support newer 32 bits code. Not sure whether this is specific to 17.09.
There are just a small number of critical packages that tens of millions of people use of which Skype and Flash are an example. NFS is used by a lot of businesses and as such should also be considered important. I don't understand how one can make a release without systematically creating tests based on e.g. Debian's popcon download measures to see whether a package still works. If a release has any QA done on it, I have missed it.
What is the point of tagging some git version as a release when the QA on it is non-existent?

Flash and Skype in Debian's popcon? :-)  I must say our QA for unfree packages is inherently worse just because of the policy not to allow building such packages on the build farm.

If a release has any QA done on it, I have missed it.

To remain positive, QA done specifically for the release: https://github.com/NixOS/nixpkgs/issues/28643.  A critical test-set is checked before every channel bump, too, though it would certainly be nice to have more tests.  You may have noticed a couple proposals around tests on NixCon 2017.

Hi there!
Yes, indeed, we are quite proud of our release. We merged thousands of
pull requests, addressed many many issues, added lots of services and
packages, and included many security updates. Our community has also
grown quite a lot, and we are proud and excited by the growth and
progress of NixOS.
 It seems you fall
in to somewhat less tested areas of NixOS, and that is certain to
expose you to sharper corners and more broken things. I'm sorry you
did! Please try upgrading your remaining machines, as 17.03 is no
longer supported. We'd rather dedicate everyone's efforts to making
17.09 work sufficiently well.
It seems that two of your issues are with unfree software, which NixOS
doesn't officially test in any capacity. This is by policy, so any
sort of testing on these packages will have to be by volunteer
contributors on their own time and hardware.
If you'd like to help with this, I'd be happy to work with you to help
set something up.
Your third issue about NFS:
NFS with autofs or systemd doesn't work due to a missing symbol
(open for months)

Luckily, it seems one of our volunteer contributors has a patch! Maybe
you could try it out on your system, and reply to the PR:
https://github.com/NixOS/nixpkgs/pull/31038

It is great that doing a rollback was possible (although it does
restart the network connection, which would result in some downtime
on production infrastructure)

Interesting! I don't see an issue about this. Can you open one? When I
call nixos-rebuild switch, I don't have this issue ... Hmm...

I am also not happy with the discontinued support of 32 bits code

Unfortunately NixOS is a small distribution without substantial
corporate backing. We still support and build some software for i686,
but as you say, we no longer support entire i686 systems. It was a
very difficult choice, as we didn't want to leave users without
updates, but we believe it was worth the decision. x86_64 has been
available for 17 years now and covers almost all of the modern
hardware. Dropping i686 support has significantly improved our ability
to test and release NixOS. What were you using i686 for?
Regarding NFS: We have automatic testing of NFS 3 and NFS 4, which
pass:

https://hydra.nixos.org/job/nixos/release-17.09/nixos.tests.nfs3.x86_64-linux
https://hydra.nixos.org/job/nixos/release-17.09/nixos.tests.nfs4.x86_64-linux

These tests automatically create servers and clients and run thorough
tests to ensure our NFS support works. I think that is pretty good,
and pretty cool! However, it doesn't cover the autofs case. Perhaps
we should add that to the test? Would you like to send a PR adding it?
If so, I'd be happy to do an IRC chat or video call to help you.
Maybe you're not familiar with the extensive, innovative automatic VM
testing we already do? I think it is pretty cool, and many distros
don't have as robust of a test framework we do.
Please remember that NixOS is operated by a very wonderful group of
volunteers, and your negativity isn't welcome.
If you would like to learn about our release proceses, we'd be happy
to show and teach you.
If you would like to learn about our QA process, we'd be happy to show
and teach you.
If you would like to become a contributor and help scratch your own
itches, make NixOS as good as it can be for your use cases, we'd be
happy to show and teach you.
If you would like to contribute enough money to hire a team of full
time people to work on and support NixOS, we'd be happy to work with
you.
Thank you,
Graham Christensen

I'm pretty sure I cannot add much to @grahamc's awesome response, except to say we're sorry that you had issues and want to emphasize that we try to deliver the best experience possible but sadly don't have infinite resources and even by far not as many as debian etc.

Updated the nixpkgs manual and the wiki that we cannot test or build unfree packages.

@grahamc
I upgraded one server to 17.09. Another system upgrade broke idempotency.
That is, nixos-rebuild switch;nixos-rebuild switch != nixos-rebuild switch. It is my understanding that the NixOS organization claims to achieve the opposite.
The i686 device is an end user laptop. If it runs a browser (don't care which one as long as it is graphical) and an ssh client.
Regarding your tests, I took a look at one of your links and found a build with a green checkmark which said ( https://hydra.nixos.org/build/63781841#tabs-summary )
server# [   27.174097] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.10.2-0-g5f4c7b1-prebuilt.qemu-project.org 04/01/2014
server# [   27.179101]  ffffa155d76039a8 ffffffff90af7b12<PHONE_NUMBER>000000<PHONE_NUMBER>000000
server# [   27.180555]  ffffa155d76039e8 ffffffff9086f3ab 000001ec90c90135 ffffa155d48c5800
server# [   27.182066]  ffffa155d3d5d800 ffffa155d3d5e888 ffffa155d3c1da00<PHONE_NUMBER>000000
server# [   27.183307] Call Trace:
client1# [   12.469497] dhcpcd[645]: Failed to try-reload-or-restart ntpd.service: Unit ntpd.service not found.
server# [   27.183857]  <IRQ> [   27.184156]  [<ffffffff90af7b12>] dump_stack+0x63/0x81
server# [   27.185127]  [<ffffffff9086f3ab>] __warn+0xcb/0xf0
server# [   27.185811]  [<ffffffff9086f49d>] warn_slowpath_null+0x1d/0x20
server# [   27.186968]  [<ffffffff908f8b13>] cgroup_get+0x53/0x60
server# [   27.187702]  [<ffffffff908ff080>] cgroup_sk_alloc+0x50/0xe0
server# [   27.188316]  [<ffffffff90c935fe>] sk_clone_lock+0x2fe/0x3c0
server# [   27.189258]  [<ffffffff90cf74f6>] inet_csk_clone_lock+0x16/0xf0
server# [   27.190270]  [<ffffffff90d12dc3>] tcp_create_openreq_child+0x23/0x4c0
client1# [   12.475306] nscd[713]: 713 monitoring file `/etc/passwd` (1)
server# [   27.191522]  [<ffffffff90d11667>] tcp_v4_syn_recv_sock+0x47/0x350
server# [   27.192466]  [<ffffffff90d13acd>] tcp_check_req+0x35d/0x4f0
server# [   27.193388]  [<ffffffff90d60fb4>] ? tcp_v4_inbound_md5_hash+0x63/0x18a
server# [   27.195173]  [<ffffffff90d12863>] tcp_v4_rcv+0x513/0xa00
server# [   27.196059]  [<ffffffff90ce9f64>] ? ip_route_input_noref+0xbb4/0xe70
server# [   27.197068]  [<ffffffff90cebb36>] ip_local_deliver_finish+0x96/0x1c0
server# [   27.198072]  [<ffffffff90cebe10>] ip_local_deliver+0x60/0xd0
server# [   27.198887]  [<ffffffff90ceb7c8>] ip_rcv_finish+0x118/0x3f0
server# [   27.199836]  [<ffffffff90cec0e3>] ip_rcv+0x263/0x370
server# [   27.201042]  [<ffffffff90d213eb>] ? arp_rcv+0x10b/0x1a0
server# [   27.202384]  [<ffffffff90caadc5>] __netif_receive_skb_core+0x505/0xa30
server# [   27.203493]  [<ffffffff90d17fbc>] ? tcp4_gro_receive+0x11c/0x1c0
client1# [   12.488737] nscd[713]: 713 monitoring directory `/etc` (2)
server# [   27.204791]  [<ffffffff90d27d72>] ? inet_gro_receive+0x202/0x2a0
server# [   27.205962]  [<ffffffff90cab308>] __netif_receive_skb+0x18/0x60
server# [   27.206862]  [<ffffffff90cab373>] netif_receive_skb_internal+0x23/0x80
server# [   27.207986]  [<ffffffff90cac132>] napi_gro_receive+0xc2/0xe0
server# [   27.208896]  [<ffffffffc04310fd>] virtnet_receive+0x23d/0x870 [virtio_net]
server# [   27.210171]  [<ffffffffc043174d>] virtnet_poll+0x1d/0x80 [virtio_net]
server# [   27.211394]  [<ffffffff90cabb66>] net_rx_action+0x216/0x350
server# [   27.212362]  [<ffffffffc03c5504>] ? vring_interrupt+0x34/0x80 [virtio_ring]
server# [   27.213595]  [<ffffffff90d6ca54>] __do_softirq+0x104/0x28c
server# [   27.214306]  [<ffffffff90875466>] irq_exit+0xb6/0xc0
server# [   27.214981]  [<ffffffff90d6c7a4>] do_IRQ+0x54/0xd0
server# [   27.215702]  [<ffffffff90d6a882>] common_interrupt+0x82/0x82
client1# [   12.500208] dhcpcd[645]: Failed to try-reload-or-restart openntpd.service: Unit openntpd.service not found.
server# [   27.216492]  <EOI> [   27.217018]  [<ffffffff90d69746>] ? native_safe_halt+0x6/0x10
server# [   27.217974]  [<ffffffff90d69480>] default_idle+0x20/0xd0
server# [   27.218942]  [<ffffffff9082f99f>] arch_cpu_idle+0xf/0x20
server# [   27.219919]  [<ffffffff90d69893>] default_idle_call+0x23/0x30
server# [   27.220955]  [<ffffffff908adbf1>] cpu_startup_entry+0x1c1/0x230
server# [   27.222225]  [<ffffffff90d627f7>] rest_init+0x77/0x80
server# [   27.223298]  [<ffffffff91111f71>] start_kernel+0x42c/0x439
server# [   27.224237]  [<ffffffff91111120>] ? early_idt_handler_array+0x120/0x120
server# [   27.225696]  [<ffffffff911112ca>] x86_64_start_reservations+0x24/0x26

to me that says that the QA on the tests themselves is lacking. One of the prerequisites for testing an application is a working system. That is already not working here, so at that point I stopped reading output.
While everyone hearts your reaction, this self congratulatory attitude seems overly positive. Perhaps I have different metrics regarding success, though. For example, you count thousands of PRs being merged as an achievement. I count the work of e.g. Ericson2314 as one feature of interest (if it works) despite it being spread out over many PRs. As a leadership principle, undesired behavior should not be encouraged. By celebrating a meaningless metric like the number of merged updates, you only achieve tired contributors (because pressing a merge button cannot possibly be more boring), who at some point will be bored and stop.
When people dig a tunnel with a teaspoon you are the one cheering to the team, while I am there thinking: why don't they call 3M?
Your message about my "negativity not being welcome" seems to be straight from SJW hell. While Nix and NixOS do some things pretty good, there is also a lot of stuff which is terrible. Implying you only want "happy thoughts" essentially is not leadership, it's a culture suited for the gulags.

I am not sure whether this is an American thing, but I can assure you that it is not normal to take criticism this badly.
In short, your message is more passive aggressive than it should receive a heart. In the future stick to the facts please. The facts are that 17.09 was not ready for use, even today.
@fpletz You are allowed to test and build unfree packages in a lot of cases. Redistributing the resulting builds just is not always allowed. But distributing the recipe for building something and claiming you have followed that recipe and ended up with something that works is perfectly fine. There are a few database vendors which say that you cannot publish benchmarks, but simply saying that you cannot do it, is just lying. Perhaps you don't want to do it or you have no interest in it. Perhaps there is nobody in the entire community interested in it.
That still doesn't mean that it cannot be done.
So, building a piece of software and then not distributing it to entities who are not a member of the NixOS organisation is perfectly legal.
This particular contribution to the manual is of negative value, because it doesn't reference any policy and provides no legal reason. As such, you have just inflated the size of the manual prematurely and someone else (me in this case) needs to point out the fact that you need to redo it again.

Upgrade broke idempotency
Could you please elaborate what broke for you? Did you open an issue for that? Claiming something broke without mentioning what or any further explanation is not polite.

The facts are that 17.09 was not ready for use, even today.

Why? What are the issues that should be fixed in your opinion?
You can't expect everything to be bug-free, even with extensive testing in place. Just look at other community-driven distributions for a reference. Errors happen, may they be in the code or in its tests.
nfs4 NixOS Test
This could be a bug in the test that nobody noticed before. We should fix that but that doesn't mean that all NixOS tests and their QA are inherently inadequate. Even though the kernel printed a stack trace the VM seemed to work fine. I can't pinpoint an actual cause for the stack trace after a quick look.
Unfree packages
Our CI system is not able to build packages without pushing it to the binary cache at cache.nixos.org. This would require some code changes. You're free to implement this. As nobody has done this yet or opened an issue that I know of there doesn't seem to be much interest in it.
I don't agree that the manual change is useless and that I am lying. It just clarifies that we can't support unfree software unless we look at each license/EULA on a case-by-case basis ("most"). This is the legal reason. If you have a suggestion to improve the wording, please do send it to me or open a PR.
You're also welcome to help to add license abstractions for unfree software that we can build, distribute or run. We're just putting everything in the unfree category so we don't have to deal with that.
Personally, I'm not interested in improving the unfree packages situation in my spare time and any help is appreciated.

Unfree packages: I don't see it as being that much about legal reasons but about current policy for the build farm – it disallows building "unfree" packages and now it's explicitly written down in docs.  Note that many distributions don't even allow them into the main repository.  I'm personally not too motivated by them, but if enough people are interested, surely they can put together a Hydra instance doing the additional unfree tests (and write them first, actually :).
Negativity: I'm personally not at all against criticizing etc. but it seems only useful if it's done in a "productive way", i.e. focused on fixing those problems.  For example, you claimed that idempotency got broken but you provided almost no information about it (so far).

@vcunat It's not that I don't want to provide information. The available logging information was limited. I got a "Warning" that a service didn't restart correctly, but running nixos-rebuild switch directly afterwards did succeed. I looked into journalctl and journalctl -xe and didn't see the details that were needed for a quick resolution.
I wouldn't mind running a Hydra instance for a limited number of packages, but not as long as I can't just copy paste something complete in my configuration.nix.
@fpletz The font issue mentioned is the most user visible problem and that's 100% open-source code. If there is an intention to make things better, one could setup a canary machine that compares pixels for various terminal emulators as well as e-mail programs for different versions for rendering 'the quick brown box...'.
The reason this would be a reasonable approach is that desirable font changes for a given machine for the same configuration are extremely rare, while searching for "broken fonts" on a search engine returns many results. It is a recurring problem resulting from a lack of QA processes.
Implementing something like this could be done on various levels, but starting a terminal emulator, waiting for the window to exist with e.g. wmctr, making an automated screenshot (with scrot) and comparing the image to the reference image for equality seems to be in the realm of the possible (that could be a call to diff). Once that is in place, the same tests could be run on virtual graphics devices and shipped to end users even. End users could select that they want to opt in to the test program, where differences would result in an automatic rollback. That way they don't even need to report that their NVIDIA GTX1070 with sprinkles has a problem. Instead, they would just upgrade the next week, possibly automatically, and they would have never seen there was a problem in the first place.
I agree that it would be better if Microsoft would maintain a Nix expression for Skype, but since they don't do that... If there was an open-source alternative for Skype, I wouldn't mind to share those with my contacts, but the last time I tried to use one, it didn't end well.
Regarding the legal issue: You should first establish that there is even a single EULA on this planet which says that you are not allowed to talk about the mere fact that a particular Nix expression accomplishes something when installed on your infrastructure.
You can write a whole book about doing highly illegal things.
In fact, in the case of Nix it's a mathematical theorem:
Given a complex state machine (a computer), and then executing a particular program will result in a particular bit being set to 1. There is no way that's illegal.
A less contrived argument is that it falls under interoperability laws and you are perfectly allowed to reverse-engineer even Oracle software for such work.
I am fairly sure that Oracle would be happy to see its software work on NixOS out of the box with an integrated payment system so they can more easily take your money. It's just that NixOS is so incredibly insignificant right now that merely looking at this website won't have a positive ROI for them.
Doing much more than this, like running actual benchmarks and publishing those is against the EULAs of some companies, but that's a completely separate topic.
So, my point stands. Legally, your arguments are not sound. If you don't want to do work for free, that's an understandable position, but don't make up legal arguments based on nothing.
Just because something is community driven, doesn't mean quality has to suffer. Comparing yourself to other distributions doesn't lead to a significantly better system. The reason NixOS exists, is because all the other distributions were designed badly. The other systems cannot and will never work.

one could setup a canary machine that compares pixels

I don't think that will work reliably without repeated maintenance.  There isn't one way to render fonts, and freetype+fontconfig do change the (default) rendering a bit, from time to time.  Still, if someone was manually checking it whenever it changed and somehow was building up a database of acceptable renderings... it might work well and it would be better QA, yes.  (It's not high on my own priority list, but why not have them.)
BTW, we do have some VM tests with OCR, screenshotting, etc.  The VM tests aren't very resource-efficient, and some are planned to be migrated to containers, but everyone is welcome to write more tests.  I'm certain we can accommodate reasonable ones on Hydra (for "free" SW at least).

This discussion is not leading to anything productive. Therefore I'm closing this issue.
The other comment was edited to include the "incompetence" of someone responsible for the release. This language is not acceptable. You're just discrediting the hard work of our community without having contributed anything yourself. Please help instead of insulting people who want to help you. :hankey:
I do not understand your arguments about the legal issue and will not waste any time discussing this with you. Please open a PR with alternative wording or shut up about this.

@fpletz You are lying again, since it has actually led to something productive in the referenced issues. As such you are essentially discrediting me, while in fact I did make a useful contribution, albeit not in code, but with a comment to the upstream author of the package causing the issue. Clearly, that has been useful.
If you lack the mental capabilities to understand a legal argument, you should delegate decisions to others who do.
Criticism is discrediting "the hard work" and can optionally include mentioning things that went well, which is exactly what I did. The fact that you haven't learned the concept of criticism as a grown man must make your life difficult.
You are the one wasting the time of the community with your lies and the fact that the released software broke basic features. If you can't be bothered to run a couple of terminal emulators in all the popular environments (there are about 4 or so), why call yourself "responsible" for the release? If you want to receive credit for a quality release, make a quality release and you will be credited in history with this fact. The flip side is that when you don't, you get the blame and effectively negative credits.
If the person responsible for this isn't incompetent, then the person responsible is not willing to make it work, which would be even worse. If you are going for the "we don't have the resources angle", then don't make a release at all.
Closing an issue for accurately describing a release, because you disagree and you can is nothing short of what Bashar al-Assad would do. With your policy, you should just add an EULA to NixOS stating that one cannot write a review or publish a bug report about NixOS. Perhaps ask Oracle's legal team for advice on such matters.
I sincerely hope that you will learn to take criticism in the future. In a corporation, this issue would be reopened, until all the dependent issues have been solved. Since no such reference has been made, I believe this is not the case. As such the only rational course of action is to reopen this issue. I will close it when the referenced issues have all been resolved.
If I can upgrade to 18.03 in some months without issues I will press the thumbs up button to credit the merit of whoever is responsible for the 18.03 release if someone else makes a review of the 18.03 release.
In short, please stop pissing me off, especially since I am very limited in the amount of time I can spend here.

As noted, this isn't an appropriate way to engage with the NixOS community.  Maybe a different distribution has more competent members that will leave you satisfied.

I wanted to write a response how we treat people regardless how much they contribute to NixOS community, but I feel we've gone through this so many times that I just blocked @mkocha2
You're still welcome to use our free software, but you're not welcome by contributing harsh words.


Report missing errors in User Test mode

In "git" mode, we only report errors that were not reported by the baseline build but are reported by the candidate build.  In "user test" mode, we also want to know if errors went away.
"User test" mode can also run against the top git repos (vs the snapshotted repos we usually refer to as the "user tests"), presumably in order to share in this (intended, but not yet available) behavior.

Done.


[boframework v4][kudu] Access to the path 'D:\home\site\artifacts\manifest' is denied.

Sample information

Sample type: sample
Sample language: dotnetcore
Sample name: UmisBotServiceApp

Describe the bug
build operation failed with error "Access to the path 'D:\home\site\artifacts\manifest' is denied."
Steps to reproduce

created web chat bot
modified the .bot file (online visual studio editor)
execute 'd:\home\site\wwwroot\build.cmd' in kudu console
See error

Expected behavior
The build should be successful
Screenshots

[bug]

Hi @sumithsudesan! What in the .bot file are you modifying?

Hi @sumithsudesan! What in the .bot file are you modifying?
bot file in 'site\wwwroot' folder.
added luis and qna configurations

@jwiley84 - @sgellock has additional context here. when able can you connect with him so we can figure out a plan to get the customer unblocked?


Webpack treeshaking

It would be great to mark this library as side effect free, which is the case as far as I can see, this is the case. Then webpack 4 could leave out unused code during the build.
It is just one line in the package.json.
"sideEffects": false

See this page for more info:
https://webpack.js.org/guides/tree-shaking/

Released in v2


swapped cells

looks like the cells containing AF21 (18) and CS0 (0) actually belong in the DSCP marking column rather than the traffic class column.

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

ID: 76d0ee9b-f416-909d-7adf-4a034b4653d1
Version Independent ID: c2bd3cd6-000b-817e-ca52-72c40eb1d1af
Content: QoS requirements - ExpressRoute: Azure
Content Source: articles/expressroute/expressroute-qos.md
Service: expressroute
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@jambirk Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

there could be a link to RFC 3246, target is https://www.ietf.org/rfc/rfc3246.txt

Thanks for catching this. I'll go ahead and make updates. You can send me email internally if you spot other changes for ER docs. No need to go through public GitHub Issues unless you prefer to.

OK. All set! #please-close


Cherry-pick #343 #348 and #345 to release-1.2

WEB3-243: Upgrade Artifacts Actions using @v3 to @v4 (#343)
WEB3-245: Use --locked to build cargo-risczero from main in CI (#348)
WEB3-244: Add set verifier deployment (#345)

Looks like we need to work around a version issue

I really cannot figure out why forge doc is failing 😕
https://github.com/risc0/risc0-ethereum/actions/runs/12186580058/job/33995404828?pr=349

This PR will land onto release-1.2 after https://github.com/risc0/risc0-ethereum/pull/351


Incompatible with python 3.11

Collecting numba==0.56.4 (from -r requirements.txt (line 2))
  Using cached numba-0.56.4.tar.gz (2.4 MB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [8 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-_i7d1l_k/numba_345449b5e3294882a76589690cdf3a88/setup.py", line 51, in <module>
          _guard_py_ver()
        File "/tmp/pip-install-_i7d1l_k/numba_345449b5e3294882a76589690cdf3a88/setup.py", line 48, in _guard_py_ver
          raise RuntimeError(msg.format(cur_py, min_py, max_py))
      RuntimeError: Cannot install on Python version 3.11.6; only versions >=3.7,<3.11 are supported.
      [end of output]
Collecting numba==0.56.4 (from -r requirements.txt (line 2))
  Using cached numba-0.56.4.tar.gz (2.4 MB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [8 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-_i7d1l_k/numba_345449b5e3294882a76589690cdf3a88/setup.py", line 51, in <module>
          _guard_py_ver()
        File "/tmp/pip-install-_i7d1l_k/numba_345449b5e3294882a76589690cdf3a88/setup.py", line 48, in _guard_py_ver
          raise RuntimeError(msg.format(cur_py, min_py, max_py))
      RuntimeError: Cannot install on Python version 3.11.6; only versions >=3.7,<3.11 are supported.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

This problem also exists with faiss-gpu. My suggestion is to make it simply compatible, or exit early with an error message. Here is even a better suggestion https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/issues/1461

Due to some requirements packages requiring Python<3.11, Python versions 3.10 and above are currently not supported.

Sad, but understandable.


About logo icon doesn't denote chain type (?) in About/ Help message window/ dialog

Is there an existing issue for this?

[X] I have searched the existing issues

Current behaviour
BitcoinQT shows the same about logo icon (orange colour) in all chain type instances, not being consistent with the task bar icon or initia/ start dialog:

Expected behaviour
I think showing the correct icon (colour) that indicates the chain type as in the splash screen (first/ initial dialog when qt starts) and task bar app icon.
Steps to reproduce
Run bitcoin-qt and bitcoin-qt -regnet (or -signet/ -tesnet), click on or press Alt-H and select "About Bitcoin Core", a window with the same title as of the previous selected menu item will popup showing the classic Bitcoin orange icon at the top left corner.
Relevant log output
No response
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
v25.99
Operating system and version
Ubuntu 22.04
Machine specifications
No response

Thanks, I agree with your point and I couldn't find any recommendations regarding this kind of approach either way. I tend to agree more with @GBKS's comment on this matter since that's the spirit of my change, to be in accordance with the other components (splash screen and task-bar icons).


How can I set up region?

$sqs = new Sqs(self::ACCESS_KEY_ID, self::SECRET_KEY, "eu-west-1");
gives
Argument 3 passed to ZendService\Amazon\AbstractAmazon::__construct() must be an instance of Zend\Http\Client, string given, called in .../vendor/zendframework/zendservice-amazon/library/ZendService/Amazon/Sqs/Sqs.php on line 61
error.
Thanks.

This class is defective and hasn't been properly maintained.
I found two issues which I needed to extend the class to override myself :
(1) SQS::__construct($accessKey = null, $secretKey = null, $region = null)
This specifies a string in the docblock. If used the string is passed to  parent class
Parent class is Amazon\AbstractAmazon and that constructor specifies
__construct($accessKey = null, $secretKey = null, HttpClient $httpClient = null)
(2) The default region is specified by protected property $_sqsEndpoint
This is set to 'queue.amazonaws.com' and it's hard-coded to be used in _signParameters
There is no setter for this endpoint, it is only valid for US East locations.
SQS endpoint varies according to region, as in
http://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region
Again I had to override this, by extending SQS class so I could set $_sqsEndpoint to 'sqs.eu-west-1.amazonaws.com' needed for my queues (this would also provide correct endpoint for ListQueues and CreateQueue)
This class cannot have been properly tested, and should probably be removed from the Repo until fixed
It is unable to supply defaults without the developer breaking apart the code, and noticing the default SQS hostname is used to create Signature incorrectly for non-USA queue reqions.

This is the sample I extended the SQS service with, to make it usable, maybe help to see how it should connect

use ZendService\Amazon\Sqs\Sqs;
use ZendService\Amazon\Sqs\Exception\RuntimeException;

class QueueReaderService extends Sqs
{

	public function __construct(array $aConfig)
	{
		//	NS : Constructor specifies 3rd argument of region (string) but
		//	passes to parent class which requires Zend_HTTP_Client. WRONG.
		parent::__construct($aConfig['accesskey'], $aConfig['secretkey']);

		//	NS : Class has hardcoded $_sqsEndpoint = 'queue.amazonaws.com' : WRONG
		//	this should derive from hostname - which it uses to create Signature
		$this->setSQSRegionEndpoint('sqs.eu-west-1.amazonaws.com');
	}

	/**
	 *	@param string
	 */
	public function setSQSRegionEndpoint($sRegionEndpoint)
	{
		$this->_sqsEndpoint = $sRegionEndpoint;
	}
}

I added quick fix in https://github.com/Xerkus/ZendService_Amazon/tree/feature/sqs-regions
If someone wants to cleanup and test that, i will be happy to merge the PR.


[WIP] Fix go mod tidy

Description
Fixes https://github.com/dapr/components-contrib/issues/62
Issue reference
https://github.com/dapr/components-contrib/issues/62
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

hey @sayboras, can you please resolve conflicts and fix the linter issues?
That's a very helpful PR, glad to see someone figured it out :)

hey @sayboras, can you please resolve conflicts and fix the linter issues?
This is a very helpful PR, glad to see someone figured it out :)

Sorry, I was a little bit occupied recently, just have time to wrap it up. @yaron2 @youngbupark for your input and review.


fix word timestamps for batched inference

it was caused by wrong num_frames argument when finding the alignments, it was assumed that inferring it from encoder output size was sufficient but turned out to cause issues such as #919 when the actual segment size is much less that the inferred size

closed in favour of #921


fix: close modal after clicking settings btn

PR Type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Context

[x] Closes #7153
[ ] Requires deployment <snek/rubick/worker>

Did your issue had any of the "$" label on it?

[x] my DOT address: Payout

Community participation

[x] Are you at KodaDot Ecosystem Telegram?

Screenshot 📸
Copilot Summary

🤖 Generated by Copilot at 8280712
Fixed a bug in the NeoModalExtend plugin that prevented removing modal listeners. Improved the user experience of the wallet asset menu by closing it when not needed.

🤖 Generated by Copilot at 8280712

Oh we splice the openListener with a clever trick
We find the index with indexOf and we do it quick
We close the wallet modal when we change the route
We use the useNuxtApp hook and the NeoModalExtend to boot

Most code approvals for the least lines added 👀

😍 Perfect, I’ve sent the payout
💵 $30 @ 4.22 USD/DOT ~ 7.109 $DOT
🧗 12jXHf7yYF4wTRjDPbwFB24V1nVRPRkuU2S8Ke5ZWTfvyBGW
🔗 0x273d2d8baafb917d5c6334e7586a7aea88535092f81df1013a84ee927404bcf5
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Feature: Ability to name islands

Is your feature request related to a problem? Please describe.
Currently the islands are named in a very non-descript way like "App 2":

This is fine for smaller applications with few islands but as the number of islands grows it'll be hard to keep track of islands by a number.
Describe the solution you'd like
A good solution would be to provide a way to name the individual islands.
Describe alternatives you've considered
If a custom name API would be infeasible, the next best thing would be to name the island after the component it encapsulates.

Being able to specify a custom name would require extending the transform logic, which is already complex.
I like the suggestion of naming them after the components, I've implemented auto-inferred names in #141.


Co-DETR in mmdetection projects

First of all: thank you for your awesome work; results are extremely good!
Can you explain to me how the collaboration between this repo and the original mmdetection works? Because there is this original Sense-X repo with all the latest trained models and extensions (like mask prediction), but with old mmdetection and custom mmcv stuff.
On the other hand we also have a Co-DETR implementation in the projects directory of the mmdetection repo:
https://github.com/open-mmlab/mmdetection/tree/main/projects/CO-DETR
This works with the latest mmdetection, but looks like a port with major changes. It on the other misses the mask prediction branches and corresponding pre-trained models.
Is this done in collaboration with you guys, or is this done solely by the mmdetection team? And is it the idea that it will move from the projects into the actual mmdetection models/configs or will it stay in the projects directory?
I would be glad to help out.
Thanks again for your work!

Ok thank you for your response. Wouldn't it be a good idea to continue in that repo so that it integrates directly with the latest mmdetection,  or would that hold you back in your development?

Most of my time is occupied by other projects, and I don't have much time to integrate this project into the latest mmdetection repository.


Lalboard

Where is that piece of lalboard you did in fusion?

uploaded it now here https://github.com/JanLunge/keyboards/tree/main/datahand-prototype


Onboard python, js and go pipelines to sparse checkout

Clone times are climbing, so it's probably worth the investment at this point like we did for NET and Java.

python - 50-60 seconds
js - 30+ seconds
go - 30+ seconds

Sparse checkout is around 4 seconds for the above repositories.

Now that all test recordings are moving over to the test-proxy and the recordings are moving out of the repos, sparse checkout becomes less interesting, but sparse index is still probably needed.


[head inertia data added]

daie

I have updated the model in the lorenzo_prova brench which now @FrancescoRuscelli  is tensting as well in simulation. Due to the form of the head I had to remove any collision for the hokuyo (maybe I can add the visualization indeed). Furthermore: in the data provided it was missing the transformation from the torso frame to the head frame, I assumed the one I was using before.
Last, the transformation provided in the documentation are the inverse of the one needed to compile the urdf, so I had to compute them using matlab, ini the next part you should provide the inverse transformation (if we move from frame A to frame B I need the pose of B wrt A).

Merged to master


When to release code?

Is there any plan to release the source code?
Please notify here when you release the code.
Thanks to the author's work!

@HazelWang0 Now


update model format description

This PR added the information about model format for future contribution corresponding to the issue https://github.com/sustainable-computing-io/kepler-model-server/issues/63.
Signed-off-by: Sunyanan Choochotkaew<EMAIL_ADDRESS>

For specific changes refer to the comments. I have also summed up the changes recommended in the following. In README.md, change learning rate from 0.5 to 0.01. This was decreased for online learning. In model_feature.md, I think it is worth including cpu_frequency in counter features since that is now being used in the node model training (PR to be added today). . In model_format.md, Archieved should be Archived. Also note that for keras, models are saved as SaveModel (folder) but exported as an archived zip file I believe.

Thank you for the comments and reviews. I made the changes in README, edited the typo, and added the line to state the zip format. For the feature, I would like to still separate CPU frequency from the counter because in some system such as on VM that is bypassed the hardware counter the CPU frequency is not also bypassed. I kept it as a system feature.

For more clarification, I also updated the model_feature page to list the kepler metric linking it to the features and labels. I just noticed that the prom query for the online training needs to be updated with this new query list too.

LGTM. I will open issues in the event some things can be changed or make a PR. Thanks!


Add bindings for Julia

Julia is a new language designed for scientific programming.
It has a CFFI so should be useable with FFIG.
https://julialang.org
https://docs.julialang.org/en/stable/manual/calling-c-and-fortran-code/

This is being worked on in the dev-jbcoe-julia branch.


Add Performance podspec

Enable more shared test and release processes between binary and source pods.
#no-changelog

Yep, the proposed process is that your team updates the source field of the podspec by code freeze if you want to make an update and the iCore team manages the versioning and release from there.

Yep, the proposed process is that your team updates the source field of the podspec by code freeze if you want to make an update and the iCore team manages the versioning and release from there.

Thanks Paul.
Just to clarify - Perf team, when we plan to make a release, we make changes to the podspec in the "FirebasePrivate/perf" branch and we also make the change to this public podspec? Want to make sure I update the steps for making a release from private Github.

Confirmed.
After the next release, we'll stop managing releases via spreadsheet and the GitHub master branch becomes the mechanism for identifying what is part of a release.


HSEARCH-3485 + HSEARCH-3484 JDK12 compatibility

https://hibernate.atlassian.net/browse/HSEARCH-3485
https://hibernate.atlassian.net/browse/HSEARCH-3484
Full build including a build with JDK12: http://ci.hibernate.org/blue/organizations/jenkins/hibernate-search/detail/PR-1885/2/pipeline/66

Pull Request Test Coverage Report for Build 1

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 88.069%

Totals

Change from base Build 142:
0.005%

Covered Lines:
14564

Relevant Lines:
16537

💛  - Coveralls

Updated according to your comment and launched a full build. Waiting for CI.

Merged, thanks!


Wrong description on the manifest file.

The manifest file is for the MAX6675 component, not for the TM1637.
https://github.com/hayschan/tm1637/blob/b86b9ff3860a63f932634c47f27bc80bed5bed29/idf_component.yml#L1
Please fix the manifest file.
Is the MAX6675 component no longer available?
https://components.espressif.com/components/hayschan/max6675

Thanks for bring up. Will fix.

The manifest file is for the MAX6675 component, not for the TM1637.
https://github.com/hayschan/tm1637/blob/b86b9ff3860a63f932634c47f27bc80bed5bed29/idf_component.yml#L1
Please fix the manifest file.

Please submit a PR. I will merge.


⚠ Carbubu has degraded performance

In 6db9379, Carbubu (https://carbubu.fr) experienced degraded performance:

HTTP code: 200
Response time: 5038 ms

Resolved: Carbubu performance has improved in 079497e after 145 days, 25 minutes.


Check multi thread performance

Codecov Report

Merging #63 (b079670) into main (c0f8906) will decrease coverage by 0.01%.
Report is 1 commits behind head on main.
The diff coverage is 71.42%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main      #63      +/-   ##
==========================================
- Coverage   98.52%   98.51%   -0.01%
==========================================
  Files         102      102
  Lines       20300    20304       +4
==========================================
+ Hits        20000    20002       +2
- Misses        300      302       +2

Files
Coverage Δ

russell_sparse/src/lin_solver.rs
97.26% <100.00%> (ø)

russell_sparse/src/solver_mumps.rs
94.87% <60.00%> (-0.38%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Create Extractor for Baremetrics

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1797
Originally created by @dmor on 2020-02-25 18:11:43

Requested on a customer call 2020-02-25
https://gitlab.com/meltano/account-management/issues/214

View 1 previous comment from the original issue on GitLab


SearchBox - closes #291

Component Description
A searchbox with an search icon on the left

Can you update the storybook to be valid


network: fix TestTryInitStateSync logging data race

Fixed race condition where logging occurs after a test case has been marked as completed, which is causing a panic.
It should be after #3307 to prevent the twice-closing problem.
Close #3112

Closing this PR as not relevant since the logger problem will be fixed in #3307. Ref. https://github.com/nspcc-dev/neo-go/pull/3307#issuecomment-1943260455.


Add sort order option to getAll function

What does this PR do?

This PR adds the following changes:

Added sort order option to the getAll function. The sorting order is DESC by default. DynamoDB is not supported at the moment.
Updated the data type for createdAt and modifiedAt columns to have a precision of 6. This is done for MySQL, MariaDB and PlanetScale. Default value is CURRENT_TIMESTAMP(6). PostgreSQL store the timestamp at maximum precision by default.

Type of change

[x] New feature (non-breaking change which adds functionality)

How should this be tested?

[x] Existing unit tests
[x] New unit tests cases

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code and corrected any misspellings
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

@devkiran Let's give the migration a name like we do for others.


Changed the priority colors in dropdown while setting low priority as default

hover effect while choosing color is a diff color, don't do this as this might confuse color for that priority ,  instead on hover you can only change text color to white(default text color black)

ok understood ..will do so

I found out a solution ...since the blue background was not removing ..since it was browser's default .i made a placeholder for the priority dropdown.so intially the user would not be confused. On hovering it would only be changed.


Add "#region/#endregion" folding support for sql scripts.

add "#region/#endregion" folding support for sql scripts.

@DavidWang88, thanks for the PR! We actually pull this grammar from https://github.com/Microsoft/vscode-mssql. If you make the PR there and the maintainers merge it then I can pull it into https://github.com/Microsoft/vscode when I next update the language extensions. Otherwise the change will just overwritten when I update the grammar from https://github.com/Microsoft/vscode-mssql 😅

@DavidWang88, thanks for the PR! We actually pull this grammar from https://github.com/Microsoft/vscode-mssql. If you make the PR there and the maintainers merge it then I can pull it into VS Code when I next update the language extensions. Otherwise the change will just overwritten when I update the grammar from https://github.com/Microsoft/vscode-mssql 😅

Hi! I forked the "vscode-mssql" project, and checked the content of file "syntaxes\SQL.plist" in it.
Then I checked "resources\app\extensions\sql\package.json" in "vscode" project, and found it seems that  the content of file  "resources\app\extensions\sql\language-configuration.json" is built and edited by human being instead of generated by script.
In fact, The comment lines at the bottom of "resources\app\extensions\sql\language-configuration.json" reveals it had beed edited by developer.

// enhancedBrackets:[
// 	{ openTrigger: 'n', open: /begin$/i, closeComplete: 'end', matchCase: true },
// 	{ openTrigger: 'e', open: /case$/i, closeComplete: 'end', matchCase: true },
// 	{ openTrigger: 'n', open: /when$/i, closeComplete: 'then', matchCase: true }
// ],
// noindentBrackets: '()',


Word-level timestamps are off by some multiplier

Hello. I've just updated from 0.1.0 to 1.0.1 version of the library and noticed that timings are incorrect, like it's transcribing a longer audio.
For example, 23 seconds of subtitles:
{"segments": [{"id": 1, "end": 12.16, "start": 4.500000000000001, "words": [{"end": 5.38, "start": 4.500000000000001}, {"end": 5.74, "start": 5.38}, {"end": 6.18, "start": 5.74}, {"end": 6.5, "start": 6.18}, {"end": 6.78, "start": 6.5}, {"end": 7.2, "start": 6.78}, {"end": 8.18, "start": 7.2}, {"end": 9.12, "start": 8.94}, {"end": 9.52, "start": 9.12}, {"end": 9.94, "start": 9.52}, {"end": 10.42, "start": 9.94}, {"end": 10.72, "start": 10.42}, {"end": 11.14, "start": 10.72}, {"end": 11.48, "start": 11.14}, {"end": 12.16, "start": 11.48}]}, {"id": 2, "end": 16.44, "start": 12.9, "words": [{"end": 13.08, "start": 12.9}, {"end": 13.36, "start": 13.08}, {"end": 13.74, "start": 13.36}, {"end": 14.62, "start": 13.74}, {"end": 15.28, "start": 14.62}, {"end": 15.94, "start": 15.28}, {"end": 16.44, "start": 15.94}]}, {"id": 3, "end": 22.58, "start": 19.38, "words": [{"end": 19.68, "start": 19.38}, {"end": 19.94, "start": 19.68}, {"end": 20.46, "start": 19.94}, {"end": 21.06, "start": 20.46}, {"end": 21.58, "start": 21.06}, {"end": 22.14, "start": 21.58}, {"end": 22.58, "start": 22.14}]}]}
for an 18-seconds audio file:
20240412040528-962.wav.zip
I've tried with VAD filter off and on. Anyway, I don't understand how exactly should VAD affect this. I also tried with distil and a regular fw models (all medium). Same.
What could have gone wrong? Thanks.

The multiplier seems to be ~0.72. So when corrected by this value, the timings point to the right audio time.

This can't be reproduced on master feel free to open a new issue if you can reproduce it


How to configure mail

How to configure mail？

Please make changes for email settings in config/application.yml.
If you need professional support then email at<EMAIL_ADDRESS>Thanks!

I've configured it, but I can't get the authentication code. I can only go to localhost:3000/mails to receive the authentication. At the same time, I also want to know how to add the admin account and where to go through real name authentication.
Thanks!

Your first registered account will be admin. You are using test environment. I am use to production environment. You can get smtp service at inboxdime.com and use it to configure emails.

@khubab how to through real name authentication?

please elaborate real name authentication. If you aren't able to access funds then it means your account isn't verified. You will verify account from admin panel. Login into peatio and on the right side, there is a dropdown and click admin to access admin panel. Visit member and verify section to verify and activate desire account manually.

I'm also having a problem setting up smtp to work.  I currently have production mode setup and have everything working including Twilio. However, I still can't get mail verification to work.  I'm using Ubuntu 14.04 with digital ocean.
SMTP_PORT: 25
SMTP_DOMAIN: domain.com
SMTP_ADDRESS: smtp.mailgun.org
SMTP_USERNAME<EMAIL_ADDRESS>SMTP_PASSWORD: e543a316cca9cd2cd5a423cf218ed293
SMTP_AUTHENTICATION: 6bcaf6bb031fdcca121094046e22fb54
SUPPORT_MAIL<EMAIL_ADDRESS>SYSTEM_MAIL_FROM<EMAIL_ADDRESS>SYSTEM_MAIL_TO<EMAIL_ADDRESS>OPERATE_MAIL_TO<EMAIL_ADDRESS>

WE OFFER PAID SERVICES
example www.BTCZOO.com http://www.btczoo.com/
<EMAIL_ADDRESS>

@valuead No.

YES

On Sep 1, 2017, at 10:50 PM, Justin Faler<EMAIL_ADDRESS>wrote:
@valuead https://github.com/valuead No.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/peatio/peatio/issues/589#issuecomment-326669553, or mute the thread https://github.com/notifications/unsubscribe-auth/AIx21peCavMQTHGYs_zie28S_fU-5yjRks5seGAOgaJpZM4PFmQO.

@Jfaler You are using domain.com. Replace DOMAIN.COM with live, existing and real TLD domain and first configure it with mailgun like doing domain verification on mailgun then use those credentials to configure SMTP.

@khubab It is live and the domain is set.  I just used domain.com as an example.

Please contact at<EMAIL_ADDRESS>

@khubab Just jump on https://gitter.im/peatio/peatio?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge

My mailgun configurations are working properly and there must be some issue with Digi or Mailgun.

check Digi firewall, if outgoing port 25 is open.

@khubab I used this tutorial http://code.krister.ee/mailgun-digitalocean/ to verify my domain if this helps. I also get this error when I try the command telnet domain.com 25 telnet: Unable to connect to remote host: Connection refused

100% firewall issue. Please open port 25 in the digital ocean firewall section.

@wyj1226 You need to leave the SMTP_AUTHENTICATION: blank


Bug: Plurals Are Ignored in Age Breakdown

Commit a4ba3cdca7e6375fefd696b8b383c20b9fa4aafe shortened the breakdown of the age displayed. This removed the considerations for plurals.
Revert PART of the a4ba3cdca7e6375fefd696b8b383c20b9fa4aafe commit to re-introduce a complate breakdown

[ ] Update AgeHelper.php to include the original strings but in the case format not the original elseif
[ ] Update translations

Logic
Add plurals but also include human time-ago


Member List updates for gig details

filter by status
-group by section
-% confirmed for gig

https://github.com/MarkKleinhaus/GigOApp/commit/91dde1423796b54429ac83ce63d9d8b76451d1c7

group by section:
https://github.com/MarkKleinhaus/GigOApp/commit/a48478d3695d3449e08211efcdd9135a776e03d3


XPRESS solver doesn't work

Describe the bug
When I try to run the simple program below I get the error message:

TypeError: cannot unpack non-iterable NoneType object

To Reproduce
I use this cvxpy example modified to use XPRESS.
import cvxpy as cp
import numpy as np

# Generate data.
m = 20
n = 15
np.random.seed(1)
A = np.random.randn(m, n)
b = np.random.randn(m)

# Define and solve the CVXPY problem.
x = cp.Variable(n)
cost = cp.sum_squares(A @ x - b)
prob = cp.Problem(cp.Minimize(cost))
prob.solve("XPRESS")

# Print result.
print("\nThe optimal value is", prob.value)
print("The optimal x is")
print(x.value)
print("The norm of the residual is ", cp.norm(A @ x - b, p=2).value)

Expected behavior
I expected the program to run without problems.
Output
Traceback (most recent call last):
  File "bob.py", line 15, in <module>
    prob.solve("XPRESS")
  File "/home/rick/.local/lib/python3.8/site-packages/cvxpy/problems/problem.py", line 290, in solve
    return solve_func(self, *args, **kwargs)
  File "/home/rick/.local/lib/python3.8/site-packages/cvxpy/problems/problem.py", line 569, in _solve
    data, solving_inverse_data = self._solving_chain.apply(
  File "/home/rick/.local/lib/python3.8/site-packages/cvxpy/reductions/chain.py", line 65, in apply
    problem, inv = r.apply(problem)
TypeError: cannot unpack non-iterable NoneType object

Version

OS: Ubuntu 20.04.02
CVXPY Version: 1.0.31

Additional context
Add any other context about the problem here.

The XPRESS interface is broken in this version of CVXPY; it is known to work in 1.1.11. Therefore, upgrading fixed this problem.


Enable always true assert checks in Travis

@Hackerpilot Looks like a bug in dscanner. It's still looking at things in unittests

@Hackerpilot Fixed

Blocked because of a D-Scanner bug.

@JackStouffer would you be so kind to rebase this? After @Hackerpilot deployed the fix so quickly :)

@Hackerpilot @wilzbach Done. Ready to merge.

Current coverage is 88.69% (diff: 100%)

Merging #4668 into master will not change coverage

@@             master      #4668   diff @@
==========================================
  Files           121        121
  Lines         73841      73841
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits          65491      65491
  Misses         8350       8350
  Partials          0          0

Powered by Codecov. Last update 04b45d1...f30c6a1


Remove vmq_allow_all_v5 plugin

Forgot to remove this plugin... shouldn't be part of the master branch.

I just went ahead and merged this - I really don't want to have this enabled by default in master - if you disagree we can revert this change.

all good!


Update Action Images in Documentation

Description
I found mistakes in the Tinkerbell documentation where certain action image links were incorrect.

Why is this needed

Fixes: #
How Has This Been Tested?

How are existing users impacted? What migration steps/scripts do we need?

Checklist:
I have:

[x] updated the documentation and/or roadmap (if required)
[ ] added unit or e2e tests
[ ] provided instructions on how to upgrade

Thanks for catching this, @mohamed-rafraf . You'll need to fix the DCO signoff. https://github.com/tinkerbell/tinkerbell.org/runs/25350305224

Hey @mohamed-rafraf , apologies for not getting to this sooner. While this update does update to images that actually exist in the registry, we have moved away from that old registry location. The old registry location quay.io/tinkerbell-actions/ is replaced by the new location quay.io/tinkerbell/actions. But as you have already noticed, the v tags do not exist on the images at quay.io/tinkerbell/actions. We now use sha hashes and a latest tag only.
Would you mind updating just the tags to either drop the tag or use latest?

Thank you for Information! I updated the images again


Added Data Structure and Algorithms Book by Narasimha Karumanchi

What does this PR do?
Added Data Structure and Algorithms Book by Narasimha Karumanchi
For resources
Data Structures and Algorithms Made Easy: Narasimha Karumanchi
https://www.pdfdrive.com/data-structures-and-algorithms-made-easy-data-structures-and-algorithmic-puzzles-e158226594.html
Why is this valuable (or not)?
It is one of the best books on Data Structure and Algorithms. Recommended by everyone.
How do we know it's really free?
It is available online to download free of cost.
For book lists, is it a book? For course lists, is it a course? etc.
This is a book.
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

In general, we do not link to file sharing sites, or file hosting sites such as google docs. or dropbox.
This appears not to be an authorized distribution. Please see CONTRIBUTING.md guidelines.


16 file writing

Don't merge just yet, some of the errors that are forced to be in this code make it so that we won't be able to test other parts with this merged. We need to wait until more of the system is in place first.

Most of the changed files are node modules, this was before the node modules was removed from everyone's gitignore


Bump syn to 2.0

Builds successfully on my machine 😄

The test failures are clippy related; so I'll merge this but I do not want to make a release until I've fixed that.


[Marketplace]: Recent models added automatically if remove all recent models from My applications

EPAM AI DIAL chat version
0.18.0
How to reproduce
Steps:

Click New conversation -> list of 5 recent models displayed
click "Search on My applications"
remove all applications which were displayed in recent in Talk to
back to chat
click "Search on My applications"

Actual result

no item displayed in recent Talk to for a while, then 5 default models appeared
all default models were added to My applications

https://github.com/user-attachments/assets/82114d53-754e-46a3-96c3-171aff7ddf52
Expected result
Items on recent Talk to should be taken from My applications in order that it was used.
If no used item left, only custom applications, then they should be displayed
In case no items in My application, then Talk to should be empty
Confidential information

[X] I confirm that do not share any confidential information

related issue #2364

verified on staging successfully


Create a default Grafana DataSource  for Prometheus ServiceMonitor

Description
As part of the monitoring feature, the operator can also connect Grafana to Prometheus by adding a default datasource for the deployed workflow:

The credentials to access Prometheus can be a Secret in the current namespace

The datasource can also be freely changed by the administrator, except for information inherent to the installed Prometheus instance and credentials (if the Secret is defined)

Prereqs

Grafana and Prometheus are installed in the cluster
Grafana CR is already installed and configured in the cluster. The operator won't provision a Grafana server

Depends on https://github.com/apache/incubator-kie-kogito-serverless-operator/issues/465

@ricardozanini as we discussed on July 13, for the first implementation of this feature, we will have the SonataFlow operator to create a ServiceMonitor object for each sonataflow if the corresponding flag is set in the platform's spec, and Prometheus has been installed in the cluster. In addition, we decided that the operator will NOT create the prometheus data source in this implementation, and we will provide a documentation on how to create the data source as well as a sample dashboard. We leave the data source and dashboard creation for potential future enhancements based on feedback from users.


[BUG] "Item "[ItemID]" does not exist!" is shown when an item is exhausted.

Module Version: v4.1.4
console-export-2024-4-28_18-24-13.txt
Describe the bug
When casting an item's spell would result in the item being destroyed, an error message is shown as an overhead. The error mentions "Item [ItemID] does not exist".
To Reproduce
Steps to reproduce the behavior:

Create any magic item with 1 charge and 1 spell.
Make sure the item would be destroyed at 0 charges.
Give the item to any actor.
From the spell tab, use the item's spell.
Notice that an error message pops in red.

Expected behavior
There shouldn't be any error shown when an item is consumed.
Browser:
Firefox 125.0.2
Foundry Version:
11.315
Game System:
DnD 5E 3.1.2

This might be solved by #157 - to verify after the 4.1.7 release


PassCore for AD Self-service Password Reset

I am currently setting up Unosquare Passcore. I have extracted the Passcore.zip file and the Passcore-master. I have setup my site using IIS. Here's the problem, when I browse my site, it only shows like the image below:
Here's what I'm running:
Windows Server 2012 R2 x64
IIS 8.5
Physical Path: C:\inetpub\passcore-master\src\Unosquare.PassCore.Web\wwwroot
Hoping for assistance. Thank you.

You downloaded the source code of the passcore, you need to download the binary release, you can follow the instructions on the README file.


Chat page refactoring

OPTIONAL Small refactoring of the chat index page that I had to do to prepare for the new chat flow using Openai fns
IMHO can be pushed anyways, wdyt?
On Yes / no will either merge / deploy or close the PR

did it; all errors seemed handlable with the same code in a try catch block
added 2 error cases that weren't there -- unsure about that if you can check the comms


Enhancement: Allow retrying of downloads with the clipboard method and optionally make retries configurable

Currently, for the clipboard method, I noticed that a small portion of images would often fail to download. For example, in my last 3 consecutive runs of one of my collection of 157 images, I get these results:
First run (144/157):
2024-01-13 18:32:07,483 INFO Fetching metadata of images...
2024-01-13 18:32:09,041 ERROR Failed to get detailed information for image: {'image_set_id': '...885c', 'image_id': 'ExYd...'} for Reason: API response is missing data.
2024-01-13 18:32:09,173 ERROR Failed to get detailed information for image: {'image_set_id': '...67cc', 'image_id': '%2bcc...'} for Reason: API response is missing data.
2024-01-13 18:32:10,031 ERROR Failed to get detailed information for image: {'image_set_id': '...d3d9', 'image_id': 'g4A4...'} for Reason: API response is missing data.
2024-01-13 18:32:10,065 ERROR Failed to get detailed information for image: {'image_set_id': '...9d0d', 'image_id': 'kQG9...'} for Reason: API response is missing data.
2024-01-13 18:32:10,115 ERROR Failed to get detailed information for image: {'image_set_id': '...bbf5', 'image_id': 'TVL%2...'} for Reason: API response is missing data.
2024-01-13 18:32:10,155 ERROR Failed to get detailed information for image: {'image_set_id': '...b857', 'image_id': 'uFgm...'} for Reason: API response is missing data.
2024-01-13 18:32:10,188 ERROR Failed to get detailed information for image: {'image_set_id': '...b93a', 'image_id': 'JWXd...'} for Reason: API response is missing data.
2024-01-13 18:32:10,204 ERROR Failed to get detailed information for image: {'image_set_id': '...0a60', 'image_id': 'sDIV...'} for Reason: API response is missing data.
2024-01-13 18:32:10,253 ERROR Failed to get detailed information for image: {'image_set_id': '...4c1e', 'image_id': 'CpKh...'} for Reason: API response is missing data.
2024-01-13 18:32:10,276 ERROR Failed to get detailed information for image: {'image_set_id': '...e797', 'image_id': '3I8U...'} for Reason: API response is missing data.
2024-01-13 18:32:11,151 ERROR Failed to get detailed information for image: {'image_set_id': '...aa04', 'image_id': 'Rrwd...'} for Reason: API response is missing data.
2024-01-13 18:32:11,305 ERROR Failed to get detailed information for image: {'image_set_id': '...fc20', 'image_id': 'lRgX...'} for Reason: API response is missing data.
2024-01-13 18:32:11,707 ERROR Failed to get detailed information for image: {'image_set_id': '...a8e8', 'image_id': '6du8...'} for Reason: API response is missing data.
2024-01-13 18:32:14,118 INFO Starting download of 144 images.
...

Second run (150/157):
2024-01-13 18:32:39,399 INFO Fetching metadata of images...
2024-01-13 18:32:46,667 ERROR Failed to get detailed information for image: {'image_set_id': '...60c6', 'image_id': 'uM%2f...'} for Reason: API response is missing data.
2024-01-13 18:32:46,793 ERROR Failed to get detailed information for image: {'image_set_id': '...24fb', 'image_id': 'YZCo...'} for Reason: API response is missing data.
2024-01-13 18:32:47,106 ERROR Failed to get detailed information for image: {'image_set_id': '...296e', 'image_id': 'N8v8...'} for Reason: API response is missing data.
2024-01-13 18:32:49,198 ERROR Failed to get detailed information for image: {'image_set_id': '...aa5e', 'image_id': 'jIGo...'} for Reason: API response is missing data.
2024-01-13 18:32:49,945 ERROR Failed to get detailed information for image: {'image_set_id': '...02d9', 'image_id': 'Yfxu...'} for Reason: API response is missing data.
2024-01-13 18:32:50,189 ERROR Failed to get detailed information for image: {'image_set_id': '...eb25', 'image_id': 'CghK...'} for Reason: API response is missing data.
2024-01-13 18:32:50,232 ERROR Failed to get detailed information for image: {'image_set_id': '...aa04', 'image_id': 'Rrwd...'} for Reason: API response is missing data.
2024-01-13 18:32:51,791 INFO Starting download of 150 images.
...

Third run (147/157):
2024-01-13 18:51:14,532 INFO Fetching metadata of images...
2024-01-13 18:51:16,316 ERROR Failed to get detailed information for image: {'image_set_id': '...deff', 'image_id': 'AzG4...'} for Reason: API response is missing data.
2024-01-13 18:51:16,806 ERROR Failed to get detailed information for image: {'image_set_id': '...60f5', 'image_id': 'rwQd...'} for Reason: API response is missing data.
2024-01-13 18:51:16,891 ERROR Failed to get detailed information for image: {'image_set_id': '...e1fb', 'image_id': 'LByG...'} for Reason: API response is missing data.
2024-01-13 18:51:17,123 ERROR Failed to get detailed information for image: {'image_set_id': '...641d', 'image_id': 'wuZo...'} for Reason: API response is missing data.
2024-01-13 18:51:17,299 ERROR Failed to get detailed information for image: {'image_set_id': '...885c', 'image_id': 'ExYd...'} for Reason: API response is missing data.
2024-01-13 18:51:17,900 ERROR Failed to get detailed information for image: {'image_set_id': '...fcf3', 'image_id': 'iZnR...'} for Reason: API response is missing data.
2024-01-13 18:51:17,929 ERROR Failed to get detailed information for image: {'image_set_id': '...2dd9', 'image_id': 'AHa3...'} for Reason: API response is missing data.
2024-01-13 18:51:18,179 ERROR Failed to get detailed information for image: {'image_set_id': '...199f', 'image_id': 'zmX3...'} for Reason: API response is missing data.
2024-01-13 18:51:18,988 ERROR Failed to get detailed information for image: {'image_set_id': '...b2c1', 'image_id': 'znuX...'} for Reason: API response is missing data.
2024-01-13 18:51:19,116 ERROR Failed to get detailed information for image: {'image_set_id': '...e5ac', 'image_id': 'AoV%2...'} for Reason: API response is missing data.
2024-01-13 18:51:19,277 INFO Starting download of 147 images.
...

I believe incomplete runs like this happen often because even when trying to save the images normally to my collection on Edge, by using the "Save" button on the page of the image, I occasionally run into the "page not found" page instead with the sad-looking bird (which I unfortunately don't have a screenshot for).
However, switching to the API method, with #33 implemented, the program managed to download all the images in one try:
2024-01-13 19:06:30,676 INFO Fetching metadata of collections...
2024-01-13 19:06:38,019 INFO Starting download of 157 images.
...
2024-01-13 19:06:50,112 INFO Successfully downloaded 157 of 157 images in 19.44 seconds.

What I'm suggesting here is to somehow allow the program to re-request the retrieval of the images whose responses are malformed like the above, whilst retaining their index (ie. the re-request should not change an image with eg. 0123 to the highest index + 1).
Then, for customizability based on each user's tolerance, also provide a way to configure the maximum number of retries to perform the re-request for each of those images in the config file.

@rc-gr The reason it works with the collection API is, because it is able to fallback to the collection thumbnail.
The clipboard method doesn't have it.
Both use the detail API in the same way now through #33 and were basically too before that.
The request is attempted 3 times with an exponential timeout.
It's implemented in the ExponentialRetry class from aiohttp-retry and basically looks like this:
timeout = self._start_timeout * (self._factor ** attempt)
The default values are:
start_timeout = 0.1,
factor = 2.0,
attempts = 3
So the first timeout is 0.2 seconds, the second one 0.8 and the third one 6.4. The fourth one would be 102.4 using the same formula, but it would take the max_timeout of 30 seconds instead.
The detail API is just a bit finicky and doesn't handle large loads well.
Because using aiohttp-retry returns the last request with any http code, you see these logs.
Not sure how you could prevent that except for maybe lowering the semaphore dynamically somehow.

@rc-gr
I've increased the max_timeout to 128 seconds and attempts to 8 for the detail API requests.
Fetching the metadata using the file method for 1600 images takes 6 to 60 seconds for me and there are no errors even when doing it multiple times in a short time span.


Discord Palette Colors

I have been trying for a while to change the colors to the default Discord colors with this theme. But I have no luck. I was just wondering if anyone else got it down?

Pretty much done. Would you prefer the toolbar icons like this or transparent?

That's perfect! Just like that. But what do you mean transparent?

nvm, add @import url(https://raw.githack.com/schnensch0/zelk/main/colors/discord.css); to your Quick/Custom CSS and let me know if you find some weird parts (very likely)

Okay, I will. Thanks! It looks good! But I'll let you know if I find any weird parts.


SSH host key validation failed on OSX but succeeded on Linux when checking out a repository from ssh://github.com

Describe the bug
SSH host key validation failed on OSX but succeeded on Linux when checking out a repository from ssh://github.com
Area for Triage:

Question, Bug, or Feature?:

Virtual environments affected

[x] macOS 10.15
[ ] Ubuntu 16.04 LTS
[ ] Ubuntu 18.04 LTS
[ ] Windows Server 2016 R2
[ ] Windows Server 2019

Expected behavior
The same behaviour on both OSX and Linux. Either both fail or neither.
Actual behavior
The following workflow succeeded  on Linux with a warning message during the checkout phase indicating that the host key of github.com was added . On OSX it failed with a Host key verification failed error message. This suggests to me that SSH is configured to be more tolerant on Linux but not on OSX.
    steps:
    - name: Configure SSH
      shell: bash
      run: |
        mkdir -p ~/.ssh
        echo "${{ secrets.SSH_KEY }}" > ~/.ssh/id_rsa
        chmod 600 ~/.ssh/id_rsa
    - uses: actions/checkout@v1
      with:
        submodules: recursive

The issue is easily worked around by adding ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts to the Configure SSH step. However, it would be good if SSH was configured as consistently as possible across the different environments. Perhaps we could even add github.com to the known hosts file in the image.

Hello, pull request was merged. Changes would be added in the next images rollout.

Great, thanks!

@aibaars the image with changes has been deployed. Could you check the behavior, please?

It works for me, thanks!


How could my postgres user password get changed or lost?

My postgres container will build and fire up properly and work for a couple days or so but then randomly I'll start getting
"password authentication failed for user "postgres", Password does not match for user "postgres""
My docker-compose:
           postgres:
                  image: postgres:13.1
                  restart: always
                  environment:
                      - POSTGRES_PASSWORD=123
                      - PGDATA=/var/lib/postgresql/data/pgdata
                  ports:
                      - 5432:5432
                  volumes:
                    - ./postgres_data:/var/lib/postgresql

How is that possible? It has to do with something in the pgdata dir correct?

Is there any easy way to reset it outside of destroying everything?
Right now I have to run "docker system prune" and rebuild everything to get it to work again, but I lose the state of my database.

Definitely drop the ports: section to prevent further external actors. You can access without password or any changes by using a local connection (i.e. within the container); so docker exec --user postgres [contianer-name] psql should work.
(Also, as @wglambert mentioned, make sure they haven't taken anything sensitive or left anything nefarious. Though if they added anything to the postgres container outside of the volume, then a replacing it with of a new container using the same volume would delete all that).

Going to close since this seems resolved and isn't an issue with the image
If you want further help you could also try asking over at the Docker Community Forums, Docker Community Slack, or Stack Overflow


RFC: make asm_parser private

I do not see any particular reason to offer the asm_parser to the end user. As I see it, all the assembler API holds in the assembler module. What about making asm_parser private in src/lib.rs? @rlane, any thought?
Note that as a consequence, we would have to move the tests from the separate file to a test module at the end of file src/asm_parser.rs. (I don't think the function/stucts from the module would remain accessible otherwise).

Sounds good.


Enhance the Bug Template

Pull Request Checklist
Thank you for contributing to our project! Please ensure the following before submitting your pull request:
Description of Changes
This PR updates the existing bug report template to make it more comprehensive and standardized. It adds fields for screenshots, environment details, and expected versus actual behavior, making it easier for contributors to document bugs and for maintainers to reproduce and troubleshoot them.
Type of Change

[x] Documentation update (improvements or additions to documentation)
[ ] Bug fix (non-breaking change that resolves an issue)
[ ] New feature (non-breaking change that adds new functionality)
[ ] Refactoring (code improvements that do not change functionality)
[ ] Other (please describe):

Related Issue
Closes: #254
Testing
The changes were tested by submitting sample bug reports using the new template to ensure all fields render correctly. Also validated the formatting across different platforms to ensure the template displays consistently.
Checklist

[x] I have tested my changes and ensured they work as expected.
[x] I have updated the documentation as necessary (if applicable).
[x] I have reviewed my code for style and linting issues.
[x] I have ensured that any dependent changes are merged before this PR.

Additional Notes
This PR is part of an ongoing effort to improve documentation templates and streamline the contribution process for new contributors. Feedback from maintainers is welcome to further refine the bug report format.

@Vimall03 the task has been completed. Kindly review the PR
Don't forget to add the label "GSSOC-EXT"


Upgrade Java version 11 -> 17 (Bellsoft JDK 17.0.9+11)

@strehle which automatic update are you referring to?

@strehle which automatic update are you referring to?

I mean the regular job https://hush-house.pivotal.io/teams/cf-uaa/pipelines/dependencies/jobs/upgrade-java which updates the JDK for bosh release

ok, and we also have the update here included: https://github.com/pivotal/uaa-ci/blob/8ae5df9a5ffc2d99c93457e40feca4732a82dc15/concourse/dependencies/pipeline.yml#L12

ok, and we also have the update here included: https://github.com/pivotal/uaa-ci/blob/8ae5df9a5ffc2d99c93457e40feca4732a82dc15/concourse/dependencies/pipeline.yml#L12

I cannot access uaa-ci but I believe you , of course :-) (but therefore I have asked)

Yes, the autobump CI job is already updated.


F# & ConcurrentDictionary TryRemove ByrefKinds.InOut to ByrefKinds.In mismatch

The ConcurrentDictionary.TryRemove uses a byref<'V> for the value to remove for a given key. Prior to F# 4.5, one could use the & prefix for the argument for a pre-existing value type. In 4.5, one now receives a design time error of "The type 'ByRefKinds.InOut' does not match the type 'ByRefKinds.In'".
Example code is as follows:
open System.Collections.Concurrent
open System.Collections.Generic
open System

let aggregator =
  new ConcurrentDictionary<
        string, ConcurrentDictionary<string,array<float>>
        >()

for kvp in aggregator do
  for kvpInner in kvp.Value do
    if Array.TrueForAll(
      kvpInner.Value,(fun v -> v = 0.0) ) then
        kvp.Value
           .TryRemove(
              kvpInner.Key,
              &kvpInner.Value )
        |> ignore

Expected behavior
Execution of the remove.
Actual behavior
Compiler error on &kvpInner.Value
Known workarounds
To remove unwanted value from the nested concurrent dictionary there doesn't appear to be a workaround other than in the creation of a new dictionary and iterating from one to the other.
Related information
WIndow 10 Evaluation Build 17741.rs5_release<PHONE_NUMBER>
Visual Studio Community 15.8.1
FSharp Core 4.5.2

Replacing & with ref seems to avoid the need for the workaround described above:
for kvp in aggregator do
  for kvpInner in kvp.Value do
    if Array.TrueForAll(
      kvpInner.Value,(fun v -> v = 0.0) ) then
        kvp.Value
           .TryRemove(
              kvpInner.Key,
              ref kvpInner.Value ) // Replace "&" with "ref"
        |> ignore

You can use tuple return syntax for out parameters.
In your example  you ignore the result, so, simply
kvp.Value.TryRemove(kvpInner.Key) |> ignore
OTOH mutating the collection you iterate over doesn't look safe.

@BillHally; yes - I had not thought of using the function but, what is even more obvious that I missed is the suggestion of @majocha; both took me a while to check, and both work - I'm currently struggling with seq performance - what used to take up to a handful of seconds on VS 15.7/F# 4.1 is now sometimes taking minutes (even tens of minutes) with VS 15.8.1/F# 4.5.
For @zpodlovics; what you see in the 'sample' is merely a fraction of the 'full' code: Either way, the concurrent dictionary in this instance is not used for 'concurrency concerns' but for its useful features in aggregating data within one unit of contiguous work - in this case, tabulating data from a type provider source into, ultimately, an Open XML series of worksheets with multiple measure columns.

@saTrilogy Could you provide a sample of what seems to have regressed in performance? Is it identical code?

@cartermp I did try to create what the LaTeX people call an MWE but, I need 'real data'. The basis of what I'm testing comes from a CSV of 75,891 rows against which I use the F# Data CSV type provider - there are also several 'lookup' tables. Several months ago I started with VS 15.7; I then (in parallel) tried 15.8 Preview 5 and after the 15.8 Release, I uninstalled 15.7 and the 15.8 Preview5 and just use the 15.8.1 release now.  So, this is all the same code - just going through a progression of releases of VS/F#
In 'general usage' against a number of queries against the summarised data all compiled through lazy seq functions; as soon as you try to 'look' at any of that query's data (even without FsEye being active), it's going to take several minutes to even report upon the Seq.length! The summarised seq has 27061 rows - its takes Real: 00:04:01.414, CPU: 00:04:01.062, GC gen0: 4939, gen1: 1430, gen2: 3 just to report its Seq.length. Doing a filter against that down to a Seq.length of 1204 takes Real: 00:04:02.576, CPU: 00:04:02.250, GC gen0: 4977, gen1: 1402, gen2: 2.
From what I recall from a couple of months ago, the main difference appears to be in the GC which, before, I'm sure had zeros for gen0 and gen1 GC.
If you wish I can collate the source raw data and a portion of the scripts on a Live directory - should you want to try. I have a feeling though, that I need to identify why there has been an increase in immediate GC activity.

Just to clarify, was there better performance with equivalent code using seq { } in VS 15.7 vs 15.8, or is the performance of seq { } just slow in general for your workload?

@cartermp For 15.7, performance was seconds, at most, in comparison to minutes for 15.8 but I don't seem to be able to download 15.7 or 15.8 Preview 5 anymore to try on those again. I am reviewing my (minimal) code to try and see where there is any issue - i.e. to do with GC and will try to compare against not using F# Data for CSV.

Right now most of the .NET API use byref<'T> when combined it with concurrency. While the inref<'T> intention seems elegant from pure F# point of view it makes impossible to use and remain compatible with most of the .NET API for a long-long time (until the API refactored to inref<'T>) ...

@saTrilogy There is a workaround:
for kvp in aggregator do
  for kvpInner in kvp.Value do
    let mutable value = kvpInner.Value
    if Array.TrueForAll(
      kvpInner.Value,(fun v -> v = 0.0) ) then
        kvp.Value
           .TryRemove(
              kvpInner.Key,
              &value )
        |> ignore

That should work fine.
I'm trying to wrap my head around what the right thing to do here is.

@cartermp Take a look at the netstandard2.0 api here (warning, huge file!): https://github.com/dotnet/standard/blob/master/docs/versions/netstandard2.0_ref.md or here https://raw.githubusercontent.com/dotnet/standard/master/docs/versions/netstandard2.0_ref.md and search for ref  (do not forget the space after the ref). And this is only the netstandard part. Does anybody know similar downloadable api definiton for the rest of .NET?

I retract my earlier statement re. ConcurrentDictionary; doing an inline FSharp.Reflection for union case mapping results in Real: 00:24:37.805, CPU: 00:23:57.593, GC gen0: 75851, gen1: 19751, gen2: 15 val it : int = 75891. Clearly, the ConcurrentDictionary is doing the best job it can. (And, using the so obvious solution of @majocha (that I coundn't see!) to use the tuple/ignore approach 'resolves' the byref mismatch).
The issue therefore appears to be FSharp.Reflection; the case for use of concurrent dictionary stands but what does not, is the dynamic caching of it during such a raw data map. Given that, then such a 'cache' for description attribute and mapping of a string to a case value should be done one-off prior to a data load using reflection against all pre-defined union cases and, given that, one can then use immutable F# maps for the mapping during the data load - I'm working on this now.
The 'original' code (in Script1.fsx) and the associated CSV files are on OneDrive at the URL: https://1drv.ms/f/s!ArkqzV2uLmFvgucwRqzslXt-JSnesw
You'll have to change, depending on where you download these too, some literal file reference strings and from where you 'pick up' the F# Data type provider.

@zpodlovics Can you provide an example of something that would work from there in F# 4.1, but no in F# 4.5? The first (Array.Resize) works exactly the same as it would today, as I expect most that don't explicitly involve manipulating pointers to work.

@saTrilogy So, this code, &kvpInner.Value I think should have been illegal since the beginning of time, but it looks like it was allowed. You are actually not taking the address of the field from the KeyValuePair. Behind the scenes it's creating a local and assigning it the kvpInner.Value and getting the address of that local. The workaround I mentioned does the same thing, but is explicit.

OK; Instead of the type Cache<'NullUnionCases>(), we use the type with extensions:
  type UnionCache<'Union when 'Union : comparison> =
    { CaseMap : Map<string,'Union>
      Descriptions : Map<'Union,string> }

    member µ.Case key (failOver : 'Union) =
      match makeIdent key |> µ.CaseMap.TryFind with
      | Some(case) -> case
      | None -> failOver

    member µ.Description (case : 'Union) =
      match µ.Descriptions.TryFind case with
      | Some(value) -> value
      | None -> EmptyString

    static member Loader =
      let reflected =
        FSharpType.GetUnionCases(typeof<'Union>)
        |> Seq.choose
            ( fun uci ->
                  match uci.GetFields() with
                  | [||] ->
                      let case =
                        FSharpValue.MakeUnion(uci,[||])
                          :?> 'Union
                      let methodInfo =
                        case.GetType().GetMethod(
                          "get_" + case.ToString())
                      let attribute =
                        methodInfo.
                          GetCustomAttributes(
                              typeof<DescriptionAttribute>,
                              false)
                      if attribute.Length > 0 then
                        ( case,
                          ( attribute.[0]
                              :?> DescriptionAttribute).Description )
                        |> Some
                      else
                        (case, EmptyString) |> Some
                  | _ -> None
              )
      { UnionCache.CaseMap =
          reflected |>Seq.map (fun (c,d) -> d,c) |>  Map.ofSeq
        UnionCache.Descriptions =
          reflected |> Map.ofSeq }

With that, let TermCache = UnionCache<Term>.Loader reports Real: 00:00:00.758, CPU: 00:00:00.765, GC gen0: 31, gen1: 1, gen2: 0.
Subsequently, for source row string to union case mapping in the TradeData value type, is reported Real: 00:00:00.004, CPU: 00:00:00.000, GC gen0: 0, gen1: 0, gen2: 0
Finally, a TradeData |> Seq.length reports Real: 00:00:01.342, CPU: 00:00:01.343, GC gen0: 75, gen1: 18, gen2: 0.
I guess, if finger pointing is required, then it's most likely in terms of making FSharp.Reflection calls during the load process; pre-loading the case map and description caches now takes me back to where I was before F# 4.5. A lesson learned.

Labeling as a bug, since there is a misleading error message here.

@cartermp Indeed - perhaps the compiler message should be (in both cases) Please don't (ever) write code like this!


Mail Outreach

[ ] identify targets
[ ] Prepare mail text
[ ] Create demo link in hubspot
[ ] Shoot

How may I support this process at this point?

@Schille
Here is the list of companies I'd like to re-connect to now. If put in a column who should do it. I think your contacts should be very personal.
https://docs.google.com/spreadsheets/d/1VneioNUi3VNdrW-WuMhD8DdCsLn5Yg6B3ursTV3aL1A/edit?usp=sharing
I'll contact my guys with the template I recently showed you.
I created a new demo link for you, which should be synced with your calendar. At the moment it doesn't have free appointments so we need to check later, whether this works properly:
https://email.blueshoe.de/meetings/michaelschilonka/unikube-demo
Our goal should be to send out mails again on 12.08.2021

@Schille is your calendar still connected to HubSpot? The meeting link in general seems to work, but it doesn't seem to consider any of your booked times. I don't know why. I also compared it with our group meeting link which we used in the past and which used to work well, it definitely takes my appointments into consideration but not yours.
Hence, it looks definitely like your calendar is disconnected. Can you please check this urgently as I can't send out mails otherwise.

@Truthans don't know why I had to connect it again. Anyway it seems to be working now.

@Schille now that I am back from holiday I created a new demo booking link, that involves both of us:
https://meetings.hubspot.com/hannes/unikube-demo


Implemented PartialEq and Eq for (Unbounded)Sender

Hello!
This was asked in #1588 and I wanted to make a first contribution :smile:. As proposed by the issue's creator, I used Arc::eq_ptr to compare the inner field of SenderInner. I also added a partial_eq (though, I'm not really sure about its name) test which compares a Sender with a clone of it when both are connected to the channel, when one of them is disconnected and when the channel is closed; it also compares two different channels' Senders.

In crossbeam-channel, we were considering adding the same impls but, after a long discussion, concluded it would be better to have methods that test whether senders/receivers are equivalent: https://github.com/crossbeam-rs/crossbeam/issues/319

Oh, right, so I read the changes from https://github.com/crossbeam-rs/crossbeam/pull/320/ and it seems that the way it compares is similar to Arc::ptr_eq (in some cases it even is how it does it). So, if I understand correctly, removing the two impls and replacing them with a identical_to (or same_channel) method would be OK?

Perhaps fn same_receiver(&self, other: &Self) -> bool?

Great, thanks!


Complex primary key in database utils

I added possibility to use complex primary keys in database utils, i.e. you can pass array argument in primary_key options, e.g. %i[geo nick].

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

33 of 33 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.9%) to 66.221%

Totals

Change from base Build<PHONE_NUMBER>:
1.9%

Covered Lines:
338

Relevant Lines:
472

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

33 of 33 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.9%) to 66.221%

Totals

Change from base Build<PHONE_NUMBER>:
1.9%

Covered Lines:
338

Relevant Lines:
472

💛  - Coveralls


Don't use shorthands in bazel integration

@andreabolognani, CI is restored on main. Could you rebase when you find the time?

CI is restored on main. Could you rebase when you find the time?

@rmohr done :)